AseptSoft Core Documentation

Fluidstream Mapping Strategies

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.


🧠 Understanding Mapping Strategies

The Fluid Stream depends on AseptSoft knowing which objects on the P&ID are neighbours. Since AseptSoft cannot visually interpret the drawing like a human, it relies on geometric rules (mappers) to determine when two objects are close enough to be considered connected.

During the First Time Setup, all objects on the P&ID are processed and classified:

  • Shapes (blocks of lines) are assigned classes like Valve, Clamp, Heat Exchanger, Tank, Instrument, Pump, etc.

  • Certain blocks may be marked as Sticky or Highly Reactive, which triggers additional geometric checks

  • Once classified, the mappers use these classifications along with geometric tolerances to build the connectivity graph

In most cases, the default settings produce a perfect Fluid Stream. But real P&IDs often contain imperfections — broken clamps, broken lines, unusual spacing — that require specific rules to handle. The mappers below address all these situations.


📋 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


⚙️ Configuring Mappers — Settings Panel

Access the Fluid Stream Mapping Options from the Module RibbonSimulations panel. The settings panel lets you:

  • Enable/disable each mapper individually (mandatory mappers are always on)

  • Adjust tolerance values per mapper — expand each mapper to see its specific tolerances

  • Choose parallel mapping mode — radio buttons at the bottom of the panel (see Parallel Block-to-Line Mapping below)

📏 Summary of All Tolerance Settings

Setting

Default

Description

Used By

Tolerance Distance

0.01

Primary proximity threshold — how close two endpoints need to be to connect

Mappers 1, 2, 4, 7, 10

Attachment Point Snapping

0.01

Smaller snap radius for precise alignment to midpoints and endpoints of lines

Mappers 1, 4

Tolerance Angle

Maximum angular deviation from perfect parallelism or perpendicularity

Mappers 2, 7, 8, 10

Parallel Lines Difference

3.5

Maximum allowed difference in length between two parallel lines

Mappers 2, 10

Parallel Lines Distance Ratio

1.0

Minimum ratio of line length to inter-line gap (prevents connecting distant short lines)

Mappers 2, 10

Buffer for Parallel Lines

0.2

Spatial search buffer multiplier for parallel line detection

Mappers 2, 10

Max Absolute Gap Length

0

Maximum physical gap distance for line gap bridging (0 = not in use / no limit)

Mapper 7

Max Gap as Ratio of Longer Side Line

1.5

Maximum gap expressed as a multiple of the longer side line's length (0 = not in use / no limit)

Mapper 7

Spatial Index Buffer

0.1

Broad-phase search buffer for spatial queries

All mappers

ℹ️ Note: A value of 0 in the last two gap settings means "not in use / no limit."

💡 Tip: The difference between the Tolerance Distance (setting 1) and the Max Absolute Gap Length (setting 7): Tolerance Distance is for very tiny distances where AseptSoft sees two points as effectively equal. Max Absolute Gap Length is for larger gaps where there must be two lines aligned on the same axis to be considered connected.


📍 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.

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.


↔️ 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 checks whether lines overlap (share a common segment) — if so, they connect immediately. Otherwise, it checks if they are parallel (within angle tolerance), equal in length (within difference tolerance), and center-aligned, and verifies no other objects lie in between.

Three Connection Modes

This mapper supports three levels of parallelism checking, configured via radio buttons at the bottom of the Mapping Settings panel:

Setting

Behaviour

Free lines only

Only checks block internal lines against free pipe lines. This is the most restrictive — only AnyBlock-to-Line clamp connections are accepted

Free lines and Sticky block references

Also checks block-to-block parallel lines where at least one is a Sticky (Clamp) block. Accepts AnyBlock-Line and StickyBlock-AnyBlock clamp connections

Free lines and any block references

Checks all block-to-block parallel lines. Accepts AnyBlock-Line, StickyBlock-AnyBlock, and AnyBlock-AnyBlock clamp connections

💡 Tip: The difference between these modes matters when you have symbols that look like clamps but are composed of multiple overlapping blocks rather than a single block sitting on a pipe line.


📎 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, then tests whether any of their internal lines share overlapping segments.

Example: A clamp that visually looks correct but is actually composed of two separate blocks — the bottom line from a heat exchanger together with the top line of an adjacent pipe. The Overlapping Clamp Lines mapper detects this geometric coincidence.

No Tolerance Parameters

This mapper uses only the global geometric tolerance for overlap detection — it either overlaps or it does not.


📌 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 or (as a fallback) through the start/end points of all internal lines.

The mapper enumerates all Clamp-classified blocks, computes their connection points in world coordinates, then checks nearby entities for geometric contact within the tolerance distance. Clamp-Refuser blocks are excluded from connecting to Clamp blocks.


⚡ 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 padding distance (called Reactive Distance) is configurable per-class. Any entity whose bounding box falls within the padded zone is connected — unless it is classified as Immune to Highly Reactive.

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.

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.

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 mapper groups all free lines by axis alignment, sorts them by position, then walks through consecutive segments checking if the gap between them is small enough. The two key tolerances are:

  • Max Absolute Gap Length — The gap must be shorter than this value

  • Max Gap as Ratio — The gap must be shorter than a fraction of the longer segment's length

If a Non-Touching block (e.g., an instrument that taps into the pipe without touching it) sits within a gap, the pipe segments connect to that block instead of bridging directly.

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 the crossing and connects each through-pair correctly without cross-connecting unrelated pipes.

💡 Tip: You use the Max Absolute Gap Length and Max Gap Ratio settings primarily when there is a "fault" in the P&ID — they are a safety measure for PIDs with drawing errors. Both must have lines perfectly aligned on the same axis to trigger.


🌀 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). The mapper groups arcs by orientation and connects consecutive arcs whose endpoints are both "open" (not already connected).


📦 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

No Tolerance Parameters

This is a purely logical mapper — geometry is irrelevant.


〰️ 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

The mapper searches for nearby parallel lines that are equal in length and center-aligned. Critically, it 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.

Why Perpendicular Lines Are Required

Without the perpendicular-line check, 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.


🏭 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 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.

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 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.


📌 Custom Connection Points (AseptSoft Connector)

In some cases, the automatic mapping may not find the correct connection points on an object. For example, a heat exchanger may connect at unexpected locations, or you may need additional connection points that don't exist in the symbol definition. The AseptSoft Connector command lets you manually define custom connection points.

How to Use AseptSoft Connector

  1. Run the AseptSoft Connector command

  2. Click on the object you want to inspect — you will see the existing connection points displayed in blue

  3. To add a connection point, click on the desired location — a new connection point appears in green

  4. To remove a connection point, click on an existing one — it turns red and fully blocks fluid at that location

  5. Fluid will flow through blue (original) and green (custom) points, but not through red (removed) points

Important Behaviours

Colour

Meaning

🔵 Blue

Original connection point (defined by the symbol)

🟢 Green

Custom connection point (added by user)

🔴 Red

Removed connection point (blocks fluid)

  • Custom connection points are shared across all instances of the same object type — if you add a point to one heat exchanger, all identical heat exchangers receive the same point

  • Connection points do not need to be directly on the object — you can place them at a distance from the symbol

  • If you remove a connection point and then disable the User-Defined Manual Block Connection Override option, AseptSoft reverts to treating the point as a normal connection and allows fluid through. The override only takes effect when the option is enabled.

ℹ️ Nice to know: A line can only connect once with another object, but it can connect to multiple objects at the same time. Also, the ending point of a line CAN connect to more than one object.


🗺️ Verifying with the Neighbours Map

After configuring mappers, you can verify the results using the Neighbours Map (formerly "Fluid Map"). Click Show Neighbours Map from the Module RibbonSimulations panel. This displays a diagnostic overlay showing all discovered connections. See the Neighbours Map section on the Fluidstream Simulations page for full details.


💊 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:

  1. Endpoint Proximity Mapping first detects that the WFI supply pipe endpoints connect to the distribution loop tee

  2. Sticky Block References then detects that the spray ball clamp symbol's connection points touch the WFI branch line running into the vessel

  3. 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.