slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.35k stars 1.29k forks source link

Feature request: Make support material attached to the bed have wider and stronger bottom layers #3517

Open mrjohnc opened 8 years ago

mrjohnc commented 8 years ago

Hi

This is a request for a feature to improve the adhesion and strength of support material attached to the bed.

Issue: The only sections of prints I ever have problems with coming away from the bed is the support material, this is because they are tall thin towers with little bed surface area and weak bottom layers. Even with a large brim around the objects this does not solve the problem because the second layer gets a lot of force and breaks off.

Possible solution: Where possible increase the surface area of the support material that is attached to the bed and the strength of the lower layers, possibly by giving it flared bottom layers or increasing the thickness of the lower layers or both. Neither of these suggestions will make it more difficult to remove support material from the models.

Another option would be to have bridges at different layer heights between nearby support material towers so that if one of the support material structures broke off the based or further up it would be held together and could recover more easily. The bridges could be at lots of different layer heights so that you wouldn't get weak layers. These bridges could be more frequent at the lower levels where the towers have the highest stress points.

Thanks

lordofhyphens commented 8 years ago

I'm pretty sure this is a duplicate of another request, but not entirely sure atm.

lordofhyphens commented 8 years ago
Bendimon commented 8 years ago

@mrjohnc Depending on the height of the surfaces that need support material, I choose different support strategies. I think pillars are fast and cheap in terms of plastic consuming. Optimal, but risky. I often choose that risk, but when I leave my printer working over night with a big part, sometimes I prefer to choose, for example, a rectilinear pattern. In that cases, I prefer to waste a little more time and plastic, and avoid a bad surprise the next morning.

bubnikv commented 8 years ago

You may try to build the whole print on a raft.

bubnikv commented 8 years ago

Support layer thickness is already maximized.

Not exactly. The layers are generated for the whole object globally and the top / bottom surfaces have their height defined by the bridging flow and the support gap, so they are not a multiple of anything. So if you have too many top / bottom surfaces at various heights, they add thin layers to the support, contradicting the effort of making thick layers. The current implementation works to support horizontal bridges, but not so well for supporting sloping surfaces.

soswow commented 8 years ago

And while we there, maybe we could make support first layer spacing configurable. I've spent almost two days trying to make first layer of quite small support structure to stick to the bed. I already operate on speed 10mm/s for the first layer, and it still doesn't help. It perfectly prints everything else (solid fill, brim, everything) but lines in this zig-zag pattern are not far apart to make it just a line, and not close enough to make it like solid infill. And my hotend start dragging it around.

screen shot 2016-10-14 at 9 08 10 pm

cangelis commented 8 years ago

Building supports on the raft may be an option that is not supported by Slic3r currently. https://github.com/alexrj/Slic3r/issues/3049

bubnikv commented 8 years ago

Stay tuned, I am hacking the supports right now.

soswow commented 8 years ago

@bubnikv I will. https://github.com/alexrj/Slic3r/blob/3700950474583e6c64163fab848a831cdcfbf44e/lib/Slic3r/Print/SupportMaterial.pm#L746 seems like the number I want to change. Tomorrow I'll try to build slic3r locally (all the proper Perl version installation hell) and see if it even helps my situation.

bubnikv commented 8 years ago

I am currently rewriting the support code into c++. I was unable to fix the original perl implementation of supports to do the support on object interface correctly as it requires more information to keep per layer than just the polygons and the z coordinate. And I plan to rewrite all the bacakend into c++ anyway, so it was a good opportunity for the supports to do it now.

On Oct 14, 2016 1:34 PM, "Aleksandr Motsjonov" notifications@github.com wrote:

@bubnikv https://github.com/bubnikv I will. https://github.com/alexrj/ Slic3r/blob/3700950474583e6c64163fab848a831cdcfbf44e/lib/Slic3r/Print/ SupportMaterial.pm#L746 seems like the number I want to change. Tomorrow I'll try to build slic3r locally (all the proper Perl version installation hell) and see if it even helps my situation.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alexrj/Slic3r/issues/3517#issuecomment-253776209, or mute the thread https://github.com/notifications/unsubscribe-auth/AFj5I_spU66yfe7Bou0SmDmLPcLvNd0rks5qz2i6gaJpZM4KHE2R .

soswow commented 8 years ago

eh ... after 3 hours trying to install everything (perl, perlbrew, local-lib), when on every step something was failing, so I had to use --force or -f ... it still failed in the end. I quit for now.

7eggert commented 8 years ago

This seems close enough so that I'll add my observation:

1) Slicer seems to actively avoid connecting the support to the brim, and thus it breaks away. It does the same for the actual piece I print, but with an actual air gap that does not hold small pieces in place. I think one thread to the part is needed at least. I'm using raft for now.

I attached a picture with brim and support showing the problematic parts.

1b) The pillars stick to the parts quite well ... at the places where there should be a gap.

2) The brim itself does break apart. I'd like to add a second layer, e.g. the 20 % linear infill. above the brim.

3) Also I'm currently printing my third piece (ABS was a mistake for beginners). It has minimal bottom area, and I am wondering: Why not just fill the whole bottom layer except where the part is touching the surface? First layer completing the circles from the brim, second layer raft/infill (off cause with gaps for the parts if they are starting at layer 1).

4) For high pillars, I imagine combining them to one large foot might be a good thing.

slic3r-brim-two-layers

lordofhyphens commented 8 years ago

The brim is just on the outermost contours of the object.

Could you add an example model and settings where you see this problem?

7eggert commented 8 years ago

3517-7eggert.zip http://7eggert.selfhost.bz/tmp/slic3r/brim%20breaks%20apart/ ![Uploading DSC00513.JPG…]() ![Uploading DSC00510.JPG…]() ![Uploading DSC00514.JPG…]()

Sorry for the potato-cam.

Edit: For reference, I'm using hairspray on aluminum, default speed settings, 100 % extrusion, temperatures 255/∕110 °C, brim and 1 raft. Heat bed isolated from below using cardboard + aluminum layer (cut out above motor), heatbed cable replaced with 4 wires of copper, 216 A PC power supply using 2 Molex. Custom heating script because it's still barely enough power to reach 110 °C.

G28 ; home all axes G1 Z5 F5000 ; lift nozzle

M104 S0; extruder temp off M190 S100 ; wait for bed temperature 100 M104 S240 ; extruder temp M190 S109 ; wait for bed temperature 109 M104 S255 ; set temperature M190 S110 ; wait for bed temperature 110 G28 ; home all axes G1 Z5 F5000 ; lift nozzle M109 S255 ; wait for temperature to be reached

lordofhyphens commented 8 years ago

Potatoes gotta potato. :)

BTW, you can drop images and ZIP archives here. I've edited your post to include them inline incase your host goes down for some reason (which has happened with other things).

7eggert commented 8 years ago

OK, wasn't sure weather the size would be permittable here. Also: The layer height is 0.3 mm.

7eggert commented 8 years ago

More information: It might be due to bad Z calibration due to heating up:

http://shop.prusa3d.com/forum/prusa-i3-kit-building-calibrating-first-print-main-f6/live-z-adjust-constantly-decreasing-t2118.html

Being the proud owner of the probably-best-calibrated heatbed is no lasting feeling ... but at least I know what's happening.

TLDR: The current brim should be enough, but real life happens and a reinforced base might safe some prints.

lordofhyphens commented 8 years ago

Most things compress down pretty well; the layer height should be captured in your configs as well.

7eggert commented 8 years ago

I now confirmed that by leveling the hot heatbed twice using the script below and then printing something (not that high, but it looks much better). Unfortunately during the second print, there was a sudden change of z axis, while printing the about third layer, the threads started hanging in the air.

https://github.com/7eggert/3d_printer_leveling_ABS

(Yes, the layer height etc. is in the config, but I'd not like to download everything just to see that.)

7eggert commented 8 years ago

A few prints later I can add that layer height > 70 % nozzle width will cause delamination. With 2/3 - 0.2 mm having a 0.3 mm nozzle - I get good results (only small prints in the meantime) and a brim sticking to it's neighboring objects.

OTOH, ABS does shrink and pull itself and the brim from the surface. Especially using my test file (edited to 2 cm height instead of changing the model), I get misprints. It's a one-thread 10×10 square with brim - or something curly. I don't know weather a strong clover leaf brim might help, but printing coins at the edges is suggested. I tried printing at 230 °C too, but then the layers don't connect that well.

The supports do stick now, but I didn't print something high yet, so maybe the reinforced bottom is still a good idea.

Since there is the shrinking issue, I now think that connecting the supports may cause the support to be pulled away.

rect.gcode.gz

bubnikv commented 8 years ago

Another option would be to have bridges at different layer heights between nearby support material towers

https://members.loria.fr/JDumas/files/papers/scaffoldings/bridging-the-gap.pdf

VanessaE commented 7 years ago

Issue is over a year old now. Can we at least have an option for 100% solid bottom layers on supports?

martin-git commented 6 years ago

Agreed, just a solid bottom would be great! Or an override of the bottom interface layer where the brim should go. Wherever there is support close to the base of the part the brim is replaced by the interface layer. I am having loads of troubles printing PC which tends to warp a lot. No chance without a rock solid first layer+brim.

MortarArt commented 6 years ago

This really needs to be done. I've reported it elsewhere, and it's the single biggest obstacle to using slic3r, for the huge variety of prints I do as a service bureau. I am very often hacking this, producing custom brims, splitting gcode files, etc. to achieve this, because it is the only way to print a large number of materials and geometries.

ghost commented 5 years ago

Any update on this? This would be really useful. Slic3r Prusa edition also doesn't support this.

supermerill commented 5 years ago

see https://github.com/slic3r/Slic3r/issues/3256

pileofrogs commented 5 years ago

++ It's 2019 and this still breaks my prints

HeyRobb commented 4 years ago

Same here... please add this feature.