Local desktop CAD application with a Studio-compatible modeling runtime and a Pydantic AI-powered assistant, with CAD builds running on your own machine.
Sandflow-ai/sand3d
A Python library for writing 3D objects as short, named-part programs over Blender's bpy, designed so LLMs can generate them.
- Stars
- 724
- Forks
- 83
- Open issues
- 2
- Last commit
- yesterday
What is it?
sand3d lets you describe a 3D object as a short Python program built from profiles, solids, edits, frames, joints and assemblies, running on Blender's bpy module. Parts, edges and faces are referenced by name rather than hand-computed coordinates, and the same program always produces the same mesh.
The library exports to GLB, URDF, USDA, OBJ and STL through a single export call, with USD variants produced through USD's own tools. Joints with limits (hinge, slide, continuous) are carried into the exported formats, so articulated objects such as a washing machine with a moving door and drawer can be written and exported directly.
The project's docs include a compact API reference of about 3,600 tokens intended for use in an LLM system prompt, along with guidelines for multi-part assemblies. Several open datasets of sand3d programs, derived from sources such as Objaverse, CAD models and NVIDIA SimReady, are published on Hugging Face under CC BY 4.0.
Key features
- 01Builds objects from named profiles, solids, edits and frames instead of raw coordinates.
- 02Defines joints with type, axis and range for articulated objects.
- 03Exports to GLB, URDF, USDA, OBJ and STL with a single call.
- 04Ships a compact API reference sized for LLM system prompts.
- 05Produces deterministic meshes from the same program.
Use cases
- Having an LLM generate parametric 3D parts from short text programs.
- Creating articulated objects with joints for robotics or physics simulation exports such as URDF.
- Exporting procedurally written models to GLB or USD for viewers and Omniverse pipelines.
- Building a dataset of readable 3D programs for training or evaluating models.
Quick start
- 1
Install sand3d with pip (needs Python 3.13 or 3.11)
pip install sand3d - 2
Write a program using the sand3d API, then export it to GLB, URDF, USDA, OBJ or STL with s3d.export
Things to know
- There is no bpy wheel for Python 3.12, and from bpy 5.2 on there is none for Intel Macs, so those setups must use Python 3.11.
- Blender ships inside the install as the bpy module, which makes the dependency heavy.
In collections
Topics
FAQ
- What is sand3d?
- A Python library for writing 3D objects as short, named-part programs over Blender's bpy, designed so LLMs can generate them. sand3d lets you describe a 3D object as a short Python program built from profiles, solids, edits, frames, joints and assemblies, running on Blender's bpy module. Parts, edges and faces are referenced by name rather than hand-computed coordinates, and the same program always produces the same mesh.
- Is sand3d free to use? What license does it have?
- sand3d is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is sand3d still maintained?
- Actively maintained. The last commit to sand3d was on Nov 6, 2026.
- What can I use sand3d for?
- Having an LLM generate parametric 3D parts from short text programs. Creating articulated objects with joints for robotics or physics simulation exports such as URDF. Exporting procedurally written models to GLB or USD for viewers and Omniverse pipelines. Building a dataset of readable 3D programs for training or evaluating models.
- How do I install sand3d?
- Install sand3d with pip (needs Python 3.13 or 3.11): pip install sand3d Write a program using the sand3d API, then export it to GLB, URDF, USDA, OBJ or STL with s3d.export
- Where can I get sand3d?
- The source code and installation instructions are on GitHub: https://github.com/Sandflow-ai/sand3d
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Sverchok is a visual node-based parametric geometry addon for Blender, with over 600 nodes for building and manipulating meshes and curves.
An open-source, cross-platform 3D parametric modeler for designing real-world objects of any size, built on OpenCASCADE.
Blender add-on and MCP server that let AI assistants like Claude build, modify and inspect 3D scenes in Blender through prompts.
A DSH plugin that lets an AI model drive a running Blender session over a direct TCP channel, exposing 16 tools for viewport capture, scene edits and headless work.
A Hermes Agent plugin that turns a text idea, a photo or a shop listing into a sliced Bambu Studio project for the Bambu Lab X2D.