ConnectorElement.CreatePipeConnector(Document, PipeSystemType, Reference) Method

ConnectorElementCreatePipeConnector(Document, PipeSystemType, Reference) Method

Create a new pipe ConnectorElement.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public static ConnectorElement CreatePipeConnector(
	Document document,
	PipeSystemType pipeSystemType,
	Reference planarFace
)
Public Shared Function CreatePipeConnector ( 
	document As Document,
	pipeSystemType As PipeSystemType,
	planarFace As Reference
) As ConnectorElement
public:
static ConnectorElement^ CreatePipeConnector(
	Document^ document, 
	PipeSystemType pipeSystemType, 
	Reference^ planarFace
)
static member CreatePipeConnector : 
        document : Document * 
        pipeSystemType : PipeSystemType * 
        planarFace : Reference -> ConnectorElement 

Parameters

document  Document
The document to add the connector to.
pipeSystemType  PipeSystemType
The PipeSystemType of the connector.
planarFace  Reference
The planar face to place the connector on.

Return Value

ConnectorElement
The pipe ConnectorElement.
Exceptions
ExceptionCondition
ArgumentException The reference is not a planar face. -or- document is not a family document.
ArgumentNullException A non-optional argument was null
ArgumentOutOfRangeException A value passed for an enumeration argument is not a member of that enumeration
InvalidOperationException Connector creation is not allowed in this family.
Remarks
Regenerates the document.
Example
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);
    }
}
Public Sub CreatePipeConnectors(uiDocument As UIDocument, extrusion As Extrusion)
    ' get the faces of the extrusion
    Dim geoOptions As Options = uiDocument.Document.Application.Create.NewGeometryOptions()
    geoOptions.View = uiDocument.Document.ActiveView
    geoOptions.ComputeReferences = True

    Dim planarFaces As New List(Of PlanarFace)()
    Dim geoElement As Autodesk.Revit.DB.GeometryElement = extrusion.Geometry(geoOptions)
    For Each geoObject As GeometryObject In geoElement
        Dim geoSolid As Solid = TryCast(geoObject, Solid)
        If geoSolid IsNot Nothing Then
            For Each geoFace As Face In geoSolid.Faces
                If TypeOf geoFace Is PlanarFace Then
                    planarFaces.Add(TryCast(geoFace, PlanarFace))
                End If
            Next
        End If
    Next

    If planarFaces.Count > 1 Then
        ' Create the Supply Hydronic pipe connector
        'PipeConnector connSupply = 
        '    uiDocument.Document.FamilyCreate.NewPipeConnector(planarFaces[0].Reference, 
        '                                           PipeSystemType.SupplyHydronic);
        Dim connSupply As ConnectorElement = ConnectorElement.CreatePipeConnector(uiDocument.Document, PipeSystemType.SupplyHydronic, planarFaces(0).Reference)
        Dim param As Parameter = connSupply.Parameter(BuiltInParameter.CONNECTOR_RADIUS)
        param.[Set](1.0)
        ' 1' radius
        param = connSupply.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);
        Dim connReturn As ConnectorElement = ConnectorElement.CreatePipeConnector(uiDocument.Document, PipeSystemType.ReturnHydronic, planarFaces(1).Reference)
        param = connReturn.Parameter(BuiltInParameter.CONNECTOR_RADIUS)
        param.[Set](0.5)
        ' 6" radius
        param = connReturn.Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM)
        param.[Set](1)
    End If
End Sub

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

See Also