Send your creations using ThreeDimensions in Models by filling in the Form. The best models will be added to the examples of ThreeDimensions. Others will be added to the models groups. See current submissions in Submissions. Do participate !
✨ Engineered for Power • Designed for Precision • Built for the Future ✨
Professional 3D Modeling Engine & SDK
ThreeDimensions is a high-performance, hybrid C++20/Python 3D modeling library designed to provide a complete toolset comparable to Blender's modeling capabilities. It features a modern C++ core for heavy lifting and a flexible Python SDK for scripting and tool development.
- Hybrid Architecture:
- C++20 Core: High-performance mesh kernel, geometry processing, and math engine.
- Python SDK: Object-oriented API, scene graph, and modifier system.
- Mesh Engine: Efficient topology, support for N-gons, and large mesh optimization.
- Modeling Tools:
- Primitives: Cube, Sphere, Cylinder, Cone, Torus, Plane.
- Edit Mode: Vertex/Edge/Face operations (Extrude, Bevel, Inset, etc.).
- Advanced: Booleans, Subdivision Surface, Decimate, Remesh.
- Non-Destructive Workflow: Modifier stack system (Subdivision, Mirror, Array, Boolean).
- Scene System: Hierarchical scene graph, object instancing, and collections.
- Export: OBJ, STL support.
ThreeDimensions/
├── cpp_core/ # C++20 Core Engine
├── python/ # Python SDK
├── examples/ # Usage examples (chair.py, baseball_bat.py)
├── LICENSE
├── Manual.md
├── CMakeLists.txt
├── README.md
├── pyproject.toml
Check out Releases for latest version information.
For Installing version- 0.1.0
pip install threedimensions==0.1.0
For installing version- 1.1.1
pip install threedimensions==1.0.0- CMake 3.15+
- C++20 compliant compiler (GCC 10+, Clang 10+, MSVC 2019+)
- Python 3.11+
- pip
-
Clone the repository:
git clone https://github.com/LegendsDaD/ThreeDimensions.git cd ThreeDimensions -
Install dependencies and build the Python extension:
pip install .If a C++ compiler is not found, the library will fallback to a pure Python implementation automatically.
See manual.md for detailed documentation of version- 0.1.0
See manual.md for detailed documentation of version- 1.1.1
import threedimensions as td
# Create a scene
bat = td.Mesh.create_cylinder(radius=0.15, height=1.0)
bat.save("bat.obj")- LegedsDaD
MIT License