BoundarySegment Class


Boundary Segment Class

An object that represents a segment of an area boundary.
Inheritance Hierarchy
System Object
Autodesk.Revit.DB BoundarySegment

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class BoundarySegment : IDisposable

The BoundarySegment type exposes the following members.

Properties
Name Description
Public property ElementId Retrieve the id of the element that produces this boundary segment. If the segment is created from an element in a link, this is the id of the RevitLinkInstance.
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public property LinkElementId Retrieve the element id of the element in a link instance that forms this boundary.
Top
Methods
Name Description
Public method Dispose Releases all resources used by the BoundarySegment
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetCurve Get a copy of the curve that is formed along this boundary.
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks
These objects define the exterior boundary of an area. The geometry of the segment can be retrieved along with the id of the element that is responsible for producing that boundary.
Example
public void GetInfo_BoundarySegment(Room room)
{
   IList<IList<Autodesk.Revit.DB.BoundarySegment>> segments = room.GetBoundarySegments(new SpatialElementBoundaryOptions());

   if (null != segments)  //the room may not be bound
   {
      string message = "BoundarySegment";
      foreach (IList<Autodesk.Revit.DB.BoundarySegment> segmentList in segments)
      {
         foreach (Autodesk.Revit.DB.BoundarySegment boundarySegment in segmentList)
         {

            // Get curve start point
            message += "\nCurve start point: (" + boundarySegment.GetCurve().GetEndPoint(0).X + ","
                           + boundarySegment.GetCurve().GetEndPoint(0).Y + "," +
                          boundarySegment.GetCurve().GetEndPoint(0).Z + ")";
            // Get curve end point
            message += ";\nCurve end point: (" + boundarySegment.GetCurve().GetEndPoint(1).X + ","
                 + boundarySegment.GetCurve().GetEndPoint(1).Y + "," +
                 boundarySegment.GetCurve().GetEndPoint(1).Z + ")";
            // Get document path name
            message += ";\nDocument path name: " + room.Document.PathName;
            // Get boundary segment element name
            if (boundarySegment.ElementId != ElementId.InvalidElementId)
            {
               message += ";\nElement name: " + room.Document.GetElement(boundarySegment.ElementId).Name;
            }
         }
      }
      TaskDialog.Show("Revit",message);
   }
}
See Also