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 master, 'RIGHT' for right entity as master 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)