model.ts

cad/model.ts
// Single source of truth for cabinet CAD: a Cabinet describes every part ONCE
// (its assembled 3D box + where it nests on a board); the 3D view renders the
// boxes and the DXF cut files are generated from the same data at runtime.
//
// Target machine: BobsCNC KL744 (48 x 48 work area). Cut with a 1/4" bit.
// The DXF holds TRUE finished part outlines -- let your CAM apply the
// bit-radius offset (outside profile); there is NO toolpath baked in.
// POCKET_* layers are partial-depth clears (NOT through cuts) with the depth
// in the layer name itself (e.g. POCKET_5-16_DEEP), since layer names import
// into CAM operations and text labels don't; the depth is also written next
// to each pocket on the LABELS layer for the operator.
export type Span = [number, number];
export type XYZ = [number, number, number];
// ---- CNC parameters ---------------------------------------------------------
export const BIT_DIA = 0.25; // 1/4" router bit
export const BLEED = 0.25; // unused margin kept clear of every board edge
export const GAP = 1.0; // space between parts: cutting the OUTSIDE of each
// part eats BIT_DIA off each side, so this leaves

Showing the first 20 lines.

Get full code

Support

Talk to the developers of this project to learn more

We have been building professional websites for big clients for over 15 years. Gallop templates and blocks is our best foundation for SEO websites and web apps.

© 2026 Web Plant Media, LLC