3D Printing 90° Overhangs With Non-Planar Slicing

When slicing a model for 3D printing, the part is divided into a stack of flat, 2D layers. But there’s an alternative in the form of non-planar slicing, where the layers can follow 3D curves. [Rene K. Mueller] took this a step further and successfully used non-planar slicing to print 90° overhangs on a normal Cartesian FDM printer.

Non-planar layers have been around for a while, but were generally limited to creating smooth curves without layer lines. The idea of using the technique for overhangs had been floating around in [Rene]’s head for a while, and he was spurred to action after seeing the rotating tilted nozzle printer featured here on Hackaday. The idea is only to have the outer edge of each layer overhang, by making each layer slope downward toward the overhang. [Rene] programmed a conic slicer algorithm for this purpose, which splits the model into dome-shaped layers, like an onion.

He did a lot of testing and documented the results in detail. Conical slices were compared with tilted slices, which are also used for belt 3D printers. Both have some geometric limitations. Tilted slices can only print the overhang in one direction, but conical slices can do this in all directions, allowing it to create a mushroom-like shape without any support. The limitation is that it can only print inward or outward from a central point. More complex geometry must be segmented, and each sub-volume sliced separately. The slicing angle is also limited by the shape of the print head, to avoid it crashing into the print.

We think this technique has a lot of potential for widespread use, especially since it is compatible with most existing FDM printers. It is still a work in progress, but support has already been added for Slic3r and Prusa Slicer. We look forward to seeing how it develops and gets adopted.

28 thoughts on “3D Printing 90° Overhangs With Non-Planar Slicing

  1. This is very interesting, I can think of many of my parts that would benefit from this method. It would also be interesting to see some testing about strength, as the typical understanding of how the layers interact with each other is broken by this model, I feel like it could generate a stronger part given that the individual layers with have more surface area, I’m still trying to wrap my head around this.

  2. Seems like a very nice functional improvement that should be usable on almost any FDM printer. Who knew our existing hardware still had so much software headroom :)

  3. Here’s an humble idea to automate selection of slice “plane” geometry (slice surface).
    This algorithm idea is intend for 5 axis but some limited use in 3+ axis, as per the article seams plausible

    1. For each volumetric point inside the model, Calculate length of the shortest internal path to the print bed.
    That length is the optimal(slice surface ) layer that volumetric point is on. Comparing with neighbour a clear order of printing emerges.
    In earlier post i have suggested calculating ambient occlusion to determine what parts are accessible at any time of the print.
    Masking out any part that is ambient occluded with a flag to print before the part causing the shade.

    2. Cleanup interfering areas and move to separate slices if necessary.
    Simulating the print backwards and “eroding” all surface cells that is fully illuminated by ambient light and is connected to some part of lower slices. Played back up slice by slice this should be a printable plan for most reasonable geometry. intricate loops and hidden internal spirals may not have valid solutions.

    3. For each slice, generate valid print paths over points in slice.

  4. As far as I can tell, non-planar slicing is the next big thing in FDM printing, and I sure hope more open source groups can keep working on it and publishing code. I do think there are some patents inhibiting work on it.

    1. Half-measure, working but still half-measure at the best, real solution will be get rid of FDM and switch to pressurize extruding with usage of modular variable shape nozzle(s).

      1. I am completely lost on what you are trying to replace FDM with.. as it rather sounds like FDM, just with variable nozzle geometry (which I can’t see how it can really be done usefully either).

  5. At first, I was wondering why it has to keep the mushroom shape over the whole print when it’s only required at the overhang sections. Then I was like “*facepalm* of course – the layer thickness has to be the same! “. But then I remembered that partial lines/fill-ups are an everyday business in 3D printing. Every time a layer’s width can’t be divided by the nozzle diameter, it uses fill ups. Which is basically all the time. Especially on very small layers, you see a lot of fill-ups. So, what’s the problem to extend this feature to include the height? You could easily even out a curve.

  6. Tilted slicing could be interesting on tilted axis belt printers, to reverse or reduce the inherent tilt of the machine. Not really useful for long parts, but for producing multiple objects.

    1. Good afternoon Mr Mueller,
      I was reading your papers about the, “Rotating Tilted Nozzle 4th Axis”, I have to congratulate you on your achievement, excellent project all round.

      I found all the bit and bobs of the printing parts but no mention of any hardware nor any configuration files for firmware etc. i.e. what motherboard is used, how to connect the rotating print head to, so on and so forth.

      Would you please enlighten me about this since I was, and still am, pulling my hair out to find a way to build one myself not only for eliminating support but mostly in regards to anisotropy that is inherent to conventional 3D printers, using this upgrade and the slicing will be an excellent leap towards a better non-planar printing quality and strength.

      Many thanks in advance

      David BANNER

Leave a Reply to AliceCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.