A professional FreeCAD workbench for designing metal frame structures with parametric features for extrusion, joints, and alignment.
Create metal frame members by extruding a profile sketch along selected edges with full alignment control.
Features:
- Multi-edge selection for batch extrusion
- 9-point alignment grid (Top Left, Center, Bottom Right, etc.)
- Profile rotation control
- Horizontal and vertical offset adjustments
- Live preview with yellow transparency
Create precise miter joints between two frame members with configurable gap and offset strategies.
Features:
- Bisect or Full Miter cut types
- Gap control with symmetric, flipped, or default offset
- Automatic geometry cleanup with
removeSplitter() - Parametric updates when source geometry changes
Trim or extend frame members to a target face or plane with offset control.
Features:
- Multi-beam selection
- Face or plane target selection
- Offset distance control
- Automatic extension for proper cutting
- Smart face detection for optimal results
Create L-shaped corner joints with master/slave relationship for clean intersections.
Features:
- Two-beam selection
- Offset control for each member
- Master beam passes through, slave beam butts against it
- Automatic face selection for optimal joint geometry
Modify alignment properties of existing frame members interactively.
Features:
- 9-point alignment grid
- Rotation control (-360° to +360°)
- Horizontal and vertical offset adjustments
- Auto-apply for instant feedback
- Works on selected features or entire groups
Automatically align a frame face to a target plane by calculating required offsets.
Features:
- Select source face on frame member
- Select target face or plane
- Automatic offset calculation using Frenet frame mathematics
- Adjusts
OffsetHorizontalandOffsetVerticalproperties
- Download or clone this repository
- Copy the
freecad/metal_workingfolder to your FreeCADModdirectory:- Windows:
C:\Users\<username>\AppData\Roaming\FreeCAD\Mod\ - Linux:
~/.FreeCAD/Mod/ - macOS:
~/Library/Application Support/FreeCAD/Mod/
- Windows:
- Restart FreeCAD
-
Activate the Workbench
- Select "MetalWorking" from the workbench dropdown menu
-
Create a Profile Sketch
- Use the Sketcher workbench to create your frame profile (e.g., rectangle, I-beam, tube)
-
Create a Path Sketch
- Create a sketch with edges defining the frame member paths
-
Extrude Along Path
- Click the Extrude Sketch tool
- Select your profile sketch
- Select one or more path edges
- Adjust alignment, rotation, and offsets as needed
- Click OK
- Create a rectangular profile sketch (e.g., 40mm × 40mm)
- Create a path sketch with 4 edges forming a rectangle
- Use Extrude Sketch to create all 4 frame members
- Use Corner Joint to connect the corners
- Adjust alignment as needed with Change Alignment
- Extrude Sketch: Create frame members along paths
- Miter Cut: Create miter joints between members
- Trim/Extend: Trim or extend members to faces
- Corner Joint: Create L-shaped corner joints
- Change Alignment: Modify alignment of existing members
- Align to Plane: Auto-align face to target plane
All features are fully parametric using FreeCAD's FeaturePython framework:
- ExtrudeFeature: Base frame member with alignment properties
- MiterFeature: Parametric miter joint
- TrimExtendFeature: Parametric trim/extend operation
- CornerJointFeature: Parametric corner joint
Each ExtrudeFeature includes:
Profile: Link to profile sketchPath: Link to path edge (DirLink)RefUp: Reference up vector for orientationAlignment: 9-point anchor selectionProfileRotation: Rotation angle around anchorOffsetHorizontal: Horizontal offset in mmOffsetVertical: Vertical offset in mm
The workbench uses Frenet frames for proper orientation:
- Z-axis: Along extrusion direction (path edge)
- X-axis: Horizontal (from
RefUpcross Z) - Y-axis: Vertical (Z cross X)
- FreeCAD 1.0 or later
- Python 3.8+
- PySide6 (included with FreeCAD)
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This workbench is not released under any license.
- Issues: Report bugs or request features on GitHub Issues
- Forum: Discuss on the FreeCAD Forum
- ✅ Extrude Sketch with 9-point alignment
- ✅ Miter Cut with gap control
- ✅ Trim/Extend to faces
- ✅ Corner Joint creation
- ✅ Change Alignment tool
- ✅ Align to Plane tool
- ✅ Parametric feature updates
- ✅ 3D icon set with blue/yellow theme









