Skip to content
LIBRARY
PlanarMechanics.FixedRotation.md

PlanarMechanics.FixedRotation

Fixed angular offset between two frames with no translational offset.

Positions are rigidly connected while orientation differs by a fixed angle alpha.

This component extends from PartialTwoFrames

Usage

MultibodyComponents.PlanarMechanics.FixedRotation(alpha=0, render=true)

Parameters:

NameDescriptionUnitsDefault value
alphaFixed rotation angle between frame_a and frame_brad0
renderRender the rotation in animationstrue

Connectors

  • frame_a - Coordinate system (2-dim.) fixed to the component with one cut-force and cut-torque.

All variables are resolved in the planar world frame. (Frame2D)

  • frame_b - Coordinate system (2-dim.) fixed to the component with one cut-force and cut-torque.

All variables are resolved in the planar world frame. (Frame2D)

Behavior

Source

dyad
"""
Fixed angular offset between two frames with no translational offset.

Positions are rigidly connected while orientation differs by a fixed angle `alpha`.
"""
component FixedRotation
  extends PartialTwoFrames
  "Fixed rotation angle between frame_a and frame_b"
  parameter alpha::Angle = 0
  "Render the rotation in animations"
  parameter render::Boolean = true
relations
  frame_a.x = frame_b.x
  frame_a.y = frame_b.y
  frame_a.phi + alpha = frame_b.phi
  frame_a.fx + frame_b.fx = 0
  frame_a.fy + frame_b.fy = 0
  frame_a.tau + frame_b.tau = 0
metadata {"Dyad": {"icons": {"default": "dyad://MultibodyComponents/FixedRotation.svg"}}}
end
Flattened Source
dyad
"""
Fixed angular offset between two frames with no translational offset.

Positions are rigidly connected while orientation differs by a fixed angle `alpha`.
"""
component FixedRotation
  frame_a = Frame2D() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 50, "y1": 450, "x2": 150, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  frame_b = Frame2D() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 850, "y1": 450, "x2": 950, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  "Fixed rotation angle between frame_a and frame_b"
  parameter alpha::Angle = 0
  "Render the rotation in animations"
  parameter render::Boolean = true
relations
  frame_a.x = frame_b.x
  frame_a.y = frame_b.y
  frame_a.phi + alpha = frame_b.phi
  frame_a.fx + frame_b.fx = 0
  frame_a.fy + frame_b.fy = 0
  frame_a.tau + frame_b.tau = 0
metadata {"Dyad": {"icons": {"default": "dyad://MultibodyComponents/FixedRotation.svg"}}}
end


Test Cases

No test cases defined.

  • Examples

  • Experiments

  • Analyses