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.
What makes two snaps compatible
Section titled “What makes two snaps compatible”Two conditions, both required:
-
The type matches. Each snap carries an author-defined type id, such as
convroll,beltorflange-1. The match is exact and case-sensitive. -
The flows are compatible. Every snap is an input, an output or bidirectional:
input output bidirectional 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 are authored, not drawn
Section titled “Snap points are authored, not drawn”Snap points come from the model. They are empty nodes whose name encodes their role, in the form Snap-<AXIS><FLOW>-<TYPEID>:
| Name | Meaning |
|---|---|
Snap-ZN-convroll | Z-axis input for type convroll |
Snap-ZP-convroll | Z-axis output for type convroll |
Snap-ZB-convroll | Z-axis bidirectional convroll snap — a turntable, for example |
Snap-XB-flange-1 | X-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 while you drag
Section titled “Snapping while you drag”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.

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.
Chain mode
Section titled “Chain mode”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.
Flipping an object’s orientation
Section titled “Flipping an object’s orientation”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.
Rules a placement has to satisfy
Section titled “Rules a placement has to satisfy”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.
Locked objects
Section titled “Locked objects”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.
Persistence
Section titled “Persistence”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.
See also
Section titled “See also”- Layout Planner — the workspace and the planning workflow
- Library and catalogs — where placeable objects come from
- Discrete event simulation — running material flow over the layout you assembled
- Editor — authoring objects, including their connectors