This macro helps batch converting to mesh and exporting STL, OBJ and 3mf files. It adds a GUI for speeding up the conversion and file saving of selected objects.
This is a fork of the original Batch Export to Mesh by Pablo Gil Fernández.
- Save as Assembly - Combine multiple selected objects into a single mesh file instead of exporting them as separate files. Useful for exporting complete assemblies as one STL/OBJ for 3D printing or other applications.
- Part containers (App::Part) are automatically expanded to include all child bodies
- OBJ files export with separate named objects for each body (named as
PartName_BodyName), making them easy to work with in Blender and other 3D software - STL files combine all geometry into a single mesh
- 3MF (Assembly) - new: export assembly as a single .3mf package with one named object per Part→Body; no external dependencies required. The writer encodes a Part->Body hierarchy (parent Part objects referencing child body objects) so importers like OrcaSlicer can preserve the logical grouping.
Note: Some slicers (for example, BambuStudio and OrcaSlicer) may strip per-resource object names or metadata when they import and re-save a 3MF file. In that case you may only see the top-level Part names in the slicer UI and child/body names may be lost. This is importer behavior and not caused by this macro. If you need body names to be permanently visible in a slicer, consider exporting bodies as top-level build items (not the default behavior).
- FreeCAD ''standard'' meshing option
- Custom names (object, project or custom)
- Converts/exports one or several objects at once
- Save as Assembly - combine multiple objects into one mesh file (NEW)
- Convert objects into the active FreeCAD project or
- Export objects to STL or OBJ files
- Absolute or relative paths are allowed
- Select local or global coordinates (useful for 3D print design)
- Creates folders if needed
- Opens folder in file explorer
- Preset loading/saving
- Remember last preset used
Original work Copyright 2024 Pablo Gil Fernández. Fork modifications Copyright 2026 WillJohns0n.
This work is licensed under GNU Lesser General Public License (LGPL). To view a copy of this license, visit:
https://www.gnu.org/licenses/lgpl-3.0.html
- 2026-01-08 - Added "Save as Assembly" support, OBJ grouping improvements, and a pure-Python 3MF writer that encodes Part→Body hierarchies. Tested on FreeCAD 1.1. Note: some slicers may strip per-resource object names on import/resave; see the note in "Fork Additions" for details.

