realvirtual.io
  • Building Digital Twins with Unity and realvirtual.io
  • Basics
    • Installation
    • Demo Model
      • Old Demo Model
    • Editor User Interface
      • Hierarchy Window
      • 3D Views
      • Quick Edit
      • Move Pivot Points (Pro)
      • Selection Window (Pro)
      • Material Window (Pro)
      • Measurement (Pro)
      • Kinematic Tool (Pro)
      • Model Checker
    • Runtime UI
      • Group Manager
      • Debug Console
      • Responsiveness
      • Runtime Persistence
    • Importing and exporting
    • Folder structure
    • Tutorial
    • Physics
    • CAD import (Pro)
      • CADLink (Pro)
      • CAD Checker (Pro)
      • CAD Updater (Pro)
    • Reusable Components (Prefabs)
    • Cadenas parts4cad
    • Publishing the Digital Twin
    • Revision management
  • News
  • Login & Download Updates (Pro)
  • Components & Scripts
    • Realvirtual
      • Environment Controller
    • MU, Source and Sink
      • Source
      • Sink
    • Motion and Kinematic
      • Drive
      • Kinematic
      • Group
      • Joint
      • CAM
      • TransportSurface
      • Guided Transport
      • KinematicMU (Pro)
      • Drive behavior
      • Chain
      • Chain element
      • Motion for developers
    • Sensors
      • Sensor
      • Measure
      • MeasureRaycast
    • Picking and Placing MUs
      • Grip
      • Gripper
      • Fixer
      • Pattern
    • Changing MUs
      • MaterialChanger
      • PartChanger
      • Cutter
    • Scene Interaction
      • Tooltip (Pro)
      • 3D Buttons
      • Screen Overlay Buttons
      • Scene Selectables (Pro)
      • Lamp
      • Interact3D
      • UI components
      • HMI components (Pro)
        • Start your own HMI
        • HMI Tab
        • HMI DropDown
        • HMI Puschbutton
        • HMI Switch
        • HMI Value
        • HMI Text
        • HMI Slider
        • HMI Message
        • HMI Marker
      • ModelZoo (Pro)
    • Interfaces
      • Interface Tools
        • Signal Manager
        • Signal Importer Exporter
        • Signal Catcher
        • OnValueChangedReconnect
      • Signal Importer / Exporter
      • ABB RobotStudio (Pro)
      • Denso Robotics (Pro)
      • EthernetIP (Pro)
      • Fanuc (Pro)
      • FMI
      • Igus Rebel
      • MQTT (Pro)
      • Modbus (Pro)
      • OPCUA (Pro)
      • PLCSIM Advanced (Pro)
      • RoboDK (Pro)
      • RFSuite (Pro)
      • SEW SimInterface (Pro)
      • Siemens Simit Interface (Pro)
      • Simit Shared Memory (Pro)
      • Simulink (Pro)
      • S7 TCP
      • TwinCAT (Pro)
      • TwinCAT HMI (Pro)
      • UDP (Pro)
      • Universal Robots (Pro)
      • Wandelbots Nova (Pro)
      • Websocket (Pro)
      • Windmod Y200 (Pro)
      • Custom Interfaces
    • Performance Tools
      • Combine Meshes (Pro)
      • Create Prefab (Pro)
      • Hierarchy Cleanup (Pro)
      • Mesh Optimizer (Pro)
      • Performance Optimizer (Pro)
    • Defining Logic
      • Unity Scripting
      • Behavior Graph
      • Logicsteps
      • Unity Visual Scripting
      • Recorder
    • Robot Inverse Kinematics (Pro)
    • Volume Tracking (Pro)
  • Multiplayer (Pro)
  • Extensions
    • ModelZoo
      • Beckhoff TwinCAT
      • Siemens S7
      • Denso Cobotta 1300
      • Wandelbots Nova Fanuc CRX
      • Universal Robots UR10
      • Fanuc Roboguide
    • realvirtual.io AIBuilder
      • realvirtual.io AI Builder Overview
      • Generate AI Training Data
      • AI Training
      • Testing AI in a Digital Twin
      • Deploying the AI
    • realvirtual.io Simulation
      • Conveyor Library
      • Path System
        • Path finding
        • Line
        • Curve
        • Workstation
        • Catcher
        • Pathmover
    • realvirtual.io Industrial Metaverse
      • Setup Guide
      • VR Modules
      • AR Modules
      • Multiuser
    • AGX Physics
    • VR Builder
    • CMC ViewR
  • Advanced Topics
    • Render Pipelines
    • Mixed Reality with Meta Quest3
    • Upgrade Guide
      • Upgrade to 2022
    • Open Digital Twin Interface
    • Usefull Addons
    • Improving Performance
    • Supported Platforms
    • Compiler Defines
    • For Developers
      • Important Classes and Interfaces
      • Assembly Definitions
      • Starting your development
      • Class documentation
      • realvirtual Init Sequence
      • realvirtualBehavior Lifetime Methods
      • Testing
    • Newtonsoft JSON
    • Troubleshooting
  • Release Notes
  • AI Digital Twin Assistant (GPT4)
  • License Conditions
Powered by GitBook
On this page
  • Open the Kinematic Tool
  • Create a Kinematic Axis
  • Select Axis Reference
  • Select Axis Direction
  • Select parts belonging to the Axis
  • Select Parts Mode (Selecting with hovering over the parts)
  • Select Parts in the Scene (Selecting in the Hierarchy View).
  • Select Parts by Collision Detection
  • Adding a Drive
  • Changing the View, Isolate and Hide Mode
  • Defining the Kinematic Hierarchy
  • For Drive-Controlled Axis:
  • For Physical Axis:
Edit on GitHub
  1. Basics
  2. Editor User Interface

Kinematic Tool (Pro)

Defining kinematics in complex CAD designs

PreviousMeasurement (Pro)NextModel Checker

Last updated 20 days ago

The Kinematic Tool is only included in realvirtual.io Professional edition.

If you don't use the Professional edition please use and together with manually adding or Physical joints.

The KinematicTool provides a graphical user interface (GUI) for creating, configuring, and managing kinematic axes and their components within realvirtual. It enables users to easily create and manipulate axes, set axis references, manage limits, and handle connections between axes and other components.

The tool saves all configurations in the Axis script, which is automatically added to relevant components. In the background, the KinematicTool adds necessary standard components such as , , and based on the kinematic definition. Users can define Kinematic Axes (with ) that precisely follow the Drives' positions, as well as Physical Axes (with Unity PhysX Joints) that are controlled purely by Unity's physics connections.

For a detailed walkthrough of using the Kinematic Tool, be sure to check out our .

Open the Kinematic Tool

To open the Kinematic Tool window, you can:

  • Select realvirtual > Kinematic Tool in the realvirtual.io menu.

  • Click the "Axis" button within the realvirtual scene overlay menu.

  • Use the hotkey "Alt+K".

Create a Kinematic Axis

Open the Kinematic Tool:

  • The Axis will be created as a child of the currently selected GameObject when you open the Kinematic Tool.

  • Enter a new Axis Name in the provided field.

  • Click Create Axis to generate the Axis.

Select Axis Reference

After creating the Axis:

  1. Select a Reference GameObject:

    • Choose a GameObject that will define the position of the Axis. This GameObject does not need to be part of the Axis itself; it serves to establish the center point of rotation or direction of movement.

  2. Visualize Reference Points:

    • While in Set Axis Reference mode, you can hover over GameObjects. The geometrical center will be marked with a white cross, while the pivot point of the object will be indicated by green, red, and blue crosses. These centers can be used as reference points.

  3. Choose Reference Type:

    • Pivot Point: Preferably use the pivot point of the GameObject for accurate Axis positioning.

    • Bounding Box Center: Use this if the pivot point is not suitable.

    • Radius Center: Select this if no appropriate object is available. For the Radius Center, you need to choose three vertices on the object to define the center point.

By following these steps, you ensure precise positioning and orientation of your Kinematic Axis.

Select Axis Direction

  • Select the Axis Direction:

    • After selecting the reference point, the next step is to set the direction of the Axis. You can choose the direction, which will be displayed as a pink line in the editor. Or you can iterate through some options with "Ctrl + D".

    • It is possible to efine an offset for the current axis rotation. Browse standard values using "Ctrl + R".

  • Visualize the Axis Type:

    • The type of the Axis will be indicated using a gizmo, which helps in visualizing the axis configuration.

  • Adjust Gizmo Distance:

    • Modify the line length and distance by using the Gizmo Distance option. This allows for precise adjustments to the visual representation of the Axis in the scene.

  • Axis Direction: Choose the direction from the drop-down menu or browse options with "Ctrl + D".

  • Axis Rotation: Define an offset for the current axis rotation. Browse standard values using "Ctrl + R".

When creating a physical axis that adheres to specific movement constraints, you should define upper and lower limits. This ensures that the axis respects these boundaries during operation.

Select parts belonging to the Axis

An Axis is a kinematic component that consists of several GameObjects moving together. To define which GameObjects are part of the Axis, follow these steps:

Select Parts Mode (Selecting with hovering over the parts)

  1. Select Parts Mode:

    • Activate "Select Parts" mode to start defining which parts will be associated with the Axis.

  2. Highlight and Select Parts:

    • Hover over the parts in the Scene that should belong to the Axis. The mesh of the parts will be highlighted for easy identification. Click the left mouse button to add the highlighted parts to the Axis.

  3. Deselect Parts:

    • To remove parts from the selection, hold the "Shift" key while clicking on them.

This mode is particularly useful if the CAD structure is not oriented towards kinematics, requiring you to select each part individually.

Select Parts in the Scene (Selecting in the Hierarchy View).

To exit "Select Parts" mode, click the pink button associated with this mode. You can then select parts directly in the Hierarchy view. This approach is useful if the CAD structure is already somewhat kinematic-oriented, and you wish to select entire hierarchy elements. After selecting elements in the Hierarchy view, click "Add Selected Parts" to include all selected parts and their subparts in the Axis.

Select Parts by Collision Detection

  1. Select Neighbours:

    • Use the "Select Neighbours" function to select all neighboring parts of the currently defined Axis parts. This function only recognizes immediate neighbors.

  2. Fill:

    • The "Fill" option selects all parts located between the currently selected components.

  3. Select Connected:

    • The "Select Connected" function identifies all parts connected to the selected components, including those that are not immediate neighbors.

    After using "Select Neighbours," "Fill," or "Select Connected," the detected parts will be highlighted in Unity's Hierarchy view. You can review the selections before finalizing the process. Click "Add Selected Parts" to incorporate these parts into the Axis.

Adding a Drive

To control the Axis with a drive, click "Add Drive." This action means the Axis's position will be fully managed by the Drive. If you choose not to add a Drive, the Axis will be controlled entirely by physical joints.

Changing the View, Isolate and Hide Mode

While selecting parts, you can adjust the view by using the "Isolate" or "Hide" buttons. These options allow you to isolate or hide selected parts for better visibility and management.

Defining the Kinematic Hierarchy

For Drive-Controlled Axis:

  • To define a kinematic hierarchy for Drive-controlled axes, you can simply arrange one axis below another in the hierarchy.

  • Alternatively, you can specify the Kinematic parent under "Connected Axis." This will automatically establish the kinematic hierarchy when the simulation begins.

For Physical Axis:

  • Physical axes are controlled by Unity physics through joints and do not have a drive. Therefore, you should avoid using the GameObject hierarchy to represent the kinematic chain. Instead, use "Connected Axis" to define kinematic connections.

  • In cases where you need to have two axes on one kinematic object, define the additional axis as a child of the first physical axis and select "Secondary Axis." This setup will automatically create two or more joints on one Rigidbody when the simulation starts.

© 2025 realvirtual GmbH - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.

https://realvirtual.io
Kinematic
Group
Drives
Drives
Kinematic
Group
Drives
YouTube tutorial
Create a new Axis
Select Axis Reference
Selecting the Axis Direction
Isolate Mode while seelcting parts
Kinematic hierarchy by parent child relations in Gameobjet hierarchy
Secondary Axis (TCPConnection) one one Axis (TCP)