Do you find supports to be annoying, when you use a 3D printer? A lot of time breaking away surplus pieces of plastic and then cleaning up the resulting ragged edges on your prints is certainly an unwelcome chore. But printing in free space is beyond the capabilities of even the most expensive printer, so it seems we’re stuck with supports for the foreseeable future. [Adam Haile] may have a solution to some support woes though, in the form of a clever technique for printing inset holes without support. His designs have a significant quantity of screw holes with inset heads, too far for the printer to bridge over so his technique breaks down the bridge into manageable smaller distances.
In the video below the break he shows how its done, with successive single layers that contain polygons bridging chords across the circle, with each layer approximating further to the final hole and the last holding the hole itself. Over a few layers the hole is created, without any support but with the minor inconvenience of a not perfectly flat inset. It’s a very clever idea, and one that we’d be interested to see further expanded upon by others.
21 thoughts on “Look Ma, No Support For My Floating Holes!”
I think this is functionally the same as what I use to avoid supports in overhangs like this…I call it crenelations (though it’s on the bottom, not the top like on a real castle). If a circumferential line would be completely unspported, just add a layer or two of something that would be supported. I tend to use radial lines because they simply sag at the end rather than being entirely unsupported. Chords can work to, depending on the spans.. I’d probably avoid chords for this purpose because they aren’t just generally “not a flat surface”, but they actually have a non-random relatively large-scale shape to them that might encourage the thing to sit funny, to rock or lean.
It would be great if you could do this in the slicer.
Sounds difficult to do generically, but would be trivial to do so for these kinds of bolt-hole problems
Exactly, this would be a nice option for the slicer.
Problem with all the interesting techniques is telling the slicer when it right and wrong to use them. Not just from printing time but also form the function of parts and aesthetics perspectives. Simple enough (relatively) to have a toggle in the slicer that makes it treat all possible uses of the technique and odds are that will be good enough for many prints but it will also inevitably throw in the technique where its not wanted – and with some techniques it would be damn nearly impossible if not impossible to post process that out. This particular method I can not think of a case when it will really bugger anything up – but that’s bound to be a lack of imagination.
I’d like to see a slicer that will do that for you based on a supplemental 3d model that instructs it over what regions to use each technique. That way you can tell it which areas to stay hands off and which technique is right for each instance of tricky geometry.
yeah i agree it’s hard for the slicer to intuit something like this from just a shape (STL). would be nice if there was a way to add “comments” to an STL…a second mask shape might do it but i could imagine maybe having 3 or 4 layers of hints, like for which kind of infill, layer height, surface fill pattern, etc. it’s a pretty open-ended problem!
That exists in purusaslicer
You can add cylinders, cubes or custom models to locally alter a wide range of settings – more infill, block support material, faster speed, etc.
It’s open source so hopefully techniques like the one in this article will be incorporated.
Slicers need figure out how to check if line start and end points are supported, and add a bridged line to attach to. So for the example hole, do full bridge on both sides then bridge between them at 90 deg. Then finish off bridging at 45 deg. Similar to what he did, but on one layer.
This goes for top/bottom layers attaching to the infill vs starting stopping between infill features. Add lines to connect to actual plastic making a bridged perimeter to attach the start and end lines.
If you can get a drill bit in there you can also just have a solid layer and then drill through it.
This. A single layer of extrusion is usually enough for your average floating nut/bolt hole.
His stated goal here was for no post-processing at all.
So he spends 50 times the time it’d take to run a drill bit through that one layer to make sketches and workarounds in F360. Makes sense.
He mentioned that in the video, using a sacrificial layer, but his goal was as little post-processing as possible, which includes drilling out sacrificial layers.
nophead was doing this in OpenSCAD back in 2014: http://hydraraptor.blogspot.com/2014/03/buried-nuts-and-hanging-holes.html
Look at prusa design files for 3d printed parts. They use this solution for years. Most of my files with holes like that use also the same solution. Nothing new here but great that he did this video so maybe we will see this in a slicer software build-in.
Yeah, slicers really need to figure out that they can’t put a circular perimeter in mid air and then connect bridges to it.
Cura Master from option “Remove Holes Above Air” from smartavionics :
Remove Holes Above Air Remove the holes in each layer that are not supported by the layer below. This blanks off the bottom of the hole and provides support for the hole’s perimeter walls on the next layer.
I usually just add 1 layer without the hole (where the hole starts) so i get the bridging and then just drill through it. Since I drill holes out anyway to get the dimensional accuracy it’s a pretty easy solution.
So…you didn’t watch the video? He shows this exact solution, then dismisses it because he wants to avoid post-processing. But yeah, I would do it this way too. Easier modeling, cleaner final product. A few seconds on a drill press. Seems worth the extra effort.
one question, why not slice in spiral starting from walls until finish the hole at the first layer and then normally in crossed lines like always?.
Thanks for this informative video. I’m happy that I learned something new today, and I’ll likely use this in my own designs someday.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)