Skip to main content

Symbol Designer

The Symbol Designer in OctoMesh Refinery Studio allows you to create reusable graphical symbols for process diagrams and dashboards. These symbols can include dynamic properties that change appearance based on runtime data.

Symbol Libraries

Symbol Libraries are containers that organize your symbols. Navigate to UI > Symbol Libraries to manage your libraries.

Symbol Library List

Creating a New Library

  1. Click NEW LIBRARY
  2. Enter a name for your library
  3. Click CREATE

After creating a library, you can view its contents and add symbols.

Symbol Library Detail

Library Actions

  • Import SVG: Import existing SVG files as symbols
  • New Symbol: Create a new symbol from scratch

The Symbol Designer Interface

When you create or edit a symbol, the Symbol Designer opens with a canvas area and several panels.

Symbol Designer Overview

Toolbar

The toolbar at the top provides essential tools:

ToolShortcutDescription
Undo/RedoCtrl+Z / Ctrl+Shift+ZUndo or redo changes
SelectVSelect and move elements
PanHPan the canvas view
ConnectCCreate connections between elements
Zoom In/Out-Adjust the zoom level
Fit to View-Fit all content in the viewport
Show Grid-Toggle grid visibility
Snap to Grid-Enable/disable grid snapping
Show Names-Display element names on canvas
Import SVG-Import an SVG file
Group/UngroupCtrl+G / Ctrl+Shift+GGroup or ungroup elements
DeleteDeleteRemove selected elements

Left Panel - Element Palette

The left panel contains tabs for adding content to your symbol:

PRIMITIVES Tab

Drag and drop primitive shapes onto the canvas:

Shapes:

  • Rectangle: Rectangular shapes with optional rounded corners
  • Ellipse: Circles and ovals
  • Polygon: Multi-sided closed shapes

Lines:

  • Line: Straight lines with optional markers
  • Polyline: Connected line segments
  • Path: Complex SVG paths with curves

Content:

  • Text: Text labels
  • Image: Embedded images or SVG graphics

SYMBOLS Tab

Browse and use symbols from other libraries within your symbol (nested symbols).

SETTINGS Tab

Configure symbol metadata and canvas settings:

Symbol Designer Settings

Symbol:

  • Name: Display name of the symbol
  • Description: Optional description

Canvas:

  • Width/Height: Canvas dimensions in pixels

Grid:

  • Size: Grid spacing in pixels

Metadata:

  • Version: Version number (e.g., "1.0.0")
  • Category: Category for organization
  • Tags: Comma-separated tags for search

STYLES Tab

Define reusable style presets for your symbol elements.

Right Panel - Element Properties

The right panel shows properties for the selected element.

PROPERTIES Tab

When you select an element, the Properties tab shows its configurable options:

Element Selected

General:

  • Name: Element identifier
  • Type: Element type (read-only)
  • Visible: Toggle visibility

Position:

  • X/Y: Position on canvas

Style:

  • Fill Color: Background color with opacity
  • Stroke Color: Border color with opacity
  • Stroke Width: Border thickness
  • Line Type: Solid, Dashed, Dotted, Dash-Dot, Long Dash

Element-Specific Settings: Additional options based on element type (e.g., corner radius for rectangles).

Transform Properties (Exposures)

Transform Properties allow your symbol to change dynamically based on input values. This is how you create interactive, data-driven symbols.

Creating a Transform Property

  1. Click the EXPOSURES tab
  2. Click ADD PROPERTY

Add Property

Configure the property:

FieldDescription
NameProperty identifier (e.g., "FillLevel")
TypeNumber, Color, Boolean, or String
Min/MaxValue range (for numbers)
StepIncrement step
UnitDisplay unit (e.g., %, °, px)
DefaultInitial value
DescriptionOptional description

After saving, the property appears in the EXPOSURES panel:

Property Created

Creating Bindings

Bindings connect a transform property to element attributes. Click Edit Bindings to configure how the property affects elements.

Bindings Dialog

Click ADD BINDING to create a new binding:

Binding Editor

Binding Configuration:

FieldDescription
TargetElement to transform
EffectWhat attribute to change
AnchorTransformation anchor point (for some effects)
ExpressionFormula using value as input

Available Effects:

EffectDescription
Width/Height (px)Change element dimensions
RotationRotate element (degrees)
Offset X/YMove element position
ScaleUniform scaling
Scale X/YDirectional scaling
Fill ColorChange fill color
Fill OpacityChange fill transparency
Stroke ColorChange border color
Stroke OpacityChange border transparency
OpacityOverall transparency
VisibilityShow/hide element
Fill LevelTank/bar fill visualization (0-1)
Pass to Child PropertyForward value to nested symbol
Animation Enable/DisableControl animations

Expression Examples:

// Pass value directly
value

// Scale 0-100 to 0-360 (for rotation)
value * 3.6

// Linear interpolation
lerp(value, 0, 100, 0, 360)

// Clamp to range
clamp(value, 0, 100)

// Color gradient based on value
lerpColor(value, 0, 100, "#00ff00", "#ff0000")

Fill Level Effect

The Fill Level effect is specially designed for tank and gauge visualizations:

Fill Level Binding

When bound to a Rectangle, it fills the shape from bottom to top based on the value (0 = empty, 1 = full).

Simulation Panel

The Simulation panel lets you test your transform properties in real-time without leaving the designer.

Simulation Panel

Use the slider or input field to change values and see immediate results on the canvas:

Simulation at 50%

  • Slider: Drag to change value
  • Input: Enter exact value
  • Reset to default: Restore default value
  • RESET ALL: Reset all properties

Animations

The ANIMATIONS tab allows you to add SVG animations to elements:

  • Attribute Animation: Animate any SVG attribute
  • Transform Animation: Rotate, scale, translate
  • Motion Animation: Move along a path
  • Flow Particles: Particle effects along paths

Animations can be controlled by transform properties using the "Animation Enable/Disable" effect.

Keyboard Shortcuts

ShortcutAction
Ctrl+ZUndo
Ctrl+Y / Ctrl+Shift+ZRedo
Ctrl+CCopy selected
Ctrl+VPaste
Ctrl+DDuplicate
DeleteDelete selected
Ctrl+GGroup selected
Ctrl+Shift+GUngroup
Ctrl+ASelect all
EscapeDeselect / Cancel
Arrow KeysMove selected (1px or grid snap)
Shift+Arrow KeysMove 10px
VSelect tool
HPan tool
CConnect tool

Saving Symbols

Click SAVE in the toolbar to save your symbol. The asterisk (*) next to the symbol name indicates unsaved changes.

Using Symbols

Once created, symbols can be:

  • Used in Process Diagrams: Drag symbols from libraries onto diagram canvases
  • Bound to Runtime Data: Connect transform properties to live data from OctoMesh entities
  • Nested in Other Symbols: Create complex compositions by embedding symbols within symbols

Best Practices

  1. Use meaningful names: Name your properties and elements descriptively
  2. Set appropriate ranges: Configure Min/Max values that match your data
  3. Test with simulation: Always test your bindings before saving
  4. Organize with categories: Use categories and tags for easy discovery
  5. Document your symbols: Add descriptions to help other users understand your symbols
  6. Version your symbols: Update version numbers when making significant changes