| SimMechanics™ | ![]() |
Represent customizable composite joint with up to three translational and up to three rotational degrees of freedom
Joints
The Custom Joint block is a composite joint that you can customize with a specified combination of primitives (prismatic, revolute, or spherical) representing the most general and unconstrained degrees of freedom (DoFs) in three dimensions:
Up to three translational DoFs as three prismatic primitives
Up to three rotational DoFs:
As a single spherical primitive
As one, two, or three revolute primitives
The sense of rotational DoFs is defined by the right-hand rule. One spherical or three revolutes together form a right-handed system.
You can add, configure, and delete these primitives from the Custom Joint, with a minimum and default of one primitive. The properties of each primitive are the same as the individual Joints of the same names.
Warning A joint with two or three revolute primitives becomes singular if two or three of the rotation axes become parallel ("gimbal lock"). A joint with two or three prismatic primitives becomes singular if two or three of the translation axes become parallel. The simulation stops with errors in these cases. A joint with three revolute primitives must be configured in the initial state with the three revolute primitive axes mutually orthogonal. There are no restrictions on the primitive axes once the simulation starts, except to prevent any two of the primitive axes from becoming parallel. |
The Custom Joint block's primitives are assembled: you must connect each side of the Joint block to a Body block at a Body coordinate system (CS) point, and the origins of these Body CSs must be spatially collocated points, within assembly tolerances..
You can connect Actuator and Sensor blocks to a Custom Joint, with each Actuator and Sensor connecting to an individual primitive. You cannot connect an Actuator to a spherical primitive.
You must connect any Joint block to two and only two Body blocks, and Joints have a default of two connector ports for connecting to base and follower Bodies.
Any Joint block represents only the abstract relative motion of two bodies, not the bodies themselves. You must specify a reference CS to define the direction of the joint axes.

The dialog has two active areas, Connection parameters and Parameters.
The base (B)-follower (F) Body sequence determines the sense of positive motion:
Positive translation is the follower moving in the direction of the translation axis.
Positive rotation is the follower rotating in the right-hand rule about the rotation axis.
Positive rotation is the follower rotating in the right-hand rule as shown by the motion figure in the Spherical block reference page.
When you connect the base (B) connector port on the Custom Joint block to a Body CS Port on a Body, this parameter is automatically reset to the name of this Body CS. See the following figure, Custom Joint Base and Follower Body Connector Ports.
The base Body is automatically connected to the first joint primitive in the primitive list in Parameters.
When you connect the follower (F) connector port on the Custom Joint block to a Body CS Port on a Body, this parameter is automatically reset to the name of this Body CS. See the following figure, Custom Joint Base and Follower Body Connector Ports.
The follower Body is automatically connected to the last joint primitive in the primitive list in Parameters.
Using this spinner menu, you can set the number of extra connector ports needed for connecting Joint Actuator and Joint Sensor blocks to this Joint. The default is 0. A spherical primitive cannot be connected to an Actuator.
The motion of a prismatic primitive is specified in linear units. The motion of a revolute primitive is specified in angular units. The motion of a spherical primitive is three DoFs specified in quaternion form.
Custom Joint Base and Follower Body Connector Ports

Toggle between the Axes and Advanced panels with the tabs.
The entries on the Axes pane are required. Each DoF primitive in Custom Joint has an entry line. These lines specify the direction of the axes of action of the DoFs that the Custom Joint represents.

In the pull-down menu, select a label and primitive type for this DoF. Up to three prismatic primitives P1, P2, P3 are allowed. The rotational DoFs are represented by up to three revolute primitives: R1, R2, R3. A spherical primitive S can take all three allowed rotational DoFs instead.
The default value is R1 - Revolute.
Enter here as a three-component vector the directional axis defining the allowed motion of this primitive and its corresponding DoF:
Prismatic: axis of translation
Revolute: axis of rotation
Spherical: field is not active
The default vector is [0 0 1]. The axis is a directed vector whose overall sign matters.
To prevent singularities and simulation errors, no two of the revolute axes and no two of the prismatic axes can be parallel.
Using the pull-down menu, choose the coordinate system (World, the base Body CS, or the follower Body CS) whose coordinate axes the vector axis of action is oriented with respect to. This CS also determines the absolute meaning of forces/torques and motion along/about the joint axis. The default is World.
The field is not active for a spherical primitive.
The Custom Joint primitives list controls (see the following figure, Custom Joint Primitives List Controls) allow you to add, reorder, and delete joint primitives in a Custom Joint block:
To add a joint primitive to the primitives list:
Highlight an existing primitive name in the list.
Click on the Add button (see the following figure, Custom Joint Primitives List Controls).
A new primitive will appear immediately below the primitive you highlighted.
To change the position of a joint primitive in the list:
Highlight the primitive whose position you want to change.
Click on the Up or Down button (see the following figure, Custom Joint Primitives List Controls) until the primitive is where you want it.
To delete a joint primitive from the list:
Highlight the primitive you want to delete.
Click on the Delete button (see the following figure, Custom Joint Primitives List Controls).
The primitive you highlighted disappears.
Custom Joint requires at least one primitive, which you cannot delete.
Custom Joint Primitives List Controls


The Advanced pane is optional. You use it to control the way SimMechanics™ simulation interprets the topology of your schematic diagram.
In a closed loop, the simulation internally and automatically cuts one and only one joint.
If you want this particular joint to be weighted preferentially for cutting during the simulation, select the check box. The default is not selected.
Bushing, Gimbal, Joint Actuator, Joint Initial Condition Actuator, Joint Sensor, Joint Stiction Actuator, Prismatic, Revolute, Six-DoF, Spherical
See Modeling Degrees of Freedom for more on representing DoFs with Joints.
See Verifying Machine Topology and How SimMechanics™ Software Works for more on closed loops and cutting.
![]() | Continuous Angle | Cylindrical | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |