Files
freecad-robust-mcp-fc111/macros/Multi_Export/README-MultiExport.md
T
Sean P. KaneandGitHub 75726329c7 chore: Prepare for 0.6.1 release (#29)
* fix: version in wiki-source.txt fix

* chore: small release-fixes

* chore: prep for 0.6.1 release
2026-01-12 12:06:11 -08:00

299 lines
8.0 KiB
Markdown

# Multi-Format Export - FreeCAD Macro
![Macro Icon](MultiExport.svg)
**Version:** 0.6.1
**FreeCAD Version:** 0.19 or later
**License:** MIT
> **Documentation:** [https://spkane.github.io/freecad-robust-mcp-and-more/](https://spkane.github.io/freecad-robust-mcp-and-more/)
## Overview
This FreeCAD macro exports selected objects to multiple file formats simultaneously with a single click. It features a user-friendly dialog for selecting export formats, configuring output options, and previewing the files that will be created.
Perfect for:
- Preparing files for 3D printing (STL, 3MF)
- CAD interchange with colleagues or clients (STEP, IGES)
- Asset creation for games or visualization (OBJ, PLY)
- Backup exports in multiple formats
## Features
- **Multi-Format Export** - Export to up to 8 different formats at once
- **Smart Defaults** - STL, STEP, and 3MF selected by default (most common formats)
- **Intelligent Path Defaults** - Uses document location and object names automatically
- **Mesh Quality Control** - Adjustable tolerance and deflection for mesh formats
- **Preview Mode** - See exactly what files will be created before exporting
- **Progress Feedback** - Real-time progress bar and status messages
- **Batch Export** - Export multiple selected objects together
---
## Supported Formats
| Format | Extension | Default | Description |
| ------ | --------- | ------- | ---------------------------------------- |
| STL | `.stl` | Yes | Stereolithography - standard 3D printing |
| STEP | `.step` | Yes | CAD interchange - preserves geometry |
| 3MF | `.3mf` | Yes | Modern 3D printing with metadata |
| OBJ | `.obj` | No | Wavefront - 3D graphics and games |
| IGES | `.iges` | No | Legacy CAD interchange |
| BREP | `.brep` | No | OpenCASCADE native - exact geometry |
| PLY | `.ply` | No | Polygon file - 3D scanning |
| AMF | `.amf` | No | Additive manufacturing format |
---
## Installation
### macOS
1. Open **Finder**
1. Press `Cmd + Shift + G` (Go to Folder)
1. Paste: `~/Library/Application Support/FreeCAD/Macro/`
1. Press **Enter**
1. Copy `MultiExport.FCMacro` to this folder
1. (Optional) Copy `MultiExport.svg` for the icon
**From FreeCAD:**
1. Go to **Macro → Macros...**
1. Note the path shown at the top of the dialog
1. Click **User macros location** to open in Finder
1. Copy files there
### Linux
```bash
mkdir -p ~/.FreeCAD/Macro/
cp MultiExport.FCMacro ~/.FreeCAD/Macro/
cp MultiExport.svg ~/.FreeCAD/Macro/ # Optional icon
```
### Windows
1. Navigate to: `%APPDATA%\FreeCAD\Macro\`
1. Copy `MultiExport.FCMacro` to this folder
1. (Optional) Copy `MultiExport.svg` to the same folder
---
## How to Use
### Quick Start
1. **Select objects** in the 3D view (Ctrl+click for multiple)
1. **Run the macro:** Macro → Macros... → MultiExport → Execute
1. **Choose formats** (STL, STEP, 3MF are pre-selected)
1. **Set output location** and filename
1. **Click Export**
### Detailed Steps
#### Step 1: Select Objects
- Click on one or more objects in the 3D view
- Hold `Ctrl` (or `Cmd` on macOS) to select multiple objects
- Selected objects appear in the "Objects to Export" list
#### Step 2: Choose Export Formats
The dialog shows all available formats with checkboxes:
- **STL** - Checked by default (3D printing standard)
- **STEP** - Checked by default (CAD interchange)
- **3MF** - Checked by default (modern 3D printing)
Quick selection buttons:
- **Select All** - Check all formats
- **Select None** - Uncheck all formats
- **Reset Defaults** - Return to STL + STEP + 3MF
#### Step 3: Configure Output
**Directory:**
- Defaults to the same folder as the current FreeCAD document
- Click **Browse...** to choose a different location
**Base Filename:**
- Defaults to the selected object's label (single object)
- Or the document name (multiple objects)
- Enter any name (without extension)
- Extensions are added automatically based on selected formats
**Preview:**
- Shows the files that will be created
- Updates in real-time as you change options
#### Step 4: Mesh Options (Optional)
For mesh formats (STL, OBJ, PLY, 3MF, AMF):
**Surface Tolerance:**
- Lower values = finer mesh = larger files
- Default: 0.1mm (good balance)
- For fine details: 0.01-0.05mm
- For quick exports: 0.2-0.5mm
**Angular Deflection:**
- Controls curved surface approximation
- Default: 0.1mm
- Lower values = smoother curves
#### Step 5: Export
- Click **Export**
- Watch the progress bar
- Review results in the status area
---
## Parameter Reference
### Output Configuration
| Parameter | Default | Description |
| ------------- | ----------------- | ---------------------------- |
| Directory | Document location | Where to save exported files |
| Base Filename | Object/Doc label | Filename without extension |
### Mesh Settings
| Parameter | Default | Range | Description |
| ------------------ | ------- | ---------- | ----------------------------- |
| Surface Tolerance | 0.1 mm | 0.001-10mm | Mesh fineness (lower = finer) |
| Angular Deflection | 0.1 mm | 0.001-10mm | Curved surface approximation |
---
## Use Cases
### Case 1: 3D Printing Preparation
**Scenario:** Export a model for printing on different slicers
**Settings:**
- Formats: STL + 3MF
- Tolerance: 0.1mm (standard quality)
**Result:** Files ready for Cura, PrusaSlicer, Bambu Studio, etc.
### Case 2: Sharing with CAD Users
**Scenario:** Send design to colleague using SolidWorks
**Settings:**
- Formats: STEP + IGES
- (Mesh settings don't apply to these formats)
**Result:** Editable CAD files that preserve exact geometry
### Case 3: Game Asset Export
**Scenario:** Create 3D model for Unity/Unreal
**Settings:**
- Formats: OBJ + PLY
- Tolerance: 0.05mm (good detail)
**Result:** Standard mesh formats for game engines
### Case 4: Complete Backup
**Scenario:** Archive a project in all formats
**Settings:**
- Click **Select All** for all formats
- Directory: Your backup location
**Result:** Complete export in 8 formats for future compatibility
---
## Troubleshooting
### Error: "No Selection"
**Solution:** Select one or more objects in the 3D view before running the macro.
### Error: "No Exportable Objects"
**Cause:** Selected items are not solid objects (groups, annotations, etc.)
**Solution:** Select actual Part or PartDesign bodies with solid geometry.
### Error: "Invalid Directory"
**Solution:** The chosen directory doesn't exist. Click Browse and select a valid folder.
### Warning: Format export failed
**Possible causes:**
1. **Object has invalid geometry** - Try Part → Check Geometry first
1. **Disk full** - Check available disk space
1. **Permission denied** - Choose a folder you have write access to
---
## Technical Details
### Export Methods
| Format | Export Method |
| ------ | -------------------------------- |
| STL | Mesh tessellation → Mesh.write() |
| STEP | Part.Shape.exportStep() |
| 3MF | Mesh tessellation → Mesh.write() |
| OBJ | Mesh tessellation → Mesh.write() |
| IGES | Part.Shape.exportIges() |
| BREP | Part.Shape.exportBrep() |
| PLY | Mesh tessellation → Mesh.write() |
| AMF | Mesh tessellation → Mesh.write() |
### Multiple Objects
When multiple objects are selected:
- **Mesh formats:** Objects are combined into a single compound mesh
- **CAD formats:** Objects are combined into a Part.Compound
---
## Version History
### v0.5.0-beta (2026-01-05)
- Initial release
- 8 export format support (STL, STEP, 3MF, OBJ, IGES, BREP, PLY, AMF)
- Smart defaults (STL, STEP, 3MF pre-selected)
- Intelligent path and filename defaults
- Configurable mesh quality settings
- Real-time file preview
- Progress bar and status feedback
- Multi-object batch export
---
## License
MIT License - Free to use, modify, and distribute.
---
## Credits
Created to simplify the FreeCAD export workflow and eliminate repetitive export operations.