Welcome! Log In Create A New Profile

Advanced

Digital Cytogenesis - Variable Density Infill made in Blender

Posted by uGen 
Digital Cytogenesis - Variable Density Infill made in Blender
January 08, 2014 11:51AM
After seeing Neri Oxmans MIT Media Lab group work on functionally graded materials in 3D printing, but seemingly not continuing, I decided to do some research myself and bring this interesting topic to RepRap printing.
Since we are pretty much limited to fusing filament together right now, I had to consider the limitations. Using gas to get porous extrusions for example is not really possible with our small nozzles and level of engineering. We cannot easily blend two liquids to create gradients. And so on...

But wait, actually, FFF is ideal for simple functionally graded materials! As far as I know, it is the only additive process that doesn't require unused material to be extracted out of internal cavities. So in theory, this is the only process that allows for completely enclosed internal structures. With decreasing layer heights, it is also possible to print steep overhangs without too much sagging.
And last but not least, the enormous material portfolio that FOSS 3D printing accumulated over time enables us to combine several materials that exhibit different properties but still can be welded together to a certain degree.

So not only can we print nearly arbitrary cavities, but also a combination of several different materials. Not a bad position to start from.

When thinking about how to implement FGM in RepRap-able fashion, Voronoi Cells seemed to be a very sensible solution to me. Arbitrarily sizeable, known algorithms to calculate in 3D and an organic form all appealed to me. Blender comes with an extension called "Cell Fracture" that essentially uses the particle system of an object to calculate voronoi cells. Exactly what I needed.

The process is as follows:

Using an arbitrary 3D model, a very basic simulation of loads is performed or depending on user set properties, (in)flexibility of a volume is accounted for. This can be achieved by using particle systems that react to force fields, which are set by the user. The particles form the base for a voronoi cellular fracturing of the object. After setting the wall thickness, the cells are subtracted from the model to form cavities. The finished model with cavities is sent to a slicing program.

A simple demonstration:


1. Attach 2 particle systems to the object. One has to be generated in the volume of the model and the other has to have a very high mass and be attached to the faces. The high mass makes these particles immobile. If the surface of the model doesn't have enough points to calculate the cells from, there will be missing cells later on. In the middle, I have set a force field that drives the volume particles outside so that the center of the cube is less densely filled with particles than near the surface.
Force fields can also be used to attract particles for higher density. I have also experimented with boid AI systems so that swarms of particles follow a certain behavior. For more complex particle patterns, boids might be more useful than "dumb" particles, but they are a little hard to set correctly in my opinion.



2. After the fracture (margin set to 1/2 extrusion with - this will result in a gap with the width of the extrusion width). Red surfaces indicate original surfaces of the object. You have to join all the cells together to one object and repair the mesh a little bit (removing doubles usually solves all problems).



3. As you can see, the inside is less densely populated, just like a bone.



4. Trim the cells a little bit (half the wall thickness of your final object), so that later boolean operations work without problems. Use the "Solidify" modifier to make the faces of the cube solid.



5. The cells inside the original object, ready to cut out cavities.



6. Applied the boolean modifier, now the cavities are clearly showing.



7. The inside of the cube. Most of the faces you see from the "back" or "inside" because you are look into a mesh of which I have hidden several faces to show the inside. However, I have also hidden some faces of the cavities (near the center) to show the cavities themselves.


8_2D_slice.svg
8. One slice, saved from skeinforge.


The actual print will follow tomorrow.

This method works when you don't have parts that are thinner than 2 times wall thickness plus a little bit of tolerance since the wall solidify feature of blender will cause self-intersections if you set the wall thickness too high. I hope that future versions will merge self-intersections (or maybe if I find time to do that, I could also try to fix this myself).
For organic-looking objects, voronoi cells may be superb, but what about predictable behavior or even calculable performance of printed objects?
I am in the planning phase to write a custom specialized slicer that is able to vary the infill density by subdividing cubes as they can be subdivided and nested rather easily. The density would thus vary in exponential terms.
Obviously, something complex like a slicer will take some time to program. There are also other commitments that I have to attend to, but I hope to be able to present to you something even more interesting than what I already have by the end of the year.


The nested cubes approach might look something like this.

By the way: Does anyone know whether GPL-licensed software and contained algorithms / construction methods can be patented by someone else? It would really suck to develop something just to be taken and patented by some big company so that even the creator cannot legally use his software himself. And I really want this piece of software to be as free as possible and for anyone to use.

Edited 2 time(s). Last edit at 01/08/2014 12:29PM by uGen.
Re: Digital Cytogenesis - Variable Density Infill made in Blender
January 11, 2014 04:27PM
Sorry guys, I have been busy with other stuff, but here is the update on the printed part:



hm. something went terribly wrong! I printed the part in PET for maximum clarity because I wanted to show off how awesome the voronoi cells look like in a printed part, but as it seems, the part pretty much looks like out of the RepRap stone age. Given its small size (25x25x25mm), I thought that the plastic was extruded too hot, but after checking the file, the outer perimeter walls are much too thin for some reason. I will make a new print ASAP. The printing errors give the object a very biological, insect-built structure like feel, though. I sort of like this rough look.
The filament itself seems to be OK, as I ran a test print immediately after:




And other, earlier tests also turned out to be functional:



Printed in PLA. This was supposed to be a cube with 50mm edge length, but I aborted the print half way through.




ABS. Because of the large cell size (back then, I had no idea how to use the Particle system correctly to vary the cell size), the top infill is sunken in a bit, which definitely creates an interesting effect.


The following part is printed in Taulman 618 to show the other use of variable density infill - or functionally graded printing:



The middle part is relatively flexible while the ends are stiff. By optimizing the infill a little bit more, I can imagine printing objects that have "hidden" functionality built in, like flexible areas and vibration dampening segments.


One more thing - more of an anecdote than anything else: When I was searching for algorithms for creating 3D voronoi diagrams, I read a comment on stackoverflow that the recommended algorithm is the Bowyer-Watson algorithm. Huh, Bowyer? Turns out that indeed, it is THE Adrian Bowyer (and his article on the algorithm is even freely available)! Gave me quite the chuckle, really a small world we are living in.

Edited 4 time(s). Last edit at 01/11/2014 07:10PM by uGen.
A2
Re: Digital Cytogenesis - Variable Density Infill made in Blender
January 11, 2014 06:07PM
Very cool exercise!
Tks for showing your technique.

I have plans of exploring Voronoi-like cells in the near future.
I'm interested in the structural integrity, strength, and material savings of Voronoi-like cell objects.
Re: Digital Cytogenesis - Variable Density Infill made in Blender
January 13, 2014 01:44PM
I have put some thought/concept work into variable infill but I don't know how to program so I haven't been able to do much with it. Have you considered playing around with FEA to predict warp in a print and then modifying the internal structure to provide a compensation force?


WWW.ZATOPA.COM - Your Place for high quality 3D Printing Filament and accessories
Sorry, only registered users may post in this forum.

Click here to login