MEPNetwork |
An iterator to traverse the MEP analytical network.

Namespace: Autodesk.Revit.DB.Analysis
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

The MEPNetworkIterator type exposes the following members.

Name | Description | |
---|---|---|
![]() | MEPNetworkIterator(Document, MEPAnalyticalSegment) | Creates an iterator to visit the connected segments on both sides. |
![]() | MEPNetworkIterator(Document, MEPAnalyticalModelData, ConnectorDomainType) | Creates an iterator by the analytical model data to visit all connected components in the network. |
![]() | MEPNetworkIterator(Document, MEPAnalyticalNode, MEPAnalyticalSegment) | Creates an iterator to visit the connected segments on one side of the network. |

Name | Description | |
---|---|---|
![]() | CurrentElementId | The element id at the current iteration step. |
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. |
![]() | SystemClassification | The optional MEP system classification where the iterations are restricted. |
![]() | SystemId | The optional MEP system element id where the iterations are restricted. |

Name | Description | |
---|---|---|
![]() | Dispose | Releases all resources used by the MEPNetworkIterator |
![]() | End | Checks if the network iteration has completed. |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | GetAnalyticalModelData | Gets the analytical model data at the current iteration step. |
![]() | GetAnalyticalNode | Gets the analytical node at the current iteration step. |
![]() | GetAnalyticalSegment | Gets the analytical segment at the current iteration step. |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetOtherAnalyticalNode | Gets the other analytical node at the current iteration step. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() | Next | Moves this iterator to the next step of network iteration. |
![]() | Start | Gets the first step of network iteration. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

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.

// 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++;
}
