# `BB.Dsl.Axis`
[🔗](https://github.com/beam-bots/bb/blob/main/lib/bb/dsl/axis.ex#L5)

Joint axis orientation specified as Euler angles.

The axis defines the direction of rotation (for revolute joints) or
translation (for prismatic joints). By default, the axis points along
the Z direction. Use roll, pitch, and yaw to rotate it to the desired
orientation.

## Examples

    # Default Z-axis (no rotation needed)
    axis do
    end

    # Y-axis (pitch by 90°)
    axis do
      pitch(~u(90 degree))
    end

    # X-axis (pitch by 90°, then roll by 90°)
    axis do
      pitch(~u(90 degree))
      roll(~u(90 degree))
    end

# `t`

```elixir
@type t() :: %BB.Dsl.Axis{
  __identifier__: any(),
  __spark_metadata__: Spark.Dsl.Entity.spark_meta(),
  pitch: Cldr.Unit.t(),
  roll: Cldr.Unit.t(),
  yaw: Cldr.Unit.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
