Create a new pipe ConnectorElement.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 17.0.0.0 (17.0.1090.0)
Since:
2013
Syntax
Return Value
The pipe ConnectorElement.
Remarks
Examples
CopyC#
public void CreatePipeConnectors(UIDocument uiDocument, Extrusion 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)
{
ConnectorElement connSupply =
ConnectorElement.CreatePipeConnector(uiDocument.Document, PipeSystemType.SupplyHydronic, planarFaces[0].Reference);
Parameter param = connSupply.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
param.Set(1.0);
param = connSupply.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
param.Set(2);
ConnectorElement connReturn =
ConnectorElement.CreatePipeConnector(uiDocument.Document, PipeSystemType.ReturnHydronic, planarFaces[1].Reference);
param = connReturn.get_Parameter(BuiltInParameter.CONNECTOR_RADIUS);
param.Set(0.5);
param = connReturn.get_Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM);
param.Set(1);
}
}
CopyVB.NET
Public Sub CreatePipeConnectors(uiDocument As UIDocument, extrusion As 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
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)
param = connSupply.Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM)
param.[Set](2)
Dim connReturn As ConnectorElement = ConnectorElement.CreatePipeConnector(uiDocument.Document, PipeSystemType.ReturnHydronic, planarFaces(1).Reference)
param = connReturn.Parameter(BuiltInParameter.CONNECTOR_RADIUS)
param.[Set](0.5)
param = connReturn.Parameter(BuiltInParameter.RBS_PIPE_FLOW_DIRECTION_PARAM)
param.[Set](1)
End If
End Sub
Exceptions
See Also