Welcome! Log In Create A New Profile


Thoughts on Fill Algorithms - opinions welcome

Posted by garyhodgson 
Thoughts on Fill Algorithms - opinions welcome
January 03, 2012 02:07PM
Hi all,

I've just written a blog post which starts to discuss whether we could create more efficient infill patterns that take advantage of the 3D nature of the models we are printing. There's a few ideas in there and perhaps it starts a discussion, or at the very least people can tell me just how bad they are and why they won't work.

Any comments or opinions would be very welcome, particularly from the mathematically inclined who can laugh at my incredibly poor grasp of Euclidean geometry!



garyhodgson.com/reprap | reprap.development-tracker.info | thingtracker.net
Re: Thoughts on Fill Algorithms - opinions welcome
January 03, 2012 04:05PM
Great blog post and really nice ideas Gary.

It would be really interesting to test build Speed v Strength of fill and level of infill,I really like the idea of using the vertices of the target model for generating internal edges, this should be fast to print and give strength to the model.

One thing I have always wanted to try is to print a model hollow for say 3-4mm high then place the extruder at regular points in the hollow voids and just purge a set amount of plastic into the void, move the extruder on a regular distance and maybe on a slight regular angle and then purge again, with some experimentation you could get to a level where the purged points just join together and also against the walls of the hollow object,then print a loose mesh over it and build another hollow section, repeat with the same all the way up the object.
It should be fast as you can purge quickly with most hot-ends and strong if the balls are placed well, but may use slightly more plastic?

I did consider making some manual gcode to test the idea of a 'blob-filled-object' but have not tried yet.

If you also had two extruders, you could also have one with a bigger nozzle and low grade plastic for the blob-infill and fine quality plastic on the other for the hollow outline.


Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 04:21AM
I think we should start encouraging people to design not just blocks of material, but take advantage of 3D printing and design struts, ribs, etc. Material should be where the forces go along and this can hardly be calculated automatically.

Generation 7 Electronics Teacup Firmware RepRap DIY
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 04:47AM
Do you know of any FOSS materials stress analysis software? (plus accessible introductory tutorials)?
In default, common sense plus observation can help a lot.
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 06:23AM
@Traumflug - You're absolutley right! To quote a comment I added to the post on exactly this:


"As I was pondering alternatives I kept coming back how useful it would be to manually define internal supports to existing model files, i.e. opening an STL file in an editor and saying “ok, a strut should go here, and a joist here”, etc. I guess it can be seen as a design technique to create a model which uses the minimum material (I know I always try and cut off unecessary corners and such), but it would be nice to be able to create the (solid) model, and then go into it afterwards adding supports etc. I really think the original designer should at least have the ability to say how the model should be supported, with the next best thing an intelligent algorithm of some sort."

Whether such stress analysis could be automated is questionable, but certainly worth looking into. I'm sure there has already plenty of research and effort in this direction - I wonder if we can leverage soemthing from it?

@Lanthan - Dale Dunn wrote a comment mentioning Finite Element Analysis, which according to the Wikipedia article on Stress Analysis can be used in helping solve "boundary-value problems" and so help model deformations of structures. This is all pretty new to me so I perhaps it doesn't lead anywhere - my reading list is enlarging exponentially! smiling smiley It seems Wikipedia has a list of software (inc. FOSS) to help in Finite Element Analysis.

garyhodgson.com/reprap | reprap.development-tracker.info | thingtracker.net
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 06:44AM
Possibly have software selection of areas in a gui where support is needed. although this is a simple design methodology build in ribs where support should be, and leverage support system to streamline design and build time.

this is one area that 3d printing can excel. My cnc systems that subtract material it is mostly about hours used on the spindle, and removing anything that does not serve a function becomes timely and costly. 3d printing it seems like we can make items faster, use less material, and take a lot less time in infill.

just doing a perimeter manifold can be done in minutes, versus an hour or 2 or three with infill enabled.

so any ideas on how to design for manifolds that would only use the Perimeter features of skeinforge, and allow us to disable the fill feature all together/

perhaps intersecting of manifolds to near touching , but .2mm apart? the plastic overlaps, but the Perimeter is generated separately?

one issue we also need to resolve would be how to still do infill of top and bottom of objects that are solid on top and bottom. that is usually done with infill enabled.
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 07:11AM
@garyhodgson: thank you for the links! Yes I was thinking of Finite element analysis. Still it is a nontrivial engineering topic, and we'd need to know well the mechanical characteritics of printed material.

Course notes on FEA (book), fascinating reading


A paper on FEA and SDM at Stanford: spiral patterns seem interesting (but the topic is fused metal powders)


A paper by Stratasys - not ABS or PLA, but important concepts


On the practical side, Prusajr experimented with directional reinforcing of parts by adding very small tubes to the STLs: this tricks the slicers into generating shells around the holes. This interesting technique hasn't quite catched up with other designers.

Edited 2 time(s). Last edit at 01/04/2012 07:27AM by Lanthan.
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 08:26AM
My thoughts

The idea of perimeter printing a couple of layers sounds a good one to me, Rather than pour material in every two layers or so, you could perhaps conventionally hatch fill every couple of layers just with more material. This way it might be a little more controllable and easier to compute. I think skeinforge could implement this as there is an option to put a solid layer at intervals and hatch at intervals. Its something I don't use but I have noticed its there.

FEA is useful, but the major problem is defining the loads and constraints on the object before analysis. This is often where FEA falls down as there are so many estimates and best guesses involved the output result is totally inaccurate ( In engineering we call it the s**t in s**t out principle!). FEA is good however comparing one design to the next to show which is better. FEA is about reducing weight or material cost for the same functionality. As we don't tend to mass produce or design for weight and cost the advantages are diminished. I always tend to design my parts with as little infill as possible (I use open sections with triangulated ribs where possible) you get stronger parts this way. Maybe theres a way to automate this.

The idea of a pre configured pattern that is just trimmed to fit inside is also quite a good idea. It wouldn't improve print speed but could simplify gcode generation. The only downside is you may get stringing and a lot of wasted moves. I really like this one though as you could try lots of fill patterns using the same trimming algorithms. This is similar to what you have done on your blog when trying out a few fill variants. A first step might be to automate this in code.

Edited 1 time(s). Last edit at 01/04/2012 08:31AM by martinprice2004.
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 03:24PM
I like the 'triangulation to nearest vertex' approach, but it doesn't fill the model enough and leaves long faces without reinforcement. Maybe make it iterative: define a shortest and longest length, LS and LL, then do the triangulation, then cut all the lines that fall within the bounds in half, and re-triangulate. keep doing this 'till all lines are below the LS.
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 03:28PM
What I would really like to see is a honeycomb infill that creates a two thread thickness honeycomb structure on every single layer, with a solid manifold with T thickness every N layers. The current algorithm does single thread and half the honeycomb every layer, which makes it's strength very poor for any fill below 30%

The biggest problem applying any sort of FEA is our material strengths are so varied from different suppliers, and bond strength between layers is immensely varied due to temperatures. Not to mention, the anisotropic nature of FDM.

Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 03:39PM
KissSlicer does a very good hex fill, very strong, much better than skeinforge or slic3r. FEA sounds complicated, adding struts by hand just means more work for me, I spend enough time creating the model as it is.

A simple, robust automatic fill should work for 80% of applications I would guess.
Re: Thoughts on Fill Algorithms - opinions welcome
January 04, 2012 04:13PM
I think that designing uniform fill patterns is a dead end. What really is needed is a fill pattern with continuously variable density. That way you can have very sparse infill inside large hollow spaces and have it become thicker and stronger near stress points.

Many designs programmed with OpenSCAD have a ton of sharp angles produced by the combining of primitive geometric shapes with CSG, and you don't need to do any higher math to know that those are weak points. (See de Havilland Comet and rectangular windows.)

This of course brings couple of problems into light: 1. Difficulty of designing flowing, rounded shapes with OpenSCAD, 2. Inability of STL format to represent the density of the object and 3. How to design the variable infill density even if the toolchain supported it.
Re: Thoughts on Fill Algorithms - opinions welcome
January 06, 2012 08:49AM
Geometric 3d honeycombs have high strength to weight ratios, and are easily calculateable. They would seem to be a useful default fill, and would not prevent other, more designed struts and internal structure.

Wikipedia has a list of the space filling 3d shapes. These will be the unit cells for any repeating 3D pattern. The triangles in the tetrahedron and icosahedron would seem to provide good load distribution for direct force and sheer.

I like the fractal reinforcement idea of ttsalo. By subdividing triangles, I think you could make a tetrahedron pattern with continuously variable density.

James H
Re: Thoughts on Fill Algorithms - opinions welcome
January 06, 2012 08:57AM
An alternate approach for reinforcing fills would be to copy the sweeping, fractal, organic buttresses found inside skulls, particularly bird skulls evolved for high strength and low weight (and therefore, low material usage).

For inspiration, examine the 3d structure of the Ivory-billed Woodpecker from the Digimorph project at the University of Texas.

More would need to be known about the forces the part would be subjected to, and the weights on various constraints, but it would be an entirely new way to manufacture parts. The algorithm for generating the structures would be complex, but could be a valuable discovery in itself.

Re: Thoughts on Fill Algorithms - opinions welcome
January 06, 2012 09:51AM
If we're interested in creating plastic-optimized designs, we're going to have to give up the modeling tools people seem to be using and spend some money. Even with the best commercial tools, material optimization is non-trivial. Non-isotropic parts like FFF plastic parts are a specialized area of analysis requiring tools far outside our budgets, even if we pooled resources to share a license.

Where FEA could be useful to the subject of more efficient infill, is to borrow an open source FEA mesher to divide the internal volume into elements that could be used as the basis for a better optimized fill (and maybe supports). FEA meshers already have tools for refining mesh density, so it should be possible to procedurally increase the density of mesh elements at the model faces, or interactively increase mesh density where we intuitively anticipate higher loads (or force the fill algorithm to increase density the way Prusa does). Something like the fractal buttresses mentioned by DocJames could possibly developed by operations on a default mesh too.
Re: Thoughts on Fill Algorithms - opinions welcome
January 08, 2012 06:22AM
Hi all,

I'm glad the post garnered so many responses. There's alot of good stuff here, and alot to think about. I will try and collate the views and ideas in a follow-up blog post.


garyhodgson.com/reprap | reprap.development-tracker.info | thingtracker.net
Re: Thoughts on Fill Algorithms - opinions welcome
January 29, 2016 09:56AM
Hello IM new to this but im thinking on implementing a fill pattern in 2D like those of bee's honeycomb its not my research but those are known to have very good distribution of force. and since they are no curved i think they are mathematically more easy to calculate.
Im just starting with 3d printing but i may try to program that and implement it!
The fill pattern should be bigger hexagons where you have less stress and smaller (and more) hexagons where you have more stress

Edited 1 time(s). Last edit at 01/29/2016 09:59AM by AleFachini.
Re: Thoughts on Fill Algorithms - opinions welcome
January 30, 2016 01:22PM
Hexagon infill is being done, but not sure if variable size ones are...another nice one would be circle packing(not sphere's), maybe offset each layer 50% of D, but things might end up a little stringy & sponge like inside, maybe easier to sheer?

but "Hyperbolic Planar Tesselations", that's nice.

Sorry, only registered users may post in this forum.

Click here to login