It helps to actually have infill!

So in the comments for my last post, whosawhatsis said he had similar problems to mine, and gave a link to a page showing his lineup of print attempts. A comment on that page by Tony Buser struck me as the answer to my problems… and in fact, it was (at least to most of them.. I still don’t have a water-tight minimug).

I filed a bug about the problem in the RepRap Host software which was leading to hollow prints. Basically the mistake I was making was assuming that the “Extruder0”, “Extruder1”, “Extruder2”, and “Extruder3” tabs in the RepRap Host preferences window corresponded to multiple physical extruders. They don’t. They correspond to extruder PROFILES, each of which maps to a physical extruder (they can all map to the same one).

I’d changed the NumberOfExtruders preference field from 3 down to 1, because I only have one physical extruder on my Mendel. Bzzzz.. Wrong. (I think the UI could be more clear on the distinction, but that’s not the only problem).

Here’s how it actually works.. Each “Extruder” tab (with all of its’ corresponding values, such as temperature, speed, etc) represents an extruder profile. So you could have one for PLA, and one for ABS, both of which have different values. By default the NumberOfExtruders value is 3, and the first three extruder profiles are:

Extruder0 (“PLA”)
Extruder1 (“PLA-support”)
Extruder2 (“PLA-infill”)

When you print (usually to a gcode file), you get a choice of which profile to use. Here you’d choose PLA.

But if you look at the preferences within an Extruder tab, you see there are three fields that refer to extruder profiles by name:

  • ExtruderX_MaterialType(name) – this is the name of this profile.. Extruder0_MaterialType(name) is “PLA”.
  • ExtruderX_SupportMaterialType(name) – this is the name of the profile to use to print support material
  • ExtruderX_InFillMaterialType(name) – this is the name of the profile to use to print infill (the inside of an object)

…but when it looks for those named profiles, it only looks up as high as the NumberOfExtruders preference field specifies.

So, I had set NumberOfExtruders to 1, I went to print, I printed with the only extruder profile available extruder 0, “PLA”, because Extruder0_MaterialType(name)=”PLA”. But during that print, when it made it to the point where it would print infill (where there was a solid, which in the case of a minimug is the bottom of the mug), it would see that Extruder0_InFillMaterialType(name) was “PLA-infill”, so it looked for which extruder profile had the MaterialType(name) of “PLA-infill”. That should have been extruder profile 2, but it didn’t get that high, because NumberOfExtruders was 1, so it didn’t find it. At this point, the RepRap Host software didn’t have an extruder profile to print the infill with, so it didn’t – it left the infill space completely empty.

So the inside of the bottom of my minimugs (and the solid part of any of the gears or other pieces I was trying to print) were coming out hollow.

When I realized this, I couldn’t wait to try it out, but I couldn’t actually print until Friday evening.

My first approach was to change Extruder0_InFillMaterialType(name) from “PLA-infill” to “PLA”, and leave NumberOfExtruders at 1.

This yielded an absolutely beautiful print. Sadly, it still wasn’t water tight, but it was beautiful. Pics and video say it all:

(click image for unscaled image – scaling ruins the 3D effect)

Ok.. So one point worth mentioning about the above before going on – I said you could see both rings that make up the minimug.. That’s actually because I had Extruder0_NumberOfShells(0..N) set to 2.

I tried testing JeffTry22, but sadly it wasn’t watertight.

Encouraged though by the infill discovery and the knowledge that all of my prints should be much better now, I decided to try printing the large 39-tooth gear for Wade’s extruder. That print started showing serious problems almost immediately, but I let it go so I could study the results. It would start trying to print the outer teeth of the gear, going very slowly on each gear tooth, and by the time it completed the circle near the first tooth the print head didn’t line up – it was more like an inward spiral than a circle. After that point (on the same layer), the infill would start to print, offset by a huge amount (it was way to the right of where it should be). Once the layer finished, it’d home, and lay down the next layer fine, but with the same consistent problems as before.

(Sorry that this next video is truncated..)

I figured it was clearly an X-axis problem of some sort, where the X-axis was accumulating error during a layer (which is later corrected while homing). I thought perhaps I was missing steps. I tried increasing the current on the X-axis stepper controller board, but didn’t rerun this particular gear print yet so I don’t know that it fixed it.

I thought that the same x-skipping (if that’s what it was) might explain why the two circles that make up my minimug walls weren’t exactly concentric, but rather they kissed on the left side. That would explain the “gap” between layers that I was finally able to see in JeffTry22 above. I DID try printing other minimugs, and looked to see if the circles were any more concentric than they were – they weren’t (that I could see), so that’s the most verification I’ve currently done as to whether turning up the potentiometer actually did anything meaningful.

It could also be the tension on the X-axis belt (too loose? too tight?), or maybe the bearings aren’t turning well after the rust-like issue I’d had before (although the rods are clean and silicone-greased, maybe the bearings aren’t smooth anymore?).

Or, it could be the filament being tight (which it was during the end of that gear print – I hadn’t fed enough spare line out by hand), and rubbing up against the threaded rod.. (I have some tape on it now to make it smoother..)

So realizing that the effect of any X-skipping seemed to matter most with big complicated prints, I figured I’d try printing out the small gear (which hopefully wouldn’t be affected much if at all), and later I’d try to artificially increase x-skipping on minimugs by trying to print four at once.. But I’m getting ahead of myself.

Here was the result of re-printing the small gear. Much better with infill, but still not great:

After that, I decided I’d save my preferences file (I saved away JeffTry22’s, that’s for sure), and try starting from scratch, using multiple extruder profiles (instead of just the one, pointing at itself for infill), and see how that goes.

The minimug came out horrible. It printed MUCH faster – I guess I’d forgotten that I had the speed set lower than before (which is funny because a student at work who had built a Darwin a while back saw a previous video of my Mendel printing and remarked that it was much faster than the Darwin used to print). I haven’t tried going back to 2 shells at the same “slower” speed (1000) but keeping the 3-profiles, to see if I can get a JeffTry22-equivalent with three profiles. What I did notice though was that the infill was far more sparse with the 3 profiles (as you’d want for anything other than a water-tight object.. infill is supposed to be just a support lattice inside a structure), so again maybe I should go back to just one, and try to tighten that up.. (I’d tried a gap of like 0.1 instead of 0.7 and it caused an array index out of bounds exception, so I reverted.. maybe I went smaller than the default extrusion size or something).

Here was that minimug attempt with the faster speed:

The messy print on the left in this next picture is the result of reverting preferences.. The print on the right is old.

After changing some settings back to what should have been correct, I tried printing 4 minimugs at a time, for the hell of it. Yeah, it didn’t go so well. An error in one of the three can carry onto the others, if it grabs a glob of molten plastic and drags it across, etc.

(I also left this completely unattended, so bad prints look worse because they build on top of failed bases, etc).

And finally, here’s a quick video that shows the extruder actually working correctly, digging notches into the filament to get a grip on it. The youtube compressed version doesn’t show it quite as well as the original, but I’ll include it here anyway:

That’s it for now! Go back and look at those JeffTry22 success pictures above – that’s what I’m remembering. (I actually lost count of how many successful ones of that I printed).

8 Responses to “It helps to actually have infill!”

  1. Lenbok says:

    Man, that reprap host software sounds like some extremely terrible UI design!

    I hope you get up and really running soon!

    (I’m using skeinforge / makerbot firmware / replicatorg with my mendel and it’s working nicely. May try out the reprap toolchain if the rough edges get worked out).

  2. Tony Buser says:

    I’m curious, are you getting any Serial Errors in the console? It seems like yours is moving a little erratically like mine and I’m getting tons of Serial Errors that I’m trying to track down. (in my case I have a feeling it’s a bad stepper board)

    • jkeegan says:

      You know I haven’t been running with a console up, and I’m not even sure I’ve got debug output enabled (wasn’t there a pref for that?), but I’ll turn them on now. I do get a stutter every once in a while.

      On the makerbot people narrowed down such glitches to sending everything via serial, and they eliminated it by printing from the sd card (which the makerbot firmware allows).

      I’ll let you know if I see anything, and I’ll look carefully around the time of any stutters.

  3. Thinking that NumberOfExtruders should be set to 1 was a mistake that I also made. Amongst other problems that I had with reprap host, I also found that all three extruder profiles MUST have the same LayerHeight setting, otherwise it prints the first layey 4mm above the print bed!

  4. whosawhatsis says:

    I’m glad yours is improving. I had a couple of days of good prints, but then it stopped extruding min-print. I took the hot end apart and heated the barrel until the PLA oozed out and I could see through the nozzle, then put it back together. It extruded again, but it was back to making minimugs that look more like baskets. *sign*

  5. Buzz says:

    don’t worry, you are most definitely *not* alone. this entire experience has been pretty much the same as mine. Its unfortunate, and frustrating, so what can we do to make it better for everyone?

  6. St0nkingByte says:

    Ak! I had the same problem. A couple evenings wasted scratching my head and trying to make perfect prints with no infill. Ugh.

    I’ve tweaked the RepRap host software docs here:

    Please feel free to improve upon my explanation.

Leave a Reply