ファミリの作成

ファミリの作成

Revit ファミリ ドキュメントに機械設備を作成する場合、接続を追加して設備がシステムに接続できるようにする必要があります。ダクト、電気、配管接続は、接続が配置される参照面と接続のシステム タイプを使用して、同様の方法で追加することができます。

ConnectorElement クラスが提供する、オーバーロードされた静的メソッドは次のとおりです。

上記の各メソッドは 2 番目のオーバーロードを持ちます。このオーバーロードは、指定された面の内部ループの中央に配置される接続要素の作成を許可する追加の Edge パラメータをとります。次のコードは、押し出しの面に 2 つの配管接続を追加し、いくつかのプロパティを設定する方法を表しています。

コード領域 30-6: 配管接続を追加

public void CreatePipeConnectors(UIDocument uiDocument, Extrusion extrusion)
{
        // get the faces of the extrusion
        Options geoOptions = uiDocument.Document.Application.Create.NewGeometryOptions();
        geoOptions.View = uiDocument.Document.ActiveView;
        geoOptions.ComputeReferences = true;
        
        List<PlanarFace> planarFaces = new List<PlanarFace>();
        Autodesk.Revit.DB.GeometryElement geoElement = extrusion.get_Geometry(geoOptions);
        foreach (GeometryObject geoObject in geoElement)
        {
                Solid geoSolid = geoObject as Solid;
                if (null != geoSolid)
                {
                        foreach (Face geoFace in geoSolid.Faces)
                        {
                                if (geoFace is PlanarFace)
                                {
                                        planarFaces.Add(geoFace as PlanarFace);
                                }
                        }
                }
        }
        
        if (planarFaces.Count > 1)
        {
                // Create the Supply Hydronic pipe connector
                ConnectorElement connSupply = ConnectorElement.CreatePipeConnector(uiDocument.Document,
                                                                                   PipeSystemType.SupplyHydronic,
                                                                                   planarFaces[0].Reference);
                Parameter param = connSupply.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
                param.Set(1.0); // 1' radius
                param = connSupply.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
                param.Set(2);

                // Create the Return Hydronic pipe connector
                ConnectorElement connReturn =  ConnectorElement.CreatePipeConnector(uiDocument.Document,
                                                                                    PipeSystemType.ReturnHydronic,
                                                                                    planarFaces[1].Reference);
                param = connReturn.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
                param.Set(0.5); // 6" radius
                param = connReturn.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
                param.Set(1);
        }
}

次の図は、機械設備テンプレートを使用して新しく作成したファミリ ドキュメントで使用し、押し出し 2'×2'×1' に渡した、この例の実行結果を表しています。接続は平面の図心に配置されることに注意してください。

図 169: 押し出しに作成された 2 つの接続