接続

接続

前のセクションにあったように、2 つの接続の間には新しい配管やダクトを作成できます。接続はドメイン(ダクト、配管、コネクタ)に関連付けられます。ドメインは接続の Domain プロパティから取得できます。接続は、機械設備の他、ダクトや配管にあります。

システムを移動するために、システムのベース設備の接続を調べ、IsConnected プロパティと AllRefs プロパティを確認して、接続にアタッチされているものを確認します。物理的な接続を探す場合は、接続の ConnectionType を確認することが重要です。Revit には物理接続と論理接続の両方がありますが、アプリケーションに表示されるのは物理接続のみです。次の図は、終点接合と曲線接続の 2 つのタイプの物理接続を表しています。

図 167: 物理接続

次の例は、接続の所有者、アタッチ先、接続タイプを確認する方法を説明しています。

コード領域 30-5: 接続にアタッチされているものを確認

public void GetElementAtConnector(Connector connector)
{
        MEPSystem mepSystem = connector.MEPSystem;
        if (null != mepSystem)
        {
                string message = "Connector is owned by: " + connector.Owner.Name;

                if (connector.IsConnected == true)
                {
                        ConnectorSet connectorSet = connector.AllRefs;
                        ConnectorSetIterator csi = connectorSet.ForwardIterator();
                        while (csi.MoveNext())
                        {
                                Connector connected = csi.Current as Connector;
                                if (null != connected)
                                {
                                        
                                        // look for physical connections
                                        if (connected.ConnectorType == ConnectorType.EndConn ||
                                                connected.ConnectorType == ConnectorType.CurveConn ||
                                                connected.ConnectorType == ConnectorType.PhysicalConn)
                                        {
                                                message += "\nConnector is connected to: " + connected.Owner.Name;
                                                message += "\nConnection type is: " + connected.ConnectorType;
                                        }
                                }
                        }
                }
                else
                {
                        message += "\nConnector is not connected to anything.";
                }
                
                MessageBox.Show(message, "Revit");            
        }
}

次のダイアログ ボックスは、機械設備の接続でこのコード サンプルを実行したときの結果です。

図 168: 接続情報