I’ve used the Processing programming language in the past for modeling various graphic designs. Processing is a simplified version of Java specifically designed for artists and designers who don’t have a programming background. I especially enjoyed experimenting with the HE_Mesh library for Processing.
I thought it would be interesting to see if I can use Processing to make designs for 3D printing. In the past I used the 1.x versions of the Processing IDE. Since then, the 2.0 version has been released that require changes to my old code to make it work again. But after experimenting with the example code from various libraries that I wanted to use, it became clear that these libraries aren’t fully compatible with the latest version 2.0.1 of Processing yet (in particular the change in 3D graphics support). So, I’ll be using version 1.5.1 instead.
While searching online for Processing libraries that I could use for 3D printing, I found the amazingly colorful objects of Matthew Plummer Fernandez.
Matthew used Processing libraries HE_Mesh, ControlP5, and Toxiclibs to develop tools to model and color 3D designs. I contacted Matthew since he mentioned online that he planned to open source his tools. I was particularly interested how he did the coloring for the 3D prints. I had found some Toxiclibs code to color STL files, but Shapeways only accepts WRL (VRML) or X3D files for color sandstone and I did not know how to get to that format from Processing. He suggested using the free tool MiniMagics for Windows, but that only allows STL files to be viewed. So then I tried the Magics software which does convert a colored STL to a WRL file, but the software is very expensive.
I studied several WRL files, and it seems that I might be able to write a simple export routine that would create a WRL file from a mesh in Processing. That way I would eliminate the need for the Magics software to do the intermediate file conversion for 3D printing.
Matthew also sent me a copy of his “#ccc” (colour co-creator) software which I got working with Processing 1.5.1 and HE_Mesh version 1.5. The tool allows you to interactively apply coloring algorithms and color gradients to the faces of the model.
Matthew has also written a tool called “co_former” to interactively transform 3D models. I wanted to have more control over the process than what “co_former” seemed capable of. In the past I had used HemeshGUI which provides an interactive GUI to apply various HE_Mesh modifiers to a mesh. I’ve decided to use that as the basis for my own tool to model and color 3D designs.
I’ll make another blog post as I make progress with the new tool.