Three-bvh-csg: A library for performing fast CSG operations!

Hello! I want to share the three-bvh-csg project - a library designed to support fast, arbitrary boolean construction-solid-geometry operations between arbitrary geometries! The project uses three-mesh-bvh to quickly perform triangle intersections between the geometries in addition to other acceleration structures to keep the operations running faster than BSP-based CSG operations.

The project is still in-progress but I would love to see some contributors if there are others who are interested in this kind of work! With some more work I think this could be an incredibly robust, fast library for hierarchical mesh operations - perfect for CAD work, game development, level design, 3d print modeling, and more!

Interactive CSG demo

Complex geometry operations

Multimaterial demo


Freaking awesome, as usual! :slight_smile:

If anyone is interested in this kind of computational geometry work, @Antonio_Gonzalez_Viegas and the devs at IFC.js have been kind enough to sponsor 3 bounties for some big contributions to help move three-bvh-csg forward! The sponsored features are aimed at improving the robustness and testability of the triangle intersection logic as well as the structure of the final boolean result.

See them all under the bounties label! Of course I’m happy to help provide guidance and advice on moving any of the forward and I’m looking forward to seeing more of what can be built with CSG in the browser.

Thanks again to IFC.js for the support!


wow, awesome. I am one of just few contributors to that uses csg.js and am always on the lookout for what is new in this csg space.

I have lined up few different engines on my whislist, and am thinking that jscad should be open to different engines.

I am excited to see things moving in this space :slight_smile: