ThreeDimensions

Leader posted 1 min read

Github - https://github.com/LegedsDaD/ThreeDimensions

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.

Features

  • 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.

Project Structure

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

Build Instructions

Prerequisites

  • CMake 3.15+
  • C++20 compliant compiler (GCC 10+, Clang 10+, MSVC 2019+)
  • Python 3.11+
  • pip

Download From PyPI or CMD or Terminal

pip install threedimensions

Building from Source

  1. Clone the repository:

    git clone https://github.com/LegendsDaD/ThreeDimensions.git
    cd ThreeDimensions
    
  2. 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.

Usage

See manual.md for detailed documentation.

import threedimensions as td

# Create a scene
bat = td.Mesh.create_cylinder(radius=0.15, height=1.0)
bat.save("bat.obj")

Authors

  • LegedsDaD (Emails are not allowed)

License

MIT License

1 Comment

2 votes
1

More Posts

ThreeDimensions Version-1.0.0 is here !

LegendsDaD - Mar 7

Participation for ThreeDimensions

LegendsDaD - Mar 3

Web Agent Bridge (WAB)

WAB - May 7

From -9.15pp to +0.61pp: An engineering journey through four DPO iteration failures

namakoo - May 7

Yevideo - AI Video and Image Platform

Claude - May 7
chevron_left

Related Jobs

View all jobs →

Commenters (This Week)

9 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!