Color separation and assembleable parts from existing 3D models
Follow real geometry, build supported parts and mating interfaces, and export inspectable print assets.
An offline 3D viewer of a real workflow result. Switch between Assembled and Exploded with smooth motion, or choose a filament color to fade out the other parts. No server or network is needed. GitHub displays source; download the HTML and open it in a browser.
| Example | Contents | View |
|---|---|---|
| 150 mm / 5 colors / 13 parts | Animated assembly/explosion, color isolation, orbit and zoom | View |
Supply an uncolored mesh with references, or a textured/vertex-colored model. The agent uses Blender to clean semantic colors, split requested solid parts, repair fragile edges, and construct supported pins, sockets, and receiving recesses.
- Keep palette and physical-part counts separate; one color need not be one part.
- Full character splitting includes a head/head-and-neck connection by default; limited coloring, export, or repair requests remain limited.
- Preserve text, logos, and important patterns in actual vertex RGB plus compatible materials.
- Set thickness and clearance from actual size, process, and insertion direction.
- Generate an offline assembly demo on request, with animated color isolation and solid-color display.
This is an agent-assisted workflow, not an automatic segmentation command. It does not create models from scratch, automatically slice or control printers, or certify manufacturability.
- Inspect source assets, references, units, and baseline defects.
- Establish a palette and part manifest; clean boundaries along real roots and sidewalls.
- Prove the hardest interface before extending supported closures and connectors.
- Check solids, thickness, assembly order, clearances, and multiple views.
- Reload the final files and verify vertex colors, part counts, and dimensions before delivery.
Workflow · Interfaces · Validation
Copy this folder to ~/.codex/skills/v2fun-split-to-print/, or skills/v2fun-split-to-print/ under your custom CODEX_HOME. Place SKILL.md directly inside it. Use a client with local skill support and Blender 4.x with its bundled Python. No sibling skill, API key, or paid generation is required.
Migrating from v2fun-part: back up the old folder outside the active skills directory, install the new name, and remove the old active copy to avoid duplicate discovery. Preserve model projects and outputs. Reload the client's skill list when needed.
Use $v2fun-split-to-print on this existing model. Make it 150 mm tall for FDM with a 0.4 mm nozzle, separate practical single-color parts, and deliver an assembled project, vertex-color OBJ/MTL, and individual STL files.
The dimensions above are an example, not defaults. Attach the model and any needed appearance references. State size, print process/nozzle, material if known, colors, and parts that must stay together. Already-confirmed choices are reused.
From the installed directory, resolve BLENDER to your executable:
BLENDER --background --python scripts/export_obj_bundle.py -- --helpThis helper requires an already-reviewed Blender scene with constant materials. It does not segment, repair, bake vertex colors, or certify printability. See export scope.
If Blender is unavailable, inspect inputs and report the missing runtime. If shader colors are linked, bake/prepare the intended colors rather than bypassing the helper's rejection. A preview is not a physical fit test.
Ask: “Use $v2fun-split-to-print to create an offline demo of these completed parts.” The bundled generator creates a single HTML with Assembled/Exploded motion, basic solid colors, color isolation, and orbit/zoom. No server or network is required. See inputs, command and verification. Manufacturing files stay unchanged.
Prepare the model-specific manifest using the guide above, then run from the installed skill directory:
BLENDER --background --factory-startup --python-exit-code 1 --python scripts/build_demo.py -- --blend assembled.blend --manifest demo.json --output demo.htmlBlender 4.x generates the file; the browser needs JavaScript and WebGL. Three.js is bundled with its MIT notice. The default preview uses one uniform color per physical part; texture maps and vertex-color patterns are not displayed.
| Deliverable | Contents |
|---|---|
| Assembled Blender project | Editable parts and actual assembly structures |
| Vertex-color OBJ + MTL | Actual RGB records, object names, and material fallback |
| Individual STL when requested | Uncolored independent print solids |
| Offline HTML demo when requested | Assembled/Exploded animation, filament filtering, orbit and zoom |
| Assembly guidance and relevant checks | Directions, modifications, dimensions, and unverified items |
Physical fit is not claimed without a trial. OBJ vertex colors are an extension; receiving software may need MTL or manual filament assignment.
- Name migration preserving coloring, splitting, and local repair workflows.
- Default character head connections and thin-part checks.
- Vertex-color delivery contract, bilingual documentation, and offline result example.
- Reusable offline demo generator, configurable part manifest and bundled viewer.
V2Fun-Research/v2fun-split-to-print is a private repository. Repository access requires authorization; a public Star History chart is unavailable while it remains private.
Maintainer: V2Fun Team · V2Fun Discord · V2Fun
Thanks to Blender and its contributors for the local modeling tools. The V2Fun README template draws presentation inspiration from img2threejs; no endorsement is implied. The offline viewer includes Three.js and its OrbitControls and BufferGeometryUtils components under MIT.
MIT License
Copyright © 2026 V2Fun Team.
Applies to this project’s code and documentation. Blender, brand marks, input models, and example character assets have separate rights. The example character is excluded from the MIT grant; public redistribution rights have not been independently confirmed. See third-party scope.
