Assembly A of the Digital Twins programme (ASM-1 §7, §9): a producer (a fabrication
machine model) that is posable. It is the full motion system of a Voron 2.4-class 350
CoreXY printer (owner decision D1), checked by the keystone's y4d-spec assembly check at
home, at every joint limit and over the pose sweep, with --collision.
Document licence: CERN-OHL-W-2.0.
235 components, 292 mates, 10 belt paths, 23 poses (home, the six limits of the three driven joints, 16 Halton samples).
Original design, cited facts. Facts come from the Voron 2.4r2 build guide (
Manual/Assembly_Manual_2.4r2.pdf, version 2023-07-04, GPL-3.0), cited by page only, and from Voron's public Klipper reference configuration for the 2.4 (firmware/klipper_configurations/Octopus/Voron2_Octopus_Config.cfgat VoronDesign/Voron-2a192410, cited path:line). No Voron text, figure, STL or CAD is in this repository; every printed part is an original commons cartridge.
| Group | Components | Parts |
|---|---|---|
| Frame cube | 12 | extrusion-2020 ×12 |
| Z drives | 52 | z-drive-housing ×4, bearing-625 ×12, bhcs-m5x10 ×8, gt2-pulley-16t-5mm ×4, gt2-pulley-20t-9mm ×4, gt2-pulley-80t-5mm ×4, nema-17-48mm ×4, shaft-5mm ×4, tnut-2020-m5 ×8 |
| Bed | 35 | bed-extrusion-mount ×4, bed-plate-350 ×1, bhcs-m5x10 ×12, extrusion-2020 ×2, tnut-2020-m3 ×4, tnut-2020-m5 ×12 |
| Top corners (Z idlers) | 28 | corner-idler-bracket ×4, bhcs-m5x30 ×12, gt2-idler-20t-9mm ×4, tnut-2020-m5 ×8 |
| Z rails and blocks | 8 | mgn9-rail ×4, mgn9h-carriage ×4 |
| Z joints and Z belt clamps | 20 | z-belt-clamp ×4, z-joint ×4, bhcs-m5x10 ×8, tnut-2020-m5 ×4 |
| Gantry (C, D, E, Y rails, XY joints, front idlers, A/B drives) | 76 | ab-drive ×2, ab-front-idler ×2, xy-joint ×2, bearing-f695 ×12, bhcs-m5x10 ×8, bhcs-m5x16 ×12, extrusion-2020 ×4, gt2-idler-20t-6mm ×6, gt2-pulley-20t-5mm ×2, mgn9-rail ×2, mgn9h-carriage ×2, nema-17-48mm ×2, shim-5x10 ×12, tnut-2020-m5 ×8 |
| X axis and toolhead | 4 | toolhead-proxy ×1, x-carriage ×1, mgn12-rail ×1, mgn12h-carriage ×1 |
- Frame cube (guide p. 13 counts, kit listings for the 350 cut lengths): four 530 uprights
and eight 470 horizontals, all blind-jointed. Upright axes at x, y ∈ {0, 490}; the outer
frame is 510 × 510 × 530. The front and back bottom horizontals carry
slot_station_mm170 for the bed mounts (255 − 65 − 20, guide p. 20); every other station is a mateoffset(ASM-1 §9 v1.4). - Top corners ×4:
corner-idler-bracket(mirrored on the front-right and back-left), a GT2 20T 9 mm idler on an M5x30 BHCS, two T-nuts and two M5x30 (guide pp. 48–50). - Z rails ×4: MGN9, 400 (sourcing sheet: MGN9H ×6 at 400 for the 350), centred on each upright's inner x face, the rails facing each other across the frame (guide pp. 25, 27), their lower ends 3 above the bottom horizontals ("~3 mm", guide p. 25): z 23 … 423.
- Z drives ×4 (
z-drive-housing, guide pp. 32–47): 625 bearings, a 5 mm shaft, the 20T 9 mm Z pulley and the 80T reduction pulley, a NEMA 17 with a 16T pulley (80 / 16 = 5:1, guide p. 38). - Bed (fixed; the gantry flies): two 470 bed extrusions 130 apart (p. 20) on four
bed-extrusion-mounts, andbed-plate-350on four M3 T-nuts (pp. 53–60). - Z joints ×4 (
z-joint): each bolts to a Z block, holds a C end by a pad in its bottom slot, and carries az-belt-clampso the clamped Z strand runs vertical. - Gantry (P6-GANTRY round 2): C ×2 (450), D (430), E (340); MGN9 Y rails (400, 25 from the
C ends, p. 88);
xy-joint×2 with D riding over the C's (pp. 104–106);ab-front-idler×2;ab-drive×2 with their NEMA 17s and GT2 20T pulleys. C centres at x 41 / 449. - X axis and toolhead (P6-XCAR): MGN12, 400, on D's front face (p. 101), the MGN12H, the
x-carriagecarrying both A/B belt ends, and thetoolhead-proxy(D3: an original stand-in body with anozzle_tipframe; the Stealthburner is not modelled).
Out (D1): electronics, wiring, panels, the endstop and cable-chain mounts.
Phase 8's graph twins follow this list.
| Cartridge | In A |
|---|---|
ab-drive |
2 |
ab-front-idler |
2 |
bed-extrusion-mount |
4 |
corner-idler-bracket |
4 |
toolhead-proxy |
1 |
x-carriage |
1 |
xy-joint |
2 |
z-belt-clamp |
4 |
z-drive-housing |
4 |
z-joint |
4 |
| Joint | Type | Role | Mate | Limits | Home / follows |
|---|---|---|---|---|---|
z0_shaft_turn |
revolute z | follower | z0_shaft_in_a |
continuous | -9.00169·gantry_z |
z0_motor_turn |
revolute z | follower | z0_motor_pulley_on_motor |
continuous | -5·z0_shaft_turn |
z1_shaft_turn |
revolute z | follower | z1_shaft_in_a |
continuous | 9.00169·gantry_z |
z1_motor_turn |
revolute z | follower | z1_motor_pulley_on_motor |
continuous | -5·z1_shaft_turn |
z2_shaft_turn |
revolute z | follower | z2_shaft_in_a |
continuous | 9.00169·gantry_z |
z2_motor_turn |
revolute z | follower | z2_motor_pulley_on_motor |
continuous | -5·z2_shaft_turn |
z3_shaft_turn |
revolute z | follower | z3_shaft_in_a |
continuous | -9.00169·gantry_z |
z3_motor_turn |
revolute z | follower | z3_motor_pulley_on_motor |
continuous | -5·z3_shaft_turn |
gantry_z |
prismatic x | driven | z0_block_on_rail |
[-168.975, 146.025] | home 0 |
z1_block_follow |
prismatic x | follower | z1_block_on_rail |
[-180.05, 180.05] | 1·gantry_z |
z2_block_follow |
prismatic x | follower | z2_block_on_rail |
[-180.05, 180.05] | 1·gantry_z |
z3_block_follow |
prismatic x | follower | z3_block_on_rail |
[-180.05, 180.05] | 1·gantry_z |
gantry_y |
prismatic x | driven | y_block_l_on_rail |
[-174, 176] | home 0 |
motor_l_turn |
revolute z | follower | pulley_l_on_shaft |
continuous | 9.00169·x_carriage + 9.00169·gantry_y |
gantry_y_right |
prismatic x | follower | y_block_r_on_rail |
[-174, 176] | 1·gantry_y |
motor_r_turn |
revolute z | follower | pulley_r_on_shaft |
continuous | 9.00169·x_carriage + -9.00169·gantry_y |
x_carriage |
prismatic x | driven | x_block_on_rail |
[-175, 175] | home 0 |
Eight passive revolute joints (z*_shaft_in_b, _in_c) let each Z shaft close its second
and third bearings while it turns. Idlers and F695 stacks carry no joint: they are rotationally
symmetric and close no cycle.
x_carriage,gantry_y,gantry_zare the three driven joints. Their limits are exactly the machine's soft range through the bindings below, so every position Klipper can report poses (pose()never clamps).- D2. One logical Z: the three other Z blocks follow
gantry_zone to one; quad gantry levelling tilt is later fidelity. - CoreXY motors. 360 / (π · 12.73) = 9.00169° per mm on the GT2 20T pitch circle (PD 12.73,
Gates 20-2MR, catalog
gt2-pulley-20t-5mm). The left motor turns as x + y and the right one as x − y (CoreXY a = x + y, b = x − y). The signs were measured on A's own belt paths by finite differences: moving x or y by 1 mm changes the belt length between the carriage and each pulley by ±1 mm, and the pulley turns that way. - Z drives. Each output shaft turns z / (π · 12.73) turns (the 20T Z pulley, catalog
gt2-pulley-20t-9mm), signed by hand so the clamped strand's side of the pulley rises with the gantry: − on the front-left and back-right, + on the other two. Each motor pulley turns 5 times as far (80 / 16) in the same sense about the world axis; its frame is flipped (it sits onbore_b), hence the scale −5.
kinematics: corexy (Octopus cfg :34). joint = scale · axis + offset:
| Axis | Joint | Scale | Offset | Source |
|---|---|---|---|---|
| x | x_carriage |
1 | −175 | Klipper X 0 … 350: cfg :56 position_min 0, :68–69 position_endstop / position_max 350. CONVENTION: X 175 at the X rail's mid-length, which centres X over the plate (nozzle x 70 … 420; plate 67.5 … 422.5). |
| y | gantry_y |
1 | −174 | Klipper Y 0 … 350: cfg :95, :107–108. CONVENTION: Y 0 puts the nozzle over the plate's front edge, y 28 (p. 60: 38 behind the frame's front face at y −10). The nozzle is 43.0 ahead of the Y blocks' centre (P6-XCAR's reach, a convention), so Y 350 puts it at y 378, inside the plate (rear edge 383). The blocks then run −174 … 176, inside their collision-free −176.75 … 177.25 (P6-GANTRY). |
| z | gantry_z |
1 | −163.975 | Klipper Z: cfg :155 position_min −5, :152 position_max 310, :142 position_endstop −0.5. CONVENTION: Z 0 puts nozzle_tip on the plate's top face: the tip is at z 203.0 at gantry_z 0, the plate's top at 29.5 + 9.525 = 39.025 (bed-plate-350: spacer 9.5, thickness 9.525). |
pravara forwards raw axis values; the viewer maps them through these bindings (D4).
Z below 0. gantry_z's lower limit is Klipper's position_min −5, so the proxy's nozzle
passes 5 mm into the plate at that one pose. That is declared (below) rather than hidden by a
narrower limit: physically the bed stops the nozzle; the twin must still pose every position
Klipper reports (owner-programme decision, option (a), 2026-10-05).
| Path | Belt | Kind | At home (mm) | Min over the sweep | Max | Spread |
|---|---|---|---|---|---|---|
z0_reduction_loop |
gt2-belt-loop-188mm |
closed | 188.0062 | 188.0062 | 188.0062 | 0.0000 |
z1_reduction_loop |
gt2-belt-loop-188mm |
closed | 188.0062 | 188.0062 | 188.0062 | 0.0000 |
z2_reduction_loop |
gt2-belt-loop-188mm |
closed | 188.0062 | 188.0062 | 188.0062 | 0.0000 |
z3_reduction_loop |
gt2-belt-loop-188mm |
closed | 188.0062 | 188.0062 | 188.0062 | 0.0000 |
z0_z_belt |
gt2-belt-9mm |
open | 1048.8525 | 1048.8525 | 1048.8525 | 0.0000 |
z1_z_belt |
gt2-belt-9mm |
open | 1048.8525 | 1048.8525 | 1048.8525 | 0.0000 |
z2_z_belt |
gt2-belt-9mm |
open | 1048.8525 | 1048.8525 | 1048.8525 | 0.0000 |
z3_z_belt |
gt2-belt-9mm |
open | 1048.8525 | 1048.8525 | 1048.8525 | 0.0000 |
belt_b |
gt2-belt-6mm |
open | 1682.2879 | 1682.2879 | 1682.2879 | 0.0000 |
belt_a |
gt2-belt-6mm |
open | 1682.2882 | 1682.2882 | 1682.2882 | 0.0000 |
No path-length warning: the CoreXY belts and the Z belts are constant-length by
construction, and the sweep confirms it.
- A and B (
gt2-belt-6mm, guide p. 131): from onex-carriageanchor round the XY joints, the drives and the front idlers back to the other anchor, stacked on two levels (p. 125). - Z ×4 (
gt2-belt-9mm, p. 111), open, teeth inside the loop (p. 118): clamp (lower jaw) → Z pulley → top idler → clamp (upper jaw). The anchored strand is the outer one and runs vertical; the inner strand runs free past the C. The guide's 1200 minimum cut (p. 111) leaves about 150 mm for the folded tails. - Reduction loops ×4 (
gt2-belt-loop-188mm, p. 34), closed: 188.006 against the catalog's 188 at the housing's 40.8 centre distance.
Checked at home, the six limits and the 16 samples: no undeclared overlap. The
149 declared overlaps are all designed ones, each measured, with max_mm3 at the measured value
plus 5–10 % (P6-JOINT's convention):
- keys, tongues and screw shanks in 2020 slots (the catalog's 2020 envelope is the solid profile: no cited slot depth);
- shafts and axles in bores (an envelope has no bore), and M5 screws cutting their thread in printed Ø4.2 pilots;
- the toolhead proxy into the bed plate at
gantry_z's lower limit only (Klipper's −5 overtravel, above).
Collision-unchecked (no envelope, named by the check, never silently passed): every
tnut-2020-m5 and tnut-2020-m3 (no cited body height), and the gt2-pulley-20t-9mm and
gt2-pulley-16t-5mm (no cited flange diameter).
Budget. The whole check, --collision at the default 16 samples, takes about 33 s on
the lane's macOS laptop (wall clock, local); it fits every-PR CI.
Declared overlaps
| a | b | max mm³ | Why |
|---|---|---|---|
bed_plate |
toolhead |
190 | Klipper's probe overtravel: position_min −5 (VoronDesign/Voron-2 @ a192410, firmware/klipper_configurations/Octopus/Voron2_Octopus_Config.cfg:155) lets Z go 5 mm below the bed's surface, and gantry_z's limits cover the machine's whole soft range so every position Klipper reports poses (D4). Physically the bed stops the nozzle; the twin's proxy nozzle passes 5 mm into the plate at gantry_z's lower limit only. Measured 176.7 mm3 (owner-programme option (a), 2026-10-05). |
bed_rail_l |
bed_rail_l_back_mount |
142 | bed_rail_l_back_mount (bed-extrusion-mount) keys its tongue into bed_rail_l's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 132.3 mm3. |
bed_rail_l |
bed_rail_l_back_mount_screw_bed |
116 | the bhcs-m5x10 shank runs into bed_rail_l's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bed_rail_l |
bed_rail_l_front_mount |
142 | bed_rail_l_front_mount (bed-extrusion-mount) keys its tongue into bed_rail_l's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 132.3 mm3. |
bed_rail_l |
bed_rail_l_front_mount_screw_bed |
116 | the bhcs-m5x10 shank runs into bed_rail_l's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bed_rail_r |
bed_rail_r_back_mount |
142 | bed_rail_r_back_mount (bed-extrusion-mount) keys its tongue into bed_rail_r's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 132.3 mm3. |
bed_rail_r |
bed_rail_r_back_mount_screw_bed |
116 | the bhcs-m5x10 shank runs into bed_rail_r's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bed_rail_r |
bed_rail_r_front_mount |
142 | bed_rail_r_front_mount (bed-extrusion-mount) keys its tongue into bed_rail_r's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 132.3 mm3. |
bed_rail_r |
bed_rail_r_front_mount_screw_bed |
116 | the bhcs-m5x10 shank runs into bed_rail_r's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
bed_rail_l_back_mount |
402 | bed_rail_l_back_mount (bed-extrusion-mount) keys its tongue into bx_back's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 374.8 mm3. |
bx_back |
bed_rail_l_back_mount_screw_frame_a |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
bed_rail_l_back_mount_screw_frame_b |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
bed_rail_r_back_mount |
402 | bed_rail_r_back_mount (bed-extrusion-mount) keys its tongue into bx_back's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 374.8 mm3. |
bx_back |
bed_rail_r_back_mount_screw_frame_a |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
bed_rail_r_back_mount_screw_frame_b |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
z2_housing |
470 | z2_housing (z-drive-housing) keys its tongue into bx_back's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 438.6 mm3. |
bx_back |
z2_screw_a |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
z2_screw_b |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
z3_housing |
470 | z3_housing (z-drive-housing) keys its tongue into bx_back's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 438.6 mm3. |
bx_back |
z3_screw_a |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_back |
z3_screw_b |
116 | the bhcs-m5x10 shank runs into bx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
bed_rail_l_front_mount |
402 | bed_rail_l_front_mount (bed-extrusion-mount) keys its tongue into bx_front's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 374.8 mm3. |
bx_front |
bed_rail_l_front_mount_screw_frame_a |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
bed_rail_l_front_mount_screw_frame_b |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
bed_rail_r_front_mount |
402 | bed_rail_r_front_mount (bed-extrusion-mount) keys its tongue into bx_front's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 374.8 mm3. |
bx_front |
bed_rail_r_front_mount_screw_frame_a |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
bed_rail_r_front_mount_screw_frame_b |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
z0_housing |
470 | z0_housing (z-drive-housing) keys its tongue into bx_front's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 438.6 mm3. |
bx_front |
z0_screw_a |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
z0_screw_b |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
z1_housing |
470 | z1_housing (z-drive-housing) keys its tongue into bx_front's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 438.6 mm3. |
bx_front |
z1_screw_a |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
bx_front |
z1_screw_b |
116 | the bhcs-m5x10 shank runs into bx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
by_left |
z0_housing |
348 | z0_housing (z-drive-housing) keys its tongue into by_left's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 324.8 mm3. |
by_left |
z2_housing |
348 | z2_housing (z-drive-housing) keys its tongue into by_left's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 324.8 mm3. |
by_right |
z1_housing |
348 | z1_housing (z-drive-housing) keys its tongue into by_right's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 324.8 mm3. |
by_right |
z3_housing |
348 | z3_housing (z-drive-housing) keys its tongue into by_right's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 324.8 mm3. |
c_left |
drive_l |
234.83 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 213.48 mm³, allowance +10 % (P6-JOINT's convention) |
c_left |
drive_l_c_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
c_left |
front_idler_l |
228.45 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 207.68 mm³, allowance +10 % (P6-JOINT's convention) |
c_left |
front_idler_l_c_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
c_right |
drive_r |
234.83 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 213.48 mm³, allowance +10 % (P6-JOINT's convention) |
c_right |
drive_r_c_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
c_right |
front_idler_r |
228.45 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 207.68 mm³, allowance +10 % (P6-JOINT's convention) |
c_right |
front_idler_r_c_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
dk_l_screw |
dk_l |
194.38 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 176.71 mm³, allowance +10 % (P6-JOINT's convention) |
dk_r_screw |
dk_r |
194.38 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 176.71 mm³, allowance +10 % (P6-JOINT's convention) |
dq_l_screw |
dq_l_f695_1 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
dq_l_screw |
dq_l_f695_2 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
dq_l_screw |
dq_l_shim_1 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
dq_l_screw |
dq_l_shim_2 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
dq_r_screw |
dq_r_f695_1 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
dq_r_screw |
dq_r_f695_2 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
dq_r_screw |
dq_r_shim_1 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
dq_r_screw |
dq_r_shim_2 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
drive_l |
dk_l_screw |
25.43 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 23.12 mm³, allowance +10 % (P6-JOINT's convention) |
drive_l |
dq_l_screw |
17.19 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 15.63 mm³, allowance +10 % (P6-JOINT's convention) |
drive_l |
ds_l_screw |
19.07 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 17.34 mm³, allowance +10 % (P6-JOINT's convention) |
drive_r |
dk_r_screw |
25.43 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 23.12 mm³, allowance +10 % (P6-JOINT's convention) |
drive_r |
dq_r_screw |
16.93 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 15.39 mm³, allowance +10 % (P6-JOINT's convention) |
drive_r |
ds_r_screw |
19.07 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 17.34 mm³, allowance +10 % (P6-JOINT's convention) |
ds_l_screw |
ds_l_f695_1 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
ds_l_screw |
ds_l_f695_2 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
ds_l_screw |
ds_l_shim_1 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
ds_l_screw |
ds_l_shim_2 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
ds_r_screw |
ds_r_f695_1 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
ds_r_screw |
ds_r_f695_2 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
ds_r_screw |
ds_r_shim_1 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
ds_r_screw |
ds_r_shim_2 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
fi_l_screw |
fi_l |
194.38 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 176.71 mm³, allowance +10 % (P6-JOINT's convention) |
fi_r_screw |
fi_r |
194.38 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 176.71 mm³, allowance +10 % (P6-JOINT's convention) |
front_idler_l |
fi_l_screw |
25.43 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 23.12 mm³, allowance +10 % (P6-JOINT's convention) |
front_idler_r |
fi_r_screw |
25.43 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 23.12 mm³, allowance +10 % (P6-JOINT's convention) |
ji_l_screw |
ji_l |
194.38 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 176.71 mm³, allowance +10 % (P6-JOINT's convention) |
ji_r_screw |
ji_r |
194.38 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 176.71 mm³, allowance +10 % (P6-JOINT's convention) |
joint_l |
ji_l_screw |
25.43 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 23.12 mm³, allowance +10 % (P6-JOINT's convention) |
joint_l |
js_l_screw |
19.07 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 17.34 mm³, allowance +10 % (P6-JOINT's convention) |
joint_r |
ji_r_screw |
25.43 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 23.12 mm³, allowance +10 % (P6-JOINT's convention) |
joint_r |
js_r_screw |
19.07 | the M5x16 axle's shank in its Ø4.2 pilot in the printed host (the thread it cuts); measured 17.34 mm³, allowance +10 % (P6-JOINT's convention) |
js_l_screw |
js_l_f695_1 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
js_l_screw |
js_l_f695_2 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
js_l_screw |
js_l_shim_1 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
js_l_screw |
js_l_shim_2 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
js_r_screw |
js_r_f695_1 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
js_r_screw |
js_r_f695_2 |
86.39 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 78.54 mm³, allowance +10 % (P6-JOINT's convention) |
js_r_screw |
js_r_shim_1 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
js_r_screw |
js_r_shim_2 |
21.59 | the M5x16 axle's shank in the bore of the part it carries (envelopes are solid); measured 19.63 mm³, allowance +10 % (P6-JOINT's convention) |
motor_l |
pulley_l |
345.58 | the motor's Ø5 shaft in the pulley's bore; measured 314.16 mm³, allowance +10 % (P6-JOINT's convention) |
motor_r |
pulley_r |
345.58 | the motor's Ø5 shaft in the pulley's bore; measured 314.16 mm³, allowance +10 % (P6-JOINT's convention) |
rear_beam |
drive_l |
164.65 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 149.68 mm³, allowance +10 % (P6-JOINT's convention) |
rear_beam |
drive_l_e_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
rear_beam |
drive_r |
164.65 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 149.68 mm³, allowance +10 % (P6-JOINT's convention) |
rear_beam |
drive_r_e_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
tx_back |
z2_idler_screw_a |
116 | the bhcs-m5x30 shank runs into tx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_back |
z2_idler_screw_b |
116 | the bhcs-m5x30 shank runs into tx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_back |
z3_idler_screw_a |
116 | the bhcs-m5x30 shank runs into tx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_back |
z3_idler_screw_b |
116 | the bhcs-m5x30 shank runs into tx_back's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_front |
z0_idler_screw_a |
116 | the bhcs-m5x30 shank runs into tx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_front |
z0_idler_screw_b |
116 | the bhcs-m5x30 shank runs into tx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_front |
z1_idler_screw_a |
116 | the bhcs-m5x30 shank runs into tx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
tx_front |
z1_idler_screw_b |
116 | the bhcs-m5x30 shank runs into tx_front's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
ty_left |
z0_idler_bracket |
323 | z0_idler_bracket (corner-idler-bracket) keys its tongue into ty_left's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 301.6 mm3. |
ty_left |
z2_idler_bracket |
323 | z2_idler_bracket (corner-idler-bracket) keys its tongue into ty_left's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 301.6 mm3. |
ty_right |
z1_idler_bracket |
323 | z1_idler_bracket (corner-idler-bracket) keys its tongue into ty_right's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 301.6 mm3. |
ty_right |
z3_idler_bracket |
323 | z3_idler_bracket (corner-idler-bracket) keys its tongue into ty_right's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 301.6 mm3. |
u0 |
z0_idler_bracket |
205 | z0_idler_bracket (corner-idler-bracket) keys its tongue into u0's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 191.4 mm3. |
u1 |
z1_idler_bracket |
205 | z1_idler_bracket (corner-idler-bracket) keys its tongue into u1's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 191.4 mm3. |
u2 |
z2_idler_bracket |
205 | z2_idler_bracket (corner-idler-bracket) keys its tongue into u2's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 191.4 mm3. |
u3 |
z3_idler_bracket |
205 | z3_idler_bracket (corner-idler-bracket) keys its tongue into u3's slot; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 191.4 mm3. |
x_beam |
joint_l |
172.26 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 156.6 mm³, allowance +10 % (P6-JOINT's convention) |
x_beam |
joint_l_d_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
x_beam |
joint_r |
172.26 | the printed part's 2 mm tongue in the extrusion's 6 mm slot (the extrusion's envelope is solid); measured 156.6 mm³, allowance +10 % (P6-JOINT's convention) |
x_beam |
joint_r_d_screw |
118.79 | an M5 screw's shank in the extrusion's slot, into its T-nut (the extrusion's envelope is solid); measured 107.99 mm³, allowance +10 % (P6-JOINT's convention) |
z0_bearing_a |
z0_shaft |
106 | a 5 mm shaft runs through the bore of z0_bearing_a; an envelope has no bore. Measured 98.2 mm3. |
z0_bearing_b |
z0_shaft |
106 | a 5 mm shaft runs through the bore of z0_bearing_b; an envelope has no bore. Measured 98.2 mm3. |
z0_bearing_c |
z0_shaft |
106 | a 5 mm shaft runs through the bore of z0_bearing_c; an envelope has no bore. Measured 98.2 mm3. |
z0_idler_axle |
z0_idler |
295 | the M5 axle runs through the bore of z0_idler; an envelope has no bore. Measured 274.9 mm3. |
z0_idler_bracket |
z0_idler_axle |
62 | the M5 screw cuts its thread in the printed pilot of z0_idler_bracket (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 57.8 mm3. |
z0_pad_screw |
c_left |
116 | the bhcs-m5x10 shank runs into c_left's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
z0_shaft |
z0_big_pulley |
379 | a 5 mm shaft runs through the bore of z0_big_pulley; an envelope has no bore. Measured 353.4 mm3. |
z0_z_joint |
c_left |
253.97 | the z-joint's 6 mm tongue in the C's bottom slot (P6-ASM's pad; the C's envelope is the solid 20 × 20 square); measured 230.88 mm³, allowance +10 % (P6-JOINT's convention) |
z0_z_joint |
z0_clamp_screw |
19 | the M5 screw cuts its thread in the printed pilot of z0_z_joint (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 17.3 mm3. |
z1_bearing_a |
z1_shaft |
106 | a 5 mm shaft runs through the bore of z1_bearing_a; an envelope has no bore. Measured 98.2 mm3. |
z1_bearing_b |
z1_shaft |
106 | a 5 mm shaft runs through the bore of z1_bearing_b; an envelope has no bore. Measured 98.2 mm3. |
z1_bearing_c |
z1_shaft |
106 | a 5 mm shaft runs through the bore of z1_bearing_c; an envelope has no bore. Measured 98.2 mm3. |
z1_idler_axle |
z1_idler |
295 | the M5 axle runs through the bore of z1_idler; an envelope has no bore. Measured 274.9 mm3. |
z1_idler_bracket |
z1_idler_axle |
62 | the M5 screw cuts its thread in the printed pilot of z1_idler_bracket (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 57.8 mm3. |
z1_pad_screw |
c_right |
116 | the bhcs-m5x10 shank runs into c_right's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
z1_shaft |
z1_big_pulley |
379 | a 5 mm shaft runs through the bore of z1_big_pulley; an envelope has no bore. Measured 353.4 mm3. |
z1_z_joint |
c_right |
253.97 | the z-joint's 6 mm tongue in the C's bottom slot (P6-ASM's pad; the C's envelope is the solid 20 × 20 square); measured 230.88 mm³, allowance +10 % (P6-JOINT's convention) |
z1_z_joint |
z1_clamp_screw |
19 | the M5 screw cuts its thread in the printed pilot of z1_z_joint (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 17.3 mm3. |
z2_bearing_a |
z2_shaft |
106 | a 5 mm shaft runs through the bore of z2_bearing_a; an envelope has no bore. Measured 98.2 mm3. |
z2_bearing_b |
z2_shaft |
106 | a 5 mm shaft runs through the bore of z2_bearing_b; an envelope has no bore. Measured 98.2 mm3. |
z2_bearing_c |
z2_shaft |
106 | a 5 mm shaft runs through the bore of z2_bearing_c; an envelope has no bore. Measured 98.2 mm3. |
z2_idler_axle |
z2_idler |
295 | the M5 axle runs through the bore of z2_idler; an envelope has no bore. Measured 274.9 mm3. |
z2_idler_bracket |
z2_idler_axle |
62 | the M5 screw cuts its thread in the printed pilot of z2_idler_bracket (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 57.8 mm3. |
z2_pad_screw |
c_left |
116 | the bhcs-m5x10 shank runs into c_left's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
z2_shaft |
z2_big_pulley |
379 | a 5 mm shaft runs through the bore of z2_big_pulley; an envelope has no bore. Measured 353.4 mm3. |
z2_z_joint |
c_left |
253.97 | the z-joint's 6 mm tongue in the C's bottom slot (P6-ASM's pad; the C's envelope is the solid 20 × 20 square); measured 230.88 mm³, allowance +10 % (P6-JOINT's convention) |
z2_z_joint |
z2_clamp_screw |
19 | the M5 screw cuts its thread in the printed pilot of z2_z_joint (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 17.3 mm3. |
z3_bearing_a |
z3_shaft |
106 | a 5 mm shaft runs through the bore of z3_bearing_a; an envelope has no bore. Measured 98.2 mm3. |
z3_bearing_b |
z3_shaft |
106 | a 5 mm shaft runs through the bore of z3_bearing_b; an envelope has no bore. Measured 98.2 mm3. |
z3_bearing_c |
z3_shaft |
106 | a 5 mm shaft runs through the bore of z3_bearing_c; an envelope has no bore. Measured 98.2 mm3. |
z3_idler_axle |
z3_idler |
295 | the M5 axle runs through the bore of z3_idler; an envelope has no bore. Measured 274.9 mm3. |
z3_idler_bracket |
z3_idler_axle |
62 | the M5 screw cuts its thread in the printed pilot of z3_idler_bracket (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 57.8 mm3. |
z3_pad_screw |
c_right |
116 | the bhcs-m5x10 shank runs into c_right's slot to its T-nut; the 2020 envelope is the solid profile (no cited slot depth), so the slot is not hollowed. Measured 108.0 mm3. |
z3_shaft |
z3_big_pulley |
379 | a 5 mm shaft runs through the bore of z3_big_pulley; an envelope has no bore. Measured 353.4 mm3. |
z3_z_joint |
c_right |
253.97 | the z-joint's 6 mm tongue in the C's bottom slot (P6-ASM's pad; the C's envelope is the solid 20 × 20 square); measured 230.88 mm³, allowance +10 % (P6-JOINT's convention) |
z3_z_joint |
z3_clamp_screw |
19 | the M5 screw cuts its thread in the printed pilot of z3_z_joint (Ø4.2, as P4-AUTH-E measured for the corner idler). Measured 17.3 mm3. |
- Home: every driven joint at 0 (mid-travel); the sweep: 16 Halton samples, seed 1 (ASM-1 §9.4).
- The X, Y and Z offsets above; the nozzle's 43.0 reach and the tip's height (P6-XCAR).
- The Z blocks' centres sit 10 below the C's centre line (the z-joint pad's top is the C's bottom face).
- The bed plate's holes 150 either side of its centre (no listing publishes the pattern).
- The belt levels and element stations of the gantry cartridges (their READMEs).
- Phase 4's A (solid
ce632af, #147; digesta60c6e34…on keystone5b4913c): a 29-component static subset. One braced frame corner and one blind-jointed top corner with the Z idler, an MGN12 rail and block carrying the Stealthburner as an external reference, one NEMA 17 on anema-bracket, an endstop and a drag-chain anchor, and a 608 idler on an 8 mm axle in aroller-bracket. - The owner's idler decisions (2026-10-04). (a) The 608 idler chain stood as a documented layout convention (#143); (b) the build guide was checked and no cited Voron idler maps onto a 608 on an 8 mm axle: the 2.4 uses F695, 625 and GT2 idlers on M5 hardware (pp. 8, 48–50, 65, 69, 83, 91–100) (#144).
- Superseded in Phase 6 by this composition (D1). The 608 chain,
nema-bracket,roller-bracket,tslot-cornerand thetslot-2020brace leave A (no 2.4 counterpart; the cube is blind-jointed), and so do the endstop and cable-chain mounts (D1: electronics out).
pip install "hyperobjects-spec[geometry] @ git+https://github.com/madfam-org/hyperobjects-spec@<SPEC_PIN>"
parts=$(python -c 'import hyperobjects_standard_parts as h, pathlib; print(pathlib.Path(h.__file__).parent / "parts")')
y4d-spec assembly check assemblies/voron-2-4-class-350-motion-frame/assembly.json \
--commons . --standard-parts "$parts" --collision
y4d-spec assembly poses assemblies/voron-2-4-class-350-motion-frame/assembly.json \
--commons . --standard-parts "$parts" # the golden pose file (ASM-1 §9.5)SPEC_PIN is in .github/workflows/ci.yml. CI runs the check,
with --collision, on every PR (the assemblies job).
Ensamble A del programa de gemelos digitales: el sistema de movimiento completo de una
impresora CoreXY clase Voron 2.4 350 (decisión D1), posable (ASM-1 §9). Lo verifica
y4d-spec assembly check en la posición inicial, en cada límite y en el barrido, con
--collision. Licencia del documento: CERN-OHL-W-2.0.
- Contenido: el cubo del marco 350 con uniones ciegas; cuatro esquinas superiores con su polea Z; cuatro rieles Z MGN9 (pp. 25, 27); cuatro accionamientos Z con reducción 5:1; la cama fija con su placa; el pórtico volante (C, D, E, rieles Y, uniones XY, poleas delanteras y accionamientos A/B) colgado de cuatro uniones Z originales; el riel X MGN12, el carro X y un sustituto original del cabezal (D3).
- Articulaciones:
x_carriage,gantry_y(el carro Y derecho la sigue) ygantry_z(los otros tres carros Z la siguen, D2) son las motrices; los motores A/B giran como x + y y x − y, y cada flecha y motor Z como seguidores. - Enlaces de máquina:
corexy, con X, Y y Z de Klipper (configuración de referencia Octopus de Voron, citada por línea) mapeados a las articulaciones; Z 0 pone la punta de la boquilla sobre la cara superior de la placa, Y 0 sobre su borde delantero. - Bandas: A y B, cuatro bandas Z y cuatro lazos de reducción; longitud constante en todo el barrido, sin advertencias.
- Colisiones: solo interferencias de diseño, medidas y declaradas, incluida la boquilla 5 mm dentro de la placa en el límite inferior de Z (sobrerrecorrido de Klipper, −5).
- Historia: sustituye al A estático de la fase 4 (29 componentes,
ce632af), con sus decisiones de la polea 608 (a)+(b) registradas arriba.
Ninguna geometría Voron se copia; la guía de armado (GPL-3.0) se cita solo por página.