Skip to content

Snap Points

A snap point is a named connector on a library object. Bounding-box snapping aligns edges. Snap points connect by type and direction: a conveyor’s roller output connects only to a roller input of the same type.

Drag an object near a compatible partner to assemble a line. The planner shows matching connectors, aligns the object and connects both ends. The connected objects then move as one chain.

Two conditions, both required:

  1. The type matches. Each snap carries an author-defined type id, such as convroll, belt or flange-1. The match is exact and case-sensitive.

  2. The flows are compatible. Every snap is an input, an output or bidirectional:

    inputoutputbidirectional
    input✗✓✓
    output✓✗✓
    bidirectional✓✓✓

    Two inputs or two outputs would clash, so they never engage.

Axis and occupancy are handled separately from compatibility. The axis in the snap’s name only helps choose between several matches. The connector’s position inside its object determines its outward direction, so snapping still works after rotation. Occupied snaps are excluded; a connector cannot take a second partner.

Snap points come from the model. They are empty nodes whose name encodes their role, in the form Snap-<AXIS><FLOW>-<TYPEID>:

NameMeaning
Snap-ZN-convrollZ-axis input for type convroll
Snap-ZP-convrollZ-axis output for type convroll
Snap-ZB-convrollZ-axis bidirectional convroll snap — a turntable, for example
Snap-XB-flange-1X-axis bidirectional connector of type flange-1

N is input, P is output, B is bidirectional. Renaming the node changes the connector; there is no separate metadata to maintain.

Snapping two conveyors Seen from above. While dragging, an input snap within the magnet radius, 400 mm by default, pulls the dragged conveyor into the aligned pose every frame. The left panel shows the dragged conveyor dashed in its aligned pose, with its input dot touching the fixed conveyor’s output dot at the magnet circle centre. A faint offset ghost marks the cursor position; the pulled-in arrow points from the ghost to the aligned pose. Release records the connection; both conveyors then form one chain. While dragging within 400 mm it is pulled into the aligned pose After release connection recorded pulled in magnet radius: 400 mm by default Snap-ZP-convroll output Snap-ZN-convroll input connected one chain: dragging either moves both, ALT drags one on its own and disconnects it
The outward direction comes from where the snap sits in its object, so snapping still works after rotating it.

Drag an object and the planner looks, every frame, for the closest compatible pair within the magnet radius (400 mm by default). When it finds one, the dragged object is placed snap-aligned to its partner. Release and the connection is recorded.

Three snap systems can be active at once; when more than one applies, the stronger wins: snap points override bounding-box snap, which overrides grid snap.

Before you connect an object, matching connectors on nearby objects appear as markers when the cursor approaches them. The planner’s Show All Snaps toggle keeps every free marker visible regardless of hover.

A roller-conveyor layout in the planner with Show All Snaps on: a green marker sits at every free connector — the open ends of the conveyors and the turntables — while the ends that are already joined carry none

You can also click a free snap marker and choose a library entry from the popup. It lists only entries with a compatible connector, from the built-in library, a local folder or a remote catalog.

At a free end of an AGV path (and at any path port), the popup also has a Path blocks section — straight, curves, branch, merge and stub. See Path Network.

Path ports in the subtree of a node with a TransferStation are its dock ports — they use the existing path snap type, with no separate dock snap type.

With chain mode on (the default), dragging one object in a connected line moves the whole chain. Each object keeps its exact relative position. Hovering over an object in a chain highlights everything that would move before you start dragging.

Two ways to move one object on its own:

  • Hold ALT while dragging. The object is detached from its connections and moves solo.
  • Turn chain mode off. Same effect for every drag. Chain mode is the last switch in the Snap menu of the toolbar.

Both methods disconnect the object. The disconnection is not temporary.

Connections are also released when the object is deleted, and when a drag stretches an edge far beyond the magnet radius.

A placed object with two compatible connectors of the same type can be turned around its connection without deleting and replacing it. A belt with an inlet and an outlet is one example. The object disconnects from the connector currently in use, rotates 180°, and reconnects through the other one.

Two ways to trigger it, both doing the same thing:

  • Right-click the object → Flip orientation (180°). The entry appears only when the object is actually paired through one connector and has a same-type sibling connector.
  • Click the circular-arrow icon that appears above a flippable object while you hover or select it. It disappears while you drag with the gizmo so it does not compete with the transform handles. The icon can be switched off with the visual setting Show snap-flip icons; the context-menu entry is always there.

Flipping twice restores the original pose exactly. It is blocked while the simulation is running, because drives may be moving the hierarchy at that moment. The new position is recorded like any other layout change, so it undoes, saves and replicates to other participants normally.

Objects with three or more compatible connectors, such as crossings and junctions, cannot be flipped.

Before a placement through a snap marker commits, the planner checks that:

  • the target connector is free,
  • the object has the connector it is being placed by,
  • the two type ids are identical,
  • the flows are compatible,
  • the object has uniform scale; a non-uniformly scaled object cannot be rigidly aligned without skewing.

If a check fails, the picker shows the reason and does not place the object.

Every placed catalog item carries a Locked flag. With it set:

  • Edits to anything inside the object are rejected, keeping nested drive, sensor and signal properties at their catalog defaults.
  • The object’s own row stays editable, so you can clear the flag directly in the Inspector.
  • Transform, set-position and delete actions skip locked objects.

Deleting a placed object also discards every property override stored under it. Placing the same catalog item again starts from the model’s own defaults, without overrides from the previous instance.

Connections are not stored as a separate table. They are rebuilt on load from the placed objects and the connectors in their models, which means a saved layout comes back with exactly the chain graph it had.