Nodes

Data in a component is organized in a tree structure consisting of nodes. The root node of a component represents the entire component. For example, the origin of a component's coordinate system is its root node.

Hierarchy

Simple components may have one node, whereas components with movable parts would require two or more nodes. For example, an articulated robot is a series of nodes linked together to form a kinematic chain for motion targeting.

In terms of node hierarchy:

  • Parent is a node above another node.
  • Child is a node below another node.
  • Sibling is a node that is either before or after another node that belong to the same parent.

In most cases, a component's root node is a child of the 3D world. That is, a component is attached to the 3D world (simulation root node). In some cases, components are attached to nodes in other components. That allows components to move together, for example a tool mounted on the end of a robot's arm.

Some components that perform tasks during a simulation may have temporary nodes in order to contain and transport other components.

Common Properties

With the exception of root nodes, every node/link has the same set of common properties.

Name Description
Name Defines the name of node.
Offset Defines the position (XYZ coordinates) and orientation (RxRyRz degrees of rotation) of node offset from its parent.
Type Defines the joint type of node.

Fixed
Joint is fixed and constrained to its offset.

Rotational
Joint can be rotated along a defined axis.

Translational
Joint can be translated along a defined axis.

Rotational Follower
Joint can be rotated around a defined axis based on the value of another joint.

Translational Follower
Joint can be translated around a defined axis based on the value of another joint.

Custom
Joint can be defined to translate or rotated around a defined axis.

Axis If joint type is not fixed or custom, defines the axis of joint.

Joint Properties

The amount of additional properties in a node is based on its joint type and the assignment of that joint to a controller.

Fixed

No additional properties.

Rotational

Name Description
Name Defines the name of joint.

Tip: The name of a joint can be used in an expression to reference its value.

Controller Assigns joint to a new or existing controller type behavior in node.
Initial Value Defines the default value of joint.
Value Defines the current value of joint.

Tip: The value of a joint can be used in an expression to reference its value using the keyword VALUE.

Value Expression Defines an expression for manipulating the value of joint.
Min Limit Defines the minimum value of joint.
Max Limit Defines the maximum value of joint.
MaxSpeed If joint is assigned to controller, defines the maximum speed of joint.
MaxAcceleration If joint is assigned to controller, defines the maximum acceleration of joint.
MaxDeceleration If joint is assigned to controller, defines the maximum deceleration of joint.
LagTime If joint is assigned to controller, defines the time lag of joint.
SettleTime If joint is assigned to controller, defines the settling time of joint.

Translational

Same properties as Rotational.

Rotational Follower

Name Description
Name Defines the name of joint.

Tip: The name of a joint can be used in an expression to reference its value.

Driver Defines another joint that is followed by the joint.
Value Expression Defines an expression for manipulating the value of joint.

Translational Follower

Same properties as Rotational Follower.

Custom

Name Description
Name Defines the name of joint.

Tip: The name of a joint can be used in an expression to reference its value.

Controller Assigns joint to a new or existing controller type behavior in node.
Initial Value Defines the default value of joint.
Value Defines the current value of joint.

Tip: The value of a joint can be used in an expression to reference its value using the keyword VALUE.

Joint Defines an expression for manipulating joint offset.
Pivot Defines an expression for manipulating pivot point of joint.
Min Limit Defines the minimum value of joint.
Max Limit Defines the maximum value of joint.
MaxSpeed If joint is assigned to controller, defines the maximum speed of joint.
MaxAcceleration If joint is assigned to controller, defines the maximum acceleration of joint.
MaxDeceleration If joint is assigned to controller, defines the maximum deceleration of joint.
LagTime If joint is assigned to controller, defines the time lag of joint.
SettleTime If joint is assigned to controller, defines the settling time of joint.