Introduction: Ember Printer: Achieving Layered Geometries With PNG Stacks

Picture of Ember Printer: Achieving Layered Geometries With PNG Stacks

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

Picture of 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

Picture of 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

Picture of 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

Picture of 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!

Picture of 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.

Comments

alexandreh2 (author)2015-07-23

Hello,

Waoo ! very good tuto ?

I try to create png's stack but I don't know how to do this and what is the software T must use ?

Please could you explain how did you make png's stack ?

Thanks a lot

andreasbastian (author)2015-05-26

In addition to the details about the double quotes formatting (I handled those with Text Wrangler's educate/straighten tool), remember to specify exposure durations with a decimal! I just learned the hard way that:

"ModelExposureSec":2 (doesn't work-- Ember throws an error when loading the tar.gz file)

"ModelExposureSec":2.0 (does work)

jlopezbi (author)2015-04-02

Super useful, thanks! I just want to make a little note: on OS X smart quotes are enabled by default, which will mess up an otherwise fine print-settings file when typing quotation marks. So make sure to disable this feature before editing a print-settings file. To disable follow instructions here: https://derflounder.wordpress.com/2014/02/01/disabling-smart-quotes-in-mavericks/

scottkildall (author)2015-04-01

Thanks for the solid Instructable. For Step 4, here's what I did when my tarball was showing duplicate files.

slices = directory with all my PNG files in them

myprint.tar.gz = desired tar archive, gzipped

Make the tar file:
COPYFILE_DISABLE=1 tar -cf myprint.tar slice*

gzip it:
gzip myprint.tar

check contents:
tar tf myprint.tar.gz | less

I *think* this is the one way to handle the situation when you get duplicate files in your original tar archive, but if there is a better solution, please chime in.

About This Instructable

7,223views

62favorites

License:

Bio: A curious human.
More by MaddyMaxey:Textile TrackpadMake a Folding Plotter that prints Circuits on TextilesSynthesizing Conductive Nylon
Add instructable to: