Pipe Create(Document, Element |
Creates a new pipe from two points.
Namespace: Autodesk.Revit.DB.Plumbing
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

public static Pipe Create(
Document document,
ElementId systemTypeId,
ElementId pipeTypeId,
ElementId levelId,
XYZ startPoint,
XYZ endPoint
)
Parameters
- document Document
- The document.
- systemTypeId ElementId
- The ElementId of the piping system type.
- pipeTypeId ElementId
- The ElementId of the pipe type.
- levelId ElementId
- The level ElementId for the pipe.
- startPoint XYZ
- The start point of the pipe.
- endPoint XYZ
- The end point of the pipe.
Return Value
PipeThe pipe.

Exception | Condition |
---|---|
ArgumentException | The systemTypeId is not valid piping system type. -or- The pipe type pipeTypeId is not valid pipe type. -or- The ElementId levelId is not a Level. -or- The points of startPoint and endPoint are too close: for MEPCurve, the minimum length is 1/10 inch. |
ArgumentNullException | A non-optional argument was null |

public static Pipe CreateNewPipe(Document document, ElementId systemTypeId, ElementId levelId)
{
// find a pipe type
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.OfClass(typeof(PipeType));
PipeType pipeType = collector.FirstElement() as PipeType;
Pipe pipe = null;
if (null != pipeType)
{
// create pipe between 2 points
XYZ p1 = new XYZ(0, 0, 0);
XYZ p2 = new XYZ(10, 0, 0);
pipe = Pipe.Create(document, systemTypeId, pipeType.Id, levelId, p1, p2);
}
return pipe;
}
