Tuesday, June 11, 2013
Why is 3D printing such a powerful way to make solid objects?
Journalists often ask me what is special about 3D printing. So I answer them. And then they don't print what I say. The reason is that they are frightened by mathematics, or that they think that their readers are.
But you RepRap Blog readers eat mathematical arguments for breakfast. So here, for the record, is the answer:
But you RepRap Blog readers eat mathematical arguments for breakfast. So here, for the record, is the answer:
Why
is 3D printing such a powerful way to make solid objects?
To answer this question
we first have to ask another: “In what ways can the shape of a
solid object be complicated?”
Often things just get
more complicated the more of them there are. If you are a bank with
a million customers who have account numbers and your computer has to
sort them into order, then that is a more complicated problem than it
would be if you only had a thousand customers.
But shapes aren't just
complicated like that. They can be complicated in two other ways as
well.
This picture (thanks to my old friend John Woodwark for the idea for this) shows all
three ways that shapes can be complicated:
- First there is “combinatorial” complexity – that is the lots-of-bank-account-numbers complexity: a gear wheel has more bits to it than a triangle does;
- Second there is “analytical” complexity – triangles are made of straight lines, which have simple equations. But complicated curved shapes have correspondingly complicated equations;
- And third there is “dimensional” complexity – a triangle is two-dimensional, but a pyramid is three-dimensional.
These three
complexities are independent. You can have any mix of them.
But if you want a
computer to control a machine to make shapes automatically, then
dimensional complexity is the most difficult complexity to deal with.
This is because, as the number of dimensions increases, the very
nature of shape changes. Here are just a couple of examples:
- If you have some points round a 2D circle you can visit them in order one after another; but if you have some points on a 3D sphere, there is no order that places them one after another; and
- If you have a piece of string, you can tangle it in 3D (as any kitten will be able to demonstrate); but a piece of string in 2D is simpler, and so cannot be tangled.
Bearing this in mind,
lets look at the difficulty of getting a computer to control machines
to make something automatically in two ways: by cutting the thing
from a solid block, and by 3D printing the thing layer by layer.
Here is a
turbocharger from a car engine. And the object top left with the
yellow tip is a cutting tool that is removing material from a solid
block to reveal the turbocharger like a sculptor chiselling a block
of marble. To make the turbocharger the computer has to figure out
how to move the yellow cutter.
Rather
surprisingly (as we live in a 3D world) the cutter can move in five
dimensions. These are the normal three: left-right, front-back, and
up-down, plus rotations about those directions. The
rotations are needed because the cutter must twist to cut the shape.
That totals six dimensions, but rotation about the axis of the cutter
itself doesn't count, which leaves five dimensions.
The computer
controlling the cutter needs to work out how to move it around in
that five-dimensional space. And not only that, it has to make sure
that no part of the cutter (like the conical bit at the top where it
attaches to the cutting machine) collides with any un-cut part of the
raw block, or with the turbocharger being made.
This is a
very very difficult mathematical and computational problem, and we
still (2013) can only solve it for some shapes, even though we know
the computer should theoretically be able to be cut out others that
we can't (at the moment) solve.
Now let's
look at the turbocharger being made on a 3D printer. This will start
at the bottom and build the first layer of the turbocharger. Then
it will move up a fraction and build the next layer. And so on.
The right
hand picture shows a layer about half way up, and this is all that
the computer has to deal with at each stage – a 2D problem, not a
5D one.
It is very
easy to program a computer to deal with such 2D shapes, and – for
this reason – 3D printing machines can make any shape that the
physics of the machine can handle, no matter how complicated that
shape is. And, unlike with cutting, there is no problem of
collisions. The computer always knows that it can move the 3D
printer freely above the layer being printed, because there is
nothing there yet.
(In reality,
a tiny amount of 3D has to be dealt with: a 3D printer has to put
disposable support material under any overhangs, because it can't
build layers on thin air. But this is a very easy calculation to do.
The computer works out the 2D slices starting at the top of the
object and goes downwards. At any level the support material needed
is the shape of everything in the layer above minus the shape of
everything in this layer. When the computer has done all this, it
then reverses the order and builds from the bottom up.)
This
simplicity of the computing and mathematics of 3D printing is the
reason that it is humanity's most powerful manufacturing technology:
the computer controlling a 3D printer will always have a much easier
problem to solve than a computer cutting out the object being made,
no matter how complicated the object is. And because of that, 3D
printing is by far the most versatile way we have to make things.
Comments:
<< Home
Don't forget the fourth dimension, volume. X/Y/Z positioning tells it where to move, but you need precise control of the volume of plastic being put in those locations to produce accurate geometry. As with the Z axis, the X/Y coordinates are (currently, usually) generated with the goal of simplifying the E axis movements, but the leaps in quality we've made in the last few years (just the other day, I was printing 20-micron layers) would not have been possible without the move to stepper-driven extruders that we can control with comparable precision to the other axes.
You are absolutely right - rate of volume deposition is another dimension that needs to be controlled, as of course, are time and one or two temperatures. But all those are not an aspect of geometric complexity - they are dimensions in the sense that mass, length, and time are dimensions in the analysis of a scientific formula. When 3D printing, the spatial relationships that have to be manipulated are two-dimensional, whereas when cutting those relationships are five-dimensional.
and of course 3D printing can create shapes not only with less computational complexity than a CNC mill's Gcode generator, but also shapes that are totally infeasible to produce, such as objects with captive holes unreachable by a toolhead unless a custom one is made simply to cut that hole, and some other shapes that would require a milled workpiece to be turned over and the mill re-zeroed before cutting. That goes without even mentioning the material/energy efficiency.
This is a nice article on the versatility of 3d printing vs. other computer-aided manufacturing methods, but I was hoping to see a broader comparison to all other manufacturing methods (not just ones involving computers driving machines), including ones driven by hand like resin casting. I think that would speak more to the general audience.
It is both six degrees and six dimensions. They are orthogonal.
All forms of moulding and casting are secondary technologies; they need a primary manufacturing technology like cutting or adding to make the master or the mould. And it doesn't matter if the manufacturing is being done by a computer or by a person - the complexity of the problems are the same.
All forms of moulding and casting are secondary technologies; they need a primary manufacturing technology like cutting or adding to make the master or the mould. And it doesn't matter if the manufacturing is being done by a computer or by a person - the complexity of the problems are the same.
Based on your description, it seems to me that the best way to do z axis motion would be different from the best way to do x and y axis motion. But from the designs I've looked at ( mainly delta robots because I like delta robots ) it seems to be the fasion to treat all three axes the same. When you watch a 3d print video you see all sorts of skittering back and forth in x and y, at astonishing speeds. In contrast, the z axis motion is like the minute hand of a clock. You have to watch for it to see it. So why not design your printer to take advantage of that difference? I'm fairly new here but I would think I would have seen a hint somewhere.
Based on your description, it seems to me that the best way to do z axis motion would be different from the best way to do x and y axis motion. But from the designs I've looked at ( mainly delta robots because I like delta robots ) it seems to be the fashion to treat all three axes the same. When you watch a 3d print video you see all sorts of skittering back and forth in x and y, at astonishing speeds. In contrast, the z axis motion is like the minute hand of a clock. You have to watch for it to see it. So why not design your printer to take advantage of that difference? I'm fairly new here but I would think I would have seen a hint somewhere.
You are right. And the vast majority of designs do just that, using fast timing belts for X and Y, and slower screw drives for Z.
And it's five significant dimensions, even though technically there are six. But rotation about the cutting tool axis doesn't count. And degrees of freedom and dimensions are mathematically the same thing. Check out work on configuration spaces for more details.
Post a Comment
<< Home