Introduction: Vertical Cross Section Through Ember Slices (and Heat Maps)

If you've ever wondered what the stack of image slices you've prepared for the Ember 3D printer looks like in the Z dimension, this Instructable will let you solve that mystery. It may also help you to better understand details of the printing process that can affect the quality of your prints.

Step 1: Install Processing Sketches

See Arian Aghababaie's Instructable on using Processing with Ember to see how to get it installed. Then copy the attached sketches into folders with the same name as the sketch, and in each of those, create a sub-folder named "slices". That's where your slice images will go.

Slice your model at emberprinter.com and download the print data file. Extract the slice images from that file (they'll be named slice_1.png through slice_N.png, where N is the total number of slices in your model), and copy them to each of the "slices" subfolders you just created.

Step 2: Cross Section in XZ Plane

To create a cross section of the slices in the XZ plane, you'll need to edit the XZsection.pde sketch to tell it how many slices you have and at what Y value you want to take the cross section.

Set numLayers to the total number of slices, the same N used in the name of the highest numbered slice_N.png.

Set y to the Y position (0 to 799, where Y = 0 is the top of each slice image) at which you want to generate the cross section. Then run the sketch. When it completes, it will show the vertical cross section through that part of your image stack, and save it as a new image called "cross-section.png", in the same folder as the sketch itself.

If your print data contains very many slices, then it could take a long time for the sketch to run.

The image here is a vertical section through the Stanford bunny. It was sliced at a layer height of 50 microns, which matches Ember's width in X and Y for each voxel. Because of that, the aspect ratio is correct as is. If you are using a different layer height, e.g. 25 microns, then you'll need to rescale your image, in just the horizontal direction, by a factor of 50/LayerThicknessMicrons, to give it the correct appearance.

Step 3: Cross Section in YZ Plane

To create a cross section in the YZ plane, the procedure is essentially the same, except that you'll need to specify the X position at which you want to create the section, at the top of YZsection.pde. Valid values for x are 0 (the left side of each slice image) through 1279 (the right side of the images).

Here's a YZ section through the Stanford bunny, again sliced at a layer thickness of 50 microns. The aspect ratio will need to be corrected in the same way as for the XZ sections if you use a different layer thickness.

Step 4: Heat Maps

Another way to look at your slices is down through them in the Z direction, all at once, summed together (instead of one at a time as in the slice viewer at emberprinter.com). This provides a heat map that indicates the relative cumulative exposure at each pixel. The sketch attached to this step allows you to make those, as shown above for the bunny.

Note that this doesn't take into account the different exposures for first, burn-in, or model layers. Nor can you use these to compare one print to another if the prints use different exposures or numbers of layers. (But for extra credit, you could add both of those capabilities, by multiplying the gray level at each pixel by the appropriate exposure time before summing them.)

Unexposed areas are in black, the least exposed areas are in blue, and the most exposed areas are in red. You can hide the scale by setting showScale = false at the top of the sketch. The way you locate the slices and set their number is the same as for the cross section sketches.

Comments

author
10DotMatrix made it! (author)2015-09-19

Hi! I think I did the conversion to account for first layer, burn layer, and model layer exposure. Perhaps you can take a look at it to make sure? Seems like it's working so far. My changes are:

1) I read the file "printsettings" as a json file and reading in:

- FirstExposureSec

- BurnInLayers

- BurnInExposureSec

- ModelExposureSec

2) I filter the image in grayscale

3) I modified your "find total exposure from all slices" section to account for different exposures for different layer types

DropBotPad.pde

About This Instructable

450views

2favorites

License:

More by greener1:Ember Printer: How a Voxel GrowsEmber Printer: Bar Codes for Small PartsEmber Printer: Using Pattern Mode for Finer Details
Add instructable to: