Danish Bricks Builder

every legal connection between two parts — live from the production mate model

Connection Explorer

Pick two parts. The enumerator proposes connector-to-connector placements, keeps what the editor's own contact detector accepts, prunes colliding bodies and symmetric duplicates, and classifies the rest. The rules it plays by are written out below.

pick two parts — placements appear here

connector classes · 6

stud / anti-studcyl · r6 round · ≤10 LDUrigidTHE fastener. A stud in any r6 well — plate antistud, brick pocket, tube mouth, Technic bore — fastens. Incidental spin is not a joint. (Tube mouths are OUR addition: LDCad ships them disabled.)
pin / pin holecyl · r6 round · >10 LDU, r8 collar seatfriction: rigid · smooth: revoluteLEGO's own distinction: friction ridges = structure, smooth = bearing. Same geometry, opposite intent.
axle / axle holecyl · cross sectionkeyed: rigid · in round bore: revoluteCross-in-cross transmits torque (keyed drive). An axle through a ROUND hole is a shaft in a bearing.
bar / clipcyl r4 + clprevoluteClip wraps bar: rotates about the bar, may slide along it. Minifig hands, panel clips.
hinge fingersfgr + fgrrevoluteInterleaved fingers on a shared pin axis — classic hinge bricks, opening crates.
ball / socketgen M + gen FballTowballs, Mixel joints. Multi-axis; v1 classifies contact, full ball DOF later.

engagement — when two connectors count as mated at all

coincideconnector frames coincide within 0.5 LDU — calibrated on real sets (engaged pairs sit at 0)
axisaxes parallel; LONG bodies (pins, axles, bars ≥12 LDU) engage any bore whose span overlaps theirs along the shared axis
moutha blind female (caps=one — underside pockets, tube mouths) is entered through its open mouth: axes must agree in SIGN. Anti-aligned coincidence (an upside-down stud backed against a pocket) is a sham, not a mate
no overlapthe two bodies must not interpenetrate — cavity-aware voxel collision check (joint engagement zones allowed)

the classification ladder — applied in this order

1studstud into antistud — fastened is fastened
2keyed axleaxle cross in axle hole — driven, not free
3friction pinfriction ridges fasten — smooth pins are the bearings
4part vetoround 1×1s — spin is unobservable
5pair vetotyre on wheel — one solid assembly
6crossed axescontacts on non-parallel axes can't move
7off-axisparallel but non-colinear contacts can't move
8colinearALL contacts share one axis line → the pair is a joint (revolute)