Image to Halftone to Printable Object
by gwygonik, published
This is a Processing app that will load a JPEG or PNG, convert it to a halftone image (with many parameters), and output a STL or OpenSCAD file.
Make cool halftone coasters. Use them as plastic "rubber" stamps. Make art!
This app was a result of a question posed on the Makerbot Operators Google group, and was written in 10-12 hours over the course of a few days. Feel free to take it and add features or make a standalone app or whatever.
You can download the source as well as packaged executables for Windows, OSX, and Linux.
DISCLAIMER: This app is presented as-is and does not come with ANY support. (No time for that here, sorry)
NOTE 1 - the resulting STL files MUST be run through a post-processing app like Netfabb to create printable models.
NOTE 2 - the resulting OpenSCAD files can take a REALLY LONG TIME to render in OpenSCAD before you can save a STL from there.
NOTE 3 - I've only tested the OSX executable (which works fine), but not the Windows or Linux ones. I've mostly run from source.
This Processing app is packaged as an Eclipse workspace folder, as that was what was used to develop it, as well as pre-packaged executable files for Windows, OSX, and Linux. Please note, this source package will not work in the Processing IDE -- you must use Eclipse!
Tracked source is available on github, or download the un-tracked packaged source with this "thing".
To run from source, you also need to download and install:
Marius Watz's ModelBuilder library for Processing ( https://github.com/mariuswatz/modelbuilder - I used v0007a03) ControlP5 library ( http://code.google.com/p/controlp5/downloads/list - SPECIFICALLY v0.5.4)
I also used the handy Proclipsing tool ( http://code.google.com/p/proclipsing/ )
Add the project to your Eclipse workspace, and run HalftoneImageToSTL.
Alternatively, download one of the pre-compiled executables and launch HalftoneImageToSTL.
Once you get it running, load an image and adjust:
- number of grid divisions
- invert colors
- reduce colors (pixelate) with variable amount
- use fixed-height or variable-height halftone "dots" (each adjustable)
- save as STL or OpenSCAD script
Note that the output file is sized to max-out a Thing-o-Matic HBP.
- Fix from jcosmo that gets the app running on Windows
- Disabled UI navigation while trying to load image