A Multi-Material FDM Color System Based on Physical Calibration
Current Version: v1.6.7
License: GNU GPL v3.0
Nature: Non-profit Open Source Community Project
To simplify the steep learning curve of software such as HueForge/FlatForge and the requirement for specific filaments, Lumina uses brute-force and simplified brute-force methods based on physical calibration to obtain actual printed colors. The current mode does not involve any color theory calculations (color calculation based on color/TD values may be introduced in advanced features of version 2.0 in the future). The current approach is: Print - Capture - Extract Color - Map Stacking Formula Based on Extracted Color - Print (this is a color matching function, inspired by the default color matching in Autoforge and CMYK Lithophane).
Color Modes
2/4/5/6/8 Colors
Generation Modes
High-fidelity mode / Pixel mode / SVG mode
Other Features
Custom color card and color calibration functions
Adjust the number of generated colors
Image cutout / background removal
Independent backplate
Outline
Add transparent layer
Cloisonné enamel mode
Replace colors in the image after generating preview
Advanced Features
Color Formula Search
Merge color card function
All calibration presets (.npy files) are completely free and open, following these principles:
-
Vendor Lock-in Rejection: We will never force users to use specific filament brands, or require manufacturers to produce specific "compatible filaments" — past, present, or future. This violates the spirit of open source.
-
Community Collaboration: All users, organizations, and filament manufacturers are welcome to submit PRs to synchronize calibration presets. Your printer data can help others.
-
No additional testing tools required — only a 3D printer and a phone/camera.
Open Data = Community Co-creation
git clone https://github.com/MOVIBALE/Lumina-Layers.git
cd Lumina-Layers
### Option 1:Docker
Using Docker is the easiest way to run Lumina Studio without worrying about system-level dependencies (such as cairo or pkg-config).
1. **Build the lumina image**:
```bash
docker build -t lumina-layers .-
Run Container:
docker run -p 7860:7860 lumina-layers
-
Open in your browser
http://localhost:7860。
Basic Dependencies:
pip install -r requirements.txtpython main.pyThis will launch the web interface containing all three modules in a browser tab.
| Component | Technology |
|---|---|
| Core Logic | Python (NumPy for voxel operations) |
| Geometry Engine | Trimesh (mesh generation and export) |
| UI Framework | Gradio 4.0+ |
| Vision Stack | OpenCV (perspective and color extraction) |
| Color Matching | SciPy KDTree |
| 3D Preview | Gradio Model3D (GLB format) |
This project is licensed under the GNU GPL v3.0 open-source license.
- ✅ Open Source & Freedom: You are free to run, study, modify and distribute this software.
- 🔄 Strong Copyleft: If you modify and distribute this software, you must publish your source code under the GPL v3.0 license.
- ❌ No Closed-Source: It is strictly prohibited to package and sell this software or its derivatives as closed-source products.
Commercial Use & "Small Creator" Support Statement: This project supports and encourages individual creators, small vendors and micro-enterprises to earn income through labor. You may freely use this software to generate models and sell physical printed products without additional authorization.
This project is inspired by the following works:
- HueForge – The first project to commercialize FDM multi-layer stacking color mixing technology.
- AutoForge – Automated color matching built on Hueforge.
- CMYK Backlit Lithophane – Multi-layer stacked backlit lithophane effects in 3D printing based on transmission and subtractive color principles.
Traditional tools rely on theoretical calculations (such as TD1/TD0 transmission distance values), but these parameters often fail due to various objective variations.
Lumina Studio 1.X uses a brute-force approach:
- Print physical calibration charts with 1024+ colors (full permutation for 2 colors × 5 layers, 4 colors × 5 layers; simplified brute-force for 6 colors × 5 layers, 8 colors × 5 layers)
- Scan via photography and extract real RGB data
- Build a "Lookup Table (LUT) of actual results"
- Match using nearest-neighbor algorithm (similar to Bambu Lab's keychain generator matching)
The core principle of FDM multi-layer color mixing was publicly disclosed by software such as HueForge between 2022 and 2023, and constitutes prior art.
The author of Hueforge has also clarified that such technical principles have entered the public domain. In most countries and regions, patents on these principles would almost certainly be rejected if rigorously examined by patent offices.
These authors chose openness to support community development, so this technology is generally not patentable.
Lumina Studio will remain open-source, collaborative, and non-profit. Public oversight is welcome.
- This is an open-source non-profit project with no bundled sales, and no features will be locked behind paywalls.
- If you or your company wish to support the project’s continued development, please contact us. Sponsored products will only be used for software development, testing and optimization.
- Sponsorship represents support for the project and does not constitute any commercial binding.
- Sponsorship arrangements that would influence technical decisions or open-source licenses are rejected.
Lumina Studio has not referenced any pending patent content, as most such patents only include specifications and do not disclose code in the short term; blind reference would hinder independent development.
Special thanks to HueForge for their support and understanding of open source!
Special Thanks to:
⭐ Star this repo if you find it useful!
