Hacker News new | past | comments | ask | show | jobs | submit login
Nonplanar Printing (uni-hamburg.de)
180 points by mlyle 59 days ago | hide | past | web | favorite | 35 comments



This is how I'd like to see academic work done. Using FLOSS as an existing framework for new ideas, with source code under the same or compatible license. It may or may not get incorporated, or someone may expand on it. The work may live beyond the paper.

Oh, and if it does get taken upstream, consider publishing the paper along with the code for documentation.


Very cool. Simple idea, well-executed, with great results. It was a little "wtf how come nobody has thought of this before?" moment for me.

Also very cool that they are releasing their full Slic3r implementation for anyone to use, rather than just publishing a paper.


It's not an entirely new thing, there was this article[1] with accompanying code[2] from 2016. It just used to be quite unwieldy to use (a separate script to deform the gcode).

[1] https://hackaday.com/2016/07/27/3d-printering-non-planar-lay... [2] https://github.com/makertum/non-planar-layer-fdm


This is better because it has uniform extrudate geometry. That is, portions of past planar layers are omitted and then the nonplanar layer is of uniform thickness.


Intuition tells me variable extrusion generally should yield stronger parts. Adhesion between stair-stepped and non-planar layers in this method is probably subpar (with the emergence of new gaps). With variable extrusion, as long as the variability isn't too large layer adhesion should be kept fairly unchanged, maybe even stronger if there's a certain waviness (the waves increasing surface area).

Actually I wonder if internal waviness could be a useful method to add strength in general (area should be increased as ~1/cos(angle), or ~(1+angle/29) for very small angles, i.e. about 3% per degree).


What I'm saying is that the first variable layer is of relatively constant thickness, compared to previous approaches which attempt to taper layer thickness to slowly introduce curvature.

The problem that results is the actual dynamics of the extrudate varies a lot, going through a fixed size nozzle: there's a relatively limited range of shapes that do not excessively impede flow (and risk jamming/clinging to nozzle/dragging) and are sufficiently smashed into the previous layer. So if you have layer thickness varying a bunch over an otherwise continuous layer, pretty easy to have poor adhesion in many places or pressure building and later overextrusion.

Also there's a fair bit of lag-- often hundreds of milliseconds- between extruder movement, pressure change, and extrudate geometry changes. When you're moving the nozzle at, say, 100mm/s over the surface, the uncertainty of this lag translates to a big uncertainty of where on the part extrusion thickness changes.


I printed using "Bread" way back when they were developing it originally. The dev (nickparker)used to frequent #reprap@freenode. It was an interesting concept but yes the nozzle collision is an issue.

Here is a video of an early print when I was helping him test. He generated the gcode for me based on his machine settings so it wasn't perfect and very rudimentary. https://youtu.be/M3Bwo0AVML0


This is something I've wanted to do for a long time-- and they've taken a particularly simple approach where the extrudate volume doesn't vary wildly over the nonplanar layers.

One potential shortcoming is it looks like their model of nozzle geometry (they need to be able to detect interference) assumes it can be modeled with an angle plus a distance where there's bigger things. But real nozzles are more complicated than that.

The worst thing is that the bottom of the nozzle is flat, and any Z movement downwards is going to smush the just extruded trace.


The video and pictures show real prints from an Ultimaker.


Yes. I'm saying they treat the nozzle like it is a cone to determine whether it'll interfere with the previous layer's top surface. But this is a little optimistic because the bottom of the nozzle is flat, so you get variable "smush" based on convexity. You can see this a bit in their pictures of prints where the surface is steep along the print line.


Yup, I did research on this with my own little slicer [0] back in 2014. With conventional nozzles your surface finish goes to crap past about 20 degrees.

If you really want conformal layers you need a five axis platform. The flat tip of FDM nozzles is an important part of layer adhesion. I've seen a little bit of experimentation with pointier nozzles and it went very poorly.

Nowadays I'm building the five axis version and packaging it up in a service [1], along with a bunch of other improvements that are only feasible when you stop trying to build a machine lay-people can operate.

[0]: https://github.com/nick-parker/bread [1]: https://www.praxismfg.com/


Nice to see you are still at it. I just posted a video above from 4 years ago when I was testing bread in #reprap.

Can't wait to see more of what you are doing soon.


Hey ccecil, long time no see! I was just checking on Continuous Composites' website the other day and thought of you.

I should have some fancy demo prints online in a few weeks here, keep an eye on the website!


I don't quite follow.

Is the idea to print planar (xy) support layers, that does have stair stepping, and then to print the final layer by either tilting the bed or by simul-stepping in {x,y} and z?

If so, it seems you'd still have quite a lot of variability in the surface because the underlying support layer is stair-stepped. But that variability would be smoothed due to it being printed continuously at the angular offset from horizontal.


That's exactly what it's doing. If you watch the video at the bottom you can see a comparison of the "smooth" print vs the normal fixed layer approach. Three things on this:

1) In general, you set the number of layers above and below the supports that you want when printing so that the variability of the support layer gets smoothed out. It seems like this should be possible here as well.

2) End products of 3D printing, especially for things like props/costumes, almost always have to be post-processed via sanding, filler epoxy, and/or primer filler paints before they're considered good enough for actual use. This process could make that post-processing step a lot faster.

3) This process is specifically for FDM printers. On an SLA/DLP printer, you would mitigate the stepping issue by lowering your layer height (layers in the example here look quite high - SLA/DLP would probably be 1/10 the height)


If you are crossing the stair steps orthogonally, or at an offset, I suppose it would be possible to dwell longer when you're over the low point of the stair step? so your motion across the offset plane would be jerky instead of smooth? thus putting more material in the low part of the stair stepped support layer, and less material on the high parts.

or if you moved the head "with the grain" you can move faster when you're on the peak of a step and slower in the valleys.

or maybe if you can place the planar ridges closely enough, you can always go "with the grain" when you are off-plane, always in the valley, and thus improve flatness. of course this requires an axis of rotation or stepping in {x,y} simultaneously.


It shouldn't really be necessary to do this. In normal printing, infill can have gaps of several millimeters and the final surface will still look smooth if it's flat. The plastic essentially bridges the gap before hardening, and over successive layers the imperfections are averaged out. The same thing should happen when moving in both X/Y and Z like this - the first layer will be non-perfect, but if you do 3-4 layers it should end up fairly smooth.


several millimeters??? wow.


I'm curious how this looks if you print two nonplanar layers at right angles to each other. How much smoother does it get at the second layer?


Similar work: “CurviSlicer: Slightly curved slicing for 3-axis printers” presented at this year’s SIGGRAPH https://hal.archives-ouvertes.fr/hal-02120033/document


This is pretty cool - and some of the comments here have mentioned things I didn't know about either (ie "ironing") - so thank you to those people, too.

I'm glad they released the work OSS so it can be incorporated into other slicers and such; I don't have a 3D printer yet, but it's on the drawing board for the future.

Hopefully, though, this will be an option that can be turned off, because sometimes you might want that "stairstep" effect...


Brilliant!

The algorithm looks pretty lousy. Even so, it's a big improvement.

With a really good algorithm, I bet you could get much better results (source: I do similar stuff with a 3d pen). I hope this triggers a rush of researchers seeking to one-up each other. This could get super-impressive if it copied what human artists do, or surpass it.

This is one of those things I (and probably a million other people) feel dumb for not having thought of before. It's so obvious in hindsight.


And now I have a bit more motivation to buy a 3D printer. Cool stuff!


So they make the cake the planar way, then they smooth it out a bit with the 'icing'. Not a bad trick.

Would this be smoother still if they made 2 passes with the non-planar layer?


From the video, it looks like they do.


Wow, I think this is a fantastic idea and obvious in hindsight!


Curious what kind of math is used to generate g-code for the "icing" step?


https://github.com/Zip-o-mat/Slic3r/tree/nonplanar/lib/Slic3...

arcfitting, motion planning, pressure regulation

https://github.com/Zip-o-mat/Slic3r/commit/9fcd7f38de44ecaa0...

edge detection

then some random other random geometric stuff.

I'm sure its way more complicated than that. Not something you pick up in 10 minutes.


Thanks for this, time to feel mathematically overwhelmed for a few weekends lmao.


now that E3D has seeded the idea of tool changer, I would probably just iron the part with a hot ball?


The Cura slicer from Ultimaker has a setting to enable that kind ironing on top surfaces although just with the regular nozzle but it works surprisingly well!


Oh yes, that’s where I got the idea, I don’t do smart. Tool changer from e3d, ironing from cura, lollipop tools from the cnc industry.


Actually with a nozzle that has a rounded profile you wouldn’t even need a tool change... that could be cool.


the part fan placement is an issue, you might have a silicone sock, that's why I didn't want to go this route.


Well I admit the toolchanger would be more effective, but as a budget option the rounded nozzle could be nice.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: