A FreeCAD workbench for designing laser-cut boxes and enclosures. Create parametric tabs, slots, and living hinges on your 3D models for easy laser cutting and assembly.
Video tutorial: How to use basic features
- Basic Box — Create rectangular box pieces with configurable dimensions
- Tabs — Add parametric finger tabs along edges for joining panels. Supports tab count, width, depth, taper, margins, and optional hook profiles
- Slots — Generate slots along edges to receive tabs from other panels. Configurable slot count, length, depth, and gap width
- Living Hinge — Create flexible hinge patterns (e.g. straight elements) along edges for foldable designs
All features work on selected faces and edges of your Part or PartDesign bodies, with optional auto-update when parameters change.
- FreeCAD (tested with FreeCAD 1.x)
- PySide (included with FreeCAD)
- Open FreeCAD
- Go to Tools → Addon Manager
- Search for "LaserBoxTools" or "Laser Boxes"
- Click Install
If this workbench is not yet in the Addon Manager repository, use manual installation below.
- Clone or download this repository
- Copy the entire
LaserBoxToolsfolder into your FreeCAD Mod directory:- Linux:
~/.local/share/FreeCAD/Mod/(or~/.local/share/FreeCAD/v1-2/Mod/for FreeCAD 1.2) - Windows:
%APPDATA%\FreeCAD\Mod\ - macOS:
~/Library/Application Support/FreeCAD/Mod/
- Linux:
- Restart FreeCAD
- Select the Laser Boxes workbench from the workbench dropdown
- Create or open a Part or PartDesign model
- Switch to the Laser Boxes workbench
- Select a face or edge on your model
- Use one of the tools:
- LBBasicBox — Create a new box piece
- LBTabs — Add tabs to the selected edge
- LBSlots — Add slots to the selected edge
- LBLivingHinge — Add a living hinge along the selected edge
Adjust parameters in the property panel or task panel. Enable Auto Update to refresh the geometry when you change values.
LaserBoxTools/
├── Init.py # Module initialization
├── InitGui.py # Workbench registration
├── laser_boxes_locator.py
├── src/
│ ├── lasermakebox.py # Basic box creation
│ ├── lasertabs.py # Tab generation
│ ├── laserslots.py # Slot generation
│ ├── laserlivinghinge.py
│ └── laserhelper.py # Shared utilities
├── dialogs/ # Qt UI files
├── Resources/icons/ # Tool icons
└── LICENSE
This project is licensed under the GNU Lesser General Public License v2.1 (LGPL-2.1). See the LICENSE file for details.
- Copyright (c) 2022 EskiBrew