# Electric3DPrinter

This describes my work on my invention of an electric 3D printer with no moving parts which I thought of on 25 July 2019.

This started out as a blog post on the RepRap Ltd website, but it soon became unwieldy, and so I moved it here.

## The Idea

This combines three ideas to make a fourth. The three are:

- The reverse-CT scan 3D printing technique from Berkeley and Lawrence Livermore,
- The open-source electric 3D scanning technique for 3D reconstruction from Spectra, and
- Electropolymerisation.

My overall synthesis of the three is to use an electric current to make a liquid plastic monomer polymerise to a solid in such a way that it forms a 3-dimensional object with a specified shape, and to do that with a single scan in a time of (I hope…) a few seconds. Let me start by describing the three precursor technologies in more detail:

Firstly, the Berkeley/Livermore system. What they do is to shine a light pattern from a digital projector into a bath of liquid monomer that contains a photoinitiator. Where a sufficient intensity of light falls, the monomer polymerises to form a solid. So far this description is like a conventional low-cost SLA system; but the really clever bit is that they treat the 3D object to be printed as if it were a CT scan. The light field is modulated in intensity as if it were (for example) X-rays passing through a patient on a scanner, and they rotate the scan so that a complete solid is formed in a single rotation in a matter of seconds. Computing the CT-scanner Radon Transform of a 3D-printing STL file is mathematically and computationally straightforward (it’s essentially just like ray-tracing for computer graphics). Neatly, their system does not need allowances to be made for refraction as the light enters the transparent rotating cylindrical bath containing the liquid monomer, because they submerge that in another bath that is rectangular, and so has flat faces for the light to pass through.

Secondly, the Spectra system. This is an alternative way of CT scanning that does not use X-rays, but instead uses electric current. What they do is to place the object to be scanned in a bath of conducting liquid, and then apply a voltage from two small point-like electrodes on opposite sides of it and measure the current. The current takes multiple paths through the liquid around and through the object to be scanned, of course. But they then rotate the electrodes and repeat the measurement from a slightly different direction, just like rotating the X-ray source and the opposite detector in a conventional CT scanner. By repeatedly doing this they can gather enough information to construct a cross section of the object being scanned. By moving the electrodes at right angles to the cross section by a fraction of a millimetre and repeating the process they can make a stack of scans to digitise the scanned object as a full 3D solid. In practice more than two electrodes are used, and the current is switched electronically between them; this reduces mechanical complexity and increases speed.

Thirdly, Electropolymerisation. The clue here is in the name – this is causing a liquid monomer to polymerise to a solid by passing electricity through it rather than light (or other forms of energy).

I hope you can now see how these three concepts could work together. My idea is to have a bath of monomer engineered to polymerise using an electric current. In place of shining light through it like the Berkeley/Livermore system, the current is programmed using the reverse of the Spectra system. In its final form (shown in the diagram above), one would have a cylindrical bath containing the liquid monomer. The walls of the bath would have a fine array of electrodes in a square grid over their entire area (the grid would be finer than in the diagram). These would be addressed by a controlling computer to pass electric currents through the liquid monomer in such a way as to solidify it just where required to form the 3D solid defined by an STL file (as in conventional 3D printing). The machine would have no moving parts, and the solid would be formed in (I hope) a few seconds.

The entire machine could, of course, be printed in a conventional two-filament RepRap if one filament were conducting.

The primary purpose of this blog post is to get my Electric 3D Printing idea out as open-source, and to establish it as prior art so that it cannot be patented.

Finally, and very speculatively, an even more ambitious possibility would be to move from organic chemistry to inorganic, and to replace the bath of monomer with an electrolyte such as copper acetate or copper sulphate. It might then be possible to cause the copper to precipitate at any location in 3D space if the pattern of electric currents through the liquid could be got right. The dense copper would settle out of solution, of course, so the process would have to start at the bottom of the bath and work up. I think that this idea would be much more difficult to make work than the polymerisation one. The reason is that I expect that the polymerisation system would turn out to rely on engineering a non-linear response in the polymerisation reaction to current: probably something like a sigmoid function. That would be very difficult (or even impossible) to do with metal deposition, which is a strictly linear Avogadro’s-number-and-coulombs phenomenon like electro-plating.

But if it could be made to work, we could then 3D-print a complete solid copper object at room temperature. Or, for that matter, a titanium one…

## Simulation

TL;DR: The simulation below works and gives sensible predictions. It has thrown up a problem that needs to be solved.

To try this out I decided to start by simulating it, which is to say I’ve written a mathematical model of the process to see if it’s possible to print shapes electrically in theory before going to the trouble of building an actual machine. The model has (unsurprisingly) some simplifying assumptions:

Start with a 2D disc in the [x, y] plane, not a 3D volume in [x, y, z], and so see what happens for a single ring of electrodes that form a slice through the cylinder. Assume the conductivity of the liquid monomer doesn’t change when it sets solid. Assume that whether a node or pixel (this will be a voxel in 3D) sets solid or not is decided by the total charge that moved through it for the entire process. The model does not start with a shape that is to be printed and try to work out the pattern of voltage changes that would need to be made to create that shape. This would have to be done for the actual machine, but – before doing that – I decided just to apply patterns of voltages that seem as if they might make something sensible (like a cylinder in the middle) and see what they would actually do. This is much simpler than doing the backward calculation from the final desired shape.

Let V be the potentials over the disc, and E be the field. Then Laplace’s simplification of Poisson’s equation

<math>D^{2}V = 0</math>,

when solved gives V, and E can then be found from

E = − ∇ V . The current through any pixel will be proportional to the magnitude of the vector E at that pixel. Integrate that current over the time of the whole simulation, and you have the total charge that has run through that pixel, which should decide if it sets solid or not.

I wrote a finite-difference C++ program to solve for V over a disc. You can get the code from Github here; please let me know of any bugs you find. The obvious thing to do with a disc is to use the polar form of Laplace’s equation as the basis of the solution. But the problem with that is that angular resolution decreases with increasing radius unless you insert extra nodes, which makes things complicated. So I decided to use a rectangular Cartesian grid instead, and to code the disc in the boundary conditions.

In their simplest form those boundary conditions consist of a circular perimeter perpendicular to which the gradient vector, E, is forced to be 0 (which is to say that no current flows through the walls). Added to that are a couple of point electrodes diametrically opposite each other, one of which is at a positive voltage, and the other is negative. At these current does flow. Here is the solution for V over the disc for that situation on a 50×50 grid of nodes: