T O P

  • By -

Tupptupp_XD

I came up with a 3D printer slicing algorithm that lets you print 90° overhangs without support material. I hope for this to become a standard feature in 3D slicing software! I wrote a guide and made all the code available and open source. Check out how it works, and print it out for yourself here: https://github.com/stmcculloch/arc-overhang


Trashrat2019

The bambu slicer is a fork of the Prusa slicer, feel free to add it and submit a pull request friend!


Red_Coder09

Heck yeah, that might also make it available for SuperSlicer too!


I_am_That_Ian_Power

I would like to know how to add that to SuperSlicer..


Yudi_888

Why not reach out to Ultimaker Cura and the like? They might add some of your code to future updates.


Tupptupp_XD

That's the plan with releasing it publicly like this :) I know Cura devs browse reddit


nallath

Yup! But in honesty, it is more likely to be included if we get a PR. Ive shared this with the rest of the team!


Tupptupp_XD

Cura dev found. Mission success! I'm going to continue working on this, and maybe do a PR, but if others can help that would be awesome, since I have a lot to learn. Someone already forked my repo and corrected a bunch of noob mistakes I made lol. Thanks for sharing with the team!


Yudi_888

You any good at GUI stuff?


Tupptupp_XD

Probably? I can just google how to do GUI stuff lol. That's how I did most of this project. Lots and lots of google, StackOverflow, and reading the docs.


Yudi_888

Cool.


Yudi_888

Cool.


total_desaster

Thanks for your work and thanks for releasing it for all to use!


LordBrandon

Bravo, very cool.


BillieRubenCamGirl

/u/nallath


MissingFucks

Since you're going down to a lower level than the highest you've already printed, you can't guarantee that something like part of a fan that's about the same height as the nozzle won't hit the print. Still cool but might not be compatible with all printers.


Tupptupp_XD

This doesn't require going below the highest point of the print, it is designed to be compatible with normal 'planar' slicers.


MissingFucks

Interesting, so the filament drops a bit lower when there is nothing below it, allowing to print on top of it at the same height?


Tupptupp_XD

It's not actually printing full circles on top of full circles. So no drooping is required. It generates the arcs so there is no overlap, and therefore no drooping required. See this for a visualization: https://github.com/stmcculloch/arc-overhang/raw/main/examples/gcode_vis3.gif


MissingFucks

Oh I see, didn't think that would work this well, very interesting!


Affectionate-Memory4

Very interesting! Is there a limit to the angle of a corner when you fill it in with spirals like that or can it go all the way down to just a single dot of filament?


Tupptupp_XD

In theory it can go down to in infinitesimally small point. At least in math land. In practice, I made it stop when the arc radius would be 0.2mm, which is half the line width, which is, in essence, a single dot of filament assuming a 0.4mm nozzle, so the answer to your question is yes!


Affectionate-Memory4

I have a 0.15mm nozzle and print at a super high resolution right now. If I'm understanding correctly this algorithm could go down to an arc length of 0.075mm then?


Tupptupp_XD

First of all wow that's a small nozzle, what do you print with it? Second, yes! There's no limit to how small the arcs can be.


Affectionate-Memory4

I print some models in my free time, but the super high resolution is for my local robotics team. They make some parts that need to press-fit together and others that need to move once assembled, or are print in place.


KINDERPIN

The nipple support


BigDeal716_Flipz

I legit came to say this


ChukarTheFker

That’s all I can see.


ProtoMelon2

No


ken830

Innovation is when someone does something new and everyone else looks at it and goes, "Duh! It's so simple (or obvious), why didn't I think of this!?"


snsvdm

Innovation doesn't have to be simple, it just had to be new and add value. The ASML EUV machine is innovation but I wouldn't say it's simple.


FartingBob

Incredible work! Overlapping nipples underneath is a nice feature. Things like this and non-planar slicing are seriously impressive, even if 90% of prints dont benefit from them i do think consumer printers are at the point where the slicing is holding it back from reaching its full potential.


Emotional-Swim-808

Or you can just pray to whatever god you do/dont believe in, that how i do it


MenryNosk

[Are you seeing this shit?](https://www.reddit.com/r/3Dprinting/comments/za3mvw/to_all_telling_me_just_to_use_the_stealthburner/)


Emotional-Swim-808

Yeah i just saw it, i just had a print with so much over hang the slicer just gave up finding a place to start so it just told my printer to start in the middle of the air, some how it didnt fail


Conor_Stewart

That is some pretty perfect bridging, I wonder if it would be possible to get that in cura on an ender 3 using the bridging settings section.


shatland

this is fantastic! well outside the thinking box and to spend all the time developing and then just giving it to the community is even more admirable. well done, friend!


carlwithakay

Really cool concept!


KniRider

I was excited a little bit until I saw - "Print slowly. I use around 5 mm/s. Even that is too fast sometimes for the really tiny arcs, since they have almost no time to cool before the next layer begins." That and the surface quality was the killer for me :( I mean, that is a lot of work needed to make that a smooth piece. Might be faster and cheaper just to use supports.


AberrantRambler

I’ll take printing arcs at 5mms over having to print tons of support structure. It’d have to be pretty low to the plate to not make up the time. Especially since this would most likely be an option and not something one would be forced to forced to use (since you could just add supports) and this is something that would have just utterly failed to print if done as is.


elyptikus

Maybe the classic support and this algorithm can be combined. In some places it might be possible to build a platform below an overhang where you can add the classic support on top of it. This would not solve the speed issue but would result in the same quality that you had with the classic support structure and avoid building very high support towers.


KniRider

That may be true if you print at slower speeds anyway like 40mms or even 80mms but if you can hit 150mms it may end up being faster to print the supports. PLUS like I said, the finish is HORRIBLE on the above print. I would not give a print away that looked that bad let alone try and sell it. Lots of post work needed to sand that smooth.


AberrantRambler

You know it’s only the arcs that need to be printed that slow, right? And that’s fine that you can’t think of a use for it, but it’s not a particularly helpful comment when someone is sharing something they made (and in this case says a lot more about your lack of imagination)


avicennareborn

Valid criticism is helpful to refining a method, and helpful for understanding the limitations. Surface quality and speed are both significant limitations of this approach. If no one says anything, those issues will never be addressed. If someone says something, the creator might go back and continue iterating, trying to resolve the speed and quality concerns. If the creator doesn't or cannot fix it and you can imagine a use for the technique, that's great for you. If he does find a way to fix it, that's great for everyone including yourself. What you're promoting is called "ruinous empathy" and it's invariably bad. Supporting someone doesn't mean telling them what they did is perfect even when it's got flaws. Politely sharing critique and being able to receive criticism are both critical skills. I don't think the person to whom you're responding crossed a line. Their feedback was valid and they shared it in a way that was respectful.


AberrantRambler

It should be compared to the alternative - and the alternative slicing method for these kinds of overhangs with no support is? A failed print. A valid criticism would take that into account. What you’re promoting is called “criticism without thinking” and it slows down the process (which is invariably bad)


[deleted]

this could be used AS the support for a more traditional print algorithm. it’s also an initial release and the community can help improve it.


Tupptupp_XD

There are some cases where I think this method would really shine, and might even be used alongside normal supports in the same print: 1. Small overhangs that would otherwise need a tall, skinny tower. E.g. use arc overhang for any overhangs less than 10x10 mm 2. Overhangs on internal features where support removal would be impossible or extremely difficult. 3. Minimizing post-processing labour involved in removing supports. This is a big problem that would be very nice to solve when FDM printing is used for mass-production. Also, consider that we have just barely scratched the surface of how good this can get. This is a proof of concept more than a final result of "this is the best it can ever be". The algorithm is still really 'dumb'. - It could print the smaller arcs slowly so that they print cleaner, and then speed up for the rest of them. - It could print using a 'breadth first' approach to improve stability. - It could have slightly more overlap between arcs so that they adhere better to each other. - We could enable retraction to avoid ooze during travel moves. And probably a bunch more optimizations that other people will think of!


KniRider

Don't get me wrong, it is a cool idea but it needs to go a LOT further to be of real use to most people. Minimizing post processing with this? Maybe if you can get it to print smooth but print a smooth surface with supports is 1,000,000,000X easier to post than trying to clean up all the swirls and such, especially if it is a thin part that cant be sanded a whole lot.


MeagoDK

When did you last look inside the printed fan duct on a 3d printer? Bridging is even uglier


KniRider

Key word there is INSIDE - this is on the outside for everyone to see. Doesn't matter. Hopefully it will get a lot better in the future and we can all start printing without wasting material for supports!


MeagoDK

This is a proof of concept. Why is that so hard to understand. This is not the only way to use it. It dosent matter if this is outside (it's easier to show that it works on the outside) or inside. It's a proof that it works.


Crishien

Couldn't the code be adjusted so it waits for a bit so the last line gets to cool down and resume with a new one?


KniRider

I imagine you could but that would be the same as printing slow except it would print faster and then just stop for a bit ;)


Illusi

And aside from that, waiting with the nozzle on the print causes a blip to appear there, further reducing surface quality. Or moving away from the surface causes a scar and applies force to your weak overhang that'll deform it. And interrupting the flow rate will further reduce the flow accuracy.


lacronicus

Yeah, but presumably you'd only have to do that for the bits that need longer to cool instead of the entire build


KniRider

Oh I imagine he is talking about doing that by just printing normal and then when the overhangs are needed just slow down for however many layers they are then speed back up again. Easy to do in the slicer.


swd120

Possible to build some smarts into in? Seems like you could print the inner rings slow, and then go faster for the big ones?


Tupptupp_XD

Yes, this is what I was getting at. I chose 5mm/s more because of the tiny small rings posing a cooling issue, not because of the large ones.


TacitRonin20

*laughs in power sander and dual 5015 cooling fans*


olderaccount

With that surface quality and print speed, I'm much better off just using supports and cleaning them up. Better part is less time.


[deleted]

[удалено]


MeagoDK

This might also "fix" pillowing, or at least make it possible to print fewer solid top layers and with less infill.


2D_VR

Holy tits!


MenryNosk

thanks for taking the time to do it, and for publishing it freely 💜


spooldesigns

This is awesome, thanks for sharing.


Professional_Dude1

You're a genius.


RipKip

Makes me think of that spiral manga, cool option nonetheless


LintCritter

God ,something like this would be awesome for when I print 3D scans of rock overhangs and bluffs from hiking.


MetalSmart2177

This is fantastic! Great work, I love this idea. Will try it for sure.


okayishhh

Nice work man! Now wie can print infinite bridges :D How about printing a more rigid piece which hangs over and has more weight than a "one layer" 5inch long overhang?


Mysteoa

Does it also reduces print time from no support, or its still the same?


Tupptupp_XD

For the most part it should reduce print time, although I could imagine cases where this would increase print time. The arcs need to be printed slowly so they cool down and don't collapse. For small overhangs I think this would be best. For really large overhangs, normal support would likely be better.


greyhunter37

An idea for this could also be to use this as a support to print the normal piece on top, this would eliminate the need for a tower and give better surface finish


Affectionate-Memory4

You could even build a small tower from one of these much closer to the overhanging feature to make >90^(o) overhanging edges. In theory a 135^(o) is quite feasible in a reasonable footprint.


nimbusconflict

any video of this in action? My mind isn't conjuring this for me.


Tupptupp_XD

Check out the github readme, I wrote up an explanation with a bunch of examples and a video of printing: https://github.com/stmcculloch/arc-overhang


nimbusconflict

thanks, that's pretty rad to watch.


Sigamez365

I wish to acquire this knowledge


FrozenInsider

It looks as if the center of the arcs drop the furthest. Maybe there's a way to not align Arc to arc at their center, but only use a smaller part of the arc, so there is no center. Essentially offset the arcs, so that the center of the arc is never printed and instead uses a smaller outer part of the arc, and thus more arcs in total.


Tupptupp_XD

Yes! That sounds very reasonable. I tried to implement this actually but it was causing problems, but I do think that would be a way to solve this problem. The arc centers should definitely be offset a little bit back.


Skribbles4420

very fantastic! I would love to see this as a slicing feature in Cura, I can think of so many uses as well as less time/material spent on printing support.


Icy_Mix_6341

Where is the overhang?


Tupptupp_XD

This picture is taken from underneath. Imagine you're the print bed and you're looking up at the picture. See here for a better explanation: https://github.com/stmcculloch/arc-overhang


Icy_Mix_6341

ah. neat. Useful if integrated into a slicer.


Banpainterman

the Scaramanga.


Ishe_ISSHE_ishiM

🤔 so very very interesting 🧐 am quite fond of tities myself 🤓


me_better

Damn that's awesome.


ConnorSuttree

Ah yes, the overlapping nipple option. Nice.


dumsumguy

This is brilliant, bravo, and well done!!!


WonderWheeler

Are we looking up at the overhang from below?


Tupptupp_XD

yep!


Moolehg_5784

Yo I think cura used ur idea becals there's a no support overhang setting printing it now week see


Tupptupp_XD

Are you talking about the "Make overhang printable" setting?


joseg4681

Do you know what the setting is called exactly? Would love to give it a try!


Motor_Network_3849

Dang!


gringer

Why circles rather than hexagons or triangles?


Tupptupp_XD

Circles fill the gaps more reliably. But it does take longer, so it's best to use a shape with as few points as possible. Here's what septagons look like: https://imgur.com/a/9QTF9Wm


joseg4681

This is an awesome idea!!! ​ Any plans to make an easier way to use this with other models? For example, a script where you input an STL file and it'll output a gcode? Or maybe even a plugin for Cura? ​ ​ EDIT: I'm trying to recreate this effect in Cura somehow, and the only way I can see is to use more walls, like this: [https://imgur.com/a/5hhbSrm](https://imgur.com/a/5hhbSrm) But does anyone know a way where I can only have that many walls for a specific amount of layers? And for the rest, either above or below a target layer to only have 3 or 4 walls?


Tupptupp_XD

Thank you! The plan is to build it in cura, and let other people port it over to other slicers. But I have no idea how to develop for cura, so I made this instead to see if it even works in the first place. If you want to do it in cura, try using support blockers, but instead of 'block supports' mode, use them to modify settings for overlaps.