Introduction: Ember Printer: Achieving Layered Geometries With PNG Stacks

About: A curious human.

The Ember printer from Autodesk is a desktop SLA DLP printer that's entering the market with a few early adopters. While it can print standard .STL files beautifully, Ember also accepts stacks of rasterized images and can print them layer by layer. This means that complex or layered geometries that would be difficult to render in an .STL file can be made in any 2D graphics or vector program and then printed!

The image above has 3 unique geometries sandwiched between one another. This creates a multi-dimensional and slightly flexible print. How does this work? Let's explore the workflow chart above in more detail:

1.) Create your PNG stack with Print Settings

2.) Compress into a Tarball / Tar.gz file

3.) Check your Tarball contents

4.) Edit

5.) Upload and print!

Get a simple step-by-step HERE or get a more thorough explanation here on instructables!

Step 1: Creating Your Folder

In order to send your png stack to the Ember printer, it needs to be in a tar.gz file format. Compressed gtar or tar files are often referred to as tarballs. Tar is the standard archiving format created by POSIX. POSIX's aim is to create standard for variants of UNIX and other OS'.

Details aside, creating a tarball can be done in the terminal. This tutorial is specifically for Mac OS as tarballs are created differently using a windows system.

If you're on a windows computer, or are restricted to ZIP files you can use 7-Zip and Bulk Name Re-Utility to regulate file names and make your tarball.

Let's get started on Mac, assuming you already created a PNG Stack of images you'd like to print and a printer settings file.

Your PNG stack should contain a printer settings file with the following text:

{"Settings":{"LayerThicknessMicrons":50,"JobName":"voronoi.stl","BurnInExposureSec":4.0,"BurnInLayers":4,"FirstExposureSec":10.0,"ModelExposureSec":2.75,"FirstSeparationRPM":6,"FirstApproachRPM":6,"FirstZLiftMicrons":2000,"FirstSeparationMicronsPerSec":3000,"FirstApproachMicronsPerSec":5000,"FirstRotationMilliDegrees":60000,"FirstExposureWaitMS":0,"FirstSeparationWaitMS":0,"FirstApproachWaitMS":0,"BurnInSeparationRPM":11,"BurnInApproachRPM":11,"BurnInZLiftMicrons":2000,"BurnInSeparationMicronsPerSec":3000,"BurnInApproachMicronsPerSec":5000,"BurnInRotationMilliDegrees":60000,"BurnInExposureWaitMS":0,"BurnInSeparationWaitMS":0,"BurnInApproachWaitMS":0,"ModelSeparationRPM":12,"ModelApproachRPM":12,"ModelZLiftMicrons":1000,"ModelSeparationMicronsPerSec":5000,"ModelApproachMicronsPerSec":5000,"ModelRotationMilliDegrees":60000,"ModelExposureWaitMS":0,"ModelSeparationWaitMS":0,"ModelApproachWaitMS":0,"JobID":"1201"}}

-----

Your images should be labeled slice_1.png - slice_n.png. Begin slices with slice_1.png, not slice_0.png (though it can be tempting!).

These two parts go into a folder that we will compress in the next step! If you're curious as to PNG specifications, see the image above to see what goes into making a successful rasterized image.

Step 2: Creating the Tarball

Make sure that you have GNU tar installed. If it's not, you can do this with homebrew (http://brew.sh/). If all of this seems abstract, this blog is a great resource that will walk you through installing GNU tar with homebrew.

Once you're all installed and ready to go, open up your terminal and navigate into the directory that holds your folder with PNGs and Printer Settings.

Run the command :

$tar cfz NEWFILE.tar.gz -C YOURFILE .

NEWFILE = the name of the new tarball you wish to create.

YOURFILE = the name of the file containing your pngs and printer settings.

For more detail about the command, see the image above.

****UPDATE******
If the below workflow doesn't work for you, try this one (kindly submitted by Scott Kildall):

1.) Navigate to the folder that contains your PNG stacks

2.)The above instructions creates a tarball with a .DS_Store file. Try the command below to eliminate that file while creating your tarball. TEST is the name of your new tarball.

gtar cvzf TEST.tar.gz --exclude=.DS_Store . <-- The period at the end includes all and is important!)

3.)Check contents of tarball with this command:

gtar tf TEST.tar.gz.tar.gz

***********************

Step 3: Check Tarball Contents

It's uber frustrating to upload a file that doesn't work without knowing why. Checking your tarball contents before uploading lets you spot problems early and also helps to build pattern recognition around troublesome files.

To open the tarball in the command line, run:

$tar tf YOURTARBALL.tar.gz | less

Press Q to quit the list view.

the above image shows you potential file troubles. It's helpful to look for missing numbers in your PNG stack sequence, improper formatting and duplicates.

Step 4: Edit Your Tarball

If you've noticed a problem, troubleshooting is fairly simple. You can fix problematic files by changing the original file contents and recreating the tarball.

Occasionally you'll get resource forks in your tarball that aren't shown in the finder but will make the tarball unreadable by the printer.

If your Tarball shows forked files like this:
./._foo

foo

Use this command:

$ COPYFILE_DISABLE=1 tar -cf 2.tar file*

This post explains what's happening and how to counteract it (discovered by Cappie from the Autodesk 3D printing team).

Step 5: Upload and Print

Once your tarball looks squeaky clean, head to your printer's IP address and upload the tar.gz file. If it was properly created, it should upload to the Ember without any trouble. Press print and you're ready to go!

Step 6: Step 6: Outcome!

This 3 layer voronoi diagram print is the result of a set of 33 PNGs printed with 50 micron layers. As you can see, it's slightly flexible. I've found that the minimum printable layer stack is 3 PNGs of the same item. In the future, it might be interesting to print with 150 micron layers and have each image be unique!

If you'd like to try this print, the tarball is attached and ready to upload.