DEV Community

LEGEND'S DaD
LEGEND'S DaD

Posted on

ThreeDimensions – Hybrid C++/Python 3D Modeling Library with Modifier Stack

Hi everyone,

I’ve been working on a project called ThreeDimensions, a hybrid C++20/Python 3D modeling library designed to provide programmable mesh modeling tools similar to traditional 3D software workflows, but exposed entirely as a Python SDK.

The core geometry engine is written in C++20 for performance, and it is wrapped with a Python API for scripting and tool development.

GitHub: https://github.com/LegendsDaD/ThreeDimensions

PyPI: https://pypi.org/project/threedimensions/

What My Project Does

ThreeDimensions provides:

• A mesh kernel supporting N-gons and large meshes
• Primitive generation (cube, sphere, cylinder, cone, torus, plane)
• Edit operations (extrude, bevel, inset, vertex/edge/face editing)
• Boolean operations
• Subdivision surface modifier
• Decimate and remesh tools
• Non-destructive modifier stack (mirror, array, subdivision, boolean)
• Hierarchical scene graph system
• Object instancing and collections
• OBJ and STL export

If a C++ compiler is not available during installation, it falls back to a pure Python implementation automatically.

Minimal example:

import threedimensions as td

bat = td.Mesh.create_cylinder(radius=0.15, height=1.0)
bat.save("bat.obj")
Enter fullscreen mode Exit fullscreen mode

Target Audience

This project is primarily intended for:

Developers building procedural modeling tools

Engineers needing programmatic mesh generation

Educational use (learning mesh topology and geometry systems)

Developers who want Blender-style modeling logic in code

It is currently more suitable for experimentation and development rather than full production pipelines.

Comparison

Unlike full 3D applications such as Blender, ThreeDimensions is not a GUI-based modeling tool. It is a programmable SDK.

Compared to lightweight mesh libraries in Python, this project focuses more on:

Non-destructive workflows via a modifier stack

Scene graph structure

Hybrid C++ core for performance

A modeling-tool-oriented API rather than just mesh data structures

I would appreciate feedback on:

API design clarity

Modifier system architecture

Mesh kernel design decisions

Performance considerations

Missing core modeling tools

Thanks for taking the time to read.

Top comments (0)