Search documentation of bb

# BB.Dsl.ValidateLimitUnitsTransformer (bb v0.17.0)

Copy Markdown View Source

Validates that the units provided in a joint's `limit` block are compatible with the joint's type.

The DSL schema permits both angular and linear units in `limit` fields so that the same entity definition serves rotational and translational joints. This transformer rejects the wrong-axis combinations before the `BB.Dsl.RobotTransformer` attempts unit conversion:

- Rotational joints (`:revolute`, `:continuous`) require angular units (`degree`, `degree_per_second`, `newton_meter`, `degree_per_square_second`).
- Linear joints (`:prismatic`) require linear units (`meter`, `meter_per_second`, `newton`, `meter_per_square_second`).

Joints without degrees of freedom (`:fixed`, `:floating`, `:planar`) are not checked — they typically have no `limit` block at all.

## Summary

### Functions

after_compile?()

Callback implementation for `Spark.Dsl.Transformer.after_compile?/0`.

## Functions

# after_compile?()

Callback implementation for `Spark.Dsl.Transformer.after_compile?/0`.