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 |
Measuring devices: pressure, temperature, flow, level transmitters. Have a phenomenon type, instrument type, and loop number. |
|
|
Source |
Fluid origins: water supplies, steam headers, gas inlets. Emit a specific fluid into the flow graph. |
|
|
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 |
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:
-
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.
-
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.
-
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:
-
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.
-
Environment database: All class definitions are stored in the environment database (.aseptenv file). The environment is loaded per-PID.
-
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.
-
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
-
Select a class from the Class dropdown (or type to search). The dropdown shows all block definition names found in the current environment.
-
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.
-
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).
-
Set Fluid Modes using the multi-select Fluid Mode dropdown. Select all applicable fluid interaction modes.
-
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
-
-
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
-
-
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.
-
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:
-
Enumerates all block references and all text entities in the drawing
-
Builds a spatial index of text entities
-
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
-
-
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
-
Open the Classification Window
-
Select the block definition name (e.g., "CV-Globe-DN50")
-
Set Behaviour to Control
-
Set Fluid Mode to Clamp (the valve touches the pipe directly)
-
Set Tag-Build to find the nearest text entity
-
Set Tag-Layers to "TAG" (only look for tags on the TAG layer)
-
Set Tag-Distance to 50
-
Set Control Type to "Globe Valve"
Example 2: Classifying a Pressure Transmitter
-
Select block definition "PT-Circle"
-
Set Behaviour to Instrument
-
Set Fluid Mode to Non Touching (instruments tap into the pipe with a gap)
-
Set Tag-Build to read the TAG block attribute directly
-
Set Phenomenon-Build to pick from the phenomenon list
-
Set InstrumentType-Build to identify the instrument type text
Example 3: Classifying an Off-Page Connector
-
Select block definition "OPC-Arrow"
-
Set Behaviour to Off-Page Connector
-
Set Bind-Build to find the nearby text reference identifier
-
Set Bind-Method to Tag matching (find the matching OPC with the same bind value in another PID)
🔗 Related Pages
-
PID Components — Component categories and the detection pipeline
-
First Time Setup — Step-by-step setup guide for classification
-
Host Project Definition — How the project root and classification scope differ per platform
-
Engineering Item — Control-type component details
-
Instrument — Instrument component details
-
Source — Source component details
-
Off-Page Connector — Off-Page Connector pairing details
-
Block Valve — Block Valve with internal flow graph
-
Connectors — End connections on Engineering Items
-
Symbol Editor — Defining symbol styles, attachment points, and internal fluid maps
-
Fluidstream Mapping Strategies — How connectivity is built from classified components