Back to AI game news
AI game news

Sand3D opens 100,000+ 3D models as editable Python code

By GameSlash

Sandflow’s open dataset lets developers change model dimensions in Python and export the resulting props to GLB for game prototypes.

On November 5, Sandflow announced Sand3D, an open collection of more than 100,000 3D objects represented as Python programs. The collection ranges from CAD parts to objects with moving components. Changing a dimension in the program rebuilds the model, and the library is designed for language models to read, modify and write those programs.

Sand3D gallery showing chairs, a washing machine, a lamp, a gate and mechanical parts
Image by Sandflow — Examples of objects defined with Sand3D.

The Sand3D library uses Blender’s Python API, bpy. Its example washing machine defines the door, drum, drawer and dial as named parts, with joints that describe how they move. The same code can be run again to produce the same mesh.

Sand3D washing machine example alongside its named parts and joint definitions
Image by Sandflow — The washing machine example shows a door hinge, spinning drum and sliding drawer.

For game developers, one way to use Sand3D is to prototype variations of the same prop. A gate can share one script across several widths, and the resulting meshes and materials can be exported as GLB. Sand3D stores joint data in GLB node metadata, so check how your engine imports it and set up the in-game interaction as needed.

The Python library is available under Apache 2.0 on GitHub. Sandflow lists five datasets under CC BY 4.0 on Hugging Face. For another take on distributing 3D assets, see GameSlash’s coverage of Scenario’s 3D collection.

View source