# Ptsf

Model ElementPTSF defines a higher pair constraint. A fixed point on one body slides on a surface that is fixed on a second body. The point is not allowed to lift off the surface.

Ptsf

## Attribute Summary

Name Property Modifiable by command? Designable?
id Int ()
label Str () Yes
surface Reference ("Surface") Yes Yes
i Reference ("Marker") Yes Yes
rm Reference ("Marker") Yes Yes
disp Double ([0,0,0], count=3)   FD Only
active Bool () Yes

## Usage

Ptsf (i=objMarker, surface=objSurface, optional_attributes)

## Attributes

i
Reference to an existing Marker.
Defines the marker whose origin is the point that is restricted to move on a surface.
The attribute i is mandatory.
surface
Reference to an existing surface.
Defines the surface to be used in this constraint
The attribute surface is mandatory.
rm
Reference to an existing Marker.
Specifies a fixed marker that defines the coordinate system in which the surface points are defined. It also implicitly defines the body on which the surface is "etched". The surface moves with the body.
The attribute rm is mandatory.
id
Integer
Specifies the element identification number. This number must be unique among all the Ptdsf objects in the model.
This attribute is optional. MotionSolve will automatically create an ID when one is not specified.
Range of values: id > 0
label
String
Specifies the name of the Ptdsf object.
This attribute is optional. When not specified, MotionSolve will create a label for you.
active
Bool
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.

## Example

Create a PTSF.
# Create the I marker
iMark = Marker (body=p2, qp=[1,2,3], zp=[4,5,6], label="iMark")

# Create the surface object
surface = Surface (function="user (10)", routine=cylindricalSurface, uclosed=True, vclosed=False, minpar=[0, -150], maxpar=[2*pi, 150])

# Finally, create the PTSF constraint
thePtsf = Ptsf (i=iMark, surface= Surface, label="thePtsf")