MEPNetworkIterator Class


MEPNetwork Iterator Class

An iterator to traverse the MEP analytical network.
Inheritance Hierarchy
System Object
Autodesk.Revit.DB.Analysis MEPNetworkIterator

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

The MEPNetworkIterator type exposes the following members.

Constructors
Name Description
Public method MEPNetworkIterator(Document, MEPAnalyticalSegment) Creates an iterator to visit the connected segments on both sides.
Public method MEPNetworkIterator(Document, MEPAnalyticalModelData, ConnectorDomainType) Creates an iterator by the analytical model data to visit all connected components in the network.
Public method MEPNetworkIterator(Document, MEPAnalyticalNode, MEPAnalyticalSegment) Creates an iterator to visit the connected segments on one side of the network.
Top
Properties
Name Description
Public property CurrentElementId The element id at the current iteration step.
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public property SystemClassification The optional MEP system classification where the iterations are restricted.
Public property SystemId The optional MEP system element id where the iterations are restricted.
Top
Methods
Name Description
Public method Dispose Releases all resources used by the MEPNetworkIterator
Public method End Checks if the network iteration has completed.
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetAnalyticalModelData Gets the analytical model data at the current iteration step.
Public method GetAnalyticalNode Gets the analytical node at the current iteration step.
Public method GetAnalyticalSegment Gets the analytical segment at the current iteration step.
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetOtherAnalyticalNode Gets the other analytical node at the current iteration step.
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method Next Moves this iterator to the next step of network iteration.
Public method Start Gets the first step of network iteration.
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks
The iterator will visit the entire MEP analytical network in the depth-first order. For evert next step, one analytical node and one analytical segment are typically visited. Sometimes an extra node is provided if the iteration reaches the end on one side and restarts at the previous intersect node. Also note that the start step may not contain any segment.
Example
// Create a new MEPNetworkIterator to traverse a piping network in the depth-first order.
int segmentCount = 0;
MEPNetworkIterator netIter = new MEPNetworkIterator(doc, modelData, ConnectorDomainType.Piping);
for(netIter.Start(); !netIter.End(); netIter.Next())
{
   MEPAnalyticalSegment segment = netIter.GetAnalyticalSegment();
   if (segment != null)
      segmentCount++;
}
See Also