# Bevel gear

> Component kind `bevel-gear` (category `mech`, DSL name `bevelGear`, API v1)

Cone-shaped gear for transmitting rotation between intersecting axes. Two bevel gears of the same module mesh with their axes meeting at `pitchAngle_a + pitchAngle_b` (usually 90°).

## Parameters

- **`module`** — Tooth module (mm per tooth). Two meshing bevel gears must share the same module.
- **`teeth`** — Tooth count. Must be ≥ 4.
- **`width`** — Face width along the cone slant (mm).
- **`boreDiameter`** — Central bore diameter (mm).
- **`pitchAngle`** — Cone half-angle (deg). A pair with 45°+45° = 90° axis angle is the common "mitre" case.
- **`pressureAngle`** — Tooth pressure angle (deg). Standard is 20°.

## Parameters schema

| Parameter | Type | Default | Constraints |
| --- | --- | --- | --- |
| `module` | Number | 2 |  |
| `teeth` | Number | 20 | min: 4 |
| `width` | Number | 8 |  |
| `boreDiameter` | Number | 8 |  |
| `pitchAngle` | Number | 45 |  |
| `pressureAngle` | Number | 20 |  |

## Ports

| Port | Type | Description |
| --- | --- | --- |
| `axis` | `rotational` | Spin axis (rotational). The cone apex sits on this axis. |

## Kinematics

Mesh rule: ω_driven = -ω_driver · (teeth_driver / teeth_driven). Same ratio as spur gears; the axes simply meet at an angle instead of being parallel.

## Example

```
bevelGear "B1" {
  teeth: 16
  module: 2
  pitchAngle: 45
}
```
