mbos

Convert SVG files into a 3D STEP file for 3D printing.

$ mbos test.svg per-color-multi-layer.step
$ mbos test.svg single-layer.step          --flat
$ mbos test.svg multi-layer.step           --flat 2 --flat-map "1:#fafafa,0:#aa0000"
$ mbos test.svg outline.step               --seal --seal-color #FF0000 --seal-base-color #FFFFFF
$ mbos test.svg relief.step                --relief
$ mbos test.svg curved.step                --curve --curve-angle 50
$ mbos test.svg base.step                  --base --base-border 0.1 --base-color #AAAAAA
$ mbos test.svg base-curved.step           --base --base-shape outline --base-curve --curve-angle 50
   
Single Layer Multi Layer
single-layer.step multi-layer.step
Outline mode Wrap around curved surface
outline.step curved.step
Add a base layer Add a curved base to flat multi layer model (base with minimal filament swap)
base.step base-curved.step
Per color multi layer (3D print with minimal filament swap)
per-color-multi-layer.step

https://github.com/hackorama/mbos

Python app built with LLM assisted code generation and leveraging excellent open source work of CadQuery, OpenCASCADE / OCP, vtracer, Pillow etc.