AseptSoft Core Documentation
Breadcrumbs

Symbol Editor

The Symbol Editor is a graph-based visual tool for defining how AutoCAD block symbols are interpreted by AseptSoft. It maps attachment points, fluid flow paths, control modules, and off-page connectors onto your CAD geometry, enabling the system to understand the engineering semantics of each symbol.

Access: Open a module → Module RibbonSimulations panel → Symbols Editor button.


🔎 Overview

Every engineering symbol (valve, instrument, pump, etc.) in your AutoCAD drawing is represented by a block reference. The Symbol Editor lets you define a Symbol Style that describes:

  • Where fluid can enter and exit the symbol (attachment points)

  • How fluid flows internally between those points (internal fluid map)

  • Which CAD entities form logical groups (control modules, static geometry)

  • Where off-page connectors link to other drawings or pages

The editor displays the actual CAD geometry as a background, with an overlay graph showing the nodes and their connections.


📐 Concepts

Symbol Style

A Symbol Style is a named configuration that maps nodes onto a specific block definition. Each style contains:

  • A set of attachment entity nodes (the graph nodes)

  • An internal fluid map (edges connecting the nodes)

  • Metadata about how the style relates to the CAD block

You can have multiple styles for different interpretations of the same block geometry.

Symbol Geometry

A Symbol Geometry represents a matched CAD block definition. When you select a geometry, the editor displays its entities as the background canvas and loads the associated style's nodes on top. The geometry provides:

  • The list of CAD entities available for association

  • Mandatory attachment points required by the block

  • Candidate symbol names for matching


🧩 Node Types

The Symbol Editor supports 7 node types, each serving a different purpose:

📍 Point Nodes

Node Type

Description

Attachment Point (pipe connection)

A fluid connection point on the symbol boundary. This is where pipes connect to the symbol. Each attachment point can be associated with a specific CAD entity to track its position.

Internal Junction Point

A fluid routing point inside the symbol. Used to create internal flow junctions where fluid paths split or merge. Not directly connectable from outside the symbol.

Off-Page Connector

A special connection point that links to another drawing or page. Used for symbols that represent connections across P&ID sheet boundaries.

📏 Area Nodes

Node Type

Description

Static Geometry Area

A rectangular area defining a fluid zone on the symbol. Uses absolute coordinates relative to the block origin.

Relative Static Geometry Area

Similar to the Static Geometry Area, but coordinates are normalized relative to the symbol bounds. This makes the zone scale-independent.

🗂️ Group Nodes

Node Type

Description

Control Module (internal valve/actuator)

A logical group of CAD entities that represents a controllable sub-component (e.g., an actuator, sensor, or positioner). Can have effects — trigger-condition-effect chains that define behavior rules. Also supports a tag build pattern and bind build pattern for OPC connectivity.

Static Geometry Group

A logical group of CAD entities that should be treated as a visual unit. Unlike Control Modules, these have no behavior rules. Used for grouping decorative or structural CAD elements.

📊 Node Classification Summary

Capability

Attachment Point (pipe connection)

Internal Junction Point

Static Geometry Area

Relative Static Geometry Area

Control Module (internal valve/actuator)

Static Geometry Group

Off-Page Connector

Is a point

Yes

Yes

No

No

Yes

Yes

Yes

Is a rectangle

No

No

Yes

Yes

No

No

No

Can associate CAD geometry

Single entity

Single entity

Single entity

Single entity

Multiple entities

Multiple entities

Participates in fluid map

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Has effects/behavior

No

No

No

No

Yes

No

No

Has OPC patterns

No

No

No

No

Yes

No

No

Is mandatory

Can be

Can be

Can be

Can be

Can be

Can be

Can be


🔗 Off-Page Connector Binding

Off-Page Connector nodes support three binding modes that control how they connect across drawings:

Bind Mode

Description

Match

Connects to another off-page connector with a matching identifier. Both ends must declare the same match key. This is the default mode.

Point

Connects to a specific point coordinate in the target drawing. Used when the target is a known location rather than another OPC node.

OneWay

Creates a one-directional connection. Fluid flows out through this connector but does not receive flow back. Useful for representing drain points or vent connections.


🌊 Internal Fluid Map

The Internal Fluid Map is a bidirectional graph that defines how fluid flows between nodes inside the symbol. Each edge in the graph represents a possible fluid path.

✏️ Editing the Fluid Map

  • Add an edge: Drag from one node to another in the editor to create a fluid connection

  • Remove an edge: Select an edge and delete it

  • Bypass edges: An edge can be marked as bypass, meaning fluid passes through it even when the valve is closed. This is used for bypass circuits within a symbol.

💡 Example: Three-Way Valve

A three-way valve might have:

Attachment Point A ←→ Internal Hub ←→ Attachment Point B
                              ↕
                     Attachment Point C

The internal fluid map connects all three attachment points through a central hub, allowing AseptSoft to calculate which fluid paths are active based on the valve state.

💡 Example: Valve with Bypass

Attachment Point IN ←→ Attachment Point OUT    (main path)
Attachment Point IN ←→ Attachment Point OUT    (bypass edge)

The bypass edge ensures fluid flow calculation considers the bypass circuit independently.


⚡ Effects: Trigger-Condition-Action System

Control Modules can have effects — automation rules that define behavior chains. Each effect consists of three parts:

🎯 Effect Triggers

The trigger determines when the effect rule is evaluated:

Trigger

Description

When a state is set

The effect fires when a state value is assigned to the component

When fluid reaches the component

The effect fires when fluid flow arrives at the control module

🔍 Effect Conditions

The condition determines whether the effect should execute:

Condition

Description

State matches

True when the component's current state matches a specified value

Fluid response matches

True when the fluid response type matches a specified value

Specific fluid present

True when a particular fluid is detected at the component

Gas/vapor present

True when a gas or vapor phase fluid is present

Liquid present

True when a liquid phase fluid is present

Vacuum detected

True when a vacuum condition is detected at the component

🎬 Effect Actions

The action determines what happens when the trigger fires and the condition is met:

Action

Description

Set a state on another component

Changes the state of a target component (e.g., closing one valve when another opens)

Raise an event

Broadcasts an event that other components or systems can react to

Pharma Example: In a three-way divert valve, you can configure an effect so that when the left path valve state is set to "Open" (trigger: When a state is set, condition: State matches = Open), the right path valve is automatically set to "Closed" (action: Set a state on another component). This enforces mutual exclusivity between the two flow paths — a critical requirement in sanitary process design.


🏭 Pharma Equipment Examples

These real-world pharmaceutical examples show how to configure common equipment symbols in the Symbol Editor.

Example 1: Standard Butterfly Valve

A standard butterfly valve is one of the most common components in pharma piping. It has a simple topology: fluid enters on one side, passes through a single actuated element, and exits the other side.

Symbol configuration:

  • 2 Attachment Points (pipe connections) — one for the inlet pipe and one for the outlet pipe

  • 1 Control Module (internal valve/actuator) — represents the valve disk and actuator assembly

  • 3 edges in the fluid map:

    • Inlet attachment point → Control module

    • Control module → Outlet attachment point

When the valve state is "Open," fluid passes through the control module. When "Closed," the control module blocks flow.

Example 2: Check Valve (Non-Return Valve)

A check valve allows fluid in only one direction and has no external actuator — it operates passively via differential pressure. Because there is no controllable element, it uses a Static Geometry Group rather than a Control Module.

Symbol configuration:

  • 2 Attachment Points (pipe connections) — inlet and outlet

  • 1 Static Geometry Group — represents the one-way flow mechanism (swing disk, spring, etc.)

  • 2 edges in the fluid map:

    • Inlet attachment point → Static geometry group

    • Static geometry group → Outlet attachment point

Note: There is no Control Module because the check valve is not actuated. The Static Geometry Group simply models the passive flow path.

Example 3: Three-Way Divert Valve

Three-way divert valves are essential in pharma for routing product to different destinations (e.g., diverting to drain during an off-spec condition). They have a branching topology with mutual exclusivity between the two outlet paths.

Symbol configuration:

  • 3 Attachment Points (pipe connections) — one inlet, one left outlet, one right outlet

  • 2 Control Modules (internal valve/actuator) — one for the left path valve, one for the right path valve

  • 1 Internal Junction Point — where the inlet flow splits to both paths

  • 5 edges in the fluid map:

    • Inlet attachment point → Internal junction point

    • Internal junction point → Left control module

    • Left control module → Left outlet attachment point

    • Internal junction point → Right control module

    • Right control module → Right outlet attachment point

Effect rule for mutual exclusivity: Configure an effect on the left control module so that when its state is set to "Open" (trigger: When a state is set, condition: State matches = Open), the right control module is automatically set to "Closed" (action: Set a state on another component). Add the inverse rule on the right control module as well. This ensures that only one path is open at any time — critical for sanitary divert valve operation.

Example 4: Simple Process Tank (Vessel)

Tanks in pharmaceutical processing have multiple connection points for different purposes. Unlike valves, a tank's internal volume is modeled as a large Static Geometry Area — meaning that any fluid entering any connection point can potentially reach any other connection point.

Symbol configuration:

  • Multiple Attachment Points (pipe connections):

    • Top inlet (product feed)

    • Bottom outlet (product discharge)

    • Bottom drain (for CIP drain)

    • Top vent (pressure relief / gas exhaust)

    • Upper side port (CIP spray ball connection)

  • 1 Static Geometry Area — a large rectangle representing the tank body volume

  • Edges from each attachment point to the rectangle — because fluid entering from any port fills the common tank volume

Key concept: The Static Geometry Area acts as a "fluid commons" — any fluid entering through any attachment point can exit through any other attachment point. This correctly models the behavior of an open vessel.

Example 5: Tank with Independent Jacket

Jacketed tanks are common in pharma for temperature control (e.g., cooling during fermentation, heating during CIP). The jacket surrounds the tank but is fluidically isolated — the heating/cooling medium never mixes with the product.

Symbol configuration:

  • Main tank body (same as Example 4 above):

    • Multiple attachment points + 1 static geometry area rectangle

    • All attachment points connected to the rectangle via edges

  • Jacket body (separate, isolated fluid circuit):

    • 2 Attachment Points — jacket inlet and jacket outlet

    • 1 Static Geometry Area rectangle — representing the jacket volume

    • 2 edges: jacket inlet → jacket rectangle, jacket rectangle → jacket outlet

Critical: There are NO edges between the tank body and the jacket body. They are thermally coupled but fluidically isolated. The jacket has its own independent fluid loop (e.g., glycol cooling or steam heating). This separation ensures that AseptSoft's fluid flow simulation correctly keeps the two circuits independent.

Example 6: Heat Exchanger (Shell and Tube)

Shell-and-tube heat exchangers follow the same principle as jacketed tanks: two independent fluid circuits that exchange heat but never mix fluids.

Symbol configuration:

  • Shell side:

    • 2 Attachment Points (pipe connections) — shell inlet and shell outlet

    • 1 Static Geometry Area rectangle — representing the shell-side fluid volume

    • 2 edges: shell inlet → shell rectangle, shell rectangle → shell outlet

  • Tube side:

    • 2 Attachment Points (pipe connections) — tube inlet and tube outlet

    • 1 Static Geometry Area rectangle — representing the tube-side fluid volume

    • 2 edges: tube inlet → tube rectangle, tube rectangle → tube outlet

Critical: No cross-edges between shell and tube sides — they are fluidically isolated, thermally coupled. This is the same isolation concept as the tank-with-jacket example, applied to a different equipment type.


📎 CAD Entity Association

Nodes can be associated with specific CAD entities from the block geometry. This association enables:

📐 Position Tracking

When a node is associated with a CAD entity that has an affine transform (rotation, scaling, mirroring), the Symbol Editor tracks the entity's dynamic transform. This means:

  • The node position updates automatically when the CAD entity moves

  • Rotated or mirrored symbols maintain correct attachment point positions

  • The coordinate transform chain is: Style spaceBlock space (via StyleToBlock / BlockToStyle transforms)

🔢 Single vs. Multiple Association

Node Types

Association

Attachment Point (pipe connection), Internal Junction Point, Static Geometry Area, Relative Static Geometry Area

Single CAD entity association. The node tracks one entity's position/bounds.

Control Module (internal valve/actuator), Static Geometry Group

Multiple CAD entity association. The node groups several entities together as a logical unit.

Off-Page Connector

No direct CAD association (connects to external references).


⚙️ Node Properties

Each node in the Symbol Editor has configurable properties depending on its type:

🔧 Common Properties

Property

Description

Color

A per-node color for visual identification in the editor (independent of state colors)

Connects Blocks

Whether this node can connect to nodes in adjacent blocks (for piping connections)

Connects Blocks When Contact

Whether connection requires physical contact (overlapping geometry)

📏 Static Geometry Area Properties

Property

Description

Does Not Send To Self

Prevents fluid routing from looping back through the same area

Does Not Bypass State To Self

Prevents state bypass calculations from self-referencing

Does Not Bypass Condition To Self

Prevents condition bypass calculations from self-referencing

🎛️ Control Module Properties

Property

Description

Name

Display name of the control module

Description

Detailed description

Type

Engineering type (e.g., "Valve", "Pump")

Class Name

Engineering class (e.g., "Gate Valve", "Pneumatic Valve")

Tag Pattern Override

Custom tag generation pattern

Tag Build Pattern

OPC tag token pattern for sub-node identification

Bind Build Pattern

OPC bind token pattern for connectivity

Effects

Collection of trigger-condition-action chains defining behavior rules (see the Effects section above)


🔒 Mandatory Nodes

Nodes can be marked as mandatory, meaning they cannot be deleted from the style. If you attempt to delete a mandatory node, it is moved to a NoConnectArea instead of being removed. This ensures that required attachment points are always present in the symbol definition.


🖱️ Editor Interactions

Action

How

Add a node

Select the node type from the toolbar dropdown and click the "Add" button. Position it on the canvas.

Move a node

Drag the node to a new position. For rectangle nodes, drag edges to resize.

Connect nodes

Drag from one node to another to create an internal fluid map edge.

Delete a node

Select the node and press Delete. Mandatory nodes are moved to NoConnectArea instead.

Delete an edge

Select the edge and press Delete.

Associate CAD entity

With a node selected, click the CAD entity in the drawing. For multi-association nodes (Control Module, Static Geometry Group), you can add multiple entities.

Navigate in AutoCAD

Use the "Move in AutoCAD" feature to center the AutoCAD view on a specific node's associated geometry.


📋 How To: Configure a Symbol for a New Valve Class

Follow this step-by-step workflow when you need to define the internal topology for a new type of valve or equipment in AseptSoft.

Step 1 — Open the Symbol Editor
Navigate to the Module RibbonSimulations panel → Symbols Editor.

Step 2 — Select or create a Symbol Geometry
If your valve block already exists in the drawing, select the matching geometry from the list. If not, insert your AutoCAD block first and return to the editor.

Step 3 — Create a new Symbol Style
Create a new style for this valve class. Name it descriptively (e.g., "Butterfly Valve — 2-Port" or "3-Way Divert Valve").

Step 4 — Add Attachment Points
For each pipe connection on the valve, add an Attachment Point (pipe connection) node. Position each node on the corresponding CAD entity (nozzle, port, or flange). Associate each node with its CAD entity for position tracking.

Step 5 — Add internal nodes as needed

  • For valves with branching paths, add Internal Junction Points where flow splits or merges.

  • For passive flow elements, add Static Geometry Groups.

  • For actuated sub-components, add Control Modules (internal valve/actuator) and configure their type, class name, and OPC patterns.

Step 6 — Build the Internal Fluid Map
Drag edges between nodes to define the fluid path. For example, for a standard two-port valve: inlet attachment point → control module → outlet attachment point. Mark any bypass edges if the valve has a bypass circuit.

Step 7 — Configure effects (if needed)
If the valve has automation rules (e.g., mutual exclusivity in a divert valve), add effects to the appropriate Control Modules. Define the trigger, condition, and action for each rule.

Step 8 — Classify the valve
Ensure the valve is properly classified according to the P&ID Components Classification system. Set the engineering type and class on each Control Module.

Step 9 — Test with fluid flow
Open a process with your valve placed in a piping circuit. Run the fluid flow simulation to verify that fluid paths are calculated correctly through your symbol definition.

Tip: Refer to the pharma equipment examples above for common topology patterns. Most valves follow one of these standard configurations.


🔌 Public API

The Symbol Editor exposes a programmatic API for integration with other AseptSoft components:

Method / Event

Description

SelectStyle(args)

Programmatically selects a symbol style in the editor and rebuilds the UI

SelectGeometry(geo)

Programmatically selects a geometry from the grouped list and loads it

ActiveContextChanged

Event raised when the active style or geometry selection changes. Provides the current style, selected geometry, candidate symbol names, and flags indicating whether it was a style or geometry change.

This API allows other windows (like the P&ID Components Classification properties) to coordinate with the Symbol Editor.