Wednesday, 15 August 2012

Peel-able support?

One of the few advantages commercial FFF machines have over Reprap at the moment is that breakaway support works much better. In particular the UP printer from PP3DP is reputed to have easily removable support using only the same material it builds with, i.e. ABS.

Today I was redesigning the Mendel90 ribbon clamps to have nut traps to make assembly easier and came up with this design: -

I thought I could print it using the bridging ability to span the slot in the base but it failed abysmally. I think it is because it is so close to the heated bed the bridge sags a lot more that it would normally do.

I tried the support option in Skeinforge but I have never got it to work well. It puts a sparse zigzag under the bridge and the flow rate can be reduced to make it weak. The problem is then that when it is removed the top layer of the support bonds more strongly to the part above than that it does to the support below, so it gets left behind. Worse still the bottom layer of the object is more strongly attached to the top of the support than it is to the layer above, so it is very hard to remove just the support.

I think the reason for this is that when the support is sparse the layer above drapes down in between the gaps. That reduces its contact to the layer above and increases its contact to the layer below. This sketch illustrates my theory: -

When I watch videos of the UP printer it looks like the top of the support is solid and flat. This reminds me of the way I used to do rafts. I made the top layer of the raft almost solid and raised the bottom layer of the object a little to make it peel-able. Indeed support is just the same as a raft, it is just that it is elevated.

To test the theory I hacked my host software to load a separate file for the support so that it could be sliced as a normal object and so have a solid top. It also has a solid base of course, which is another advantage over Skeinforge's sparse support as that can easily become detached from the bed.

When extruding I did the support for each layer before the object's layer and did it a bit lower. I also missed off the outline to give a gap of one filament width at the ends. I worked out the diameter that the object's infill would be if it was not squashed into an oval. I offset the support downwards by the difference between that diameter and the normal layer height. That means that when extruding the underside of the object that is being supported the filament is not being squashed, so has minimum contact with the support. It doesn't droop though and the next object layer is squashed against it making the bond above stronger.

The bottom layer of the support is thinner than the rest because of the downwards offset, so I had to reduce the flow rate accordingly. 

It wasn't peel-able by hand but I could separate it cleanly with a penknife, something I have not been able to do before.

The bottom layer of the bridge has round filaments that do not touch (as they are not as wide as they should be) but that is always the case with bridges. The difference is they do not droop and are well bonded to the layer above.

They are of course a little lower than they should be. A better scheme might be to have the support at normal height and raise the head as it passes over it. That would give even better bonding to the layer above which would tend to fill in the gaps. It would need rapid Z movements though.

I would be interested to see what the bottom of a supported surface of an object from an UP printer looks like.

To test the idea further I tried making a sphere. I made the support in OpenScad by subtracting it from a cylinder. To get some lateral clearance I did a Minkowski sum of the sphere with a thin disk.
$fa = 10;

R = 20;
clearance = 0.5;
h = R - R * cos(60);

module sp()
    translate([0, 0, R])
    difference() {
        translate([0, 0, h / 2])
            cylinder(r = (R * sin(60) + 2), h = h, center = true);
        minkowski() {
           cylinder(r = clearance, h = 0.01, center = true);
color("red") sp(); 

The support was pretty difficult to remove because it ended up quite dense as Skeinforge makes solid layers when there are shallow sloping sides. Also the sparse infill ends join up to make a complete outline. It is more a proof of concept rather than a practical way to make support.

This is the underside of the sphere where it met the support. It looks quite good but above it there is some distortion to the spherical shape that I cannot explain.

So I think having a solid top surface on top of sparse support is the way to go and a dense bottom layer to anchor it to the bed. In between it can be very sparse but it would then need several solid layers to become flat.

It still takes some effort to remove, so I don't know if it is as good as the UP support yet. The difference may be the plastic.


  1. My idea would be as follow:
    The top layer of support should be printed as slowly as possible (even raised temp), then the first layer of object should be printed as fast as possible (maybe lower temp). Then the second layer of object as slow as possible with higher temp.

    Elevating is also a nice idea, but I think it should be combined with other method.

    Also the support bottom and top layers should be almost solid or at least as dense as raft.
    I think this is pretty clear.

    Nice work as always.

    1. The problem with changing the temperature is it takes time and it would also make that layer of the object weak. Also I can't use a higher temp on the layer above because I always extrude at the maximum possible to get the strongest object.

      Going faster over the bridge may help but keeping the flow rate synchronised is tricky. Again you don't want to do the whole layer faster or the ends of the object would be weak.

    2. Maybe turning off the fan on the layer above the bridge? That would let the extrusion sag and let the 2nd layer more fully bond to the bridge layer. It won't make support easier to remove, but it will make delamination less likely when you remove it with your weapon of choice. It might be more difficult to detect though. I can pretty easily see this working for flat overhangs like the one you originally tried to print, but I don't think it will work for any other type of overhang, because then the fan will be off every time the support joins the part.

      Additionally, you may be having more trouble than the rest of us because you use the the maximum possible temperature. Just throwing that out there.

  2. Interesting approach. Have You tried Slic3r's honeycomb support. It also removes quite easy from flat parts.

    1. No but if it is sparse where it meets the object I think it will have the same problem. I.e. when you break it away the last layer of support will remain attached to the object with a stronger bond than that layer of the object is attached to it's layer above.

  3. Great!! Thanks for sharing.

    Here is videos and photos I recorded from my PP3DP printer:

    1. Yes I have watched those thanks. It looks like the first layer of the Wade's idler has W/T close to one, so the filament are still touching but cylindrical, so very little contact area with the flat raft. Does the underside of supported layers look the same. I.e. cylindrical filaments touching? If so does that make a weak layer in the object?

  4. "They are of course a little lower than they should be. A better scheme might be to have the support at normal height and raise the head as it passes over it. That would give even better bonding to the layer above which would tend to fill in the gaps. It would need rapid Z movements though."

    I really liked this idea the best as it seemed the most logical approach and most 'UP-like'.
    Did you get as far as trying to use this method? I would be very interested in trying it out but haven't got the confidence in hand-editing my gcode to do it myself yet.

    1. No I haven't tried it. It isn't the easiest thing to do because I would have to look at any path and determine if any part of it was over support. Also I think the Z movement would be slow enough to make a blob at each end.

      Have you seen the UP do a lift while extruding over a support?

  5. I notice that the UP support seems to be at an shallower angle to the main body - I wonder if this results in fewer contact points between the filaments and thus lower resistance to delamination?

  6. Hello, Slic3r author here. I just read this blog post and I wanted to say I'm very interested in implementing your technique. Basically, my mind translates it into: print interface support layer at a lower layer height. No need to shift the entire support structure, just the last layer(s).

    1. Hi Alessandro,
      If you do it that way round I think you will have an issue if part of the support layer supports the object but another part of it supports the next layer of support. It would need a Z shift during a run of extrusion.

  7. Hello, I've just finished my implementation. :)

    It turned out easier than I thought, because Slic3r already used bridge math (flow & spacing) for all overhangs. So I just needed to extract the interface regions of support material, and print them at the lower Z which is calculated by subtracting the difference between normal layer height and free-air extrusion diameter from the normal layer height.
    To get a 100% dense support material you can just adjust the support material spacing setting.

    The issue you described does not happen, because Slic3r will only print at the lower Z the actual interface parts. Any other support material generated for that layer, which doesn't act as direct interface, is still printed at the full layer height. Remember this is not Skeinforge and different behaviors can be combined in the same layer ;)

    1. Not sure I understand. If the support looks like say a staircase how do you avoid filaments being both the interface layer of a lower step and internal support layers for higher steps?

      It is only the interface layer than needs to be 100%, the rest of the support should be sparse. Have a look as Casainho's videos of the UP printer referenced above.

    2. I missed your reply!

      Regarding your question, Slic3r computes different kind of support areas for each layer. i.e., direct contact areas (having the object on the first upper layer), and other regions having more support above them. The former areas are printed with the reduced Z as you proposed (and after some months of testing, it can say it works nicely), while the latter areas are printed at the normal full layer height.

      I recently committed more changes that allow to configure how thick (in layers) should the interface be, and how dense. This allows to use a sparse support material and only make 100% solid interface near the object.

      Again, thank you for your ideas - I hope you'll have more that I can 'steal' ;-)

    3. Whoops, last post was by me. /Sound

  8. I would like to add some anecdotal evidence to support the lower z height for easy separation. I tried printing at a .3 layer height on a .35 J-head and got parts that easily peeled apart layer by layer. I realize now that I was out of range for my extruder, but it did give some interesting results.

  9. Very interesting post, thanks! Regarding temperature, if we took the time to let it change, what do you think about an approach such as:

    1. Print the support at normal temp
    2. Print the first supported object layer at a lower temp, so that it bonds poorly to the support
    3. Print the second object layer at normal temp, so it bonds well to the first layer

    With this approach, we should get a weaker bond between the part and the support, but the part itself should have strong bonds.

    Even lowering temp at the start of the interface layer with M104 should hopefully see extruder temp sinking quite fast, and it could be ramped up again before the layer is done. That way, most of the interface would hopefully see the effect of poor bonding without having to do anything special to wait while the temperature changes.

    1. It might be OK for something simple, but in general a layer of an object might be partially over support and partially over the layer below of the same object. The temperature would not change fast enough. Even if the metal parts cool quickly the plastic inside will lag due to higher specific heat capacity and poor thermal conductivity.

    2. Yes, I see your point. The support for the ball, for instance, wouldn't be large layers of support, so there wouldn't be much time to change the temperature per layer.

      I don't know what the up! hotend looks like, but is it possible that it has more accurate/rapid temperature control than for instance a normal j-head? Otherwise, this could probably be done on printers with 2 hotends, even using just one material.

    3. I don't think UP changes temperature. It has a big heater block, so it will be slow to change.