# Svg To 3d Forge

> Create simple SVG assets locally and turn them into STL, OBJ, or GLB model files with an explicit Blender-based extrusion workflow.

- Skill: `arnie016/svg-to-3d-forge` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add arnie016/svg-to-3d-forge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/arnie016/svg-to-3d-forge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Arnie016 (https://skillmd.com/u/arnie016)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/arnie016/svg-to-3d-forge

---


# SVG To 3D Forge

Use this skill when the user wants a local Mac workflow for creating simple vector assets and turning them into basic 3D model files without pretending there is a magic one-click CAD pipeline behind it.

Default product shapes:
- a compact menu-bar utility that keeps SVG scaffold, extrusion settings, and export actions in one calm surface
- a deterministic local helper that can scaffold simple SVG templates and extrude them through Blender into STL, OBJ, or GLB

## Quick Start

1. Confirm whether the user wants a starter SVG, a 3D export from an existing SVG, or a real menu-bar utility surface.
2. Run `python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py doctor` to confirm Blender availability first.
3. Use `python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py scaffold --preset badge --text AC --output badge.svg` for a deterministic starter SVG.
4. Use `python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py extrude --input badge.svg --output badge.stl --format stl` to create a local mesh export.
5. Use `--depth`, `--bevel`, and `--size` to control extrusion thickness and export scale.
6. Use the SwiftUI starter in `prototype/` when the user wants a reusable Mac utility shell around the same pipeline.

## Accepted Inputs

- an existing SVG file with paths, shapes, or text already outlined the way the user wants
- a request for a simple scaffolded SVG asset such as a badge, coin, plaque, or keycap face
- desired output format: `stl`, `obj`, or `glb`
- extrusion depth, bevel, and approximate overall size
- whether the export is for quick visual mockups, slicer-ready prototypes, or app asset packaging

## Workflow

### Keep the boundary explicit

- Treat the SVG as the source of truth for the 2D asset.
- Use Blender locally for curve import, extrusion, mesh conversion, and export.
- If Blender is missing, stop with a clear dependency message instead of claiming the conversion worked.
- Keep the skill focused on simple vector-to-mesh work; do not present it as full mechanical CAD or a guarantee of print-ready topology.

### Prefer deterministic vector starts

- Use the scaffold command when the user needs a simple starter mark rather than a blank file.
- Keep scaffolded SVGs template-driven and editable.
- Encourage users to convert decorative text to outlines in their design tool if exact typography matters before extrusion.

### Validate the right thing

- Use STL for slicer or fabrication-oriented handoff.
- Use OBJ when another DCC tool needs a simple mesh file.
- Use GLB when the user wants a lightweight packaged 3D asset for viewers or web surfaces.
- If watertight geometry or tolerance matters, validate the result in Blender, a slicer, or CAD after export.

## Local Helper

Use `scripts/svg_to_3d_forge.py` for deterministic local workflows:

```bash
python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py doctor
python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py scaffold --preset badge --text AC --output badge.svg
python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py scaffold --preset keycap --text GO --subtitle layer --output keycap.svg
python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py extrude --input badge.svg --output badge.stl --format stl --depth 3.2 --bevel 0.25 --size 80
python skills/svg-to-3d-forge/scripts/svg_to_3d_forge.py extrude --input mark.svg --output mark.glb --format glb --depth 2.0 --size 100 --keep-driver
```

The helper can:
- check for Blender and report the exact binary path it found
- scaffold editable SVG files from a few practical presets
- generate a Blender driver script and run it locally to import the SVG, extrude curves, join the meshes, scale them, and export the chosen model file

## Guardrails

- Do not invent cloud conversion services, parametric CAD features, or automatic repair that the local toolchain does not provide.
- Keep the UI and workflow compact: source SVG, extrusion settings, output format, export.
- If the SVG is too complex, self-intersecting, or text-heavy, say so and recommend outline cleanup before extrusion.

## Prototype

- SwiftUI starter files live in `prototype/`.
- The prototype sketches a menu-bar shell with SVG intake, preset scaffolds, extrusion controls, and a one-click export flow.

## Example Prompts

- `Use $svg-to-3d-forge to scaffold a simple badge SVG and export it as an STL with a shallow bevel for 3D printing.`
- `Use $svg-to-3d-forge to turn this existing logo SVG into a GLB file with clean local Blender export steps.`
- `Use $svg-to-3d-forge to build a compact macOS menu-bar utility for SVG scaffold, extrusion preview settings, and STL or GLB export.`

## Resources

- `scripts/svg_to_3d_forge.py`: local doctor, scaffold, and Blender export helper
- `prototype/`: menu-bar-first SwiftUI starter for a compact SVG-to-3D utility shell

