Skip to content

Layout Planner

Beta

Included in the public demo Compare editions

The Layout Planner is part of the AGPL open-source core: its source is published, and it ships with every delivery - including a self-hosted AGPL deployment and the viewer that comes with realvirtual CONNECT. No commercial licence is needed to use it.

The Layout Planner assembles factory and machine layouts directly in the browser. You work with reusable library objects such as conveyors, robots and fixtures while the 3D scene remains the center of the planning workspace.

Planner mode is for authoring and arrangement rather than machine operation. It adds the library, a planning grid, snapping tools, translation and rotation handles, and compatible snap-point connections.

Planner mode: the component library on the right, the planning tools beside the 3D view, and the run controls along the top

Layout planning is one of the use cases of realvirtual. It starts from a twin built in the Editor or exported from Unity.

  • Library provides the reusable objects available for the current planning project.
  • Placement adds an object from the library to the 3D layout.
  • Grid and snapping help you position objects consistently - all four switches live in one Snap menu (see below).
  • Translate and rotate handles refine the position and orientation of a selected object.
  • Snap-point connections align compatible connection points between layout objects.

Try it live: Layout Planner demo.

The floating toolbar beside the 3D view groups its tools into sections separated by thin lines, in the same order in the Planner and in the DES workspace:

  1. Editing - Undo, Redo, Delete.
  2. Model and layout - Snap, Path network, Library (plus the PLC editor and the signal-linking buttons where they are offered).
  3. Simulation and analysis - Vanish MUs at end of line (in DES also the statistics, event queue, snapshot and experiment tools).
  4. View - Section/Clip and Documentation mode.

One Snap button replaces the four separate snap icons. Click it (or right-click, or press and hold) to open a menu with a check mark for every switch that is on:

  • Grid snap - positions and rotations snap to a regular step (shown below the name, for example 500 mm / 15°).
  • Drop to surface - new and dragged objects settle on the surface below.
  • Magnetic snap - object edges and centers align with neighbouring objects within the snap distance.
  • Chain mode - objects connected by snap points move together with the dragged object.

Choosing a switch toggles it and keeps the menu open, so you can set several in a row. The Snap button is highlighted as soon as one switch is on, and its tooltip names the active ones. Grid snap settings… and Magnetic snap settings… at the bottom open the familiar settings window (translation and rotation step, snap distance, mid / side references, neighbour distances).

The Snap menu open in the Planner toolbar, with Grid snap, Drop to surface and Chain mode switched on

The library window lists the available sources as tabs. Your current project is the first and default tab. You can immediately place anything you or the Editor saved there, without publishing or registering it.

Further tabs appear only for explicitly attached libraries: named by the project’s manifest, passed on the URL, or added by you. Shipping with the build does not automatically attach a library.

The standard library, catalogs from a local folder, a remote URL or a GitHub repository, the ?library= parameter and how an object’s pivot is decided are covered under library and catalogs.

Compatible objects connect through snap points, typed connectors with a direction. A conveyor output only connects to a matching input. Connected objects then move as one chain, can be flipped around their connection, and can be locked against accidental edits. See snap points.

A copy (Ctrl+D, Ctrl+V) gets its own identities, keeping it distinct from the original. References to the original still point to it. Settings you change on a part inside a placed machine are saved with the layout. This also applies when that machine is placed inside another machine. The layout’s value overrides the machine’s value. Moving a single part inside a placed machine is not saved. Move the whole placement, or open the asset and move the part there. Older layouts that moved parts this way open with a notice in the Problems panel. Those parts use the positions defined in their asset.

The paths that vehicles and material flow travel along are ordinary planner objects. You draw and edit them in the layout instead of preparing them elsewhere.

  • Handles. Each vertex of a path, and both of its free ends, is a draggable handle. Arcs get a centre and a radius handle instead; an arc end cannot be dragged freely, because without a tangent constraint that has no single answer.
  • The chain never tears. Dragging a vertex that two segments share moves both of them in one step.
  • Ends snap. Dragging a free end onto a nearby compatible port connects it — the free end of another path, or a station’s snap point. Direction is respected: the start of a path only accepts outgoing or bidirectional ports, and an occupied port is skipped.
  • Undo and redo apply. A finished drag is a normal editing step, so it undoes, redoes and saves like any other change to the layout.
  • Editing while it runs is safe. Vehicles already on an edited path are carried over onto the new geometry rather than dropped, and a vehicle waiting at the end stays waiting.

A closed loop has no free ends and therefore no ports to connect to.

  1. Open the Layout Planner demo or a prepared planning link.
  2. Confirm that Planner is the active workspace.
  3. Open the Library and choose an object that belongs in the layout.
  4. Place the object in the scene, then use the translation or rotation handles to position it.
  5. Enable the required grid or snap behavior and bring compatible snap points together.
  6. Drag the end of a transport path onto a station’s snap point to connect it, and check the result in the DES workspace.
  7. Select the placed objects in the hierarchy to review their structure and connections.