Browse Learn topics

Learn/Shape Generator/Built-in profiles

Boxes.py Collection

At a glance

  • All 168 Boxes.py generators, ported — nearly 200 .jshape files under one Boxes.py category
  • Real JavaScript ports running in the normal sandbox — no Python, no pre-baked geometry
  • Finger-joint boxes, trays, shelves, wall mounts, flex boxes, hole patterns, and parts
  • Millimeter-native with burn/kerf correction for joint fit; attribution shown on every port

JetCad3 bundles the complete Boxes.py generator library — every one of its 168 user-facing generators, as real .jshape ports totaling nearly 200 files. These are JavaScript ports that generate geometry from parameters in the normal Shape Generator sandbox; they don't wrap Python or import pre-generated files.

What's in the collection

The Boxes.py category mirrors the upstream project groups as collapsible subcategories: Boxes (closed, open, hinged, slide-on lids and more), Trays (dividers, type trays), Shelves, Wall Mounted organizers, Flex Boxes with living-hinge flex walls, Hole Patterns, Parts, and Misc.

Finger joints that fit

Ports share a runtime that models Boxes.py's finger-joint system — finger and space widths, material thickness, and the play (burn/kerf) correction that makes joints press-fit correctly off a laser or plasma table. Section strings like 50:50:100 and 68*3 work the same as upstream for multi-compartment layouts.

Units and licensing

Boxes.py ports are millimeter-native (api.units('mm')), and JetCad3 imports the generated geometry at correct real-world size regardless of your preferred units — bare dialog values still follow Settings → Preferred Units. The ports are licensed GPL-3.0-or-later with attribution shown on each shape, and like every .jshape they're user-editable and redistributable.