# Mate

Model ElementMate is used to specify general mating constraints between geometric primitives. Mate differs from JOINT and JPRIM in that it specifies more general constraints based on distance, tangency, and coincidence relations between mating geometries.

Mate

## Attribute Summary

Name Property Modifiable by command? Designable?
id Int ()
label Str () Yes
type Enum (Type)
i Reference ("Marker") Yes Yes
j Reference ("Marker") Yes Yes
radius Double () Yes FD Only
iradius Double () Yes FD Only
jradius Double () Yes FD Only
dist Double () Yes FD Only
height Double () Yes FD Only
active Bool () Yes
virtual Bool () Yes
*Type ("COI_POI_CYL",   "COI_POI_SPH",   "COI_POI_LIN",   "COI_POI_POI",
"COI_POI_CON",   "COI_LIN_LIN",   "COI_LIN_CYL",   "COI_LIN_PLA",
"DIS_POI_POI",   "DIS_POI_SPH",   "DIS_POI_LIN",   "DIS_POI_CYL",
"DIS_SPH_SPH",   "DIS_SPH_LIN",   "DIS_SPH_CYL",   "DIS_SPH_CON",
"DIS_SPH_PLA",   "DIS_LIN_LIN",   "DIS_LIN_CYL",   "DIS_LIN_PLA",
"DIS_CYL_CYL",   "DIS_PLA_CON",   "DIS_PLA_CYL",   "TAN_SPH_LIN",
"TAN_SPH_CYL",   "TAN_SPH_PLA",   "TAN_SPH_CON",   "TAN_SPH_SPH",
"TAN_LIN_CYL",   "TAN_CYL_CYL",   "TAN_PLA_CYL",   "TAN_PLA_CON")

## Usage

Mate (i=objMarker, j=objMarker, type=string, optional_attributes)

## Attributes

i
Reference to an existing marker
Specifies a marker that defines the connection on the first part. The part may be a rigid, a flexible, or a point mass.
This parameter is mandatory.
j
Reference to an existing marker
Specifies a marker that defines the connection on the second part. The part may be a rigid, a flexible, or a point mass.
This parameter is mandatory.
type
Specifies the type of mate between I and J.
This parameter is mandatory.
The table below shows the different types of MATES and the number of degrees of freedom removed.
Mate Type # Mate Type # Mate Type #
COI_POI_SPH

DIS_POI_POI

DIS_POI_SPH

DIS_SPH_SPH

TAN_SPH_SPH

COI_POI_CYL

DIS_POI_LIN

DIS_POI_CYL

DIS_SPH_LIN

DIS_SPH_CYL

TAN_SPH_LIN

1

1

1

1

1

1

1

1

1

1

1

TAN_SPH_CYL

COI_LIN_CYL

DIS_LIN_LIN

DIS_LIN_CYL

DIS_CYL_CYL

TAN_LIN_CYL

TAN_CYL_CYL

COI_LIN_PLA

COI_POI_POI

COI_POI_LIN

COI_LIN_LIN

1

3

2

2

2

2

2

2

3

2

4

DIS_LIN_PLA

DIS_PLA_CYL

TAN_PLA_CYL

DIS_SPH_PLA

TAN_SPH_PLA

COI_POI_CON

DIS_SPH_CON

TAN_SPH_CON

DIS_PLA_CON

TAN_PLA_CON

2

2

2

1

1

1

1

1

3

3

id
Integer
Specifies the element identification number. This number must be unique among all the MATE objects in the model.
This attribute is optional. MotionSolve will automatically create an ID when one is not specified.
Range of values: id
label
String
Specifies the name of the MATE object.
This attribute is optional. When not specified, MotionSolve will create a label for you.
Double
Radius of the circle/sphere specified in the mate constraint.
This attribute is mandatory for some MATEs, and unnecessary for others. 1
Double
Radius of the I part circle/sphere specified in the mate constraint.
This attribute is mandatory for some MATEs, and unnecessary for others. 1
Double
Radius of the J part circle/sphere specified in the mate constraint.
This attribute is mandatory for some MATEs, and unnecessary for others. 1
dist
Double
Distance between the two parts constrained by the DIS.
This attribute is mandatory for some MATEs, and unnecessary for others. 1
height
Double
Height of the part specified in the mate constraint.
This attribute is mandatory for some MATEs, and unnecessary for others. 1
active
Boolean
Select one from "TRUE" or "FALSE"
• "TRUE" indicates that the element is active in the model and it affects the behavior of the system
• "FALSE" indicates that the element is inactive in the model and it does not affect the behavior of the system. It is almost as if the entity was removed from the model, of course with the exception that can be turned "ON" when desirable.
The attribute active is optional. When not specified, active defaults to "TRUE"
virtual
Boolean
Defines whether the constraint is virtual or regular. Select "TRUE" or "FALSE".
• TRUE” indicates that the constraint is implemented as a virtual constraint.
• FALSE” indicates that the constraint is implemented as a regular algebraic constraint.

Optional. When not specified, virtual defaults to “FALSE”. For a more detailed explanation about virtual, see Constraint: Joint.

## Examples

Create a MATE of type TAN_PLA_CON.
TanPlaCon = Mate (label="Mate1", i=imark, j=jmark, type="TAN_PLA_CON", radius=600, height=800)
Create a MATE of type TAN_PLA_CYL. Then set its radius to 0.035.
TanPlaCyl = Mate (label="Mate2", i=imark, j=jmark, type="TAN_PLA_CYL")
TanPlaCyl.radius=0.035