Hi @Anonymous :
I Copied the following from Revit API document:
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);
}
}
Also the screen shot of the API document is also attached which I think should be easier to read.

Notice that the
ConnectorElement..::..CreatePipeConnector Method |
works for Family Document, while this post is about working in Revit RVT document.
Luckily, they share almost the same tech to fetch a PlanarFace from Revit DB 🙂
单身狗;代码狗;健身狗;jolinpiggy@hotmail.com