RVTDocs.com
Namespace: Autodesk.Revit.DB

Segment

Class
Description:
This element represents a segment of an MEP curve object.
Remarks:
Currently, only pipe curves can be broken into separate segment elements.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.Element
    Autodesk.Revit.DB.Segment
      Autodesk.Revit.DB.Plumbing.PipeSegment
Syntax
public class Segment : Element
Examples
private void GetPipeSegmentSizesFromDocument(Document document)
{
    FilteredElementCollector collectorPipeType = new FilteredElementCollector(document);
    collectorPipeType.OfClass(typeof(Segment));

    IEnumerable<Segment> segments = collectorPipeType.ToElements().Cast<Segment>();
    foreach (Segment segment in segments)
    {
        StringBuilder strPipeInfo = new StringBuilder();
        strPipeInfo.AppendLine("Segment: " + segment.Name);

        strPipeInfo.AppendLine("Roughness: " + segment.Roughness);

        strPipeInfo.AppendLine("Pipe Sizes:");
        double dLengthFac = 304.8;  // used to convert stored units from ft to mm for display
        foreach (MEPSize size in segment.GetSizes())
        {
            strPipeInfo.AppendLine(string.Format("Nominal: {0:F3}, ID: {1:F3}, OD: {2:F3}",
                                        size.NominalDiameter * dLengthFac, size.InnerDiameter * dLengthFac, size.OuterDiameter * dLengthFac));
        }


        TaskDialog.Show("PipeSetting Data", strPipeInfo.ToString());
        break;
    }
}