An Autodesk Fusion 360 add-in that automates tab-and-slot joinery creation for sheet goods fabrication, targeting flat-pack furniture prototyping and CNC router manufacturing.
This add-in automatically detects intersecting sheet bodies and generates appropriate joinery (finger joints, box joints, T-slots, etc.) with intelligent dogbone placement for CNC router compatibility. It bridges Design and CAM workflows by preserving design intent while accommodating real-world manufacturing constraints.
- Automatic Joint Detection: Scans assemblies for sheet intersections and suggests optimal joint types
- Parametric Integration: Uses Fusion's Custom Features API for timeline integration and automatic regeneration
- CNC Router Ready: Intelligent dogbone placement with Design-to-CAM metadata flow
- Material Flexibility: Supports plywood, MDF, and composite sheets (tested 2-20mm range)
- Manufacturing Workflow: Nominal dimensions in Design, measured stock adjustments in CAM
- Autodesk Fusion 360 (latest version recommended)
- Python 3.12.4 (matches Fusion 360's Python version)
- Clone this repository
- Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh - Create virtual environment:
uv venv - Install dependencies:
uv sync - Configure development environment:
uv run setup_dev.py
The setup_dev.py script automatically configures your development environment for Fusion 360 add-in development:
What it does:
- Detects your Fusion 360 installation automatically (Windows/macOS)
- Creates
pyrightconfig.jsonwith the correct API definition paths for type checking - Configures paths for both Fusion 360 APIs (
adsk.core,adsk.fusion) and local modules
Usage:
uv run setup_dev.pyOutput files:
pyrightconfig.json- Dynamic paths for pyright type checker (gitignored)- Static configuration remains in
pyproject.toml
This enables full IntelliSense and type checking for Fusion 360 APIs in your IDE without manual configuration.
- Fusion 360 Personal or Commercial license with CAM workspace access
- Download the latest release from Releases
- Extract the add-in files to your Fusion 360 add-ins directory:
- Windows:
%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\ - macOS:
~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/
- Windows:
- Launch Fusion 360
- Go to UTILITIES → ADD-INS → Scripts and Add-Ins
- Select the Add-Ins tab, find "Sheet Goods Joinery", and click Run
- Check Run on Startup for automatic loading
- Create your sheet goods assembly in Fusion's Design workspace
- Ensure sheet bodies intersect where you want joints
- Access SOLID → Sheet Joinery → Auto-Generate Joints
- Configure joint parameters in the dialog:
- Material type (Plywood, MDF, Custom)
- Nominal thickness
- Tolerance settings
- Joint type preferences
- Click OK to generate joints automatically
The add-in creates a single "Sheet Joinery" feature in your timeline that regenerates automatically when upstream geometry changes.
- Switch to MANUFACTURE workspace
- Create your CAM setup normally
- Before generating toolpaths, run CAM → Sheet Joinery → Prepare for Manufacturing
- Enter measured material thickness (if different from nominal)
- Review dogbone placement suggestions
- Click Apply to update geometry for CNC routing
- Edit Timeline Feature: Right-click the "Sheet Joinery" feature → Edit Feature
- Individual Joint Control: Select joint geometry → Properties panel for fine-tuning
- Joint Type Override: Right-click joint → Override Joint Type → Select from dropdown
- Reset to Auto: Use "Reset to Auto" button to return to algorithmic settings
- Finger Joints: Alternating tabs/slots for edge-to-edge connections
- Box Joints: Corner connections with configurable tab count
- T-Slot Joints: Perpendicular sheet insertion
- Mortise & Tenon: Sheet goods variations
- No automatic
preGenerate/postGenerateoperation hooks available - Users must manually run "Prepare for Manufacturing" when Design changes
- Cannot create custom CAM operations - uses geometry modification approach instead
🔄 Future Improvements: When Autodesk expands CAM API capabilities, we plan to add:
- Automatic CAM sync with Design changes
- Custom CAM operation types for dogbone placement
- Assembly sequence optimization
- Custom Features API: Creates parametric timeline integration
- Intersection Detection: BRep geometry analysis for joint placement
- Metadata Tagging: Face attributes for manufacturing hints
- Geometry Override: Modifies operation selections for measured stock
- Dogbone Automation: Processes tagged faces for corner relief
- Cross-Workspace Sync: Reads Design module metadata
- ✅ Requirements Complete
- 🔄 Implementation In Progress
- ⏳ Testing Phase
- ⏳ Beta Release
See REQUIREMENTS.md for detailed specifications and development guidelines.