CSGTOOL is a library, Ruby Gem and command line tool for performing Constructive Solid Geometry operations on STL Files using 3D BSP Trees.
The library is written in C99 with performance, portability and readability as primary goals. The ruby gem wraps the library using the ffi gem to provide a friendlier interface to the underlying engine.
$ git clone https://github.com/sshirokov/csgtool.git
$ make test
$ ./csgtool
Usage: ./csgtool <command> [command options]
..
[help snipped]
$ bundle exec ruby ./csgtool.rb tests/fixtures/jaws.stl tests/fixtures/jaws2.stl
This should result in three files: intersect.stl
, subtract.stl
, and union.stl
representing
the CSG operations performed on the arguments.