Motion

Motion

Class Motion()

Motion(parent='MODEL', name='Motion_n', label='Motion_n', active=True, 
use_markers=False, itype='DISP', jt=None, jt_type='TRANS', direction='X', i=None, j=None, 
ic_disp=0, ic_vel=0, user=False, usr_sub='`USER()`', local_funcname='MOTSUB', 
use_local_dll=False, local_dll='', local_func_type='DLL)

A motion is used to apply a motion to a joint or a motion constraint between two markers.

setValue, getAssociatedGraphics

Keyword Arguments

Argument Data Type Description Default
name String The variable name. Motion_n, for next available integer n.
label String The descriptive label. Motion_n, for next available integer n.
parent Object The parent. MODEL
active Bool Used to activate or deactivate this entity. True
use_markers Bool Motion between two markers if True, motion to a joint otherwise. False
itype Enum The type. One of DISP, VEL or ACCL. DISP
jt Joint The joint to which the motion is applied when use_markers is False. None
jt_type Enum Applies motion to the translational or rotational degree of freedom when using a cylindrical joint. Takes values TRANS or ROT. TRANS
direction Enum The motion direction. One of X, Y, Z for translation along the X, Y, Z axis of Marker 2. One of B1, B2, B3 for rotation along the X, Y, Z axis of Marker 2. X
i Marker The first marker, when use_markers is True. None
j Marker The second marker, when use_markers is True. None
ic_disp Double The initial displacement of the motion when itype is VEL or ACC. 0
ic_vel Double The initial velocity of the motion when itype is ACC. 0

Instances

value (Nonlinear) - Set nonlinear value or solver expression for motion. Defaults to .

Notes

1. The parent parameter can only be initialized by the constructor and should not be modified directly.

2. Only parent can be used as a positional argument in the constructor.

3. Instance is a reference to an entity. You cannot modify an instance, but can modify its properties.

Methods

getAssociatedGraphics()

Get all the graphics that are associated with this object.

Returns:

List of all graphic associated with this motion.

Return type:

(list)

setValue(name, value)

Sets value of an attribute.

Parameters:

name str Name of the attribute.
value ** Value of the attribute to be set.

Returns:

Returns True if the value was successfully set else False.

Return type:

Bool

Motion Pair

Class MotionPair()

MotionPair(parent='MODEL', name='MotionPair_n', label='MotionPair_n', active=True, sym='NONE')

Motion pair containing left and right instances of singles.

Keyword Arguments

Argument Data Type Description Default
name String The variable name. MotionPair_n, for next available integer n.
label String The descriptive label. MotionPair_n, for next available integer n.
parent Object The parent. MODEL
active Bool Defines if entity is activated when True or deactivated when False. True
sym Enum The symmetry of pair entity. Takes values 'LEFT' for left entity as leader, 'RIGHT' for right entity as leader or 'NONE' when it is not symmetric. NONE

Instances

Instance Type Description
l Point The left motion.
r Point The right motion.

Notes

Instance is a reference to an entity. You cannot modify an instance, but can modify its properties.

Examples

========
Create and modify attributes of a Motion.
>>> from hw import mview
>>> #Create body, graphic and joint for visible motion
>>> b1 = mview.Body(inertia_props_from_graphic = True)
>>> g1 = mview.Sphere(origin = 'P_Global_Origin',body = b1)
>>> j1 = mview.Joint(type = 'TransJoint')
>>> j1.setValues(b1 = b1,b2 = 'B_Ground',origin = 'P_Global_Origin',align_meth1 = 'VECTOR',align_vec1 = 'V_Global_Y')
>>> #Create joint based motion and set values
>>> m1 = mview.Motion(name = 'linear_translation')
>>> m1.jt = j1
>>> #Set multiple values at once
>>> m1.value.setValues(type = 'EXPR',expr = "`STEP5(TIME,0,0,3,100)`")
>>> m1.itype = 'DISP'
>>> #Switch to marker based motion with velocity
>>> m1.use_markers = True
>>> m1.itype = 'VEL'
>>> #Directions are 6 DOF: X,Y,Z,B1,B2,B3
>>> m1.direction = 'B1'
>>> m1.i = b1.cm
>>> m1.j = 'Global_Frame'
>>> m1.value.setValues(type = 'LIN',lin = 20)