2027 Method
Changes 5
M

ConnectorElement.CreatePipeConnector

Description:
Create a new pipe ConnectorElement.
Remarks:
Regenerates the document.
Overloads (2):
CreatePipeConnector(Document,PipeSystemType,Reference)
public static ConnectorElement CreatePipeConnector(
	Document document,
	PipeSystemType pipeSystemType,
	Reference planarFace
)
  • document
    The document to add the connector to.
  • pipeSystemType
    The PipeSystemType of the connector.
  • planarFace
    The planar face to place the connector on.
Return Value ConnectorElement The pipe ConnectorElement.
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
        //PipeConnector connSupply = 
        //    uiDocument.Document.FamilyCreate.NewPipeConnector(planarFaces[0].Reference, 
        //                                           PipeSystemType.SupplyHydronic);
        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
        //PipeConnector connReturn =
        //    uiDocument.Document.FamilyCreate.NewPipeConnector(planarFaces[1].Reference,
        //                                           PipeSystemType.ReturnHydronic);
        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);
    }
}