3D-printable accessories for the Best Fence saw system.
best_fence is an OpenSCAD design project that creates 3D-printable parts for working with the Best Fence woodworking measurement system.
Features:
- 3D-printable toe clamp system for securing the Best Fence to your workstation
- Modular mount design supporting 1–10 channels with configurable spacing
- Connectors for joining fence sections (butt connector) and mounting to saw horses
- OpenSCAD 2026.02.10 or newer
- Python 3 (for documentation generation, optional)
- openscad-docsgen (installed via
make setup)
Open any file in parts/ or assemblies/ in OpenSCAD and press F5 to preview.
make # Build all STL filesEdit parameters in config.scad to adjust dimensions and settings.
# Build all parts
make
# Build specific part
make parts/butt_connector.scad build/stl/butt_connector.stl
make parts/saw_horse_connector.scad build/stl/saw_horse_connector.stl
make parts/toe_clamp_body.scad build/stl/toe_clamp_body.stl
make parts/toe_clamp_insert.scad build/stl/toe_clamp_insert.stl
# Generate documentation
make docs
# Render images
make images
# Clean build artifacts
make clean- parts/ - Printable 3D part source files
- assemblies/ - Pre-configured assembly files for preview and export
- tools/ - Reusable mount and attachment modules
- hardware/ - Hardware reference models (bolt, screw)
- scripts/ - Build automation scripts
- build/ - Generated STL files and images (run
maketo create) - docs/ - Documentation (hand-written + generated)
- config.scad - Project-wide configuration
All project settings can be adjusted in config.scad:
- Best Fence dimensions and tolerances
- Mount height and clearance
- Toe clamp geometry and sizing
- Hardware dimensions (bolt/screw)
- Rendering quality ($fn settings)
| Part | File | Description |
|---|---|---|
| Toe Clamp Body | parts/toe_clamp_body.scad |
Main clamp body — print in TPU |
| Toe Clamp Insert | parts/toe_clamp_insert.scad |
Stiffening insert for clamp — print in PLA/PETG |
| Butt Connector | parts/butt_connector.scad |
Joins two fence sections end-to-end (2 channels) |
| Saw Horse Connector | parts/saw_horse_connector.scad |
Mounts fence on a saw horse (1 channel) |
See docs/bom.md for complete bill of materials including hardware.
See docs/assembly_instructions.md for step-by-step assembly instructions.
- API Reference - Generated API documentation
- Assembly Instructions - How to assemble the parts
- Bill of Materials - Complete parts and hardware list
make setupThis creates a Python virtual environment and installs openscad-docsgen for documentation generation.
best_fence/
├── README.md # Project overview
├── Makefile # Build automation
├── config.scad # Project configuration
├── .openscad_docsgen_rc # Documentation config
├── parts/ # Printable part source files
│ ├── toe_clamp_body.scad
│ ├── toe_clamp_insert.scad
│ ├── butt_connector.scad
│ └── saw_horse_connector.scad
├── assemblies/ # Pre-configured assembly files
│ ├── butt_connector.scad
│ └── saw_horse_connector.scad
├── tools/ # Reusable mount/attachment modules
│ ├── mount.scad
│ ├── attachment_helping_hand.scad
│ └── attachment_screw.scad
├── hardware/ # Hardware reference models
│ ├── bolt.scad
│ └── screw.scad
├── scripts/ # Build scripts
├── build/ # Generated files (gitignored)
│ ├── stl/ # STL exports
│ └── images/ # Documentation renders
└── docs/ # Documentation
└── api/ # Generated API docs
You can override variables from the command line:
# Export with custom bolt radius
./scripts/export_part.sh parts/toe_clamp_body.scad build/stl/toe_clamp_body.stl \
"BOLT_HEAD_RADIUS=8"
# Export with lower resolution (faster)
./scripts/export_part.sh parts/toe_clamp_body.scad build/stl/toe_clamp_body_lowres.stl \
"EXPORT_FN=16"Contributions welcome! Please:
- Follow the OpenSCAD Style Guide
- Document everything using openscad_docsgen format
- Test your changes before submitting
- Update documentation as needed
- Issues: GitHub Issues
- Documentation: docs/
This project is licensed under the CERN Open Hardware License Version 2 – Strongly Reciprocal (CERN-OHL-S v2).
Summary:
- ✓ Use, modify, and manufacture (including commercially)
- ✓ Distribute original or modified versions
⚠️ Modified versions must use the same license⚠️ Must provide complete source for any distributed modifications
See LICENSE for full license text.
Status: Active development Version: 0.1.0 (pre-release)