Robot Cell Simulator – Robots, tools and jog
« 3D view and settings | Contents | Programs and paths »
ToolsInsert robots at study positionsCheck basesFanuc robotsRobots not simulatedRobot Axis tabCartesian jog

Tools on the robots

When a cell is opened, the tools placed on the flanges in the study are attached to the robots. The column Attached to of the Model Browser and the list in the Work Zones tab show the current tool of every robot. Tools are changed by hand with the context menu of a robot or a tool:

Components that can be a tool (grippers, guns, docking systems, components mounted in the study) have a hammer icon in the Model Browser: gray = free, orange = attached to a robot, crossed out in red = changed in this session compared to the study. The default tool is the tool mounted on the robot in the study.

The dialog Attach sets the robot, Tool or Add fixture (e.g. a part in the gripper) and the mounting position on the flange (X Y Z, A B C). Buttons fill in the position:

Check the result by moving A6. When the study contains a complete mounting chain (tool changer → adapter → tool), the whole chain is attached automatically. The robot menu in the Work Zones list offers the same functions: Attach a tool... / Change the tool..., Add a fixture on the flange..., Detach tool, Show the tool in the model tree, Attach default tool.

Detaching all tools and attaching the default tools of all robots is in the Auto-Docking tab.

Tool model from a JT, glTF, STL or STEP file

The context menu of a robot (Model Browser) has the entry Tool model (JT / STEP / STL / glTF).... The dialog asks for:

The tool model is used for the work zones and the 3D collision check like any other tool. When the robot already carries a tool model, the dialog opens with its file and position, so the position can be corrected. The Message Window shows the mounted model with its position and the path of the file.

One model once, no dummy with a model. The same model (the same name, or a name that starts with the other name at an underscore) is never mounted twice on a robot: the API tool_model returns an error that names the mounted elements (replace: true replaces it), and the robot menu Remove duplicate models keeps one (the element of the study first). A robot with a 3D model of its tool has no dummy tool.

Mounted elements. The robot menu Mounted elements has a submenu for the tool and for every fixture: Hide / Show (the model is hidden or shown; saved with the simulation and the package) and Remove from the robot (a model from a file is deleted from the scene, an element of the study stays hidden). A hidden model stays in the collision checks; only a removed one is no longer checked. API: tool_info, tool_remove, tool_hide, tool_show.

The tool model is saved with the simulation (Save simulation...: element Docked with the path in the attribute jtFile, also for glTF / STL / STEP files) and with the session (attached[].file): on load the model file is inserted again and the model is mounted with the saved position. Relative paths are resolved also when the simulation package was moved to another folder; a file that cannot be found is listed in the Message Window.

Example: a spot welding gun EuroX on robot R5 – the origin of the JT model lies 38 mm behind the flange, so the position is X 0, Y 0, Z 38, A B C 0. The TCP of the robot ($TOOL from the robot archive) then lies on the tip of the fixed electrode; check it with robot goto in a weld point (see below) or by moving A6.

glTF, STL and STEP: the model must be in the same coordinate system as the JT model (e.g. converted from the JT file), then the position on the flange is the same as for the JT file (e.g. Z 38). glTF 2.0 keeps the colors of the parts (the original JT color extras.jtDiffuse written by the converter jt2step, otherwise the linear baseColorFactor of the materials converted to sRGB – the same colors as the JT model; parts of the same color form one part in the model tree); its coordinates are in metres with +Y up, as the glTF standard says, and are turned into millimetres with +Z up. Supported: triangles (mode 4), float positions, normals, 8 / 16 / 32-bit indices, node matrices and translation / rotation / scale; files with required extensions (e.g. Draco compression) or sparse accessors are refused with a message. A glTF or STL file is used triangle by triangle (a welding gun with 800 000 triangles in about one second) – STL has no colors, the model is shown in one color. A STEP file made only of triangles (faces with a POLY_LOOP of 3 points, e.g. converted from JT) is read directly (about 30–60 s for 500 000–800 000 triangles); any other STEP file is triangulated like the robot models of the library (linear deflection 1 mm), which takes very long for large models. The triangles of the file are used for the work zones from triangles and the Live 3D collision check, like the triangles of a JT model. The Message Window shows the number of triangles and the reading time. In one session the model is read only once. Only the finest triangles of the file are used, while a JT model also brings its simpler levels of detail (all of them are used by Live 3D) – the results of a JT model and of a STEP / STL copy can therefore differ slightly. The JT and the STEP / STL model of the same name are different components (id TOOLMODEL_<robot>_<name>_stp, _step, _stl, _gltf or _glb).

By a script or the AI agent: the command {"cmd":"tool_model","robot":"R5","file":"D:/.../gun.jt","pos":{"x":0,"y":0,"z":38,"a":0,"b":0,"c":0}} does the same as the menu entry: the model is inserted and mounted on the flange, it replaces the tool on the flange (a dummy tool is removed) and it is saved with the simulation and the session; "fixture":true adds it as a fixture. The same command without file only moves the tool model already on the robot to a new pos. To check the tool, {"cmd":"robot","robot":"R06","goto":"UP42/P17"} puts the robot in a point of the program (e.g. a weld point) without running the program; the answer of robot contains the tool on the flange (tool: id, name, x..c) and the flange position in the scene (flange: [x, y, z] mm, e.g. as target of view to zoom on the tool). A tool model made of several parts (e.g. a welding gun) keeps the position of each part from the JT tree. Details: command API, AI Agent window.

Insert robots at study positions

File → Insert robots at study positions... inserts the robots of the study from their archives at the positions saved in the study. The archive of every robot is linked automatically: a folder or a ZIP file with the robot name in the study folder is taken, also when the name has a suffix after the robot name (e.g. ...r01rs--kux). A ZIP file is extracted to the user cache folder (the files of the user are not changed; it is extracted again only when the ZIP file is newer). The linked archive is shown as a small archive icon in the second column (Attached to) of the Model Browser next to the robot; its tooltip shows the folder or the ZIP file of the archive (and the folder it was extracted to). A robot that cannot be simulated is inserted as a gray model, see Robots that cannot be simulated.

The SPS program (tab SPS) is kept in the settings, so after the insert it may still be the program of another station. When no robot of the SPS program is in the cell, it is replaced by a new program with the robots of the cell (like New from the robots of the cell; the console writes a warning with the old robots). When only some robots of the program are missing, the program stays and the console warns which robots are not in the cell – check the program (SPS > Edit).

After the insert the base check runs automatically: the bases of the study are compared with the bases in the robot archives and the result is written to the console (the summary of the insert names the number of deviating bases).

Check bases against the study

File → Check bases against the study... compares the bases of the Process Simulate study with the bases in the robot archives. The study holds the nominal values, the archive the measured values (calibration of the table or of the station base, e.g. the zero of the car on the station). A large deviation means that the fixtures of the study and the points of the archive do not match there – the simulation of a robot then runs at another place than the robot in the cell.

The check is taken against the study from which the robots were inserted (Insert robots at study positions); without it the program asks for the study file. The window has these fields:

The console writes one line per robot and base: the deviation of the archive from the study in mm (X, Y, Z in the robot coordinates) and in degrees (warning above the tolerance), one line for every common base of the station and a summary.

Report (in the style of the reports of the VKRC / VFanuc Calibration plugins): logo from the print settings, head with the project data, date, study and tolerance, a short explanation and the tables:

Example (a VW station with robots R1, R3, R4, R5, R6): the study places the zero of the car at the same point for all robots, the archives differ from it for base 1 by about 5 to 23 mm – the common base of the station is spread accordingly. Such deviations should be cleared before a time study or an interlock study.
Screenshots of the window, of the console and of the report will be added here.

License: the check of the bases (menu, automatic check and API) needs the base license of the Robot Cell Simulator (140).

API: command base_check (tolerances, report fields, report file, result as JSON). See also the VKRC Calibration plugin (measurement of the table with the points of the labels MBxx X/Y/Z and a measuring spike). A measurement of the table with measuring points directly in the Robot Cell Simulator is planned.

Fanuc robots (VW standard)

Since 2026-10-20 the simulator also takes Fanuc robot archives. A robot archive that contains system.va and .ls programs but no $config.dat is recognized automatically as a Fanuc archive (VW standard) – when it is loaded from the simulation file (ArchiveRobot), with File → Insert robot from archive or when a session is restored. For the simulation RCS translates the archive into a substitute KUKA archive in the user cache folder %LOCALAPPDATA%\DrAmaT\dres_<version>\cache\RCS_fanuc\<robot>; the files of the Fanuc archive are not changed, and the simulation file and the session keep the path of the Fanuc archive. The console of the load writes Fanuc archive - translating the programs for the simulation, then the robot type and the number of programs and points. How the programs are translated and what is not simulated: Fanuc programs in the simulation.

Robots that cannot be simulated

A robot whose positions cannot be calculated correctly is shown in the cell, but never simulated with wrong positions. This is the case for

Model tree: R9 is gray, with the no-entry icon and the short reason in the second column (the tooltip shows the full reason and what to do)
The same cell in 3D: R9 stands as a gray model in the zero position at its place in the study – for the layout only, no motions, collisions or times are calculated for it

Such a robot is inserted as a static gray model with the title <archive> (not simulated) in the zero position at its place in the study. The Model Browser shows a red no-entry icon and the short reason in the second column (Attached to), e.g. not simulated: linear unit (axis 7) not confirmed or not simulated: kinematics differs by 500 mm; the tooltip shows the whole reason. Its programs are not loaded, and the robot is not part of the runs, the interlock checks and the reports; the summary of the insert counts it as not inserted. When the robot is selected in the Model Browser, the Message Window writes the full reason – the values of the controller (axis angles, position calculated by DReS and position reported by the controller) and what to do (e.g. use a complete backup).

What this means for you:

Robot Axis tab

The tab moves the current robot (selected in the Model Browser). The sliders and spin boxes set the axes A1–A6 and the linear unit E1 within the limits from the machine data. The robot follows immediately in the 3D view.

Keep TCP position when moving E1 compensates the 7th axis: the TCP stays in place while the robot moves along the linear unit.

Show TCP coordinate system and Show base coordinate system draw the frames in the 3D view.

Cartesian jog

The group Cartesian (TCP) shows the TCP position in the selected Tool and Base (tool and base data from $config.dat of the robot archive). The buttons − / + move the TCP by the Step in X, Y, Z or rotate it around A, B, C; a value can also be typed directly. The status S and T of the current position is displayed below.

Current robot with the TCP and base coordinate systems

The current position can be written to a program point with Touch up.



« 3D view and settings | Contents | Programs and paths »