Spaces:
Running
on
Zero
Running
on
Zero
| title: Autoforge | |
| emoji: 🏢 | |
| colorFrom: gray | |
| colorTo: yellow | |
| sdk: gradio | |
| sdk_version: 5.29.1 | |
| app_file: app.py | |
| pinned: false | |
| license: other | |
| short_description: Generating 3D printed layered models from an input image | |
| Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference | |
| # AutoForge | |
| AutoForge is a Python tool for generating 3D printed layered models from an input image. Using a learned optimization strategy with a Gumbel softmax formulation, AutoForge assigns materials per layer and produces both a discretized composite image and a 3D-printable STL file. It also generates swap instructions to guide the printer through material changes during a multi-material print. \ | |
| **TLDR:** It uses a picture to generate a 3D layer image that you can print with a 3d printer. Similar to [Hueforge](https://shop.thehueforge.com/), but without the manual work (and without the artistic control). | |
| ## Example | |
| All examples use only the 13 BambuLab Basic filaments, currently available in Hueforge, the background color is set to black. | |
| The pruning is set to a maximum of 8 color and 20 swaps, so each image uses at most 8 different colors and swaps the filament at most 20 times. | |
| <div style="display: flex; justify-content: center; gap: 20px;"> | |
| <div style="text-align: center;"> | |
| <h3>Input Image</h3> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/lofi.jpg" width="200" /> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/nature.jpg" width="200" /> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/cat.jpg" width="200" /> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/chameleon.jpg" width="200" /> | |
| </div> | |
| <div style="text-align: center;"> | |
| <h3>Autoforge Output</h3> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/lofi_discretized.png" width="200" /> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/nature_discretized.png" width="200" /> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/cat_discretized.png" width="200" /> | |
| <img src="https://github.com/hvoss-techfak/AutoForge/blob/main/images/chameleon_discretized.png" width="200" /> | |
| </div> | |
| </div> | |
| ## Features | |
| - **Image-to-Model Conversion**: Converts an input image into a layered model suitable for 3D printing. | |
| - **Learned Optimization**: Optimizes per-pixel height and per-layer material assignments using PyTorch. | |
| - **Learned Heightmap**: Optimizes the height of the layered model to create more detailed prints. | |
| - **Gumbel Softmax Sampling**: Leverages the Gumbel softmax method to decide material assignments for each layer. | |
| - **STL File Generation**: Exports an ASCII STL file based on the optimized height map. | |
| - **Swap Instructions**: Generates clear swap instructions for changing materials during printing. | |
| - **Live Visualization**: (Optional) Displays live composite images during the optimization process. | |
| - **Hueforge export**: Outputs a project file that can be opened with hueforge. |