Overview
The 3MF export system converts your bin designs into industry-standard 3MF packages compatible with all modern slicers. Each export includes proper metadata for Bambu Studio integration and multi-object support.Export Options
Export Single Bin
Selected bin only
- One bin geometry
- Positioned at world origin
- Filename:
gridfinity-bin-[WxDxH].3mf - Fast export (<1 second)
Export All Bins
Complete layout
- All bins in scene
- Grid positions preserved
- Filename:
gridfinity-layout-[date].3mf - Multi-object 3MF
3MF File Format
The 3MF (3D Manufacturing Format) is a modern replacement for STL:Format Structure
Why 3MF over STL?
3MF Advantages
- Multi-object support
- Embedded metadata
- Color/material info
- Native slicer integration
- Smaller file sizes (compressed)
STL Limitations
- Single object only
- No metadata
- No color info
- Larger files (uncompressed)
- Requires manual positioning
Geometry Generation Pipeline
Step-by-step process:- User clicks Export button
- Web Worker generates CSG meshes for each bin
- Manifold WASM ensures watertight geometry
- Boolean operations (unions, subtractions) computed
- Manifold mesh extracted:
- Vertices:
Float32Arrayof [x,y,z] coordinates - Triangles:
Uint32Arrayof [v0,v1,v2] indices
- Vertices:
- XML serialization:
<vertices>block with all vertex positions<triangles>block with face indices
- 3MF package assembly (JSZip):
- Content types, relationships, metadata
- OPC (Open Packaging Convention) structure
- ZIP compression (DEFLATE)
- Browser download triggered
Example 3MF Mesh XML
Example 3MF Mesh XML
Manifold CSG Engine
Why Manifold ensures printable geometry:- Watertight meshes: No holes, gaps, or non-manifold edges
- Exact arithmetic: No floating-point errors
- Robust booleans: Unions and subtractions always succeed
- WASM performance: Near-native C++ speed in browser
Manifold guarantees that every exported mesh is a valid, closed 2-manifold suitable for 3D printing.
Bambu Studio Integration
Optimized Metadata
The exporter includes Bambu-specific config files: model_settings.configCoordinate System
Manifold uses Y-up (CAD convention), but Three.js uses Z-up (graphics convention). The export pipeline handles this:Coordinate Transformation
Multi-Object 3MF Structure
Exporting all bins creates a multi-object 3MF:Object Hierarchy
Each bin requires two objects:- Volume object (odd ID): Contains actual mesh
- Parent object (even ID): References volume + adds name
Build Items
The<build> section lists all printable objects:
UUIDs are auto-generated for each build item to ensure slicer compatibility.
Slicer Compatibility
Tested and working:Bambu Studio
Full support:
- Multi-object import
- Metadata recognition
- Auto-arrange on plate
PrusaSlicer
Full support:
- Multi-object import
- Instances and copies
- Auto-arrange
Cura
Full support:
- Multi-object import
- Group operations
- Per-object settings
Import Behavior
- Bambu Studio: Opens with all bins on plate, ready to slice
- PrusaSlicer: Imports all objects, may require auto-arrange
- Cura: Imports as group, drag to separate if needed
File Naming Convention
- Single bin:
gridfinity-bin-2x3x4u.3mf- Format:
gridfinity-bin-[W]x[D]x[H]u.3mf
- Format:
- All bins:
gridfinity-layout-2024-03-15.3mf- Format:
gridfinity-layout-[YYYY-MM-DD].3mf
- Format:
Export Performance
Single Bin
- Typical time: 0.5-1 second
- Depends on divider count
- Simple bins (<0.5s)
Full Layout
- Typical time: 2-5 seconds
- Depends on bin count
- 10 bins: ~3 seconds
Privacy & Security
Fully client-side: All geometry generation and 3MF packaging happens in your browser. No server uploads, no data collection.
- No internet connection required (after initial load)
- Your designs never leave your device
- Works offline (PWA mode)
- No file size limits
Troubleshooting
File won't open in slicer
File won't open in slicer
Possible causes:
- Browser canceled download (check download folder)
- File corrupted during download (re-export)
- Slicer version too old (update to latest)
Bins appear at wrong position
Bins appear at wrong position
This is expected—slicers may auto-arrange objects. Use the slicer’s “Arrange” function to optimize plate layout.
Missing bins in exported file
Missing bins in exported file
Cause: Only bins that successfully generate CSG meshes are included. Check the 3D preview for any wireframe placeholders (red boxes)—these indicate failed geometry.Solution: Simplify the bin (reduce dividers, avoid extreme dimensions) and re-export.
Tips & Best Practices
Technical Implementation
- Export module:
src/gridfinity/export3mf.ts - 3MF packaging: JSZip library
- Mesh format: Manifold → TriangleMesh adapter
- Compression: DEFLATE (ZIP standard)
- XML generation: Template strings with escaping
- UUID generation: Crypto-random hex (RFC 4122 v4)
Related Features
3D Preview
Verify geometry before exporting
Bin Configurator
Configure bin parameters for export
