# Bolted joint

> Connection kind `bolted` (category `static`, DSL name `bolted`, API v1)

Fastened face-to-face junction: the driven part is placed flush against a named face of the anchor (like a weld), but the joint is bolted rather than welded — it feeds the fastener BOM. Zero gap by default.

## Accepted ports

- `undefined.undefined` → `undefined.undefined`

## Parameters

- **`face`** — Which face of the ANCHOR (local frame) the driven part bolts against: 'top' | 'bottom' | 'front' | 'back' | 'left' | 'right'. Default 'top'. Placed flush (gap 0).
- **`align`** — In-plane alignment: 'flush' (default, centered on the face), 'center' (concentric with the anchor), or a numeric [x, y, z] extra world offset (mm).
- **`gap`** — Clearance left between the mating faces (mm). Default 0.
- **`offset`** — [dx, dy, dz] slide of the driven part along the joint face (mm). Default [0, 0, 0].
- **`rotationDeg`** — [rx, ry, rz] orientation of the driven part in degrees. Default [0, 0, 0].

## Parameters schema

| Parameter | Type | Default | Constraints |
| --- | --- | --- | --- |
| `face` | any | top | allowed: top, bottom, front, back, left, right |
| `align` | any | — |  |
| `offset` | any | — |  |
| `rotationDeg` | any | — |  |
| `gap` | Number | 0 |  |

## Kinematics

None. A bolted joint is static: it propagates no signal. It fixes geometry and connectivity, and marks a fastened joint for the BOM.

## Layout

This connection computes the driven component position from the anchor.

## Example

```
// foot plate bolted onto the bottom of a leg
statics.bolted(leg, plate, { face: 'back' });
```
