All Frameworks Class Hierarchy This Framework Previous Next Indexes
KinematicsInterfaces Interface CATIKinMechanism
System.IUnknown
|
+---System.IDispatch
|
+---System.CATBaseUnknown
|
+---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
ResetCmdValues()
- Resets the values of each command of the mechanism to their initial position.
- 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
-
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
-
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
-
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 HRESULT __stdcall GetCmdValues( | int* | oSize, |
| double** | oCmdValues) const=0 |
-
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
-
Returns the fixed product of the mechanism.
- Parameters:
-
- oFixedProduct
- The fixed product.
- See also:
- CATIProduct
o GetJointList
-
Returns the list of joints of the mechanism.
- Parameters:
-
- oJointList
- The list of joints (allocated by the method).
- See also:
- CATLISTP(CATBaseUnknown)
o GetProductList
-
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
-
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 HRESULT __stdcall GetStatus( | int* | oDOFWithoutCmd, |
| int* | oDOFWithCmd, |
| boolean* | oSimulationReady) const=0 |
-
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
-
Returns the time parameter of the mechanism.
- Parameters:
-
- oTimeParameter
- The time parameter.
- See also:
- CATICkeParm
o RemoveCommand
-
Removes a command in the mechanism .
- Parameters:
-
- iCommand
- The Command to remove.
o RemoveJoint
-
Removes a joint in the mechanism .
- Parameters:
-
- iJoint
- The Joint to remove.
o 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 SetCmdValues
-
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
-
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
-
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
-
Update all the mechanism joints.
This object is included in the file: CATIKinMechanism.h
If needed, your Imakefile.mk should include the module: CATKiiKinematicsItf