AseptSoft Core Documentation

First Time Setup

This guide walks you through the one-time configuration required before AseptSoft can analyze your P&ID drawings. The setup teaches AseptSoft how to interpret your specific drawing standards — which symbols represent valves, where to find tag text, and how pipes connect.

The first time setup focuses on classification and TAG recognition — the process of telling AseptSoft what each block on your P&IDs represents and how to find its TAG.

You are not alone. The AseptSoft team provides full setup support. Contact us at any time for a remote session where we configure your environment together. Most setups take under an hour with our assistance.


📋 Before You Begin

Prerequisites

Requirement

Plant 3D

AutoCAD Standard

🖥️ Software

AutoCAD Plant 3D with AseptSoft plugin installed

AutoCAD with AseptSoft plugin installed

📁 Project

A Plant 3D project must be open

At least one P&ID drawing (.dwg) must be open

📑 Drawings

P&ID drawings registered in the project

P&ID drawings saved to disk in the same folder

🔑 License

Valid AseptSoft license activated

Valid AseptSoft license activated

What You Will Need to Know

Before starting, gather this information about your P&ID drawing standards:

  • Block definition names for your valves, instruments, sources, and connectors

  • Tag conventions — How tags are written (as text near symbols? As block attributes? On which layers?)

  • Pipe drawing conventions — Do pipes use Lines, Polylines, or PnP Line Segments? Are there visual gaps at instrument locations?

  • Special symbols — Are there composite symbols (block valves), off-page connectors, or area markers?

Block References — A Critical Requirement

Before working with AseptSoft, ensure your P&ID objects are block references — not just independent lines forming a visible shape. When you click on a valve or instrument in AutoCAD, the Properties panel should show it as a Block Reference with a defined block name.

If your P&ID contains only lines instead of blocks, use IntelliBlocks — an AseptSoft-integrated tool that scans all your PIDs and automatically creates blocks from the line-based geometry. IntelliBlocks processes all PIDs at once, saving hours of manual work. See the dedicated IntelliBlocks guide for details.


🔍 Understanding TAG Recognition — The 4 Glasses Model

Before configuring classification, it helps to understand how AseptSoft handles TAG recognition internally. AseptSoft uses a layered approach we call the 4 Glasses Model — four levels of increasing specificity, from general rules down to the actual TAG of a single object.

Glass

Name

Scope

Where It Lives

🥇 Glass 1

General Tag Rule

Applies to all objects of a class/group across all PIDs

Environment (importable/exportable)

🥈 Glass 2

PID Snapshot

A copy of Glass 1, stored per PID

PID database (one per drawing)

🥉 Glass 3

Dynamic TAG Info

A translation of Glass 2 — tells AseptSoft specifically where to look for each object's TAG

PID database (one per object)

🏅 Glass 4

Actual TAG

The final resolved TAG for a specific object (e.g., "XM-4091")

PID database (one per object)

How the Glasses Work Together

  1. Glass 1 (Environment) — You define global rules for how AseptSoft should search for and assign TAGs to each class of objects. For example: "From nearby object of type TAG, get the SEG1 property's value, then a hyphen, then from the same TAG block get the SEG2 property's value." This environment is portable — export it and reuse it across projects.

  2. Glass 2 (PID Snapshot) — Every time you open a PID, AseptSoft takes a "screenshot" of Glass 1 and saves it to the PID database. This backup allows AseptSoft to detect when the environment has changed.

  3. Glass 3 (Dynamic TAG Info) — AseptSoft translates the general rule from Glass 2 into specific instructions for each object. It goes to every classified object and determines exactly where to look for its TAG based on the surrounding blocks and text on the drawing.

  4. Glass 4 (Actual TAG) — AseptSoft resolves the TAG for each object. For example, a valve gets the TAG "XM-4091" because AseptSoft found a nearby TAG block containing "XM" in segment 1 and "4091" in segment 3.

Automatic updates: If you change something in the environment (Glass 1), all subsequent glasses are automatically refreshed the next time you open AseptSoft. Glass 1 updates Glass 2, Glass 2 updates Glass 3, and Glass 3 updates Glass 4.

What You Configure

The first time setup is all about Glass 1 — defining the environment rules. Glasses 2, 3, and 4 happen automatically in the background every time you open a PID.


1️⃣ Step 1: Open Your Project

🏭 Plant 3D

  1. Open AutoCAD Plant 3D

  2. Open your Plant 3D project through the Project Manager

  3. AseptSoft automatically detects the project and creates its storage structure in the project's Related Files directory

  4. Open at least one P&ID drawing from the project

📐 AutoCAD Standard

  1. Open AutoCAD

  2. Open your P&ID drawing(s) from a single directory — this directory becomes the virtual project root

  3. AseptSoft automatically creates its storage in that directory when you first activate a module

For details on how projects work on each platform, see Host Project Definition.


2️⃣ Step 2: Classify Your Block Definitions

This is the most important step. You need to tell AseptSoft what each block definition in your drawings represents.

🔧 Opening the Classification Window

  1. Navigate to the AseptSoft ribbon tab

  2. In the ribbon, you will find Environment, Reload, Block Properties, and Class Properties

  3. Click the dropdown arrow next to Class Properties — this opens the Classification Window

  4. The Classification Window shows all block definition names found in the current environment

📂 Class Selection and Grouping

At the top of the Classification Window, you see:

  • Class dropdown — Select a block definition name (type to search). The green symbol indicates a recognized class. When you click on an object in the P&ID, the Classification Window automatically shows its class.

  • Included Classes dropdown — Include multiple block definition names under the same classification rule. Manually included classes appear red ✏️, regex-included classes appear orange 🔶, making it easy to distinguish how each class was added.

  • Behaviour dropdown — Set the component type (see below)

  • Fluid dropdown — Set fluid interaction modes (see below)

Creating Class Groups

If you want the same settings for multiple classes (e.g., both "pump" and "vacuum pump" should behave the same way), simply tick all desired classes in the Included Classes dropdown. AseptSoft automatically creates a group containing these classes.

A class used in a group is unavailable for other groups — you cannot assign it to multiple groups.

To manage groups more precisely, open Class Grouping from the Class Properties dropdown on the ribbon. From there you can:

  • Rename, modify, or delete groups

  • Include or exclude classes manually

  • Include classes using Regex patterns — for example, include all classes whose names start with "BRI" followed by digits


🏷️ Behaviours

The Behaviour dropdown determines what type of P&ID component a class represents. Each behaviour unlocks different configuration options.

Behaviour

Description

Has TAGs

Has States

Control

Controllable elements: valves, pumps, tanks, agitators, heat exchangers, check valves. Can have states like open or closed.

Instrument

Measuring devices: pressure, temperature, flow, level transmitters. Static elements used for GRAFCET conditions.

Fluid Source

Fluid origins: water supplies, steam headers, gas inlets. Always generating a single substance.

❌ (optional)

Off-Page Connector

Cross-PID references: arrows or symbols indicating a pipe continues on another drawing. Paired by TAG or bind value.

✅ (optional)

Block Valve

Composite valve assemblies with internal flow graphs, defined in the Symbol Editor.

Auto-Group

Automatically groups matching objects (e.g., teleport flags). Grouped objects share fluid flow.

Auto-Explode

Automatically explodes blocks into individual lines every time AseptSoft opens.

Area Marker

Defines area zones on the PID. Components within a zone inherit the area designation.


🎯 Classifying Control Elements (Valves, Pumps, Tanks)

When you set a class to Control, a Control Type selector appears with icons:

Type

Icon

Description

Valve

🔵

Standard valves (globe, butterfly, diaphragm, etc.)

Tank

🟡

Tanks and vessels

Pump

🟣

Pumps of all types

Source

🟠

Sources that can also act as controls

Agitator

🟢

Mixers and agitators

Heat Exchanger

🔴

Heat exchangers

Check Valve

🟤

Non-return valves

Other

Custom control element types

Configuring TAG Recognition for Control Elements

Below the Control Type, you find the Tag Localisation section with an Acquisition Source area. This is where you define how AseptSoft finds the TAG for each object of this class.

TAG Segments

A TAG is built from segments. For example, the TAG "PAV15" is one segment, while "XM-4091" consists of three segments: "XM" + "-" + "4091".

Click New Segment to add each part of the TAG. For each segment, choose the content source from the "Get content from" dropdown:

Content Source

When to Use

Example

Manually write text

Fixed text that is the same for every object of this class

A hyphen "-" between segments

Block property acquisition

TAG information is stored inside the object's own block (as a block attribute)

An instrument with "PS" stored in its own PHE property

Advanced block property acquisition

TAG information comes from a nearby block (common for valves where the TAG is a separate block on the PID)

A valve gets "XM" from the SEG1 property of a nearby TAG block

Regex text retrieval

TAG is plain text near the object, matched using a regex pattern

Valves tagged with "PAV" followed by two digits: PAV\d{2}

Special properties

Special computed values like PID name, Area, Layer, or Block name

Using $$area(g)$$ to include the area designation

Using the Select Button

The fastest way to configure a segment is to use the Select button (right side of the classification window):

  1. Click Select

  2. Click on the TAG text or block on the P&ID

  3. Press Enter

  4. AseptSoft automatically fills in the content source, block type, and property name

Example: Simple TAG (PAV15)

For a valve class where TAGs follow the pattern "PAV" + two digits:

  1. Add one segment

  2. Set "Get content from" to Regex text retrieval

  3. Enter the pattern PAV\d{2}

  4. AseptSoft will search for text matching this pattern near each valve

Example: Complex TAG (XM-4091)

For a valve class where the TAG is a separate block with multiple properties:

  1. Segment 1 — Click Select, click on the "XM" text on the PID, press Enter. AseptSoft configures: Advanced block property acquisition → In blocks of type: TAG → Under property: SEG1

  2. Segment 2 — Set to Manually write text and type a hyphen -

  3. Segment 3 — Click Select, click on the "4091" text, press Enter. AseptSoft configures: Advanced block property acquisition → In blocks of type: TAG → Under property: SEG3

The result: AseptSoft will go to every valve of this class, look for a nearby block named "TAG", and build the full TAG by combining SEG1 + "-" + SEG3.

Filtering with "Only Where Property"

You can add an extra filter to each segment using Only where property. For example: look for a TAG block's SEG3 value, but only if the same TAG block also contains a SEG1 property. This prevents AseptSoft from extracting data from the wrong nearby block.


📍 TAG Localisation Options

The TAG Localisation section (accessible via the + button in the top-right corner of the classification window) provides additional rules for how AseptSoft finds TAGs. These are optional — use them when the default closest-match behaviour is not sufficient.

Option

Description

When to Use

Maximum Priority Chain

The maximum number of chained objects (e.g., pipe segments) between the object and its TAG for it to receive priority. A TAG connected through fewer chain links has priority over a closer but unconnected TAG.

When TAGs are connected to objects via pipe lines and you want connected TAGs to take priority over nearby unconnected ones.

Maximum Mandatory Chain

The hard limit on chain distance. If no TAG is found within this many chained objects, the object gets no TAG — even if there is a closer unconnected TAG.

When TAGs must be reachable via physical pipe connections and you never want unconnected TAGs to be assigned.

Maximum Distance

The maximum spatial distance (in drawing units) that AseptSoft searches for a TAG around each object.

When TAGs are consistently close to their objects and you want to limit the search area to avoid false matches.

Distance Calculation Method

How the distance between object and TAG is measured: Centre (centre of object to centre of TAG) or Closest (closest edge of object to closest edge of TAG).

When object or TAG sizes vary significantly. Be careful — the "closest" method can produce unexpected results if objects overlap.

Acquisition Layers

Restrict the TAG search to specific AutoCAD layers.

When TAGs are on a dedicated layer (e.g., "TAG") and you want to avoid matching text from other layers.

Stop at First Match

AseptSoft follows the pipe line from the object and stops at the first TAG match it finds.

Commonly used for Off-Page Connectors where the TAG may be far away along the pipe. Combine with Maximum Mandatory Chain to limit how far AseptSoft searches.

You can add as many TAG Localisation rules as you want. Be aware that more rules make AseptSoft more restrictive in finding TAGs. AseptSoft always prefers the closest match.

Priority Chain vs Mandatory Chain — Visual Example

Imagine a valve with two possible TAG blocks nearby:

  • TAG A is connected to the valve through 2 chained pipe segments

  • TAG B is physically closer but not connected by any pipe

With Maximum Priority Chain = 2: TAG A wins (it is connected within the allowed chain length, giving it priority over the closer but unconnected TAG B).

With Maximum Mandatory Chain = 2: TAG A is assigned. TAG B is never considered because mandatory chain forces AseptSoft to only follow pipe connections, ignoring unconnected blocks entirely.


🔬 Classifying Instruments

When you set a class to Instrument, the workflow is similar to control elements but with two key additions:

TAG Setup

Instruments often have their TAGs inside themselves (as block attributes), unlike valves whose TAGs are typically separate nearby blocks. For an instrument with internal TAG properties:

  1. Segment 1 — Set "Get content from" to Block property acquisition, select the property containing the letter code (e.g., PHE = "PS")

  2. Segment 2 — Set to Manually write text and type a hyphen -

  3. Segment 3 — Set to Block property acquisition, select the property containing the number (e.g., NUM = "301")

If the instrument's TAG is external (a separate text or block nearby), use the same workflow as for valves with Advanced block property acquisition or Select.

Phenomenon Acquisition

In addition to the TAG, instruments have a Phenomenon Acquisition section where you define how AseptSoft identifies the instrument's measurement type (Pressure, Temperature, Flow, Level, etc.). Use Block property acquisition and select the property that contains the phenomenon code (e.g., PHE = "P" for pressure).


🌊 Classifying Fluid Sources

When you set a class to Fluid Source, AseptSoft treats these objects as static fluid generators — always emitting a single substance (e.g., compressed air, WFI, steam).

  • No states — Unlike control elements, fluid sources are always "on"

  • No TAGs required — Fluid sources typically don't need TAG recognition

  • Fluid type — Configure which Fluid the source generates

If you need a source that can switch between different fluids or be turned on/off, classify it as a Control element with the "Source" control type instead.


🔗 Classifying Off-Page Connectors

Off-Page Connectors represent pipe connections that continue on another PID drawing. The TAG setup follows the same workflow, but finding the TAG can be tricky — the TAG text is sometimes far away, located along the pipe line rather than next to the connector symbol.

TAG Finding for Off-Page Connectors

When the TAG is far from the connector, combine these TAG Localisation options:

  1. Stop at First Match — AseptSoft follows the pipe line and stops at the first matching TAG

  2. Maximum Mandatory Chain — Limits how far along the pipe AseptSoft searches

  3. Set the TAG text block to Very Reactive (in its own classification) — This makes the TAG block connect to the pipe line, allowing AseptSoft to follow the pipe and find it

Pairing Methods

Off-Page Connectors work in pairs — one on each PID. You must tell AseptSoft how to match the pairs:

Method

Description

When to Use

Match the exact value with the pair

Both connectors must have the exact same bind value

When connectors share an identical reference code

Point to the exact TAG of the pair, and the pair points to the exact TAG of this

Each connector's bind value equals the other connector's TAG (bidirectional)

When each connector references the other's TAG

One way pointing to the exact TAG of the pair

One connector's bind value matches the other's TAG (unidirectional)

When only one direction of reference is available

Off-page connectors are treated like controls — you can set states on them. This is useful for simulation: instead of finding the actual source across dozens of PIDs, you can let the off-page connector generate fluid directly.


🔄 Auto-Group

When you set a class to Auto-Group, AseptSoft automatically groups matching objects so they share fluid flow. This is commonly used for teleport flags — when fluid should "jump" from one location to another on the PID.

In the Acquisition Source, define what AseptSoft should look for to create groups. For example:

  • Group all objects whose name contains the letter "X"

  • Group objects matching a specific regex pattern of letters and numbers

Caution: If you modify one of the grouped objects (e.g., change its name), it will be removed from the group while the others remain.


💥 Auto-Explode

Setting a class to Auto-Explode means that every time AseptSoft opens, all objects of this class are exploded — broken into individual unconnected lines. Use this for blocks that need to expose their internal geometry for correct mapping.


📐 Area Marker

let you split a PID into named areas. Components within each area inherit the area designation, which can then be used in TAG segments via the special property token $$area(g)$$.


🌊 Fluid Behaviours

Each class can be assigned one or more fluid behaviours from the Fluid dropdown. These control how the block interacts with the fluidstream simulation:

Fluid Behaviour

Description

Typical Use

Sticky

The object connects to everything that touches it — like a fly trap. Any line or object that physically touches will connect and allow fluid through.

Valves sitting directly on top of a tank, or objects that must connect to overlapping geometry.

Refuses Sticky Connection

The object refuses to connect with any Sticky object. Fluid will not pass through.

Objects that overlap with sticky blocks but should not connect to them.

Fully Ignored

AseptSoft completely ignores this object for fluid flow. Fluid passes through as if the object were not there, even if it has states like "closed".

Decorative elements, annotations, or objects that should never participate in flow simulation.

Always Block

The object always blocks fluid, regardless of its states. Even if a valve is set to "open", fluid will stop here.

Safety barriers, permanent closures, or elements that must never allow fluid.

Pointed at from Far

If the open end of a pipe line points towards this object from a distance (without physically touching), AseptSoft creates a connection.

Fluid sources or objects that are drawn disconnected from the pipe network on the PID but logically should be connected.

Tank-like

AseptSoft treats the object like a tank: gas exits from the top and liquid exits from the bottom.

Tanks, vessels, and containers with gravity-based fluid behaviour.

Very Reactive

The object connects instantly to everything that crosses its bounding box outline. Think of an imaginary rectangle around the object — anything crossing that rectangle connects.

Tank nozzles, large fittings, and objects that must aggressively capture nearby pipe connections.

Immune to Reactive Blocks

The object will not connect to Very Reactive blocks.

Objects near Very Reactive blocks that should remain independent.

Multiple fluid behaviours can be assigned to the same class. An alternative to setting fluid behaviour here is the Symbol Editor, where you can fine-tune fluid behaviour within the block's internal geometry.


⚙️ Auto-TAG Generation (Default Values)

When AseptSoft cannot find a TAG for an object using the configured rules (Glass 1-4), it generates a default TAG automatically.

In the TAG Localisation section, the Default value panel provides:

Setting

Description

Fixed

A static default value used for all untagged objects of this class

Autoincremented

A prefix followed by an auto-incrementing number (e.g., R00100, R00101, R00102...)

Prefix

The letter(s) before the number (e.g., "R")

Autoincrement bigger than

The starting number for auto-increment

Min number of digits

Minimum digit count (zero-padded), e.g., 5 digits → "00100"

Must match regex

Optional regex pattern that generated TAGs must match

Must be higher than all existing tags

When checked, auto-generated numbers will always be higher than any existing TAG number in the module


3️⃣ Step 3: Configure Mapping Settings

Mapping settings control how AseptSoft detects geometric connections between entities. The default values work well for most drawings, but you may need to adjust them.

🎛️ Accessing Mapping Settings

  1. In the AseptSoft ribbon, open the Mapping Settings panel

  2. You can enable/disable individual mappers and adjust their tolerances

Key Settings to Check

Setting

Default

When to Adjust

Tolerance Distance

Depends on drawing scale

Increase if valves/pipes don't connect; decrease if false connections appear

Tolerance Angle

Small angle in degrees

Increase for hand-drawn or imprecise geometry

Line Breaker Gap

Moderate value

Adjust based on the visual gap size in your drawings

Attachment Point Snapping

Smaller than Tolerance Distance

Fine-tune for precise endpoint alignment

🏭 Plant 3D: Inline Assets on Line

In Plant 3D, the Inline Assets on Line mapper is always active and mandatory. It uses the Plant 3D data model to connect assets to their host PnP Line Segments. No configuration is needed.

For a detailed explanation of every mapper, see Fluidstream Mapping Strategies.


4️⃣ Step 4: Verify with Print Tokens Matches

After completing the classification, verify that all settings were correctly applied before moving on to fluid simulation.

🔎 Running Print Tokens Matches

  1. Press Reload in the AseptSoft ribbon to refresh all settings

  2. Type the command print tokens matches and press Enter

  3. AseptSoft draws small blue lines between each object and its matched TAG on the PID

  4. Inspect the blue lines to verify that objects are correctly connected to their TAGs

What to Look For

  • ✅ Every classified object should have a blue line to its TAG

  • ✅ The blue line should connect to the correct TAG (not a nearby wrong one)

  • ❌ If an object has no blue line, its TAG was not found — check the TAG Localisation rules

  • ❌ If an object connects to the wrong TAG, adjust Priority Chain, Mandatory Chain, Distance, or Layer settings

Troubleshooting TAG connection issues is largely a puzzle-solving exercise that improves with practice. If something doesn't work, review the TAG Localisation options and experiment with different combinations.


5️⃣ Step 5: Create a Module and Activate

Once classification is configured and verified:

  1. Create an AseptSoft Module — this is the working container for your process design

  2. Activate the PID — AseptSoft reads the drawing, classifies all blocks, resolves TAGs, and builds the flow graph

  3. Verify the results:

    • Check that valves appear in the Module Data table with correct tags

    • Check that instruments are recognized with correct phenomena

    • Check that sources emit the correct fluids

    • Run a fluidstream simulation to verify pipe connectivity

🔎 Troubleshooting Activation

Problem

Likely Cause

Solution

Valve not recognized

Block not classified

Open Classification Window, find the block, set behaviour

Tag shows as empty

TAG rules don't match

Check TAG segments, content sources, layers, and distance

Pipes not connected

Mapping tolerance too small

Increase Tolerance Distance in Mapping Settings

False connections

Mapping tolerance too large

Decrease Tolerance Distance or disable specific mappers

Instruments missing

Block classified as Excluded

Change behaviour from Excluded to Instrument

Source fluid wrong

Fluid configuration incorrect

Verify the fluid type in the Source classification

Wrong TAG assigned

Priority Chain or Distance incorrect

Adjust TAG Localisation options — check chains, distance, layers


6️⃣ Step 6: Fine-Tune and Save

After verifying the initial results:

  1. Adjust classification for any blocks that were missed or incorrectly classified

  2. Adjust mapping tolerances if connectivity is not correct

  3. Save the environment — your classification definitions are stored in the environment database and can be reused across projects

  4. Share the environment — copy the .aseptenv file to the project's Environments folder so team members get the same configuration

🔄 Environment Portability

Environments are fully portable:

  • Place the .aseptenv file in the project's Environments folder

  • When team members open the project, AseptSoft automatically copies the environment to their local machine

  • Updates to the environment can be pushed by placing updated files in the EnvironmentUpdates folder


🏭 Plant 3D-Specific Setup

In addition to the common steps above, Plant 3D requires:

📋 Selection Lists Setup

AseptSoft automatically creates the following in the Plant 3D data model:

  • Picklists: "AseptSoft Controls", "AseptSoft Fluids", "AseptSoft Sources"

  • Columns: AseptSoftControl, AseptSoftCurrentPercent, SourceContent

These appear in the Plant 3D Data Manager. You can add new valve types, fluid types, or source types through:

  • The AseptSoft Classification Window (they sync back to Plant 3D)

  • The Plant 3D Data Manager directly (add entries to the picklists)

🔄 Project Database Synchronization

When a drawing is activated in Plant 3D, AseptSoft synchronizes the PnP data model with any changes made to AseptSoft properties. This ensures consistency between the Plant 3D Data Manager and AseptSoft's internal state.


📐 AutoCAD Standard-Specific Setup

When using AutoCAD Standard (without Plant 3D), keep these points in mind:

  • No native project system — AseptSoft creates a virtual project from the directory of your first saved drawing

  • Per-PID classification — Each drawing loads its own classification definitions from the environment

  • All classification uses the segment and content source system described above

  • All drawings in one folder — Place all P&ID drawings for a given plant in the same directory


🆘 Getting Help

  • Remote setup session — Contact the AseptSoft team for a screen-sharing session where we configure your environment together

  • Setup templates — We maintain pre-configured environments for common P&ID standards (ISA, ISO, DIN)

  • Email support — Send your drawing samples and we'll prepare a classification environment for you