# Bushing

## Class Bushing()

```
Bushing(parent='MODEL', name='Bushing_n', label='Bushing_n', active=True,
b1=None, b2=None, fx=0, fy=0, fz=0, tx=0, ty=0, tz=0, origin=None, ornt_meth='TWOAXES')
```

Creates a bushing.

## Keyword Arguments

Argument | Data Type | Description | Default |
---|---|---|---|

name | String | The variable name. | Bushing_n, for next available integer n. |

label | String | The descriptive label. | Bushing_n, for next available integer n. |

parent | Object | The parent. | MODEL |

active | Boolean | Used to activate or deactivate this entity. | True |

b1 | Body | The first body constrained by the bushing. | None |

b2 | Body | The second body constrained by the bushing. | None |

fx | Double | The initial force preload in the local X direction. | 0 |

fy | Double | The initial force preload in the local Y direction. | 0 |

fz | Double | The initial force preload in the local Z direction. | 0 |

tx | Double | The initial torque preload in the local X direction. | 0 |

ty | Double | The initial torque preload in the local Y direction. | 0 |

tz | Double | The initial torque preload in the local Z direction. | 0 |

origin | Reference | The location. | None |

ornt_meth | Enum | The orientation method. One of TWOAXES, ONEAXIS or ANGLES. | TWOAXES |

ornt_dir1 | Enum | The direction used to orient axis 1. One of X, Y or Z. | Z |

align_meth1 | MultiRef | Alignment method for axis 1. One of Point, Vector or DxDyDz. | DxDyDz |

align_pt1 | Reference | The point when align_meth1 is Point. | None |

align_vec1 | Reference | The point reference when align_meth1 is Point. | None |

ornt_dir2 | Enum | The direction used to orient axis 1. One of X, Y or Z. | X |

align_meth2 | Alignment method for axis 2. One of Point, Vector or DxDyDz. | DxDyDz | |

align_pt2 | Reference | The point when align_meth2 is Point. | None |

align_vec2 | Reference | The point reference when align_meth2 is Point. | None |

e1 | Double | The e1 Euler angle (z:x':z'') in radians with respect to rm. | 0 |

e2 | Double | The e2 Euler angle (z:x':z'') in radians with respect to rm. | 0 |

e3 | Double | The e3 Euler angle (z:x':z'') in radians with respect to rm. | 0 |

rm | Reference | The reference marker when ornt_meth is ANGLES. | Global_Frame |

x1 | Double | The direction cosine x1 for axis 1. | 0 |

y1 | Double | The direction cosine y1 for axis 1. | 0 |

z1 | Double | The direction cosine z1 for axis 1. | 1 |

x2 | Double | The direction cosine x2 for axis 2. | 1 |

y2 | Double | The direction cosine y2 for axis 2. | 0 |

z2 | Double | The direction cosine z2 for axis 2. | 0 |

usr_type | Enum | User defined bushing type. One of GFORCE, VFORCE, VTORQUE or FIELD. | GFORCE |

user | Bool | Use user defined properties, if true. | False |

usr_sub | Function | The expression passed to the user dll. When using solver expressions, Templex syntax (within ``) is used and all variables are enclosed in braces {} and the rest is treated as literal. | 'USER()' |

local_funcname | String | The function/subroutine name. | 'MOTSUB' |

use_local_dll | Bool | Uses a local function instead of default if True. | False. |

local_dll | File | The path of the local dll which has the local_funcname. | '' |

local_func_type | Enum | The type of the user subroutine. one of DLL, PYTHON or MATLAB. | 'DLL' |

## Instances

Instance | Type | Description |
---|---|---|

kx | Nonlinear | The bushing translational stiffness coefficient in the local X direction. |

ky | Nonlinear | The bushing translational stiffness coefficient in the local Y direction. |

kz | Nonlinear | The bushing translational stiffness coefficient in the local Z direction. |

ktx | Nonlinear | The bushing rotational stiffness coefficient in the local X direction. |

kty | Nonlinear | The bushing rotational stiffness coefficient in the local Y direction. |

ktz | Nonlinear | The bushing rotational stiffness coefficient in the local Z direction. |

cx | Nonlinear | The bushing translational damping coefficient in the local X direction. |

cy | Nonlinear | The bushing translational damping coefficient in the local Y direction. |

cz | Nonlinear | The bushing translational damping coefficient in the local Z direction. |

ctx | Nonlinear | The bushing rotational damping coefficient in the local X direction. |

cty | Nonlinear | The bushing rotational damping coefficient in the local Y direction. |

ctz | Nonlinear | The bushing rotational damping coefficient in the local Z direction. |

i | Marker | The marker on b1. |

j | Marker | The marker on b1. |

xaxis | Vector | The vector in x direction of orientation. |

yaxis | Vector | The vector in y direction of orientation. |

zaxis | Vector | The vector in z direction of orientation. |

## Examples

```
========
>>> # Import mview module
>>> from hw import mview
>>> # Create dependancies and references for Bushing
>>> b1 = mview.Body(name = 'body1')
>>> g1 = mview.Cylinder(body = b1, origin = 'P_Global_Origin')
>>> g1.setValues(align_meth1 = 'VECTOR', align_vec1 = 'V_Global_Z',length = 4)
>>> g1.align_vec1.name
'V_Global_Z'
>>> bush1 = mview.Bushing(name = 'bush1')
>>> bush1.setValues(b1 = b1,b2 = mview.getModel().B_Ground)
>>> bush1.origin = 'P_Global_Origin'
>>> bush1.origin.name
'P_Global_Origin'
>>> # Set linear stiffness value
>>> bush1.kx.lin = 100
>>> bush1.kx.lin
100.0
# Set nonlinear curve value for damping
>>> bush1.cty.type = 'CRV'
>>> c1 = mview.Curve(x_type = 'VALUE',y_type = 'VALUE',x_value = [0,1,2],y_value = [10,20,5])
>>> bush1.cty.crv = c1
>>> #Set interpolation type and independant variable
>>> bush1.cty.int_type = 'CUBIC'
>>> bush1.cty.int_type = 'CUBIC'
'CUBIC'
>>> bush1.cty.indep_var = '`TIME`'
# Set stiffness value as expression
>>> bush1.kty.type = 'EXPR'
>>> bush1.kty.expr = "`STEP5(TIME,0,0,5,25)`"
# Follow similar procedure for BushingPair
>>> b2 = mview.BodyPair(name = 'body1p')
>>> bush2 = mview.BushingPair(name = 'bush1p',sym = 'LEFT')
>>> bush2.sym
'LEFT'
>>> bush2.setValues(b1 = b1,b2 = 'B_Ground',origin = 'P_Global_Origin')
# Set linear stiffness value for left bush
>>> bush2.l.kx.lin = 100
# Get value of attribute
>>> bush2.r.kx.lin
100.0
```