Pages

Thursday, September 02, 2010

A Smarter Approach to Infill

As is often the case, I had my Mendel running a week or two ago, and I was sat mesmerised for far too long watching it work. Fortunately, whilst this was happening I had an idea I thought was worth sharing.

Our Mendel happened to be printing a particularly complex part, I think it was one of the extruder driven gear. I made the casual observation that on the lower fine layers, it does a pretty good job. But once you get into the middle layers, it needs to do quite a lot more in air movements compared to the fine layers, as the extruder cannot get to where it needs to be smoothly because of the low density of the infill. The issue with this is that with present extruder designs, and even with reversing, we still get some ooze that makes a bit of a mess. Annoyingly, the reversing and inair movements start at the outline of parts, and the ooze typically spills over a tiny amount, making the part surface a little blobby. It also makes sense that this problem is particularly true for intricate areas of the part, such as the gear teeth.

Thus, It would be very beneficial to vary the increase the infill density within the intricate regions of parts. Not only would this help with ooze, but intricate areas would automatically strengthened with more material. I also suspect that if this was implemented we could also reduce the infill percentage in simpler areas to speed up build time.

Fortunately, we already a gauge of part complexity, and that is the length of each individual road within the infill(L) and the distance between infill roads(D) could be made proportional to this length.


12 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. I've been looking for a way to implement an idea that would have similar results. The idea is for a way route the infill to print all of the infill for a solid area of a layer without stopping, only crossing empty space when one area is finished, to move to the next one.

    I got the idea when writing a script to procedurally route a PCB trace for a platform heater around its mounting holes, and realized that it should be possible to generalize to calculating infill. I'm just having trouble finding a language to use to implement it without reinventing the wheel for functions like contracting the outline and detecting intersections with it.

    ReplyDelete
  3. I don't recognise the problem you describe. It isn't hard to make an extruder that does not ooze. I am using Wade's drive mechanism on my Mendel. I reverse the feedstock 0.75mm at 10mm/s at the end of a filament run. At the start I fast forward the same distance and speed, pause for 30ms and then extrude at the normal speed for the whole of the next filament run. No blobs.

    ReplyDelete
  4. And the infill from Skeinforge doesn't have many in air movements because the ends are joined with a short segment parallel and adjacent to the outline. So the extruder runs continuously during the zigzag infill until it needs to jump to another area.

    It also tends to get more dense in smaller areas because the infill lines are not parallel to each other. The longer they are the further they are apart. See this post from 2.5 years ago: hydraraptor.blogspot.com/2008/04/python-beans-make-object

    ReplyDelete
  5. Nophead, do you have the images for the broken links in that post? I'd be interested to see the whole thing.

    ReplyDelete
  6. I found two of them and re-hosted them on the reprap wiki. They don't animate for some reason unless you download them and open them again with your browser.

    That was the reason I hosted them on MediaFire as it was the only way I could make them animate, but as you can see MediaFire lost them.

    ReplyDelete
  7. I gave up on infilling gear teeth a long time ago. Cross hatch infill causes many more problems than it cures. It's solid or empty all the way for me these days.

    BTW, for solid, I evolved this approach rather than a cross hatch infill.

    http://1.bp.blogspot.com/_pFOm7tEWWu4/THivvxmLQpI/AAAAAAAACfs/nCQ2f2ezjm4/s1600/perimeter+000a.PNG

    ReplyDelete
  8. I've noticed that ABS and PLA are very different in their prone-ness to ooze. PLA is much more glue-like and ABS more like toothpaste.

    BTW: A hexagonal infill needs less acceleration (from the perspective of each individual axis) and can, for this reason, be done at higher feed-rates.

    ReplyDelete
  9. Yes PLA is more prone to fine strings than blobs but the reversing technique still works. Particularly if you keep the molten part of the barrel short.

    ReplyDelete
  10. I worked with a stratasys printer and in between each layer the extruder tip would rub back and fourth against a little wire brush and the “strings” would fall down into a little basket. It worked great to prevent little messes and layer to layer was very clean. Also, to prevent warping of the parts the stratasys used a heated build area of about 150 deg, not a heated bed but a completely enclosed heated build area. I would build solid parts up to 2” thick with NO warping. Not sure if this helps just wanted to post some observations.

    Cheers,
    Nathan Allen

    ReplyDelete
  11. I worked with a stratasys printer and in between each layer the extruder tip would rub back and fourth against a little wire brush and the “strings” would fall down into a little basket. It worked great to prevent little messes and layer to layer was very clean. Also, to prevent warping of the parts the stratasys used a heated build area of about 150 deg, not a heated bed but a completely enclosed heated build area. I would build solid parts up to 2” thick with NO warping. Not sure if this helps just wanted to post some observations.

    Cheers,
    Nathan Allen

    ReplyDelete
  12. I've been looking at this blobbing myself recently, and there are two separate issues here:
    1 - the delayed start of movement creates a starting blob ( presumably to improve the initial bond to the previous layer)
    2 - the existence of other blobs in near vicinity or lower layers causes overflow or behave erratically.

    I was dragged kicking and screaming towards skeinforge ( as one of the other hackers here uses it on his RapMan ), and it was WAY BETTER!. no blobbing, etc, becuase the extruder simply stays on during infill as much as possible ( ie between in-fill parallels, it follows the border to the next line, extruding the whole way).

    ReplyDelete