Frosterize.py

Overview

flickr:4563107971

Frosterize.py is a script that will take an image and create a rasterized gcode output suitable for printing with a Frostruder MK2 on your MakerBot. It has some optional configurations that will scale your design to fit in a certain area, draw a border, and to set print speed options.

Since the Frostruder is by nature a monochromatic printer with essentially 1 bit of color depth, the script will attempt to convert your image to black and white, as well as applying some contrast to in order to bring out the features. If this automatic adjustment is not ideal, you may want to fine-tune your image before running it through the script.

See the Frostruder MK2 usage page for information on where to download lunchlines.py and the rest of the tool 'suite'. You will need Python and the PIL (Python Imaging Library)

Step 1: Get/Process an Image

flickr:4563493096

As stated in the overview, frosterize.py will attempt to automatically convert your image to a printable form. In order to help you determine what is going on, the script will output two different image files in the same directory as your original image file. The original image will not be modified in any way.

Resized/Processed Image

flickr:4562862621

The first image automatically created by frosterize.py is called {filename}-resized.png. This is the resized and adjusted file. Each pixel represents a square the size of your line width. Looking at this file you can get a rough idea of how your image came through the conversion process.

Printable Image

flickr:4563493216

The second image automatically created by frosterize.py is called {filename}-printable.png. This is a representation of what your Frostruder will actually do. The printing algorithm will extrude wherever there is a black dot, and will not extrude anywhere there is a white dot. Looking at this image will give you an excellent idea about what you are going to get from the printing process.

If these images are not satisfactory, you should modify the image in a program such as GIMP or find a new image. There are a bunch of techniques you can use to prepare your image, and if you convert it to B/W before running it through the script, then it will print exactly as you have created it.

Inverted Image

flickr:4563738674

Also, if you would prefer an inverted version of the image, use the —invert flag and it will save you the trouble of doing it in some sort of image editing program. This can be good if are using light colored frosting, or if you want a heavy fill and negative space.

Step 2: Create your GCode

Creating your GCode is pretty easy. You simply run the script with whatever options/configurations you want and send the output to a GCode file. Here are a few examples of a standard way of doing things:

#get a list of options and help
python frosterize.py --help

#generate gcode using standard settings
python frosterize.py image.jpg > output.gcode

#generate inverted gcode using standard settings
python frosterize.py --invert image.jpg > output.gcode

#generate gcode with custom feedrate
python frosterize.py --xy-feedrate=4200 image.jpg > output.gcode

#generate gcode with a border around the image
python frosterize.py --border image.jpg > output.gcode

#generate gcode with lots of custom configurations
python frosterize.py --xy-feedrate=1234 --width=90 --height=90 --start-delay=25 --stop-delay=100 --dot-delay=50 --line-width=0.55 --border --stop-distance=1.5 image.jpg > output.gcode

Step 3: Run your GCode

  1. Startup ReplicatorG (0015 or later) and make sure your Frostruder entry is selected
  2. Open your newly created GCode
  3. Center the tip of syringe in the middle of XY just above your build surface (see Frostruder Materials for ideas)
  4. For a test-run, disconnect the air pressure. For a real-run connect the air pressure
  5. Click 'Build' and watch the magic of Frostrusion.
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.