All Frameworks Class Hierarchy This Framework Indexes
KinematicsInterfaces Interface CATIKinMechanism
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATIKinMechanism
Interface to get and set mechanism's information.
Role: A mechanism has a name and is composed of Joints, Commands and a fixed part.
The state of the mechanism is represented by the values of its commands.
The methods provided by this interface allow to access this information.
Method Index
- o
AddCommand(CATIKinJoint*,char*,CATIKinCmd**)
- Creates a new command in a mechanism.
- o
AddJoint(char*,CATLISTP(CATBaseUnknown)*,boolean,CATIKinJoint**)
- Creates a new joint in a mechanism.
- o
GetCmdList(CATLISTP(CATBaseUnknown)**)
- Returns the list of commands of the mechanism.
- o
GetCmdValues(int*,double**)
- Returns the values of each command of the mechanism.
- o
GetFixedProduct(CATIProduct**)
- Returns the fixed product of the mechanism.
- o
GetJointList(CATLISTP(CATBaseUnknown)**)
- Returns the list of joints of the mechanism.
- o
GetProductList(CATLISTP(CATBaseUnknown)**)
- Returns the list of the products involved in the mechanism.
- o
GetProductMotion(CATIProduct*,double**)
- Gets the motion of one product after calling a Set or ResetCmdValues.
- o
GetStatus(int*,int*,boolean*)
- Returns the status of a mechanism.
- o
GetTimeParameter(CATICkeParm**)
- Returns the time parameter of the mechanism.
- o
RemoveCommand(CATIKinCmd*)
- Removes a command in the mechanism .
- o
RemoveJoint(CATIKinJoint*)
- Removes a joint in the mechanism .
- o
ResetCmdValueToZero(CATIKinCmd*)
- Sets the command value to zero for the given command without disturbing part positions.
- o
ResetCmdValues()
- Resets the values of each command of the mechanism to their initial position.
- o
SetCmdValuesWithMultiSteps(int,double*,int,int&)
- Reaches the command values in given number of steps and updates the visualization after each step.
- o
SetCmdValues(int,double*)
- Sets the values of each command of the mechanism and performs a solve with these values.
- o
SetFixedProduct(CATIProduct*,boolean)
- Sets a new fixed product on mechanism.
- o
SetTimeParameter(double)
- Sets the values of the time parameter of the mechanism and performs a solve with these value (only if mechanism can be simulated with laws).
- o
UpdateAllJoints()
- Update all the mechanism joints.
Methods
o AddCommand
| public virtual AddCommand( | | iJoint, |
| const | iCmdType, |
| | oCmd) |
-
Creates a new command in a mechanism.
- Parameters:
-
- iJoint
- The joint supporting the command.
- iCmdType
- The type of the command to create (the basic types are defined in CATKinDefs).
- oCmd
- The created command.
- See also:
- CATIKinJoint, CATIKinCmd
o AddJoint
| public virtual AddJoint( | const | iJointType, |
| | iConnectorList, |
| | iCreateConstraints, |
| | oJoint) |
-
Creates a new joint in a mechanism.
- Parameters:
-
- iJointType
- The type of joint to create (the basic types are defined in CATKinDefs).
- iConnectorList
-
The list of elements on which the joint is created. The list of input elements connectors except for Rigid joint, which must be products.
Here is the table of elements you have to give for each type of joint :
e.g.: "Line (1)" means that the geometry type must be a line and must belong to the 1st product.
| Type | Element 1 | Element 2 | Element 3 | Element 4 | Element 5 | Element 6 | Element 7 | Element 8 |
| Prismatic | Line (1) | Line (2) | Plane (1) | Plane (2) |
| Revolute | Line (1) | Line (2) | Plane (1) | Plane (2) |
| Rigid | Product (1) | Product (2) |
| Spherical | Point (1) | Point (2) |
| Point Curve | Point (1) | Curve (2) |
| Slide Curve | Curve (1) | Curve (2) |
| Roll Curve | Curve (1) | Curve (2) |
| Cylindrical | Line (1) | Line (2) |
| Screw | Line (1) | Line (2) |
| Universal | Line (1) | Line (2) | Line (1 or 2), optional |
| CV Joint | Line (1) | Line (2) | Line (3) |
| Point-Surface | Point (1) | Surface (2) |
| Planar Surface | Plane (1) | Plane (2) |
| Gear Joint | Line (1) | Line (3) | Plane (1) | Plane (3) | Line (2) | Line (3) | Plane (2) | Plane (3) |
| Rack Joint | Line (1) | Line (3) | Plane (1) | Plane (3) | Line (2) | Line (3) | Plane (2) | Plane (3) |
| Cable Joint | Line (1) | Line (3) | Plane (1) | Plane (3) | Line (2) | Line (3) | Plane (2) | Plane (3) |
Notes :
- for Prismatic Joint : Plane 1 must contain Line 1 and Plane 2 must contain Line 2
- for Revolute Joint : Line 1 must be normal to Plane 1 and Line 2 must be normal to Plane2
- for Universal Joint : Connector 3 is the cross-pin axis. It must belong to product 1 or 2 and must be orthogonal to Line (1) or Line (2). it is optional.
- for CV Joint : the angle between Line (1) and Line (2) must be the same as the angle between Line (2) and Line (3)
- for Gear Joint : it is seen as a Revolute joint between Product 1 and Product 3, and a Revolute joint between Product 2 and Product 3
- for Rack Joint : it is seen as a Prismatic joint between Product 1 and Product 3, and a Revolute Joint between Product 2 and Product 3
- for Cable Joint : it is seen as a Prismatic joint between Product 1 and Product 3, and a Prismatic Joint between Product 2 and Product 3
- iCreateConstraints
- The boolean to set to TRUE if you want to create the associated assembly constraints
and FALSE if not.
- oJoint
- The created joint.
- See also:
- CATLISTP(CATBaseUnknown), CATIKinJoint
o GetCmdList
| public virtual GetCmdList( | | oCmdlist) |
-
Returns the list of commands of the mechanism.
- Parameters:
-
- oCmdList
- The list of commands (allocated by the method).
- See also:
- CATLISTP(CATBaseUnknown)
o GetCmdValues
| public virtual GetCmdValues( | | oSize, |
| | oCmdValues) |
-
Returns the values of each command of the mechanism.
- Parameters:
-
- oSize
- The size of the list.
- oCmdValues
- The list of values (allocated by the method).
o GetFixedProduct
| public virtual GetFixedProduct( | | oFixedProduct) |
-
Returns the fixed product of the mechanism.
- Parameters:
-
- oFixedProduct
- The fixed product.
- See also:
- CATIProduct
o GetJointList
| public virtual GetJointList( | | oJointList) |
-
Returns the list of joints of the mechanism.
- Parameters:
-
- oJointList
- The list of joints (allocated by the method).
- See also:
- CATLISTP(CATBaseUnknown)
o GetProductList
| public virtual GetProductList( | | oProductList) |
-
Returns the list of the products involved in the mechanism.
- Parameters:
-
- oProductList
- The list of products (allocated by the method).
- See also:
- CATLISTP(CATBaseUnknown)
o GetProductMotion
| public virtual GetProductMotion( | | iProduct, |
| | oMotion) |
-
Gets the motion of one product after calling a Set or ResetCmdValues.
Note : the motion returned is always relative to the initial position
- Parameters:
-
- iProduct
- The product for which you want to know the motion
- oMotion
- The motion of the product. The 12 double vector (allocated by the method) is set as following :
- Position 0 to 2 : the first column of the rotation matrix
- Position 3 to 5 : the second column of the rotation matrix
- Position 6 to 8 : the third column of the rotation matrix
- Position 9 to 11 : the tranlsation vector
o GetStatus
| public virtual GetStatus( | | oDOFWithoutCmd, |
| | oDOFWithCmd, |
| | oSimulationReady) |
-
Returns the status of a mechanism.
- Parameters:
-
- oDOFWithoutCmd
- The degree of freedom without any command
- oDOFWithCmd
- The degree of freedom with commands
- oSimulationReady
- The boolean returning TRUE if the mechanism can be simulated and FALSE if not
o GetTimeParameter
| public virtual GetTimeParameter( | | oTimeParameter) |
-
Returns the time parameter of the mechanism.
- Parameters:
-
- oTimeParameter
- The time parameter.
- See also:
- CATICkeParm
o RemoveCommand
| public virtual RemoveCommand( | | iCmd) |
-
Removes a command in the mechanism .
- Parameters:
-
- iCommand
- The Command to remove.
o RemoveJoint
| public virtual RemoveJoint( | | iJoint) |
-
Removes a joint in the mechanism .
- Parameters:
-
- iJoint
- The Joint to remove.
o ResetCmdValueToZero
| public virtual ResetCmdValueToZero( | | iCmd) |
-
Sets the command value to zero for the given command without disturbing part positions.
- Parameters:
-
- iCommand
- The command to reset to zero
o ResetCmdValues
| public virtual ResetCmdValues( | ) |
-
Resets the values of each command of the mechanism to their initial position.
Note : to get the displacements of each product, use GetProductDisplacement
o SetCmdValuesWithMultiSteps
| public virtual SetCmdValuesWithMultiSteps( | | iSize, |
| | iCmdValues, |
| | inbSteps, |
| | oStepReached) |
-
Reaches the command values in given number of steps and updates the visualization after each step.
- Parameters:
-
- iSize
- Number of commands in a mechanism
- iCmdValues
- Array of target command values (position to achieve)
- inbSteps
- Number of steps in witch the target command value is to be reached.
Legal values
- inbSteps greater than 0
- Number of step must be greater than zero.
- oStepReached
- Number of steps reached successfully. This values is equal to iSize if this method does not fail.
- o SetCmdValues
-
| public virtual SetCmdValues( | | iSize, |
| | iCmdValues) |
-
Sets the values of each command of the mechanism and performs a solve with these values.
Note : to get the motion (displacement) of each product, use GetProductMotion
- Parameters:
-
- iSize
- The size of the list.
- iCmdValues
- The list of values.
- o SetFixedProduct
-
| public virtual SetFixedProduct( | | iFixedProduct, |
| | iCreateFixConstraint) |
-
Sets a new fixed product on mechanism.
- Parameters:
-
- iFixedProduct
- The fixed product.
Note : if iFixedProduct is NULL, the Fixed Product is unset.
- iCreateFixConstraint
- The boolean to set to TRUE if you want to create the associated assembly fix constraint
and FALSE if not.
- See also:
- CATIProduct
- o SetTimeParameter
-
| public virtual SetTimeParameter( | | iTimeParameter) |
-
Sets the values of the time parameter of the mechanism and performs a solve with these value (only if mechanism can be simulated with laws).
Note : to get the motion (displacement) of each product, use GetProductMotion
- Parameters:
-
- iTimeParameter
- The time parameter.
- o UpdateAllJoints
-
| public virtual UpdateAllJoints( | ) |
-
Update all the mechanism joints.
This object is included in the file: CATIKinMechanism.h
If needed, your Imakefile.mk should include the module: CATKiiKinematicsItf