Skip to main content

Command Reference for Rigid Dynamics Systems 2025 R2

Measure

Last update: 17.07.2025

Most useful measures are pre-existing in the Rigid Dynamics model, and can be accessed using other object get functions. Additional measures can be created before solving for use in custom post-processing or as input values for joint conditions. For example, measures can be created to express conditions. In this case, the measure must be added to the system to be computed at each time step (see component measure example below).

ID table: CS_Measure

Constants

For the measure type (E_MeasureType):

E_1DRotationJoint, E_3DRotationBody, E_3DRotationJoint, E_Acceleration, E_ActuatorStatus, E_ActuatorEnergy, E_AnsysJointForceAndTorque, E_AXPY, E_BodyAcceleration, E_BodyIntertialBCSQuaternion, E_BodyRotation, E_BodyTranslation, E_CenterOfGravity, E_Component, E_Constant, E_Contact, E_ContactForce, E_ContactVelocity, E_Counter, E_Displacement, E_Distance, E_DistanceDot, E_Divides, E_EigenValue, E_DOFSensitivity, E_Dot, E_ElasticEnergy, E_Energy, E_EulerAngles, E_ForceMagnitude, E_Forces, E_IntegratedOmega, E_JointAcceleration, E_JointDOFFrictionCone, E_JointDriverForce, E_JointForce, E_JointMBDVelocity, E_JointNormalForce, E_JointTranslation, E_JointRotation, E_JointVelocity, E_KineticEnergy, E_MassMomentsOfInertia, E_MeasureDotInDirectionOfLoad, E_Minus, E_Modulus, E_Multiplies, E_Norm, E_Omega, E_OmegaDot, E_OutputContactForce, E_Plus, E_PointOnCurveGeometryMeasure, E_PointOnCurveJointSigmaMeasure, E_PointToPointRotation, E_PointToPointRotationDot, E_Position, E_PotentialEnergy, E_RadialGap, E_ReferenceEnergy, E_RelativeAcceleration, E_RelativePosition, E_RelativeVelocity, E_RotationalRelativeDOF, E_RotationMatrix, E_SphericalStop, E_StopVelocity, E_StopStatus, E_Time, E_TimeStep, E_TranslationalJoint, E_UniversalAngles, E_UnknownType, E_User, E_Velocity, E_Violation, E_XYZAnsysRotationAngles, E_ZYXRotationAngles, E_AngularMomentum

Members

Length

Number of components of the measure

Example:

nbValues = Measure.Length

Type

Measure type

CalculationMethod

A measure can use direct calculation or be time integrated. On a measure that uses direct calculation, it is possible to retrieve the measure value through time. On a measure that is time-integrated, both values and time derivatives can be retrieved.

Name

Measure Name

Member functions

FillValuesThroughTime()

Returns a two dimensional array. This function is to be called after the solution has been performed. The first dimension of the returned array is the number of time values in the transient. The second dimension is the size of the measure plus one. The first column contains the time values, while the subsequent columns contain the corresponding measure values.

Example:

jointRotation = J1.GetRotation()
jointVelocity = J1.GetVelocity()
jointAcceleration = J1.GetAcceleration()
jointForce = J1.GetForce()

jointRotationValues =jointRotation.FillValuesThroughTime()
jointVelocityValues =jointVelocity.FillValuesThroughTime()
jointAccelerationValues =jointAcceleration.FillValuesThroughTime()
jointForceValues =jointForce.FillValuesThroughTime()

nbValues = jointRotationValues.GetLength(0)

print jointRotation.Id

print '  Time     Rotation Velocity Acceleration'
for i in range(0,nbValues):
    print jointRotationValues[i,0],jointRotationValues[i,1],jointVelocityValues[i,1],jointAccelerationValues[i,1]

fich.close()

FillDerivativesThroughTime()

Returns a two dimensional array. This function is to be called after the solution has been performed. The first dimension of the returned array is the number of time values in the transient. The second dimension is the size of the measure plus one: the first column contains the time values, while the subsequent columns contain the corresponding measure derivatives. These derivatives are available on measures that are time integrated. To know if a measure is time integrated, use the CalculationMethod member.

Derived classes

CS_JointVelocityMeasure

Both translational and rotational joint velocities are expressed in the joint reference coordinate system. The number of components is the number of translational degrees of freedom plus the number of rotational degrees of freedom. For example, the size of the joint velocity measure for a revolute joint is 1. It contains the relative joint rotation velocity along the z axis of the joint reference coordinate system. The size of the measure for a slot joint is 4: one component for the relative translational velocity, and the 3 components of the relative rotational velocity. The joint velocity measure can be obtained from the joint using the GetVelocity function. Rotational velocities are expressed in radians/second.

CS_JointAccelerationMeasure

Both translational and rotational joint accelerations are expressed in the joint reference coordinate system. The number of components is the number of translational degrees of freedom plus the number of rotational degrees of freedom. The joint acceleration measure can be obtained from the joint using the GetAcceleration function.

CS_JointRotationMeasure

  • For revolute joints, cylindrical joints, or single rotation general joints, this measure has only one component: the relative angle between the reference and the moving coordinate system of the joint. Rotations are expressed in radians.

  • For slots, spherical joints, bushing joints, and 3 rotation vectors, this measure contains values that are not directly usable.

  • For universal joints, this measure contains the two joint axis rotational velocities. (The first one along the X axis of the reference coordinate system and the second along the Z axis of the moving coordinate system.) These angles are expressed in radians.

CS_JointTranslationMeasure

This measure contains only the joint relative translations, expressed in the joint reference coordinate system. The joint translation measure can be obtained from the joint using the GetTranslationfunction.

CS_JointForceMeasure

This measure contains the total forces and moment that develop in the joint. This includes constraint forces, elastic forces, and external forces. The joint velocity measure can be obtained from the joint using the GetForcefunction.

CS_PositionMeasure

This measure allows for tracking of the position of a Body Coordinate System over time.

Example:

CoMBCS = OneBody.InertiaBodyCoordinateSystem
Pos = CS_PositionMeasure(CoMBCS)
Env=CS_Environment.FindFirstNonNull()
Sys = Env.System
Sys.AddMeasure(Pos)

CS_ComponentMeasure

This measure allows the extraction of one component of an existing measure. This component can be expressed in a non default coordinate system. A component of -2 will compute the norm 2 of the vector of values of the measure.

Example:

Planar = CS_Joint.Find(_jid)
Vel = Planar.GetVelocity()
Xglobaldirection = 0
VelX = CS_ComponentMeasure(Vel,Xglobaldirection)
Sys.AddMeasure(VelX)

CS_AXPYMeasure

This measure allows a linear transformation from another measure with a scaling factor and an offset. This can be useful to transform an internal rotation measure that is expressed in radians to a measure in degrees used as an input to a load calculation, for example.

Example:

Revolute = CS_Joint.Find(_jid)
Rot = Revolute.GetRotation()
RotInDegrees = CS_AXPYMeasure( Rot, 180.0/math.pi, 0. )
Sys.AddMeasure(RotInDegrees)

CS_ModulusMeasure

This measure allows you to compute the floating point remainder of value/modulus.

Example:

Revolute = CS_Joint.Find(_jid)
Rot = Revolute.GetRotation()
Rot02pi = CS_ModulusMeasure( Rot, 2.0*math.pi )
Sys.AddMeasure(Rot02pi)

CS_OutputContactForceMeasure

This measure contains four 3D vectors:

  • Values 0 to 2 are the total contact force components between the two bodies, including the normal and tangential contributions.

  • Values 3 to 5 are the coordinates of the point where the interaction between the two bodies is reduced to a force; in other words, the total torque is zero.

  • Values 6 to 8 are the frictional force between the two bodies.

  • Values 9 to 11 are frictional moment components at the reduction point.

CS_AngularMomentumMeasure

This measure computes the Angular Momentum of a list of bodies. Its value is a 3D vector.

Example:

FlyWheel= CS_Body.Find(_bid)
FlyWheelAngularMomentumMeasure = CS_AngularMomentumMeasure()
FlyWheelAngularMomentumMeasure.AddBody(FlyWheel)
Sys.AddMeasure(FlyWheelAngularMomentumMeasure)

Connect with Ansys