# Helical gear

> Component kind `helical-gear` (category `mech`, DSL name `helicalGear`, API v1)

Cylindrical gear with teeth cut at a helix angle. Quieter engagement than a spur gear; meshes with another helical of the same normal module and equal helix angle with opposite hand on parallel axes via `mech.helicalMesh`.

## Parameters

- **`module`** — Normal module m_n (mm per tooth, measured perpendicular to the tooth). Two meshing helicals must share the same normal module.
- **`teeth`** — Tooth count. Must be ≥ 4.
- **`width`** — Face width along the spin axis (mm).
- **`boreDiameter`** — Central bore diameter (mm), for mounting on a shaft.
- **`helixAngle`** — Helix angle β (deg), the tooth inclination relative to the axis. Typical 10–30°.
- **`hand`** — Helix hand: 'right' or 'left'. A mating pair must have opposite hands.
- **`pressureAngle`** — Tooth pressure angle (deg). Standard is 20°.

## Parameters schema

| Parameter | Type | Default | Constraints |
| --- | --- | --- | --- |
| `module` | Number | 2 | min: 0.1 |
| `teeth` | Number | 20 | min: 4 |
| `width` | Number | 12 | min: 0.1 |
| `boreDiameter` | Number | 8 |  |
| `helixAngle` | Number | 15 | min: 0 |
| `hand` | String | right | allowed: right, left |
| `pressureAngle` | Number | 20 |  |
| `color` | String | — |  |

## Ports

| Port | Type | Description |
| --- | --- | --- |
| `axis` | `rotational` | Spin axis (rotational). Receives ω from a coupling or helical mesh propagation. |

## Kinematics

Parallel-axis helical mesh: ω_driven = -ω_driver · (teeth_driver / teeth_driven). Same ratio as a spur mesh; the twist only changes geometry and engagement smoothness, not the tooth-count ratio.

## Example

```
helicalGear "H1" {
  teeth: 20
  module: 2
  helixAngle: 15
  hand: 'right'
}
```
