Solid modeling with the new ImplicitCAD

Open source modeling tool written in Haskell, or, “Clobbering programming problems with gigantic mathematical hammers”

ImplicitCAD is a new, open source, programmatic modeling tool that is similar to projects like OpenSCAD and OpenJsCAD. The author, Christopher Olah, first told me about it at a party last year and now it’s ready for people to start using it!

I asked Chris some questions about his efforts:

Q: What’s the purpose of the ImplicitCAD project?
A: To provide more powerful Programmatic CAD Tools to the 3D printing community.

Q: How does ImplicitCAD compare to OpenSCAD?
A: To me the fundamental difference is the operations we provide for manipulating objects. For example, in OpenSCAD it’s really hard to not make your object look like a bunch of pieces that have been glued together. But with ImplicitCAD’s rounded CSG operations, one can easily create natural transitions between components.

Q: What was the biggest challenge in producing ImplicitCAD?
A: Existing 3D geometry engines didn’t provide the features we wanted, so we wrote our own. That massively increased the size of the project, relative to if we’d relied on an external engine like OpenSCAD.

It’s quite easy to work with. Here’s a twisted, rounded extrusion that I made from a modified example:

The installation instructions don’t mention it, but I was able to get ImplicitCAD running just fine in Windows. First you need to install the Windows version of Haskell from here, then run these commands in a command prompt window:

cabal update
cabal install implicit

It’ll take a little while, but once finished you can follow along with the examples in the README file as normal.

Being version 0.0.1, there may be a few bumps in road… But ImplicitCAD is already doing cool things and rendering faster than OpenSCAD.

You can check out more examples and discussion going at Thingiverse here:

Derek Quenneville is a 3D printing evangelist who posts weekly on the Ponoko blog. Follow him on Twitter @techknight.

< Previous Post
Next Post >