You need a slicing system that understands breakover angle. That's not unreasonable. There are CAM systems which really understand the boundaries of the tool, cutting head, and machine.[1] The best ones can work in very constrained situations. It's expensive software, because it has to actually work right to avoid expensive damage.
There's a whole frontier here, to build 3D printing systems that have more intelligent path planning than just slicing.
it'll help a lot with shear failures between layers, but only very slightly with tensile failures between layers. and if i'm not mistaken, tensile failures are the bigger problem
crinkle crankle walls are that way to make them strong in flexure, so they don't just fall over when the wind hits them (failing in tension in the mortar joints between the bricks at the base on the windward side). that particular failure mode isn't relevant here because the other layers of the print already protect against that
I've felt that it's strange that these kinds of things aren't more standard, but I'm guessing it's harder to tune the machines for this?
The core idea is basically the same as that of the Nubian vault, so the core idea is very ancient. One can do this with snow too, to build somewhat surprising structures without having to use supports.
Back in the day I implemented this, the trick is that the firmware motion planner is generally by default not designed to handle smooth curves in 3D, only in 2D. We could have adjusted to fix that but the other issue was it makes the printing/slicing process even more unpredictable, which therefore makes it harder to use as an engineering tool.
If I recall correctly, 3D printers don't even handle smooth curves in 2D. I've heard CNC people express contempt at how primitive the Gcode used by printers is, how it doesn't support any of the advanced features of machine movement that create smooth curves.
This is correct the last I read about it, but there was a project called ArcWelder that would post-process your gcode and convert the motions to true arcs. The printers today support the arc gcode, but the slicers don't generate them.
arc support may exist but be poor. For example, I recently read prusa's documentation, which states "[G2 and G3 controlled arc move] commands don't propperly work with MBL enabled. The compensation only happens at the end of the move, so avoid long arcs." MBL is mesh bed leveling, an important technology that helps compensate for imperfections in the flatness of the print surface.
Bambu Lab does this. The accel values they print with are so high without arcs it would get quite violent. X1C is most impressive piece of hardware I’ve bought recently, just bought another today. Prints 4X faster than ultimaker
This doesn't sound right, plenty of printers print as fast as Bambus and faster, yet arcs are not a go-to for them (Voron, RatRig, Annex communities all seem totally indifferent to that feature). The value of arcs is in reducing gcode size and thus allowing weaker processors to handle particularly curve heavy prints. Since other fast printers have until very recently been mainly DIY and Klipper based, they've had more than enough processing power to handle unwelded gcode without special handling for arcs due to typically doing all the processing on an RPi.
If the slicer can't generate arcs, it has to do what the firmware does in the case of arc gcode, that is generate a large number of small moves to represent the arc with sufficient resolution, this doesn't affect jerkiness because as long as the firmware is keeping up in processing the gcode, the steppers move the same as they would with the equivalent arc gcode. The 'pulses' the page mentions would only occur if the processor can't keep up with the movement of the toolhead.
With multiple smaller movements the printer doesn't have to come to a full stop between moves. It can simply compare the movement vector of the current segment to that of the next one, and adjust the direction it is moving in accordingly. Use enough segments, and you get some pretty smooth movement.
As dotnet00 already mentioned, this is exactly how printers currently implement arcs: the software interpolates the arc into a bunch of tiny line segments. If anything, I'd expect an arc gcode to generate more small movements than whatever the slicer is outputting.
Yes, the controller does (stop between moves), it doesn't have a way of knowing.
Also, with the larger motion commands like arc, some controllers do what's called read ahead and they change what they're doing now based on what they're doing next. If what they're doing now and next are just tiny little vectors that doesn't help, but if they're big moves then it helps a ton.
It's like the difference between a .iges or parasolid file and a .stl file.
Maybe with CNC firmware the controller doesn't have a way of knowing, but Klipper (one of the more popular 3d printer firmwares on printers comparable to Bambus) always looks ahead. Eg if you had two commands to move in a straight line at the same velocity, Klipper will not do the first move, slow down to a stop, then start to do the second move, it'll look ahead and see that it can keep accelerating in the same direction until it reaches the point where it'll have to start slowing down to arrive at the final point while staying within the configured jerk and deceleration limits.
It always has the ability to lookahead and adjust the commands to the steppers. As a result it does not matter if you specify whole arcs or specify them as small lines, because either way it computes the same X and Y stepper positions and velocities.
The 3d printing community is full of tons of enthusiasts who put in a large amount of time, money and effort into devising methods for maximizing the speed and quality of their printers. Despite all the scrutiny, arcs are seen as optional with inconclusive benefits in terms of print quality/printer noise (since, again, most of those enthusiasts are running Klipper).
Any non-arc generates instantaneous acceleration changes at the line inflection points, these are impossible for a mechanical system to perfectly implement. Huge amount of jerk results the closer/faster one tries to achieve instantaneous acceleration. Why wouldn’t a system try to use arcs and splines to minimize these effects?
The CNC controller world has been trying to solve this problem for decades. Turning everything into line segments seems to go in opposite direction of this progress.
Why now? They're expected to announce a successor printer in the next few months and they've said the X1C, as their oldest printer, will stop getting firmware updates next year.
> I've heard CNC people express contempt at how primitive the Gcode used by printers is, how it doesn't support any of the advanced features of machine movement that create smooth curves.
The firmware supports them last I checked, it's the slicers that don't output proper arcs.
The 3D printer community is oddly resistant to step files. They claim that step files get converted to STL and therefore it doesn't matter. Except there is an obvious problem with this argument. First of all a mesh isn't an STL file, second the printer can adapt its mesh generation based on your slicer settings so that it always has a high enough resolution. Third, the mesh generator can adaptively generate high resolution meshes in complex geometries and low resolution meshes at simple geometries in the same part.
Fourth importing step files generates G code with arcs which speeds up printing time.
Fusion 360 does this, although with some limitations (https://help.autodesk.com/view/fusion360/ENU/?guid=MESH-CONV...). I occasionally use it to take meshes and convert them to B-rep (fusion 360's preferred internal representation) using parametric/prismatic. It doesn't work for complicated geometry or high mesh vertex/edge counts. And in most of my work it's not necessary (I'm typically just carving mesh surfaces into wood, but sometimes I need to reverse engineer an STL).
I guess I pay about $600/year (didn't check the latest pricing) for the base Fusion 360 non-professional product and it's worth every penny.
We need a simple file format and or mathematical expression that describes the 3D clearance around the nozzle for a particular printer. This way slicers can automatically slope things as much as possible automatically. I suspect this would be useful on most printers even without modifying the hardware- even a a very small layer slope would improve overhangs a lot.
The clearances don't tend to be all that big since most good part cooling ducts surround the nozzle. That said, many higher end hobbyist printers have the ability to physically tilt the bed/gantry, which would allow for true non-planar printing accessible to a large number of people with just appropriate gcode and slicer improvements.
Edit: Actually, come to think of it, it's common for the front to remain open, for easily viewing the nozzle during printing. So non-planar prints should be possible on pretty much any printer in the y axis at least.
Very cool project, breaking the assumption that the nozzle must lay down material while moving on the same plane as the bed is a great innovation.
One nit though about the website: I found it very distracting that the images kept cycling between slides, and by the time I was halfway down the article, I realized that they were cycling even when off-screen.
This is actually kind of an awesome idea, printing overhang has been a issue with printer adoption, and greatly limits some of the parts you can fabricate. I hope this becomes mainstream in the major slicers soon.
In my experience printing overhangs is rarely an issue.
The big issue that I have is that the orientation of the layers determines the strength of the part. Any vertical tension pulls the layers apart, so sometimes I wish I could somehow print a part in two orientations to make it stronger...
You can get some surprisingly strong prints. I have a plastic storage unit in my garden (don't judge me).
The doors are about 4'h x 5'w. The hinges broke on the left door a few years ago and I printed some more in PLA from a Thingieverse design (1). They have put up with quite a lot of weather (UK, South West). One did fail but not by layer separation - the hinges sheared diagonally across the layers, ie the "threads" snapped instead of separating. I printed another and a huge lump of plastic carries on being useful instead of land fill.
I generally use a gyroid infill but that is as far as I go off piste from the defaults. Prusa MK3S - self assembled, stock everything. Filament "Sunlu" ie Amazon random and it seems to work well.
If layer printing is an issue for you then you might want a different process or look into inter layer adhesion. I'm no expert on that but I did study Civ Eng at college so I have an idea about shear and moments n that. I generally print small parts where strength isn't an issue. If you need a reasonable challenge to test your gear, try printing a small tank and turret (2) pick one with a long barrel and print it with the barrel vertical.
For outside stuff I recommend PETG over PLA. PETG is a bit stronger, doesn't melt in ambient temps (California, not UK), and takes much longer to degrade outside.
With respect, I think you're missing the point. No-one doubts that one can print objects which are strong, but it depends on being able to orient the layer lines such that the directions of relative strength and weakness are appropriate for the use case. This is a well-recognised weakness (no pun intended) of 3D printing, even with well-engineered and -set-up printers.
In the case of the hinges you linked to, if you were to set yourself the challenge of printing them standing upright on one thin edge, with the hinge barrel running horizontally, the layers would run parallel to the barrel and ultimately run vertically when attached to a standard door. This would make it likely that the hinges would break much more easily once the weight of a door was applied. Happily, this orientation would be crazy, and the obvious orientation (with the large flat areas flat on the print bed) is a strong one.
> but it depends on being able to orient the layer lines such that the directions of relative strength and weakness are appropriate for the use case.
I think this is sometimes a bit overblown though. CNC kitchen also demonstrated that you can achieve nearly 80% of the horizontal strength in the vertical direction, you just have to print HOT and SLOW. So "strength" profiles just have to be different than "fast printing" profiles.
Thanks for sharing the concept and the link - interesting read.
However, since the overall message (as regards strength) seems to be something like 'if you fine-tune your print settings to be unrealistically slow, you can mostly but not completely overcome the issue of lower strength due to layer adhesion' - I'm not sure it changes the argument, or makes much difference for most people, in most situations :)
I see it differently: when strength along all axes matters, you no longer need to take more time to carefully design and orient your print to overcome the strength limitations of FDM printing, or overbuild the part on the Z axis and waste filament. My design time is more important than printing time.
Most people are not printing non-stop or printing a functional part on a deadline, so I think it absolutely changes the argument when they need the extra strength.
I tried to figure out where that figure was from, and spent about an hour or two watching CNC Kitchen videos on Youtube. What a ridiculously inefficient way of sharing test results!
I guess Youtube makes it easy to monetize your work, but as someone interested in results, this is rather frustrating.
So higher than normal flow, high temp, slow feed rate, and very little cooling showed remarkable strength along layer lines, up to 93% of horizontally printed specimens.
That blog post is even more frustrating than the video. No structure, you need to read a giant wall of text to figure out the result, at that point it's probably faster to just watch the video.
I hate that so much info about 3D printing requires watching hours of videos (even if the videos are just 15 minutes long, you'll end up watching a bunch of them because you don't know which ones contain the info you are looking for)
There are better and worse plastics for this, though you're right that it is always a consideration. TPU and PET self-adhere extremely well if you need strength in that axis.
Cnckitchen (original post) has done a lot of research into anisotropies of various plastics and settings, with surprising results. Check out his YouTube for more information
There's a whole frontier here, to build 3D printing systems that have more intelligent path planning than just slicing.
[1] https://www.youtube.com/watch?v=st4MqJZobCM