Highlighters are reusable visual annotations that AseptSoft can paint on top of your P&ID — a coloured outline around a valve, a label that follows an instrument, a fill-tinted shape on a state, or a free-form frame placed by the user. They are configured once in a catalog and reused everywhere they apply. When you close AseptSoft or change step, highlighters update automatically to reflect the new context.
Access: Module Ribbon → Live Edit panel → Highlight to place a free-form highlighter; the Highlighter Designer opens via the Settings menu.
🎨 What a highlighter looks like
A highlighter is a small recipe for what to draw (one or more shapes — frame, circle, square, fill, text, icon) plus where to put it and when it is visible. The same recipe applies wherever its trigger fires: change step, the highlighter follows; toggle a state, the highlighter follows; the symbol the highlighter sits on rotates, the highlighter rotates with it.
Each highlighter belongs to one category. Categories group the catalog so the Designer's left list stays organized, and they decide who applies the recipe automatically.
|
Category |
Triggers Automatically |
Editable in Designer |
|---|---|---|
|
🔵 Instruments — Monitoring / Controlling |
Per-instrument visual marker |
Built-in, parts editable |
|
🟢 Controlled Valves / Control Valves |
Drawn on valves driven by a control loop |
Built-in, parts editable |
|
🎨 States — Master |
Drawn on every valve in a state that is marked Highlightable in the active step |
Built-in, fork into a Custom for individual states |
|
🖌️ States — Custom |
Same as Master, but only for the state it was forked from |
Independent recipe per state |
|
✏️ User-defined |
Placed manually by the user via Highlight in Phase |
Author from scratch |
💡 The Designer's left list is grouped by category, with the master inside States — Master and any per-state forks listed beneath it.
🧰 The Highlighter Designer
The Designer is where you author and tune the look of a highlighter. It opens to the catalog grouped by category; pick any row to inspect or edit it.
|
Section |
What you control |
|---|---|
|
Definition |
Name, description, target category. |
|
Targeting |
Which entities the recipe lands on: the body shape, the tag block, or both — with rules for what to do when the tag is ambiguous. |
|
Geometry behavior |
Two checkboxes: Follow entity transform (rotate/scale with the symbol — recommended default) and Text parts follow transform (when off, text labels stay anchored to their world-aligned corner so they always read upright at a stable spot, regardless of how the symbol is rotated or mirrored). |
|
Parts list |
Stack of shapes that compose the highlighter — frames, circles, squares, fills, text, icons. Each has its own anchor (where on the bbox it attaches) and origin (which corner of the part lands on that anchor). |
|
Part Inspector |
Per-part properties: stroke, fill, text content (with placeholders — see below), font size relative to the entity, offset, etc. |
Filled shapes look filled
Whenever you give a Circle, Square, or Rectangle a non-trivial fill colour, it shows up filled on the drawing. Picking a transparent, pure-black, or pure-white fill is the conventional way to say "no fill" — the highlighter then renders only its outline. There's nothing to configure beyond choosing a colour with the picker.
Tag-aware targeting
Many highlighters look best when they sit on the valve's TAG block rather than the body symbol. The Targeting card has four toggles for that:
|
Toggle |
Effect |
|---|---|
|
Emit on body |
Draw the recipe on the entity's main shape. |
|
Emit on tag sources |
Draw the recipe on the entity's TAG block(s) too. |
|
Tag only if a single tag is found |
When a valve has more than one TAG candidate, fall back to the body — never split across multiple tags. |
|
Hide body if any tag was rendered |
If the tag did get rendered, suppress the body emission so the highlight is on the tag or the body, never both. |
Out of the box, the Master state highlighter has all four enabled — so a state highlight prefers the TAG and falls back to the body when the data doesn't allow it.
✏️ User-defined highlighters and "Highlight in Phase"
User-defined highlighters are recipes you author yourself, with no automatic trigger. You place them on the drawing with the Highlight in Phase command and they live exactly where you put them, with the scope you chose.
Creating a recipe
-
Open the Highlighter Designer.
-
In the left list, scroll to User-defined and click ➕ Add user-defined. A blank recipe with a single square frame appears.
-
Edit the parts in the Part Inspector — colours, text, anchors, etc.
-
Use placeholders inside text content where appropriate:
-
{User.<key>}— a free-form value the user supplies when placing the highlighter (e.g.{User.Comment},{User.Author}). -
{User.Author}is auto-filled with your AseptSoft username on first placement; you can still overwrite it.
-
-
Save. The recipe joins the catalog and is available as a placement target.
Placing a highlight on the drawing
The Highlight in Phase command (also exposed as a Highlight ribbon button in the Live Edit panel) walks you through the placement.
-
Pick a recipe from the picker window. Recipes are grouped by category.
-
Choose the scope: current step only or all steps. A "current step only" highlight only shows when that step is active; an "all steps" highlight always shows.
-
If the chosen recipe references any
{User.*}tokens, a Token values form appears — fill in the values and press Enter. -
Pick where it goes on the drawing. Two modes are available, and you can switch back and forth:
-
Corners mode (default) — draw a rectangle. The highlight previews live as you sweep the rectangle; click to commit.
-
Entity mode — pick an existing AutoCAD entity. The highlight anchors on its bounding box.
-
-
The keyword
sWitch highlightermid-loop reopens the picker if you want to change recipe (token values from the previous recipe are seeded into the new form for muscle-memory). -
Press Enter or Done to exit. Press Esc to abort.
💡 Last-used memory: the next time you run the command in the same AutoCAD session, the prompt offers
[Use/sWitch]so you can repeat the previous recipe with a single keystroke.
Live preview
In Corners mode, the highlight is rendered as a transient on the cursor while you drag, so you size and position it visually instead of guessing dimensions. The preview uses the same emitter as the committed result — what you see is exactly what you get.
Same recipe, many placements
A single User-defined recipe can be placed on as many entities or rectangles as you like, each with its own {User.*} values. A single Annotation recipe with a {User.Comment} token can serve dozens of placements without needing to clone the recipe per variant.
🗂️ Manage Placed Highlights
The Manage Placed Highlights window lists every user-placed highlight across every open P&ID in the project. Open it from the Live Edit panel.
|
Column / Action |
What it does |
|---|---|
|
PID group header |
Rows are grouped by PID. The active PID appears at the top with an (active) suffix. |
|
Recipe / Tokens / Step scope / Anchor |
Compact summary of each placement. |
|
🎯 Locate |
Flashes a thick yellow dashed rectangle around the placement on the drawing — the same locator visual the Matrix's Locate Valve button uses. For placements on a non-active PID, AseptSoft activates that PID first so you don't have to switch drawings manually. |
|
🗑️ Delete |
Removes the placement (the catalog recipe is unaffected). |
The window is modeless — it floats above AutoCAD without blocking pan/zoom or the command line. Closing the window clears every numbered selection halo so the drawing returns to clean.
🌟 State-driven highlighters
Any State can be marked Highlightable in the State editor. When it is, every valve in that state in the active step gets a highlight from the catalog's State Master recipe — automatically, with the state's own colour and percentage flowing into the recipe via placeholder tokens.
|
What happens |
When |
|---|---|
|
The Master recipe paints across every Highlightable state |
The state is in the active phase on a valve. |
|
You fork the Master into a per-state Custom |
You want one specific state to look different from the rest. |
|
Master edits propagate everywhere |
Forked states stay independent. |
Creating a per-state Custom recipe
-
Open the State editor.
-
Tick Highlightable in active phase.
-
In the Highlighter dropdown, pick Create Custom... — the Master recipe is cloned into a new Custom recipe owned by this state, the Designer opens with the new recipe selected, and you edit it freely.
A Reset button on a Custom row deletes the fork (the state falls back to the Master). A Reset button on the Master row reseeds it to its built-in default.
Placeholder tokens for state recipes
Text and colour fields in a State Master/Custom recipe can reference these tokens, which resolve at draw time per (valve, state, phase):
|
Token |
Resolves to |
|---|---|
|
|
The active state's name. |
|
|
The state's colour (use it for stroke/fill so the recipe automatically follows the state). |
|
|
The active percentage and a formatted suffix (e.g. " 50%"). |
|
|
Per-step attribute values as multi-line text. |
|
|
The valve being highlighted. |
|
|
Custom attributes the state defines per phase (e.g. an Open delay on a Pulsating state). Optional formatter: |
So a State Master recipe with text content {State.Name}{State.PercentSuffix} and stroke colour {State.Color} is the one recipe that paints any Highlightable state with its own name, percentage, and colour — no per-state work needed.
🧮 Custom in-phase attributes on a state
Some states carry additional values that vary per phase — a Pulsating state with an Open delay and a Closed delay, a Sterilization state with a temperature, a CIP state with a chemical concentration. Define those values once on the state, and AseptSoft surfaces them in the right places automatically.
Where you set the values
|
Surface |
What you do |
|---|---|
|
Valve hover popup |
While the active step uses the state, an Attributes in this step section appears under the state row with one editable field per key. Press Enter to commit. |
|
Valve × Step Matrix |
Right-click a cell whose state has attribute keys → Edit attribute values... opens the standard Attributes form scoped to that (valve × step × state) tuple. |
|
Excel round-trip |
The Module Excel export adds a sidecar sheet per Highlightable state-with-attributes — one sheet |
How the values reach the highlight
Reference any {Attribute.<key>} token in the State Master/Custom recipe's text — the highlight on the drawing then displays the Open delay, Closed delay, etc. for the specific (valve × step × state) cell it's painting. Edit the value in the popup or the matrix, and the highlight refreshes immediately.
Step duplication preserves attributes
Duplicating a step (the common "Step 4 is mostly like Step 3 except…" workflow) carries every per-step attribute value across all the (valve × state) pairs both steps share. The new step's highlights look correct from the moment it's created.
🌐 Visibility rules
|
Setting |
Effect |
|---|---|
|
Phase scope: Current step only |
Highlight is hidden when any other step is active. |
|
Phase scope: All steps |
Highlight is always visible while AseptSoft is active. |
|
AseptSoft inactive / module closed |
All highlights disappear automatically — the underlying P&ID stays clean. |
🖼️ Symbol-aware geometry
Highlighters scale and rotate with the symbols they sit on. A highlight placed on a valve symbol:
-
…rotates with the symbol if you rotate the block,
-
…mirrors with the symbol if you mirror it,
-
…keeps text labels readable — when a symbol is mirrored or upside-down, the highlighter's text is automatically flipped back so it stays the right way up,
-
…uses the block's designed extents (not the runtime stretched bounding box), so the geometry sits at proportional positions across symbol variants.
Both behaviours are on by default; the Designer's Geometry behavior card lets you opt out per recipe when you need different semantics.
🏭 Pharma example: pulsating valves with per-step delays
A CIP supply line has six valves that pulse during the pre-rinse step. Each pulse cycle has a different Open delay and Closed delay depending on the size of the line.
-
Open the State editor for the Pulsating state. Tick Highlightable in active phase. Add two attribute keys: Open delay and Closed delay (both with unit "s").
-
Click the Highlighter dropdown next to Highlightable → Create Custom.... The Designer opens with a forked recipe.
-
Edit the recipe's text content to read
{State.Name} O:{Attribute.Open delay:F1}s C:{Attribute.Closed delay:F1}s. Save. -
In the active step, hover any valve in the Pulsating state. The popup's Attributes in this step section shows the two fields. Set
Open delay = 0.8,Closed delay = 1.2, press Enter. -
The highlighter on the drawing now reads Pulsating · O:0.8s C:1.2s in the recipe's accent colour — visible from any zoom level.
-
Want to set the same values for all six valves at once? Export Module Data to Excel, edit the Pulsating - Attributes sheet, re-import. Done.
🔗 Related Pages
-
State — defines state colours, fluid responses, and the Highlightable flag plus per-step attributes.
-
Equipment Module Highlighting — automatic highlights for valves grouped into Equipment Modules.
-
Notes Live Viewer — text-based annotations with their own scope rules.
-
Valve Hover Inspector — surfaces the Attributes in this step section.