# FixedRotation

Fixed translation followed by a fixed rotation of frame_b with respect to frame_a

## Library

Modelica/Mechanics/MultiBody/Parts

## Description

Component for a **fixed translation** and **fixed rotation** of frame_b with respect
to frame_a, i.e., the relationship between connectors frame_a and frame_b
remains constant. There are several possibilities to define the
orientation of frame_b with respect to frame_a:

**Planar rotation**along axis 'n' (that is fixed and resolved in frame_a) with a fixed angle 'angle'.**Vectors n_x**and**n_y**that are directed along the corresponding axes direction of frame_b and are resolved in frame_a (if n_y is not orthogonal to n_x, the y-axis of frame_b is selected such that it is orthogonal to n_x and in the plane of n_x and n_y).**Sequence**of**three planar axes rotations**. For example, "sequence = {1,2,3}" and "angles = {90, 45, -90}" means to rotate frame_a around the x axis with 90 degrees, around the new y axis with 45 degrees and around the new z axis around -90 degrees to arrive at frame_b. Note, that sequence={1,2,3} is the Cardan angle sequence and sequence = {3,1,3} is the Euler angle sequence.

By default, this component is visualized by a cylinder connecting
frame_a and frame_b, as shown in the figure below. In this figure
frame_b is rotated along the z-axis of frame_a with 60 degree. Note, that the
two visualized frames are not part of the component animation and that
the animation may be switched off via parameter animation = **false**.

## Parameters

Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|

| animation | = true, if animation shall be enabled | Scalar | true |

| r | Vector from frame_a to frame_b resolved in frame_a | Vector of size 3 | |

| rotationType | Type of rotation description | Structure | |

| Rotating frame_a around an angle with a fixed axis | Number | 0 | |

| Resolve two vectors of frame_b in frame_a | Number | 0 | |

| Planar rotation sequence | Number | 0 | |

| n | Axis of rotation in frame_a (= same as in frame_b) | Vector of size 3 | |

| angle | Angle to rotate frame_a around axis n into frame_b | Scalar | |

| n_x | Vector along x-axis of frame_b resolved in frame_a | Vector of size 3 | |

| n_y | Vector along y-axis of frame_b resolved in frame_a | Vector of size 3 | |

| sequence | Sequence of rotations | Vector of size 3 | |

| angles | Rotation angles around the axes defined in 'sequence' | Vector of size 3 | |

| R_rel | Fixed rotation object from frame_a to frame_b | FromModelica('Modelica.Mechanics.MultiBody.Frames.Orientation') | |

| R_rel_inv | Inverse of R_rel (rotate from frame_b to frame_a) | FromModelica('Modelica.Mechanics.MultiBody.Frames.Orientation') |

Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|

| shapeType | Type of shape | String | |

| r_shape | Vector from frame_a to shape origin, resolved in frame_a | Vector of size 3 | |

| lengthDirection | Vector in length direction of shape, resolved in frame_a | Vector of size 3 | |

| widthDirection | Vector in width direction of shape, resolved in frame_a | Vector of size 3 | |

| length | Length of shape | Scalar | |

| width | Width of shape | Scalar | |

| height | Height of shape | Scalar | |

| extra | Additional parameter depending on shapeType (see docu of Visualizers.Advanced.Shape) | Scalar | |

| color | Color of shape | Vector of size 3 | |

| specularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) | Scalar |

## Ports

Name | Type | Description | IO Type | Number |
---|---|---|---|---|

| implicit | Coordinate system fixed to the component with one cut-force and cut-torque | input | 1 |

| implicit | Coordinate system fixed to the component with one cut-force and cut-torque | output | 1 |