MEPNetworkIterator Class

An iterator to traverse the MEP analytical network.
Inheritance Hierarchy
SystemObject
  Autodesk.Revit.DB.AnalysisMEPNetworkIterator

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
 NameDescription
Public methodMEPNetworkIterator(Document, MEPAnalyticalSegment) Creates an iterator to visit the connected segments on both sides.
Public methodMEPNetworkIterator(Document, MEPAnalyticalModelData, ConnectorDomainType) Creates an iterator by the analytical model data to visit all connected components in the network.
Public methodMEPNetworkIterator(Document, MEPAnalyticalNode, MEPAnalyticalSegment) Creates an iterator to visit the connected segments on one side of the network.
Top
Properties
 NameDescription
Public propertyCurrentElementId The element id at the current iteration step.
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public propertySystemClassification The optional MEP system classification where the iterations are restricted.
Public propertySystemId The optional MEP system element id where the iterations are restricted.
Top
Methods
 NameDescription
Public methodDisposeReleases all resources used by the MEPNetworkIterator
Public methodEnd Checks if the network iteration has completed.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetAnalyticalModelData Gets the analytical model data at the current iteration step.
Public methodGetAnalyticalNode Gets the analytical node at the current iteration step.
Public methodGetAnalyticalSegment Gets the analytical segment at the current iteration step.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetOtherAnalyticalNode Gets the other analytical node at the current iteration step.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodNext Moves this iterator to the next step of network iteration.
Public methodStart Gets the first step of network iteration.
Public methodToStringReturns 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