3D Printing and
Scanning
As guru, right here at the top, I've compiled a list of things to keep
in mind with 3D printing and scanning. They're not all rules,
some are more like personal and shared class observations. Feel
free to edit if something is flat out wrong.
Scanning:
- STL files do not save color. If you want color i.e. for the
Zcorp printer, save as vrml2.
- The ideal object is matte white. The worst object is shiny
black. Objects with combinations are going to have holes,
especially on the NextEngine, where it makes an attempt to account for
object color and finish, but uniformly.
- Each scanner is not going to be able to fill the bottom and possibly
the top of your object. You're going to have to do this manually
(easier if the top and bottom are flat).
- It is likely you are going to have holes in your part when you are
done scanning, and you need to figure out the most effective way to
fill them in. This can either be done automatically in Geomagic,
with varying degrees of success depending on the number, size, and type
of holes, or by hand, as in Rhino.
- Solidworks Premium has a plugin called ScanTo3D, which converts an
.stl file into a part, from which it can be edited, cut, extruded, etc.
like any other SW part. Once this is done, there is a macro called
ModelRescaler, which can rescale your part by any factor, or your parts
can be rescaled by the InVision Preview software.
- Neither the NextEngine nor the Minolta do overly great jobs with
complicated parts. It pays to experiment, but I will illustrate
with my results for scanning a PCB later.
- Sometimes the Minolta doesn't like it when you do a bunch of scans
sequentially. This may be due to some component heating up
somewhat. If you get Laser Autofocus failed errors, you might
resist the temptation to do it manually (my scans ended up being poor
this way), wait 10 minutes for things to cool down, then try to
Autofocus scan again.
- The NextEngine requires a fair bit of memory when it's processing its
scans. As of Oct 2008, I couldn't do any more than 6 Fine scans
without it complaining about insufficient RAM, or more than 8 Standard
scans (in a single scan family i.e. continuous operation). This
is not
the case if you stitch separate single scans, though things slow
somewhat even then.
Printing:
- The Invision takes only somewhat more time for increased print
surface area on any given Z layer, meaning no matter how many parts you
have on the print surface, the single greatest constraining factor on
time is the number of z layers to be printed (height of the tallest
object).
So its best to make your parts somewhat flat in at least one dimension
if you don't want the print job to take forever.
- Just because you got a good surface for a complicated part does not
necessarily mean you got a printable volume. Make sure all your
surfaces have thicknesses, otherwise your model will collapse when the
wax melts away.
- The Invision doesn't have a built in method of testing whether your
STL files are alright to print i.e. if you've got inverted
normals. The Zcorp does this, so you can just drag your STL file
into the Zcorp software icon, it will open it, fix it if it needs to,
and you can then export it to stl and rewrite your old file.
- The Invision likes the units of all the parts to be uniform. If
some STL is off, you open it in the Zcorp software, reexport in the
correct units, and it should be fine.
- The support material for the Invision is just a loosely structured
wax that crumbles away pretty easily. Try to remove as much of it
manually as possible, then go melt off the rest in the oven at 175-200F
(5-60min)
- An unverified internet source lists the cost for the InVision print
material at $250/kg, and for the filler at $150/kg. These are
likely good ballpark figures. Be careful how much material you
use.
My Projects
I messed around with both the NextEngine and Minolta scanners, using a
variety of objects. My ostensible project was to scan the Arduino
Diecimila, but I didn't have much success. I am going to pursue
stitching multiple orientations of point clouds together to see if I
can't get something better. This is done pretty easily in
the NextEngine software with the Align interface, but with the Minolta,
it is probably more difficult. Updates will be appended at the
bottom (if successful).
Here are some workflow pictures from the Arduino scans, first for the
Minolta, which is what I ended up using, then for the NextEngine, which
I figured was going to be hopeless.
Minolta

This is the scan I got before I started cleaning things up. I
used the telephoto lens and went in 30 degree increments

This has been cleared of noise and extraneous points have been manually
deleted.

This is what I get once points have been merged and things have been
smoothed out a bit, before holes have been patched. A lot has
been lost
Patching holes in the GeoMagic causes it to crash, because there are so
many, some open-ended and indeterminate. I tried filling things
in manually but that was lame. Importing into Solidworks I was
able to clear things up in Scanto3D, but it pretty much murdered my
part the same as GeoMagic. I had high hopes for importing into SW
as a point cloud and letting it do all the processing steps, but that
didn't turn out so great. Below is the (encouraging) result of
importing the point cloud into SW.

However, the mesh prep wizard output this:

Trying to import each of the Minolta scans as separate point clouds
(.iges format) kept more intact after processing, but it still turned
out as modern art.

And after the Surface Wizard got a hold of it:

So I basically said the hell with it, I'll have a wacky part which
followed the prescribed workflow but ends up indeterminate. Here
is what I got:

NextEngine
The NextEngine is in theory an awesome piece of equipment, considering
the cost at only like $2500. It's scans aren't as great as the
Minolta, but you can manually stitch multiple scans together using a
slick UI involving placing pins on corresponding locations.
Sometimes this aligns things properly, sometimes it freaks and you have
to split alignment, then drag to realign, and it might crash.
This got to be annoying. However, it has an excellent wiki if you
click on Help which explains what all the functions are and examples of
how to use them. It's quite probably I just haven't learned how
to use it properly yet. I started trying the Arduino on a
Standard scan, but it got next to nothing. I proceeded to fine
scans of a tennis ball, a mug, and my camera.

Not so great.

It likes the matte surfaces much better, but you're going to have to
rescan and then stitch together the top and the bottom with what it got
of this scan. This is difficult to do on objects like tennis
balls where you have few common easily distinguishable references (i.e.
letters, spots, etc).

Here's a 360 scan I did of a mug (which was actually not bad
considering it was quite shiny).

The alignment process. Those frames to the left in green have
been aligned. Those to the right have yet to be aligned.

Finished product. Still quite a few holes. Supposedly the
fuse process takes care of this, but I had trouble getting that to work
properly.

Here's where I see the real worth of a scanner if you can get it to
work the way you want. This is a complicated part that would take
forever with the calipers and CAD feature sets to model. It does
a pretty decent job of getting the outline. Stitching together
multiple individual scans was proving to be promising until the
software started crashing and automatically aligning in very weird
ways. A powder brush helped quite a bit in places to matte the
shiny finish. The NextEgine especially, with its weaker graphics,
has trouble with shiny (even though you can account for it in the
software).
Printing
Pretty much everyone did their printing on the InVision. There
isn't much to it. You basically open up the client and preview
the printspace. This preview client is actually quite
full-featured and can be used to reorient and scale objects, which may
be easier than doing this in Solidworks for stl files. Below is a
screenshot of the preview client with some parts arranged (it also
autoarranges for maximum efficiency). It's important to remember
that the single most important constraint for total print time is the
number of z layers. Adding a whole bunch of flat parts doesn't as
markedly increase the print time over one flat part as adding one tall
part. So try and manually orient as efficiently as possible (the
autoarrange will not rotate an object, merely translate it).
There has been some speculation as to cost. An online search
found someone referencing the visijet print material as ~ $250/kg and
the support material as ~$150/kg. Parts don't float in water, so
density >1, I'm going to guess maybe 1.1-1.4 depending on how
conservative you want to be. It's a proprietary plastic so I'm
not really sure.

Here are some pictures of the InVision print workflow:

Parts being built up layer by layer in the InVision machine. The
amount of time the tray slides out while the printhead adjusts to the
next z position is greater than the amount of time spent printing an
individual layer of the material.

Parts as they look when they come out of the printer. The layered
surface material is the wax filler, which can be crumbled and melted
away (there is also supposedly a chemical bath to remove what's left,
but I didn't personally find this necessary).

Use a razor to get underneath at the support wax. All parts get
placed on the print surface with a 1/8-1/4" cushion of support material
which you can scrape away to free your part. The support material
comes away fairly easily.

Parts melting in the oven. RIP Chris' rose in the
foreground. Surfaces with insufficient thicknesses do not come
through the melt process intact, collapsing as the support material is
removed.