This section describes the Curve to Surface (CVSF) Joint entity of MotionView and shows the various usage, creation, and editing methods.
A Curve to Surface Joint is a higher pair constraint. The Curve to Surface joint provides five degrees of freedom: three rotational at the instantaneous point of contact and two translational DOF.
Common Applications of CVSF Joints are:
• | Cam Follower Mechanisms |
• | Robotic Simulations |
• | Packaging and Manufacturing Simulations |
The topological information required to define an CVSF Joint is shown in the figure below:
The data members of the Curve to Surface Joint can be classified into the following members:
An CVSF Joint needs the following:
• | Two Bodies – Body 1 and Body 2. |
• | The Curve on Body 1 that is constrained to the Surface on Body 2. |
• | The Surface on Body 2. |
• | Reference markers to which the Surface and Curves data are defined – Ref Marker 1 and Ref Marker 2. |
• | An optional argument for the reference marker of the initial condition information for the contact point on the curve, as well as the surface. If not used, the initial condition information is defined with respect to the reference markers of the curve and surface. |
This advanced joint can only be modeled as a Single entity (it cannot be modeled as a Pair entity).
The CVSF Joint can have two types of Initial Conditions – Position and Velocity.
• | Position Initial Condition for a CVSF Joint means the starting point location of Body 1 that lies on the Contact Point on the Surface of Body 2 – XYZ Position. |
• | The starting point location of Body 2 that lies on the Curve of Body 1 – XYZ Position. |
• | Additionally, a Marker can be specified as a Reference marker for specifying the Position and Velocity initial conditions. By default, this marker is set of Joint Reference Marker that belongs to Body 2 – Initial Condition Marker. |
To learn how to add a Curve to Surface Joint to a model, please see the Joints topic.
Important Note - In order to completely specify a Curve to Surface Joint, the following entities must first be created:
1. | A 3D reference Curve. |
2. | A 3D Reference Surface. |
3. | A Marker that belongs to Body 1 of the Joint and is located appropriately so that the Curve entity can be meaningfully described as belonging to the Coordinate System of the Reference Marker. |
4. | A Marker that belongs to Body 2 of the Joint and is located appropriately so that the Surface entity can be meaningfully described as belonging to the Coordinate System of the Reference Marker. |
Joints Panel (CVSF Joint) – Connectivity Tab
Joints Panel (CVSF Joint) – Initial Conditions Tab
|
The Project Browser will filter the entities and display only the Advanced Joints in the model.
The corresponding panel is automatically displayed.
|
The model containing the CVSF Joint can be saved in MDL format from MotionView and exported in the MotionSolve XML format.
The Curve to Surface Joint can be added to the model using MDL Statements shown below:
To learn how to create a complete model using MDL Statements please refer to tutorial MV-1060: Introduction to MDL |
The CVSF Joint when exported to the MotionSolve XML format is defined as a Constraint_CVSF statement. Syntax: <Constraint_CVSF id= "integer" label= “Name of Constraint_CVSF element” i_marker_id= "integer" [ i_disp_xo= "real" i_disp_yo = "real" i_disp_zo ="real" ] curve_id = "integer" j_marker_id= "integer" [ j_disp_xo= "real" j_disp_yo= "real" j_disp_zo= "real" ] surface_id = "integer" > /> In case of the CVSF Joint the model statement will be as shown below: <Constraint_CVSF id = "301001" label = "Curve to Surface Joint" i_marker_id = "30103022" j_marker_id = "30101081" i_disp_x0 = "1." i_disp_y0 = "16." i_disp_z0 = "0." j_disp_x0 = "150." j_disp_y0 = "250." j_disp_z0 = "150." curve_id = "301001" surface_id = "301001" /> In the above XML Model statement the i_marker_id and j_marker_id represent the I and J markers of the Joint which belong to Body 1 and Body 2 respectively. To understand the complete syntax of the Constraint_CVSF XML model statement, please refer to the MotionSolve Reference Guide Page for Constraint_CVSF. |
In MotionView, TCL can be used to add any MDL entities to the model. There are two TCL commands that can be used to add an entity:
Syntax: mdlmodel_handle InterpretEntity new_handle keyword varname label Example: mdlmodel_handle InterpretEntity advjoint CurveToSurfaceJoint aj_cvsf "\"Curve to Surface Joint\"" b_sb1 B_Ground crv_cvsf sur_cvsf m_b1crv m_b2srf MODEL.m_b1crv MODEL.m_b2srf; |
The initial conditions for the Curve to Surface Joint can be specified using the InterpretSet TCL command. Syntax: mdlmodel_handle InterpretSet keyword tokens Example: mdlmodel_handle InterpretSet SetJointICFlag aj_cvsf "true" "true"; mdlmodel_handle InterpretSet SetJointIC aj_cvsf 1 16 0 150 250 150; |
The InterpretEntity command is used to add entities to the model and the command InterpretSet is used to set the entity properties. So in the case of the Curve to Surface Joint, the properties that can be set are the Joint Initial Conditions. Extended definitions for InterpretEntity and InterpretSet can be found in the HyperWorks Desktop Reference Guide.
Note - When using the InterpretEntity and InterpretSet commands, it is important to also use the Evaluate command in order for the changes to take effect immediately.
To learn how to create a complete model using Tcl commands, please refer to tutorial MV-1040: Model Building Using Tcl.
See Also:
*CurveToSurfaceJoint (MDL Model Statement)
*SetJointIC (MDL Model Statement)
*Curve (MDL Model Statement)
*Surface (MDL Model Statement)
Constraint_CVSF (XML Command)
InterpretEntity (Tcl Command)
InterpretSet (Tcl Command)