Adrian Bowyer provided an update on his Electric 3D Printer project, and it’s a fascinating approach to software design.
Bowyer is most well-known for founding the RepRap project many years ago, from which has developed today’s massive desktop 3D printer industry. When he’s working on something new, it’s important to pay attention.
His work in recent years has been on the concept of what he calls an “Electric 3D Printer”. Sometimes this process is called “volumetric” 3D printing. It is an entirely new concept which combines electropolymerization, electric 3D scanning and reverse CT scanning approaches.
If you don’t understand what all that means, don’t be concerned. What you need to know is that you have a rotating vat of transparent resin that can solidify upon exposure to a sufficient amount of energy. Outside of the cylindrical vat there are energy sources that project a patterns into the resin similar to CT scans, except in reverse.
The result is that as the cylinder rotates, a fully 3D object is polymerized, theoretically in mere seconds.
If you’d like to learn more, we’ve previously written an overview of volumetric 3D printing and identified companies developing volumetric 3D printers. Bowyer has also published considerable information about the open source project on GitHub under “The RepRap Ltd Electric 3D Printer”.
The volumetric / electric 3D printer approach is far from being commercialized, as there are plenty of things to work out yet. One of them is how to prepare the job for a given 3D model, and that’s the subject of Bowyer’s latest update.
Bowyer’s description at first seems quite odd, as he has developed a system to place random inputs to the 3D printer. (I should explain he’s using a simulator, not an actual 3D printer, for this.)
These random inputs are then used by the simulator (or “solver” as Bowyer terms it), to generate the 3D model caused by those inputs. Predictably, the output tends to be random blobs with a cylindrical tendency. Bowyer explains:
“What it does is to generate a list of pairs of electrodes on the cylindrical boundary of the reaction vessel of the Electric 3D Printer and then assign random voltages to each pair. These are then fed into the solver, and the output of that is read back into the Python program to be subjected to the marching cubes algorithm to see what the pattern prints.”
Why do this seemingly random generation? There’s a method behind this madness, it turns out.
Bowyer intends to generate vast numbers of random input configurations, and then feed them through a machine learning algorithm to understand which inputs generate specific geometric shapes.
At the end of that work, you’d have an AI-powered system that could in theory identify the correct machine inputs required to 3D print a specific shape. Bowyer explains this step:
“When all this is working we will have a means to train an ordinary neural network to generate the pattern of voltages needed to print a given input shape. But it should also be possible to use that to make a Generative Adversarial Neural-Network to create all sorts of useful engineering shapes automatically.”
To me, that sounds like a slicing system — although in volumetric 3D printer there are no slices, because there are no layers: the entire 3D print is built simultaneously.
Bowyer has yet to do the high-volume neural net training, but has now established the tools with which to do so. It should be quite interesting to see future results.