Editing Constraint Properties

In the Vortex® Studio Editor, you can define how the attached parts will react in the simulation environment by defining the constraint's properties:

editor_assemb_cns.png
Note
In order to verify proper functioning of a constraint after it has been modified, you should run the simulation to see the behavior of the relationship between the part and the constraint in motion. When a simulation is running, the physics engine is activated and the parts and constraints behave accordingly based on the environmental settings.

Basic Constraint Properties

  1. Select the constraint from the Explorer panel of the Assembly editor.

    The constraint properties appear in the Property panel. On the Attachments tab you can see that Vortex Studio has already calculated and is displaying the offsets. For more about offsets, see Customizing Offsets.

  2. You can modify the following values:

    • Reference Object
    • Position
    • Primary Axis
    • Secondary Axis
  3. Click the Orthonormalize button to recalculate the axis dimensions, based on the primary axis being dominant. The secondary axis direction will be set orthogonal to the primary axis.

    The primary axis' dimensions will be normalized, and the orthonormal vector nearest to the specified secondary axis (and in the same plane) will be assigned to the secondary axis.

  4. If you click the Orthonormalize button and Vortex cannot perform the computation (for example if you enter [0,0,0]), the following message appears:

    editor_assemb_cns_ortho_warning.png

Setting Limits on the Constraint

There are two really important things to consider when setting constraint limits:

  • By default, a new constraint does not have limits, so you may need to set the lower and upper limit properties to ensure the correct behavior.
  • You must make sure you explicitly activate limits for the constraint; otherwise, any limit values you set will be ignored.

Follow this procedure to set limits on a constraint:

  1. Select the constraint in the Explorer panel of the Part editor.

  2. In the Property panel, select the Controlled Axes tab.

  3. Enable the limits by selecting the box next to Limits.

  4. Set the values under Lower Limits and the Upper Limits sections (you may need to scroll down to find them).

  5. Depending on the mode of your controllable coordinate, you may also need to set one of the following values:

    • In Motorized mode, edit the Desired Velocity and Loss values on the Motor tab.
    • In Lock mode, edit the Damping, Position, and Stiffness values on the Lock tab.
  6. If the Control is set to Lock, you can enable the Plastic parameter to enable deformation.

Setting the plastic option results in the part, when the maximum force is reached, to stay in the position that the force applied to the part, even when the force is removed.

Changing the Mode of the Controllable Coordinates

You can modify the mode of a controllable degree of freedom before and during simulation (see Working with Constraints for information about the controllable coordinate constraints).

The type and number of Controlled Axes will depend on the constraint and its numbers of degrees of freedom (DoF). For example, aHingewill only have an Angular controllable DoF, a Prismatic constraint will have a Linear controllable DoF, a Cylindrical will have a Linear and Angular DoF (see images below).

Controllable Axes for a Hinge Controllable Axes for a Prismatic Controllable Axes for a Cylindrical
  1. Select the constraint in the Explorer panel.

  2. In the Properties panel, select the Controlled Axes tab.

  3. Under the Angular or Linear section, choose one of the options from the Control drop-down list.
    By default the Control is set to Free and the values associates with the other modes are grayed out. The grayed-out container can still be expanded and the values changed but they will not be used by the simulation until the mode changes to the related control. This enables you to set proper values beforehand to be ready once the mode is switched.

    Changing the value of a grayed-out Control
  4. Depending on the mode of your controllable coordinate, you may also need to set one of the following values:

    • In Motorized mode, edit the Desired Velocity and Loss values on the Motor tab.
    • In Lock mode, edit the Damping, Position, and Stiffness values on the Lock tab.

    When the Motor or the Lock is selected, the corresponding container is un-grayed and expanded to make it obvious to the user that some properties need to be defined for this control type.

    Control mode selected with expanded parameters
  5. In the Lock options, you can select Plastic to enable deformation if the maximum force is reached.

Selecting the Plastic option results in the part, when the maximum force is reached, to maintain the position that the force applied to the part, even when the force is removed. Plastic deformation is done in a Plastic Lock by internally updating the lock position. This is done by monitoring the Lock Stiffness, Lock Position, Lock Maximum and Lock Minimum, and the coordinate current force properties of the Locked Coordinate. When using the Plastic mode, you must carefully set the Maximum and Minimum Forces, stiffness of the lock, and apply a proper damping value. Leaving these fields to their default values will not work with this mode of the constraint.

Note
You must set the Lock Velocity property of a non-drifting motor after you select the control mode to Locked and select Plastic.

Customizing Offsets

The constraint attachment (via Position, Primary Axis and Secondary Axis) is set as an offset in the local frame to the given Reference Object. By default (when the field is empty), the Reference Object is the part used for the attachment. However, it can be set to any other object that defines a World Transform property, such as another part, an attachment point, or aGraphics Node from a gallery, for example.

Attachments tab
Attachments tab

The above image shows the properties for the attachment of Part 1 of a constraint. Here, the Reference Object uses an Attachment Point.

The Reference Object and the relative Position, Primary Axis and Secondary Axis can be set directly by their respective fields. During editing, the attachments are updated in real-time in the 3D View. Another useful approach to edit attachments is to use the Attachment Offset Window described in the following section.

Using the Attachment Offset Window

This section describes the functionalities found in the Attachment Offset Window.

Editing the Attachment

The Attachment Offset window is launched by clicking on the Browse button Browse button image beside the Offsets (Relative) row heading.

Its title recalls which attachment you are currently working on (i.e., Part 1, Part 2, Part 3).

At first, the fields are initialized with the current values of the attachment. The Attachment Widget appears in the 3D View representing the current state of the attachment. The Move or the Rotate tools can be attached to the Attachment Widget to manipulate it. The Attachment Offset window shows the changes. Notice that the original attachment remains as it was at time the window was opened for reference. To change the Reference Object, pick one from the 3D View or chose one from the Explorer panel.

The following image shows an example of editing the second part attachment of a typical constraint. In the 3D View, we see the Attachment Point as a little white sphere representing the current Reference Object. The state of the attachment when the window was launched is seen in the 3D View (as a thin reference frame), and its values are seen in the Properties panel. The Attachment Widget appears (as the thick reference frame) in the 3D View, having been moved with the Transform tools 2.5 m. Note that using the Rotate tool in the Attachment Widget simplifies changing the desired orientation of the constraint's primary and secondary axes.

Editing the attachment

The Attachment Offset window features other functionality, as well. The Orthonormalize button quickly recomputes the axes to make sure that they are orthogonal unit vectors. The Reset to Reference button allows the removal of any offset from the current Reference Object.

Attachments and Constraint Violation

When authoring the constraint attachments, often there is a need to have the attachments have the same transform. Otherwise, the constraint might be violated and an instability can appear at the start of the simulation. What specifically make the attachment violate a constraint depends upon many things, among them the constraint type, the relaxation, and its control type. For more information, consult the Part Attachments section of Working with Constraints.

In order to help to construct the attachments of a constraint in such a way that their transforms are equal, use the Copy offset from: field in the Attachment Offset window. In this field, chose one of the other attachments from the drop-down menu and press Apply.

Key Points

  • The Reference Object is used to specify constraint attachments, giving a world space transform with an offset.
  • Any object that defines a World Transform property (some time called IMobile) can be used as a Reference Object.
  • This world space coordinate system is converted into the local space of the part of the constraint. Conversion happens at start of the simulation, or during simulation at the point in time where the constraint gets enabled.
  • The relative transform with respect to the part used in the constraint can be seen in the Outputs tab.
    The relative transform with respect to the part (Output tab)
  • Not setting the Reference Object is equivalent to using the part itself as a reference.
  • Although optional, using a Reference Object to specify a constraint attachment makes it easier to maintain the equality between the attachments in a constraint.
  • The Reference Object allows the definition of a constraint attachment in cases where a part of a constraint is not specified.