Field noteNov 8, 20265 min read1 source

sand3d is an Apache-2.0 Python library for writing 3D objects as short, LLM-friendly programs on top of Blender.

In one minute

Sandflow’s sand3d is an Apache-2.0 Python library for describing 3D objects as compact, named programs over Blender. Its pitch is that shorter, readable geometry code can make it easier to ask language models to build editable objects, while exporting the result into formats used by 3D viewers, simulation tools and CAD workflows.

What changed: Sandflow released sand3d, an Apache-2.0 Python library for creating 3D objects as compact programs built on Blender.

What happened

The sand3d repository describes a Python library for writing 3D objects as programs composed from profiles, solids, edits, frames, joints and assemblies. The library runs on Blender’s bpy module. Instead of expressing a shape through long sequences of manually computed coordinates, its API gives parts and geometry features names; the project says the same program produces the same mesh bit for bit. A washing-machine example builds a cabinet, drum, door, drawer and dial, then attaches joints that describe how those components move.

Sandflow says a part takes between two and six times fewer tokens in sand3d than the same part expressed in Blender Python, CadQuery or FeatureScript. The README says the complete API fits in about 3,600 tokens, small enough to place in a model’s prompt. It also points to an API guide, quickstart, gallery and assembly-program guidelines. The example API includes operations for profiles, extrusion, revolving, sweeps, boolean edits, holes, fillets and chamfers, alongside placement and assembly functions. Millimetres are the default units.

The library exports GLB, URDF, USDA, OBJ and STL. The repository says GLB includes meshes and materials, with joints stored in each node’s extras; URDF describes moving parts as links with joints and limits; and USDA represents a scene tree in OpenUSD. OBJ and STL contain meshes at the current pose. The result is also an ordinary Blender scene, so users can use other formats Blender supports. The repository gives a bracket example that creates a plate, adds holes and a fillet, and exports a GLB file.

Installation instructions recommend Python 3.13 with Blender 5.2 LTS, or Python 3.11 with Blender 4.5 LTS; the project says its CI runs bpy 5.2. It warns that bpy has no wheel for Python 3.12, and that Blender 5.2 and later do not support Intel Macs. The project also lists five Hugging Face datasets of sand3d programs for Objaverse, public CAD models, Articraft, NVIDIA SimReady and AutoMate assets. Those datasets are licensed CC BY 4.0. The library itself is licensed Apache-2.0. The repository identifies version 1.6.3 and lists 1.3k stars and 143 forks.

What the archive adds

New Runtime covered print3d on 2026-10-25, an open-source skill and MCP server that turns ideas, photos or listings into sliced Bambu Studio projects. That was a different 3D workflow; sand3d is a new event focused on programmatic geometry generation rather than preparing a print project.

Trend signal

This supports generative media becoming application infrastructure: sand3d exposes geometry as composable code and exports to several downstream formats, rather than treating a generated object as a one-off artifact. The practical evidence here is the API and export surface, not proof of adoption or production reliability.

Why now

The project explicitly targets language-model workflows: its compact API can fit in a prompt, and its documentation supplies rules and examples for generating multi-part assemblies. That makes the token budget part of the interface design. The repository does not explain a launch date or a market catalyst, so the significance is in the workflow it enables rather than a claimed timing event.

Why it matters

For teams exploring AI-assisted product design, the useful proposition is not simply “a model can make a 3D object.” Sand3d aims to give that model a small, structured vocabulary for building parts and relationships, while leaving a Python program that a person can inspect and edit. Named components and joints could make iteration on assemblies more legible than a mesh with no construction history, and exports such as URDF or USD connect the result to simulation-oriented tools.

The trade-off is that this is a specialized library layered on Blender, not a general-purpose design agent or proof that generated geometry will satisfy engineering constraints. Teams should test it on a representative object, check whether the output matches dimensional and manufacturability requirements, and compare the resulting program with their existing toolchain. The README’s token comparison is a useful reason to try it, but not a substitute for a benchmark on the team’s own models and prompts.

Limits and uncertainty

Sandflow’s token-efficiency figures are claims in the project’s own documentation; the repository excerpt does not establish an independent comparison methodology or show results across a broad set of tasks. It also does not quantify geometry accuracy, successful generation rates, time saved, or how often a human must repair a model. The stated deterministic behavior concerns rebuilding a mesh from the same program, not whether a model-generated program is correct. Compatibility depends on Blender’s bundled bpy and Python versions, with explicit constraints for Python 3.12 and Intel Macs. Adoption beyond the repository’s visible stars and forks is not established.

Skill to build now

Try the repository’s bracket example with a part your team already models. Ask a model to produce a sand3d program, then inspect the named dimensions and operations, run it, and compare the exported GLB or STL with the intended geometry. This gives a concrete test of prompt size, editability and repair effort before putting the library into a larger pipeline.

Reader takeaway

Sand3d turns 3D modeling into a compact, inspectable Python vocabulary over Blender, with several useful export targets. It is worth a focused trial for teams experimenting with language-model-generated geometry, but the claimed token savings should be validated against real objects and quality requirements before they become a workflow assumption.

Evidence / sources

  1. 1github.com/Sandflow-ai/sand3d
All Field Notes

Next reads

Read next

Open the graph
  1. 01topicGenerative MediaExplore the generative-media topic hub.
  2. 02topicDeveloper ToolsExplore the developer-tools topic hub.
  3. 03topicOpen SourceExplore the open-source topic hub.
  4. 04archiveField NotesOpen the latest editorial analysis.
  5. 05sourcesSourcesSee the original sources this archive cites.
Who read this page?Machine requests, hidden until opened

Loading the privacy-safe route aggregate...

Open the JSON contract