Before a fluidstream simulation can propagate fluid through a P&ID, AseptSoft must first build the connectivity graph — determining which entities are connected to which. This page describes every mapping strategy that AseptSoft uses to discover connections between pipes, fittings, instruments, and other components.
Each mapper runs independently and contributes edges to the connectivity graph. The mappers execute in sequence, and later mappers can see (and build upon) connections established by earlier ones. Together, they handle the full range of geometric situations found in real-world P&ID drawings.
Note: All mappers described below are shared between AutoCAD Standard and AutoCAD Plant 3D, except the final one — Inline Assets on Line — which is exclusive to Plant 3D.
💊 Pharma Example: How Mapping Detects a WFI Spray Ball Connection
Consider a pharmaceutical WFI (Water for Injection) distribution loop feeding spray balls inside a CIP vessel. On the P&ID, a spray ball symbol is placed as a clamp-style block sitting directly on the WFI supply line. Here is how the mapping strategies work together to detect this connection:
-
Endpoint Proximity Mapping first detects that the WFI supply pipe endpoints connect to the distribution loop tee
-
Sticky Block References then detects that the spray ball clamp symbol's connection points touch the WFI branch line running into the vessel
-
Line Gap Bridging bridges any visual gaps in the branch pipe where instrument tap points create small breaks in the line
The result: a complete fluid path from the WFI source, through the distribution loop, down the branch line, and into the spray ball — all detected automatically from your drawing geometry. When you run the fluidstream simulation, the entire path lights up in the WFI fluid color, confirming coverage.
📋 Overview of All Mapping Strategies
|
# |
Strategy |
What It Detects |
Platform |
|---|---|---|---|
|
1 |
📍 Endpoint Proximity Mapping |
Endpoint-to-entity proximity |
Both |
|
2 |
↔️ Parallel Block-to-Line Mapping |
Internal block lines parallel and aligned with free lines |
Both |
|
3 |
📎 Overlapping Clamp Lines |
Overlapping line segments between Clamp blocks |
Both |
|
4 |
📌 Sticky Block References (Clamp) |
Clamp connection points touching nearby entities |
Both |
|
5 |
⚡ Highly Reactive Block References |
Padded bounding-box overlap for specially marked blocks |
Both |
|
6 |
🔗 Symbol Attachment Points |
Symbol Style attachment points defining explicit connection locations |
Both |
|
7 |
🔲 Line Gap Bridging |
Co-linear pipe segments separated by visual gaps |
Both |
|
8 |
🌀 Arc Connectivity |
Arc entities aligned on the same axis |
Both |
|
9 |
📦 AutoCAD Group Connectivity |
AutoCAD named Group connectivity |
Both |
|
10 |
〰️ Parallel Line Pairing |
Parallel free lines forming a rectangular pipe corridor |
Both |
|
11 |
🏭 Inline Assets on Line (Plant 3D only) |
Plant 3D assets sitting on a PnP Line Segment |
Plant 3D only |
📍 1. Endpoint Proximity Mapping
Purpose: The most fundamental mapper. It connects line/polyline/arc/spline endpoints to any nearby entity within a distance tolerance.
How It Works
Imagine every pipe line (Line, Arc, Polyline, or Spline) has two endpoints — a start and an end. For each endpoint, AseptSoft draws an imaginary circle of radius equal to the Tolerance Distance around that point. Any entity whose geometry falls within that circle is considered a neighbour and a connection is established.
The mapper uses a spatial index for performance — only entities within the bounding envelope of the tolerance circle are checked. For each candidate, a precise geometric test determines the closest point on the candidate entity to the pipe endpoint.
Snap-to-Midpoint-or-Ends
In addition to the main tolerance, there is an Attachment Point Snapping tolerance. When a pipe endpoint falls within this smaller snapping distance of another entity's start, midpoint, or end, the connection point is "snapped" to that exact geometric feature. This prevents small drawing imprecisions from creating incorrect graph topologies.
What Gets Connected
-
Pipe endpoint to pipe endpoint (two lines meeting at a corner)
-
Pipe endpoint to block reference (a line ending at a valve symbol)
-
Pipe endpoint to any curve entity within range
Special Behavior with Gap and Pipe Crossing Blocks
If the nearby entity is a Gap or Pipe Crossing Break block (as determined by its classification), the pipe endpoint remains marked as "open-ended" even though a connection is made. This allows subsequent mappers (like the Line Gap Bridging) to properly handle the visual gap.
Configurable Tolerances
-
Tolerance Distance — The radius of the search circle around each endpoint
-
Attachment Point Snapping — The smaller snap radius for precise alignment
↔️ 2. Parallel Block-to-Line Mapping
Purpose: Connects a line inside a block reference (e.g., a pipe stub drawn inside a valve symbol) to a free line (an actual pipe segment) when the two are parallel, equal in length, and center-aligned.
How It Works
Many P&ID symbols contain internal lines that represent the pipe passing through the component. When these internal lines are parallel to and aligned with an actual pipe line in the drawing, it indicates the pipe "enters" the symbol from that side.
The mapper:
-
For each block reference in the graph, extracts all internal lines (transformed to world coordinates)
-
If the block has Half-Clamp style entities defined, only those specific internal lines participate
-
For each internal line, searches the spatial index for nearby free lines
-
Checks if lines overlap (share a common segment) — if so, they connect immediately
-
Otherwise, checks if lines are parallel (within angle tolerance), equal in length (within difference tolerance), and center-aligned
-
Verifies no other objects lie in between (using a length-to-distance ratio check)
Three Connection Modes
This mapper supports three levels of parallelism checking, configured per-PID:
|
Setting |
Friendly Name |
Behavior |
|---|---|---|
|
Free lines only |
Free lines only |
Only checks block internal lines against free pipe lines |
|
Free lines and sticky block references |
Free lines and sticky block references |
Also checks block-to-block parallel lines (where at least one is a Clamp) |
|
Free lines and any block references |
Free lines and any block references |
Checks all block-to-block parallel lines |
Configurable Tolerances
-
Tolerance Distance — How close endpoints need to be to consider alignment
-
Tolerance Angle — Maximum angular deviation from perfect parallelism (in degrees)
-
Parallel Lines Difference — Maximum allowed difference in line lengths
-
Parallel Lines Distance Ratio — Minimum ratio of line length to inter-line distance (prevents connecting distant short lines)
-
Buffer for Parallel Lines — Spatial search buffer multiplier
📎 3. Overlapping Clamp Lines
Purpose: Connects two Clamp-classified blocks when their internal line segments physically overlap in world space.
How It Works
Some P&ID drawing standards use symbols whose internal lines overlap with the pipe or with adjacent symbols. This is common with "clamp" style connections — fittings that sit directly on the pipe with overlapping geometry.
The mapper:
-
Identifies all pairs of block references whose bounding boxes intersect
-
Filters to pairs where at least one block is classified as a Clamp (and the other does not refuse clamp connections)
-
For each pair, builds a spatial index of internal lines per block
-
Tests each line from Block A against nearby lines from Block B using 2D line segment overlap detection
-
If any pair of internal lines shares a common overlapping segment, the two blocks are connected
No Tolerance Parameters
This mapper uses only the global geometric tolerance for overlap detection — it either overlaps or it does not. No user-configurable tolerances apply.
📌 4. Sticky Block References (Clamp)
Purpose: Connects Clamp blocks to any entity whose geometry touches their connection points — the vertices of special "Clamp" sub-entities defined in the Symbol Style.
How It Works
Certain P&ID symbols are designed to "stick" to whatever pipe or entity passes near their connection points. These connection points are defined either through:
-
Symbol Style Clamp entities — Specific sub-entities in the block definition marked as connection interfaces
-
Line endpoints — If no Clamp entities are defined, the mapper falls back to the start/end points of all internal lines
The mapper:
-
Enumerates all block references classified as Clamp or Clamp Refuser
-
For each Clamp block, computes its connection points in world coordinates
-
Grows the block's bounding box by the spatial search buffer to find nearby candidate entities
-
For each candidate entity near a connection point, performs a precise point-on-entity test with the tolerance distance
-
If the point lies on (or very near) the candidate, a connection is established at that exact location
-
Clamp-Refuser blocks are excluded from connecting to Clamp blocks (mutual rejection)
Configurable Tolerances
-
Tolerance Distance — How close a connection point must be to an entity's geometry
-
Attachment Point Snapping — Snap to exact midpoints/endpoints when within this smaller tolerance
⚡ 5. Highly Reactive Block References
Purpose: Connects blocks classified as Highly Reactive to any entity whose bounding box overlaps the block's padded bounding box. This is the most aggressive connection strategy.
How It Works
Some components (like tank nozzles or large fittings) need to connect to any pipe that merely passes near them, even without precise geometric contact. These components are classified with the Highly Reactive fluid mode, which gives them an expanded "catch zone."
The mapper:
-
Scans all block references for those classified as Highly Reactive (either via classification or via Symbol Style reactive entities)
-
For blocks with Symbol Style reactive entities, each reactive sub-entity gets its own padded bounding box, allowing precise control over which part of a complex symbol is reactive
-
For legacy class-level definitions, the entire block's bounding box is padded
-
The padding distance is configurable per-class as the Reactive Distance property
-
Any entity whose bounding box falls within the padded zone is connected — unless it is classified as Immune to Highly Reactive
-
To prevent false positives, entities that fully encapsulate the reactive block (i.e., the reactive block is completely inside the candidate) are excluded
Immunity
Blocks classified with the Immune to Highly Reactive fluid mode are immune to being captured by Highly Reactive blocks. This prevents unwanted connections between overlapping large symbols.
🔗 6. Symbol Attachment Points
Purpose: Creates explicit connection endpoints at Attachment Point locations defined in a symbol's Internal Fluid Map (from the Symbol Editor).
How It Works
The Symbol Editor allows users to define an Internal Fluid Map — a graph of nodes and edges inside a symbol. Among these nodes, Attachment Point nodes mark the exact locations where the symbol should connect to external pipes.
The mapper:
-
For each block reference, looks up its Symbol Style via the style lookup table
-
If the style defines an Internal Fluid Map with vertices, it processes each Attachment Point node
-
Each Attachment Point's location is transformed from style-space to block-definition space to world coordinates using the symbol instance transform
-
These transformed points are registered as connection endpoints in the global graph
-
Conversely, Attachment Points that fall within a No-Connect Area (also defined in the Symbol Style) are registered as disconnection points, explicitly preventing connections at those locations
Why This Matters
Without this mapper, complex symbols like Block Valves (which contain multiple control modules connected by an internal flow graph) would have no way to define where external pipes should attach. The Symbol Editor's Attachment Points provide this precise control.
No Tolerance Parameters
This mapper uses the symbol's exact geometric definitions — no user-configurable tolerances apply.
🔲 7. Line Gap Bridging
Purpose: Reconnects co-linear pipe segments that are visually separated by a gap, as long as no "non-touching" block lies in the gap.
How It Works
In many P&ID standards, a single logical pipe is drawn as multiple line segments with small visual gaps between them. These gaps might exist for clarity (to show instrument tap points) or due to drawing conventions. The Line Gap Bridging mapper bridges these gaps.
However, if a Non-Touching block (e.g., an instrument that taps into the pipe without touching it) sits within a gap, the pipe segments on either side connect to that block instead of bridging the gap directly.
The mapper:
-
Groups all free lines and polylines by axis alignment — horizontal lines grouped by their Y-coordinate, vertical lines by their X-coordinate (within the angle tolerance)
-
Within each group, sorts segments by position along the perpendicular axis
-
Walks through consecutive segments, checking if the gap between them is small enough:
-
Maximum absolute gap length — The gap must be shorter than this value
-
Maximum gap as ratio — The gap must be shorter than a fraction of the longer segment's length
-
-
Checks whether any Non-Touching block sits within the gap zone
-
Also handles Pipe Crossing Break blocks — these create an X-shaped crossing where two pipes visually intersect but do not actually connect
Pipe Crossing Breaks
A Pipe Crossing Break represents two pipes crossing over each other (one typically shown with a small gap or bump). The mapper:
-
Detects when a classified Pipe Crossing Break block sits at the intersection of co-linear line groups
-
Connects each through-pair: Segment A to Crossing to Segment B on one axis, and Segment C to Crossing to Segment D on the perpendicular axis
-
Does not connect A to C or B to D (those would be incorrect cross-connections)
Configurable Tolerances
-
Tolerance Angle — Maximum deviation from perfect horizontal/vertical alignment
-
Tolerance Distance — Proximity threshold for grouping co-linear segments
-
Max Absolute Gap Length — Maximum physical gap distance
-
Max Gap Ratio — Maximum gap as a multiple of the longer side line's length
🌀 8. Arc Connectivity
Purpose: Connects arc entities that share the same axis alignment, bridging gaps between consecutive arcs in a curved pipe run.
How It Works
Some P&ID drawings use arc entities to represent curved pipe segments (bends, elbows, or rounded corners). When multiple arcs share the same center axis, they form a continuous curved path.
The mapper:
-
Groups arc entities by orientation — vertical arcs grouped by their X-coordinate, horizontal arcs grouped by their Y-coordinate
-
Within each group, sorts arcs by their position along the perpendicular axis
-
For each consecutive pair of arcs, checks if the end of one arc and the start of the next arc are both "open" (not already connected to something else)
-
If both ends are open, bridges the gap by connecting them
Configurable Tolerances
-
Tolerance Distance — How close arc coordinates must be to be grouped together
-
Tolerance Angle — Maximum angular deviation from perfect axis alignment
📦 9. AutoCAD Group Connectivity
Purpose: Connects all entities that belong to the same AutoCAD named Group.
How It Works
AutoCAD's named Groups allow users to logically associate entities. When entities are placed in the same Group, AseptSoft treats them as connected regardless of their geometric positions. This is useful for:
-
Connecting components that are drawn far apart but logically belong to the same flow path
-
Forcing connections that no geometric mapper can detect
-
Overriding the default connectivity for special drawing conventions
The mapper:
-
Reads the AutoCAD Group dictionary from the drawing database
-
For each named Group, retrieves all entity IDs
-
If the first entity in the Group exists in the connectivity graph, connects all other Group members to it
No Tolerance Parameters
This is a purely logical mapper — geometry is irrelevant. No tolerances apply.
〰️ 10. Parallel Line Pairing
Purpose: Connects two parallel free lines (not inside blocks) that face each other and form a rectangular corridor, typically representing heat exchangers, double-wall pipes, or other paired-line conventions.
How It Works
Some P&ID conventions draw certain equipment using two parallel lines.
The mapper:
-
For each free line (Line or 2-vertex Polyline) and each internal block line, searches the spatial index for nearby parallel lines
-
Checks if the candidate line is parallel (within angle tolerance), equal in length (within difference tolerance), and center-aligned with the source line
-
Verifies that no unrelated objects lie in the rectangular zone between the two parallel lines (the "corridor" must be clean)
-
Critically, verifies that perpendicular lines or curves connect to both parallel lines — this distinguishes a genuine paired-pipe corridor from two unrelated pipes that happen to be parallel
-
Lines connected by this mapper are excluded from the Line Gap Bridging mapper to prevent double-counting
Why Perpendicular Lines Are Required
The perpendicular-line check is essential to avoid false positives. Without it, any two nearby parallel pipes (which are extremely common in P&IDs) would be incorrectly connected. The perpendicular connectors prove that the two lines form an intentional rectangular structure.
Configurable Tolerances
-
Tolerance Distance — Proximity for spatial searches
-
Tolerance Angle — Maximum deviation from parallelism and perpendicularity
-
Parallel Lines Difference — Maximum allowed difference in line lengths
-
Parallel Lines Distance Ratio — Minimum ratio of line length to inter-line gap
-
Buffer for Parallel Lines — Spatial search buffer multiplier
🏭 11. Inline Assets on Line (Plant 3D only)
Purpose: Connects Plant 3D inline assets (valves, instruments) to the PnP Line Segments they sit on. This mapper is mandatory in Plant 3D and does not exist in AutoCAD Standard.
How It Works
In AutoCAD Plant 3D, P&ID components (called "assets") are placed directly onto PnP Line Segments (the Plant 3D pipe objects). The Plant 3D data model maintains an explicit parent-child relationship between an asset and its host line. This mapper leverages that native relationship instead of geometric proximity.
The mapper:
-
Queries the Plant 3D data model for all Line Segments in the drawing
-
For each Line Segment, retrieves the list of assets placed on it
-
Creates connections between the Line Segment and each of its assets
-
Also connects consecutive assets on the same line to each other (forming a chain along the pipe)
Why This Is Mandatory for Plant 3D
In Plant 3D drawings, assets may not have clear geometric endpoints touching the line — they are placed "on" the line via the PnP data model rather than by precise geometric snapping. Without this mapper, many Plant 3D components would appear disconnected from their host pipes, even though the Plant 3D user clearly placed them on the pipe.
No Tolerance Parameters
This mapper uses the Plant 3D data model relationships directly — no geometric tolerances are needed.
🔄 Mapper Execution Order and Interactions
The mappers execute in the order listed above (1 through 11). Some important interactions:
-
Endpoint Proximity Mapping runs first and establishes the baseline connectivity. All subsequent mappers build upon and refine this baseline.
-
Line Gap Bridging respects the "open end" markers set by Endpoint Proximity Mapping — it only bridges gaps between endpoints that remain unconnected.
-
Parallel Line Pairing excludes connected lines from being processed by Line Gap Bridging, preventing double-counting.
-
Symbol Attachment Points can disconnect points (via No-Connect Areas), overriding connections established by earlier mappers.
-
Inline Assets on Line (Plant 3D) runs as a mandatory mapper that always executes, complementing the optional mappers.
⚙️ Configuring Mappers
Enabling/Disabling Mappers
Users can select which mappers are active for each PID through the Mapping Settings interface. The optional mappers (1-10) can be individually enabled or disabled. The mandatory mapper (11, Plant 3D only) always runs.
Tolerance Settings
All tolerances are configurable per-PID through the Mapping Settings panel. The default values work well for most standard P&ID drawings, but may need adjustment for:
-
Drawings with tight spacing — Reduce tolerances to prevent false connections
-
Drawings with loose geometry — Increase tolerances to catch intended connections
-
Non-standard scales — Adjust the absolute distance values proportionally
📏 Summary of All Tolerances
|
Tolerance |
Used By |
Description |
|---|---|---|
|
Tolerance Distance |
Endpoint Proximity, Parallel Block-to-Line, Sticky Block References, Line Gap Bridging, Parallel Line Pairing |
Primary proximity threshold for endpoint matching |
|
Attachment Point Snapping |
Endpoint Proximity, Sticky Block References |
Smaller snap radius for precise alignment to endpoints/midpoints |
|
Tolerance Angle |
Parallel Block-to-Line, Line Gap Bridging, Arc Connectivity, Parallel Line Pairing |
Maximum angular deviation from parallelism/perpendicularity |
|
Parallel Lines Difference |
Parallel Block-to-Line, Parallel Line Pairing |
Maximum allowed difference in parallel line lengths |
|
Parallel Lines Distance Ratio |
Parallel Block-to-Line, Parallel Line Pairing |
Minimum length-to-gap ratio for parallel connections |
|
Buffer for Parallel Lines |
Parallel Block-to-Line, Parallel Line Pairing |
Spatial search buffer multiplier for parallel line detection |
|
Max Absolute Gap Length |
Line Gap Bridging |
Maximum physical gap distance for line breaking |
|
Max Gap Ratio |
Line Gap Bridging |
Maximum gap as a fraction of the longer side segment |
🔗 Related Pages
-
Fluidstream Simulations — How fluid propagation works after the graph is built
-
Fluid Parameters — Define fluid types and their visual colors
-
Sources — Fluid origin points on your P&ID
-
Engineering Items — Valves, instruments, and fittings that interact with fluid flow
-
State — Determines how each item responds to fluid
-
Symbol Editor — Defining Internal Fluid Maps and Attachment Points
-
PID Components — Component categories and classification
-
Block Valve — Complex symbols with internal flow graphs
-
First Time Setup — Initial configuration including classification and mapping