AseptSoft Core Documentation
Breadcrumbs

P&ID Components Classification

Classification is the process of teaching AseptSoft which block definitions represent which types of components in your P&ID drawings. Before AseptSoft can simulate fluid flow, colour valves by state, or extract instrument data, it must know that a particular block is a valve, another is an instrument, and another is a pipe source.

This page describes the unified classification system that works across both AutoCAD Plant 3D and AutoCAD Standard.


🧠 Core Concepts

What Is a Class?

A class is a named rule that maps one or more block definition names to an AseptSoft component type. For example:

  • Class "CV-Globe" → maps block definitions whose name contains "CV-Globe" → classified as Control (Engineering Item)

  • Class "PT" → maps blocks matching "PT*" → classified as Instrument

  • Class "WFI-Source" → maps a specific block → classified as Source

What Is an Environment?

An environment is a portable file (.aseptenv) that bundles all class definitions, property rules, token patterns, and groupings into one reusable package. Environments can be:

  • Shared across projects (copied into the project folder for team distribution)

  • Applied to individual drawings (in AutoCAD Standard) or project-wide (in Plant 3D)

  • Updated centrally and pushed to all users via the project's Environments folder

🔀 Classes vs. Instances

Classification operates at two levels:

Level

Scope

Example

Class

Shared by all block references of the same type

"All globe valves have a Tag, a Control Type, and belong to the Control behaviour"

Instance

Unique to each individual block reference

"This specific globe valve has Tag = CV-101, Control Type = Globe Valve, and is 45 % open"

Class-level definitions provide the schema (what properties exist, how they are found). Instance-level data provides the values (the actual tag, type, percentage for each placed symbol).


📂 Classification Types (Behaviours)

Every class is assigned a behaviour type that determines how AseptSoft treats instances of that class. The available behaviours are:

Behaviour

AseptSoft Component

Purpose

Control

Engineering Item (Valve)

Controllable items: valves, pumps, tanks, heat exchangers. Have a state (open/closed/percentage), fluid response, and optional connectors.

Instrument

Instrument

Measuring devices: pressure, temperature, flow, level transmitters. Have a phenomenon type, instrument type, and loop number.

Source

Source

Fluid origins: water supplies, steam headers, gas inlets. Emit a specific fluid into the flow graph.

Off-Page Connector

Off-Page Connector

Cross-PID references: arrows or symbols that indicate a pipe continues on another drawing. Paired by bind value or tag.

Block Valve

Block Valve

Composite symbols containing an internal flow graph (defined in the Symbol Editor). Treated as a mini-network of control modules.

Excluded

(Ignored)

Blocks that should be explicitly ignored by AseptSoft — never classified, never participate in the flow graph.

⚡ AutoRun Behaviours

In addition to the primary types, classes can be assigned AutoRun behaviours that trigger automatic processing:

AutoRun

Purpose

Group

Automatically groups block references of this class using token-matched values (e.g., all instruments with the same loop number)

Explode

Automatically explodes the block reference during PID reading — useful for nested blocks that need to expose their internal geometry

Area

Defines area zones on the PID — each instance marks a region, and components within that region inherit the area designation


🌊 Fluid Modes

Each class can be assigned one or more fluid modes that control how the block interacts with the fluidstream simulation:

Fluid Mode

Meaning

Clamp

The block connects to nearby entities through overlapping or touching geometry

Refuses connection with Clamp Blocks

This block cannot be connected to by Clamp blocks

Gap

The block represents a visual gap in the pipe — endpoints remain "open" even when this block is nearby

Pipe Crossing Break

An X-shaped crossing where two pipes cross visually but do not connect

Always Block

The block always blocks fluid propagation regardless of its state

Non Touching

The block sits near the pipe with a gap — it connects through the Line Breaker mapper with a configurable maximum distance

Tank-like

Only gas leaves through the top connection

Very Reactive

The block connects to anything within a padded bounding box (configurable distance)

Immune to Reactive Blocks

This block cannot be captured by Very Reactive blocks

Fluid Colourable

The block's geometry participates in fluid colouring

Not Fluid Colourable

The block is excluded from fluid colouring even if connected

Multiple fluid modes can be assigned to the same class by selecting them in the multi-select dropdown.


🖥️ Platform Differences

AutoCAD Plant 3D

In Plant 3D, classification works at two levels simultaneously:

  1. Native Plant 3D classification: The Plant 3D data model already knows that certain PnP assets are valves, instruments, etc. AseptSoft reads this native classification through the DataLinksManager and PnP picklists.

  2. AseptSoft classification overlay: AseptSoft creates additional columns and picklists in the Plant 3D data model. Users can assign AseptSoft properties directly from the Plant 3D Data Manager.

  3. Hierarchy support: Plant 3D provides a class hierarchy (parent-child relationships between PnP classes). The Classification Window displays this hierarchy with depth-based colour coding and an optional tree-mode toggle.

Classification is project-wide in Plant 3D — all PIDs share the same definitions loaded from the project database.

AutoCAD Standard

In AutoCAD Standard, classification relies entirely on the artificial classification system:

  1. Token-based property resolution: Since there is no native data model, AseptSoft uses tokens — pattern expressions that describe how to find property values from nearby text entities, block attributes, or fixed values.

  2. Environment database: All class definitions are stored in the environment database (.aseptenv file). The environment is loaded per-PID.

  3. Hungarian algorithm matching: When resolving tokens against actual drawing entities, AseptSoft uses the Hungarian algorithm to find the optimal assignment of text entities to property tokens, minimizing total distance while respecting layer filters and distance constraints.

  4. No hierarchy: Classes are flat (no parent-child structure). The Classification Window shows a simple alphabetical or grouped list.


🪟 The Classification Window

The Unified Classification Window is the main interface for defining and editing class definitions. It is the same window on both platforms, with minor UI variations for Plant 3D hierarchy features.

📋 Step-by-Step Workflow

  1. Select a class from the Class dropdown (or type to search). The dropdown shows all block definition names found in the current environment.

  2. Add included classes using the multi-select Included Classes dropdown. This lets you map multiple block definition names to the same classification rule. For example, a "Globe Valve" class might include CV-Globe-DN50, CV-Globe-DN100, and CV-Globe-Flanged.

  3. Set the Behaviour to one of the primary types (Control, Instrument, Source, Off-Page Connector, Block Valve, Excluded) or an AutoRun type (Group, Explode, Area).

  4. Set Fluid Modes using the multi-select Fluid Mode dropdown. Select all applicable fluid interaction modes.

  5. Configure Class Properties in the scope containers below. These are the "schema" properties shared by all instances of this class:

    • Tag-Build: The token pattern describing how to find the tag text

    • Tag-Layers: Which AutoCAD layers to search for tag text

    • Tag-Distance: Maximum search distance from the block reference

    • Tag-Distance Method: Center to center or Closest point to closest point

  6. Configure Type-Specific Properties that appear based on the selected behaviour:

    • For Control: Control Type (Valve, Tank, Pump, Heat Exchanger), LoopNumber-Build

    • For Instrument: Phenomenon-Build, InstrumentType-Build, LoopNumber-Build

    • For Source: Fluid-Build (how to determine what fluid the source emits)

    • For Off-Page Connector: Bind-Build (how to match pairs), Bind-Method (Tag matching, Direct point link, or One-way flow)

    • For Area: Area-Build, Area-Method, Area-Margins, Area-Propagate

  7. Use the [+] button next to any property to add new custom properties to the class schema. This allows extending the classification with project-specific data fields.

  8. Clear cache when you make changes — the class cache button clears the current class, and the all-cache button forces a complete re-read.


🧮 Tokens — The Property Resolution Language

Tokens are pattern expressions used in the Build properties to describe how to find a property value from the drawing. They are the core of the artificial classification system used in AutoCAD Standard, and can also supplement Plant 3D classification.

🔍 Seeking Tokens

Seeking tokens search nearby text entities in the drawing to extract property values:

Token

Description

Text search

Find the nearest text entity (on the specified layers, within the specified distance)

Property read

Read the value of an AutoCAD block attribute by name

Block search

Search for a nested block reference by name and extract its first attribute value

📌 Non-Seeking Tokens

Non-seeking tokens provide fixed or computed values without searching nearby entities:

Token

Description

Property read

Read a block attribute value

Block check

Check if a specific block exists inside this block reference

PID name

Returns the PID name (drawing filename without extension)

Area designation

Returns the area designation for this block's location

Fixed value

Returns a fixed literal value

🔗 Building Complex Patterns

Tokens can be concatenated to build composite property values. For example, you can combine a block attribute with nearby text to form a complete tag, or prepend a fixed prefix to found text.

⚙️ Token Matching Process

When AseptSoft reads a PID, it:

  1. Enumerates all block references and all text entities in the drawing

  2. Builds a spatial index of text entities

  3. For each classified block reference, evaluates all Build token patterns:

    • Finds candidate text entities on the correct layers, within the max distance

    • Applies the distance evaluation method (Center to center or Closest point to closest point)

    • Uses the Hungarian algorithm to optimally assign text entities to tokens (when multiple blocks compete for the same text)

    • Applies chain distance constraints for sequential token matches

    • Applies regex ban filters to exclude false matches

  4. Stores the resolved values as instance-level properties


📏 Property Suffixes Reference

Each property scope (Tag, Phenomenon, Fluid, etc.) can have the following configuration suffixes:

Suffix

Type

Description

Build

Token pattern

The token pattern describing how to find this property's value

Layers

Text

Comma-separated AutoCAD layer names to search for text entities

Distance

Number

Maximum search radius from the block reference

Distance Method

Selection

"Center to center" or "Closest point to closest point"

Chain

Number

Maximum distance for chained token matches (sequential text entities)

Chain (mandatory)

Number

Mandatory chain distance — must be matched to validate the primary match

One Match

Boolean

Stop after the first match (don't search further)

Regex Ban

Text

Regular expression pattern — matching text entities are excluded

Control Valve Regex

Text

Regular expression to identify control valves among matched instances

🏗️ Area-Specific Suffixes

Suffix

Type

Description

Method

Selection

"Affects the entire PID" or "Affects only a part of the PID"

Margins

Text

Physical margin around the area boundary

Propagate

Boolean

Whether the area designation propagates to connected components

🔀 Off-Page Connector-Specific Suffixes

Suffix

Type

Description

Method

Selection

"Tag matching" (exact value), "Direct point link" (mutual tag reference), or "One-way flow" (unidirectional tag reference)

Not Within PID

Boolean

The pair is expected to be in a different PID


🎨 Color Inheritance

When AseptSoft colors components, it determines the base color using one of these inheritance modes:

Color Inheritance

Description

Inherit from layer

The component uses the color assigned to its AutoCAD layer

Inherit from block

The component uses the color defined in the block definition

Use own color

The component uses its own explicitly assigned color


📁 Class Grouping

Classes can be organized into groups for easier navigation in the Classification Window. Groups are defined in the environment database and provide:

  • A hierarchical folder structure for the class dropdown

  • Visual organization matching your company's P&ID symbol library structure

  • No functional impact — grouping is purely organizational


🔧 FCE (Final Control Element) Properties

For Control and Instrument classes, additional FCE scopes can be configured to extract actuator and feedback data:

FCE Scope

Description

Actuator Type

Type of actuator (pneumatic, electric, hydraulic)

Fail Position

Fail-safe position (open, closed, last)

Output Signal Type

Control signal type (4-20mA, digital, etc.)

Feedback Type

Feedback mechanism type

These scopes are created on demand via the [+] button in the Classification Window — they do not appear by default and only activate when explicitly configured for a class.


💊 Practical Examples

Example 1: Classifying a Globe Valve

  1. Open the Classification Window

  2. Select the block definition name (e.g., "CV-Globe-DN50")

  3. Set Behaviour to Control

  4. Set Fluid Mode to Clamp (the valve touches the pipe directly)

  5. Set Tag-Build to find the nearest text entity

  6. Set Tag-Layers to "TAG" (only look for tags on the TAG layer)

  7. Set Tag-Distance to 50

  8. Set Control Type to "Globe Valve"

Example 2: Classifying a Pressure Transmitter

  1. Select block definition "PT-Circle"

  2. Set Behaviour to Instrument

  3. Set Fluid Mode to Non Touching (instruments tap into the pipe with a gap)

  4. Set Tag-Build to read the TAG block attribute directly

  5. Set Phenomenon-Build to pick from the phenomenon list

  6. Set InstrumentType-Build to identify the instrument type text

Example 3: Classifying an Off-Page Connector

  1. Select block definition "OPC-Arrow"

  2. Set Behaviour to Off-Page Connector

  3. Set Bind-Build to find the nearby text reference identifier

  4. Set Bind-Method to Tag matching (find the matching OPC with the same bind value in another PID)