I think we'll get there. We always have, just a matter of optimization and getting to understand the principles behind every new technology. The next generation of 3D-printers will probably laugh at us old-schoolers with our planar slicing methods!
Watching FDM printers behave more like CNC routers is encouraging. Certainly there is a large body of knowledge to draw from with regards to motion systems and optimal toolpath development. I wonder if it would be easier to start with CAM software and build in the constraints of layer stacking rather than starting with a slicer and building CAM-like motion control into it.
Ive always though the next generation of slicing would look more like a CAM suite, where you choose how to approach each feature of a print individually
I have had parts several times where I would have liked to print one part in lower layer height than other parts. Have asked myself why there isn't a easy funktion for sectioning the print and beeing abel to do different settings on each part. Even only altering the layer height can save lots of time and also make overhangs work better.
CAM is light-years ahead of current slicers. The vast majority of slicers can't even load Brep models and the few that do, typically just take the Brep and convert it to a mesh file.
@@scottwarner7349 thanks, I probably should update once again. Also it would be nice to set all parameters differently for different sections of the print, like lowering the print speed, layer hight and using more cooling on overhangs. Also possibly printing large uniform sections with more extrusion width.
One possible benefit of conical slicing Stefan that you did not mention is part strength to a certain directions when printing technical parts. Maybe in the future we could adjust angles of force in the slicer and slicer would count angles based on that. Right now we design parts we are just dealing with the horizontal plane when printing and print orientation. Great video!
Although ironically the way the layers are angled in order to print the overhangs make the delamination far more likely at the stress concentration region of the interior corner
Applying a warping transform to your shape, then slicing, then applying the reverse-transform is a genius way to implement conical slicing. Amazing that it works with any slicing software!
For aligning parts precisely in Cura, I use a trick with adding fake (unprintable) geometry. In Blender, I add tiny squares (like few mm wide and 0.01mm thick) in the opposing corners of the model, placed in a way that they are symmetrical compared to what i want as the part center and are the outermost parts of the model both in X and Y projections. Any slicer will ignore these, but they typically use the outermost vertices of the model (regardless of printability) and center the entire model around the middle of the extremities in X and Y. By spoofing in fake geometry, I take control of this :)
so your printing your print object in a bigger invisible box the full size of your build plate surface? does your print when print still go throw the pretend of go the invisible parts and printing nothing? there?
Did you try to make in Blender a solid that has the shape and the dimension of your printer utile volume and give to it a solidify modifier with thickness below printable? I use that solid in my Blender startup file (without thickness and in wire visualization), so when I need I can see my model in that volume without export and open slicers.
There is no need to go to the very corners of the print bed. All you need is these unprintable pieces to stick out beyond the furthest parts of the model 😉
There needs to be an advanced slicer, more like CNC programming software, where the operator/programmer needs to understand the limitations of the machine and the objectives of a part.
There already is. PowerMill has additive tools, and it's already widely used for 5-axis direct metal deposition. It's not a slicer anymore at that point. It's a full-blown CAM package. You also need a post-processor for every different machine out there.
Yeah, he really undersold the involvement you need with nonplanar slicers in the beginning when he said that the only reason we use the current approach is because it is slightly easier to calculate. While flat XY slices are easier to compute they are also almost universally aplicable to any 3d printer. Nonplanar slicing will lead to either slicer hell, were every printer ends up using their own proprietary slicer or with a massively complex slicer that needs much more work in the setup phase.
idk about you but i really enjoy not spending a day coding CAM to get a thing as it is with CNC mills. so i really doubt there are a lot of use cases. and even cnc is going in the direction of stl and single click approach.
@@werlucad5783As far as we can tell there are no more than 3 dimensions. Since printers are built by humans there won't be one that can print in more than 3 dimensions
What can be added in is use of triple z axis some machines have to assist leveling. The ability to also tilt the bed, while more complex, would help solve a lot of the current limitations of this sort of thing.
Very innovative thinking 🤔. If I may 🤔 make a comment I would substitute the word "leveling" at the end of your first sentence with "tilting" as think that this is what you are actually meaning 😉 😀
@@hendrikjbboss9973 it's how I meant it. The three z systems currently use those to help tram ("level") the bed to the nozzle plane. I mention use for tilting in the second.
Great idea. We have already worked with 3 independent axis movement with our in-house made 3D printer. Duet boards and code has capability of doing this kind of leveling-tilting. The only thing which should be considered: how to code it so that the bed moves simultaneously with the print:)
Wow...this is almost exactly the same process as my original belt printing code. You first skew the STL, then slice at the skewed angle... then print... the mechanical system did the last step. That's very cool! (It's also the same reason we don't need supports on the back side of a belt printer, as well!)
Take it a step further and have a diagonal axis like the belt printer but a turn table in place of the belt for conical printing. conical printing is more efficient in a polar coordinate system than the cartesian coordinate system.
This is going to be really useful when it reaches mainstream slicers. I don't have the time or inclination to spend the time to do this. Many thanks for taking the time to show what the future holds.
ich lebe seit 7 jahre in usa... muss immer meine infos auf englisch irgendwie bekommen und nun bin ich ueberrascht wie toll dein englisch ist obwohl du auch noch deutsch zumindest sprichst. prima keep up the good work
With a 5-axis printer it should be possible for some parts to print from the inside out instead of from the bottom up. First a skeleton with stacked layers warped to follow the middle of the form, then additional layers wrapped around the outside. This would make layer separation almost impossible.
@@SetKat-Alex yes but they also might be able to be printed more wavy or even gear like increasing layer bonding area and drastically increasing resistance to sheering in the the interlocking direction. Or even having infills that don't completely match the layer lines on the outside and even stagger up and down which could open amazing possibilities with strength and structure.
I assume that a delta printer would be most suitable because of the absence of a dedicated z axis. Small angles should be easy enough to implement from a hardware side. I thing structures could be printed that are impossible to print otherwise using variable slicing angles.
@@JasonKingKong Not without extra hardware. You have 3 pairs of arms and those arms are equal length and equal distance at both ends, and the top side is equal height due to the carriage. Which leads to equal height at the effector which translated into a level effector. If you would add steppers to rotate the carriages you could angle the effector. Considering the mass would be added to the carriages and not the effector that might work out well. I also believe the steppers to rotate the carriage might be quite small because that movement can be quite slow. The math would be an issue as tilting the carriage along one axis would cause the effector also to move in the horizontal plane. And on top of that tilting the effector als cause the nozzle to move bot horizontally as vertically. While everything can be calculated, you would need an accurate measurement of the offset between the nozzle and the effector mounting points. *disclaimer* these are just some quick musings as I ponder what would be needed.
@@ralfvandeven3155 The kinematics would be tricky for most of us but I'm confident that there are some in the 3d printing community up to the task. I also wonder if it would be possible to alter the length of the legs to cause the printhead to rotate. That would be a hardware change but perhaps if the motors to make that happen were at the frame instead of near the printhead, it would work without introducing more bulk that could get in the way of the print. Fun to ponder the possibilities, even if most of it is beyond my experimental capabilities.
@@JasonKingKong true, it is not like I'm rushing out to add stepper motors to my delta. I prefer to do my experimenting where I see realistic opportunities for me to succeed. And while do enjoy figuring out how it could work implementing is above my capabilities at this point.
What if you combined that with a bed that can spin? The speed you could achieve with some parts would be insane because rotating on a single axis is much easier for a machine rather than constantly changing the direction of the print head or slinging the entire bed back abd forth.
The cooling difficulties might not be a problem if you're mostly printing in filaments other than PLA. I mostly print in ASA, and I turn the cooling off almost all of the time.
For sure a reasonable option out of the cooling problem. For the "problem" of the Z axis wear I'd suggest CoreXZ like the Switchwire, still cheap to make and way more suitable.
@@_MicZ_ Honestly I suspect any conventional lead screw system that uses high quality parts should be absolutely fine from an axis wear perspective - lead screws are designed for use in CNC machines that have far more Z axis motion than 3D printers using 2.5D slicing
Wow, I must say I'm impressed. I used to be a low level real time computer graphs driver developer (OpenGL, D3D, Vulcan) at a big tech company before starting my own business. It feels very similar to slicer tech, but obviously the markets are much bigger with 3D graphics (video game engines are the top client). This led to real time computer graphics having way more research and development put into it. I have for years thought the slicer market has a lot of low hanging fruit for major improvements, but I know it's still a lot of hard work. I have purchased 3D printers that make there own slicers (Prusa and Ultimaker) because I wanted to support companies putting money into the slicer software. As a person who always made "free" drivers for 3d graphics hardware I saw environments where there were equal or more people working on the software even though people only paid for the hardware. This makes me recognize other similar markets like 3d slicers. It's great slicers are open source allowing for others to play around with them, or in your case hacking their output. I agree with a willingness to pay for a slicer, but I'd say the odds of a premium pay slicer being a long term winner are low. Personally, I think there is a ton of space for improvement in slicers. Not just with non-planar, but lots of other techniques like smart auto supports in the short term. As with computer graphics one of the hardest things is to make it easy to use all the newest features. Designing an algorithm is great, but trying to automatically apply that algorithm without having regressions in quality/performance is sometimes even more difficult. I'm impressed you actually addressed some of that in your video. Anyways, I'm happy youtube suggested this video to me, and I have joined your patreon. You did some great proof of concept work here. I'd love to contribute my time and code to this space, but I doubt I'll have the time. So for now I'll just support what you've done here. Thank you!
Even a small slope on Z-axis would enable printing across the layers (e.g. the slightly inclined or even X-crossing infill and/or secondary perimeters) and would increase the strength along the Z-axis, which today is limited by layer adhesion only. So, looking forward for this feature not only for supportless overhangs.
Great Video! Brought me to following Idea: the problem with overhangs is obviously gravity....in order to print overhangs, you could "just" tilt you whole printer. Assuming you can print 60° overhangs very well, tilting by 30° will should make 90° overhangs printable. For very simple models like the pipe in the vid, you could try to tilt the printer on you table, as the overhang has only one direction. Thinking that further: take a tilted coreXY printer, and mount a turntable on the bed --> printable overhangs in every direction, made really strong with conical slicing.
Quick thought for you. If you can angle the print head and use conical slicing, you could even create an inner wall first, with angled layers to create a less linear planer of separation. Then you could add a second wall layer, angled in the opposite direction, with the print head angled towards the first wall so it doesn't it. You could even do 3 or 4 layers of opposite angled walls to essentially weave the shell of the object. It would have to be done a certain about of height at a time of course due to the head support and all, but this could create incredibly strong parts that do not have a single plane of separation.
Hi, Stefan! I think that the rotating print head with the conical slicing is the best option in this area for now. Not expensive and potentially very effective.
Cool. I wrote a bunch of notes down and started testing a similar idea, but Marlin was freezing the third axis instruction when using G2/G3 commands. I asked about it in the Discord and, with the Marlin 2.1.1 bugfix version, it allows a linear move in the third axis. I am working on some code for three axis complex arcs in my free time. This is an awesome exploration at the limits of this idea.
Great Video SHtephan! I think the first thing for anything to become mainstream nowadays is getting those 2 .pys into a hosted web gui After that, you can integrate it into slicers as a package or an API much easier. Putting a bow on it if you will.
Nice! I've been messing around with this idea too. I used geometry nodes in Blender to distort the mesh. C++ program to edit the gcode. If a CNC machine can move in 3d, a 3d printer definitely should. I think 5 axis will probably be the way of the future for the most challenging prints though
My older brother’s senior project was using a sinusoidal pattern to print hollow cylinders and test the respective strength, to do this he had to learn g code and created his own slicing program. Just the new possibilities of this are so intriguing.
It was really cool seeing a hornet in use. I would have kept mine but the company was very evasive when I asked to purchase a spare cable. The printer worked beautifully. I just couldn't risk that cable failing and leaving me with a 2 week downtime waiting for them to ship a replacement.
I think there would be a lot more people trying it if there was a GUI to handle the transformations rather than needing to modify the Python code with the file names. Just a simple GUI would be needed, a way to select the file to modify and a way to specify the maximum angle and what way they want the cone to be, and it would make it much easier for people to try out and shouldn’t be much work either.
Yeah, I'm definitely going to consider adding at least a filename prompt to the python code so I'm not having to change the code every time. Will see how well the code works first and see how much I plan on using it. Super keen though.
@@mitchelldurward8863 Based on my limited experience creating GUIs in python just adding a file prompt, text boxes or sliders and a few buttons shouldnt be difficult as all the program needs to do is read some data from the GUI and and run a few functions. I know the code for the transformations will be complex but shouldnt be hard to create a GUI. I would have a go myself but I dont have time due to uni.
i am impressed at 12:33 . What is your prusa setting for the supports and which nozzle size are you using? Very impressed you can remove supports using hand easily. Please can share you support settings?
Cool idea. Used my stock non molested Artillery X2 to print the tree. Worked good with one large caveat, I crashed the cooling fan duct into the print but the duct fell off, and just a few over extrusions on the very tip of the edges. I am going to work with the printer to see if I can get a clean print out of the gcode posted. Really like the idea and think it will require me to go to the next level in true 3D printing. Thanks Stefan
I already saw the print head that can move on it's own axis, which was cool as hell. But if we can get something similar just by slicing improvement? Game changer
I bet Cura will include this in their experimental settings within few month (or at least i hope), awesome video. I will always be amazed about how far we can push engineering especially for little makers at home like me !
Wow. Impressive approach and (as always) a great video, Stephan! I guess the standard printer configuration for this method will be the Voron Switchwire with it's core x-z motion system. I have always wondered what could be the benefit for that type of printer, but there it is!
as a programmer, the fact that the scripts don't have any basic CLI or GUI, meaning you have to modify the script as a means of user input, gives me chills
True, but since it's python, and open source, it shouldn't take long to have something better available if this become a bit more mainstream. Just need to wait for anyone taking the five minutes required to do that 😅
The same for firmware. Marlin or Klipper. Can't believe there isn't a front end where you can just enter machine and hardware specifications and a priter image us created. Closest thing is Rat os but it only works for specific hardware sets mainly ratrig and just a few others. 3d printing software and firmware is still in the 1980's and you really need to be a programmer to use it 😢
In MIG welding we have something called a 'gas lens'. This is a nozzle that ensures the welding point is surrounded by a 'focused' envelope of inert gas. Could we use this principle to provide cooling air to the print surface coaxially with the nozzle instead of the crude (and often very inefficient) blower nozzles common today ? Of course, we also have the air-assist nozzle of a laser cutter but that's made very much easier by the ability of the laser beam to shine right through the air jet. That doesn't work with an extruder!
I've thought about this approach as well, and i don't see why it couldn't be implemented with enough engineering time. I believe you would want additional thermal insulation around the nozzle then so that the rapidly moving air doesn't cool the nozzle significantly, no?
The intro at 1:25 kind of shows that it would open a whole new set of possible problems... At that pass and the next, the end really flops around a lot --- you cannot expect that part to be within spec! The plastic clearly curls up where it shouldn't be, maybe something like surface tension the cause?
Shows how much ground we still have to cover with this technology - it’s amazing how often the most obvious and easy to implemen way of doing something cam be the worst or certainly not the best
Good video, I will try code myself for some efficient printing to reduce filament waste. For the extreme overhang, extruded filament would bend and change position on z-axis. This will definitely affect final finish.
Well done. You're absolutely right that 3D Printers are still so limited by the software. I truly hope there are more willing to pick up the mantle here and implement some of these advanced techniques in slicing software that will take the technology to the next level.
I love the throat clearing at the end. HA! I do think that this is the "next big thing" in FDM, and like you, I don't have the math for it to contribute, but am perfectly capable (in extreme cases where I need the non-planar abilities) to push it through some python scripts. Thank you!
As a CNC machinist I definitely believe non-planar not only is the future, but closer to being a norm than just a "test." It's very similar to surfacing tool paths on a mill. It's basically on the slicing and printer companies to decide when to make that switch. I'm sure soon here enough someone will have a "new cutting edge" machine utilizing this. Either with a standalone slicer or a compilation with one of the big slicer companies.
this is amazing, thanks for the effort for making the video and improving the scripts. you are very few makers that share the same view with me - there are still a ton of potential with slicing software.
honestly I think that to get the most out of non-planar slicing extruder tilt axis will be needed. Not technically difficult to put on the printer but probably a pain to program for. However I think it will be worth the effort, designing useful mechanical parts around the limits of current slicers kinda feels like trying to climb a hill with your foot in a bucket.
Great Video Stefan. I have been very interested in 3D slicing as method to reduce waste supports etc be it non-planar or conical etc. and I do hope it's the start of next progression in 3D printing slicing. Besides the fact that not only useful, looks really cool as well. :)
I'm not sure if non-planar slicing and printing will be THE future for FDM printing, but I think it does show that we've barely scratched the surface of 3D printing. Even though hardware and software have improved vastly during the past 10 years, there is still lots of room for innovation and I'm really eager to see what the future will hold.
I really enjoyed the video! Thank you for taking the time to test and present this! I wonder if an approach more akin to 4 or 5 axis CNC would be more applicable in the future. The head would move up/down and the table would move side to side and rotate on A and B axes. It might appear to reduce the build area but really we are talking about the area that attaches to the build plate.
i was doing this a year ago with slicer4rtn on my ender 3. two biggest problems, most cooling solutions severely limit the possible incline and perimeters on overhangs can still sag, particularly if there is insufficient cooling.
I didnt often think about software optimisation being as important as hardware improvments in printing but innovations like these prove that there really is more room to improve in software than hardware. Klipper especially was just mind boggling, i cant wait to see whats next
Cool video! I bet if manufacturers designed their printers with this technique in mind, there would be a lot of room for improvement. Rethinking the location of the bed level sensor would be a good start.
I see some potential in this kind of 3D printing technique however there are so many things that can go wrong. Mainly the print head colliding with the print it self like you said. I think the reason why no one ever did anything like this is because it would only be useful in some very specific situations. And as you can see cura can't even generate proper supports in some cases so I can't even imagine this yet.
Thanks for good and very interesting video. I can agree with you, that is a next generation of 3d printing, but there are lots of test and work to do, to make this metod nice and easy to use. I think in now days non-planar slicing is just for geeks or time-killer, because there are lots of makers, who has problems with printing simple ABS. But huge thanks for video!
Cura could totally make a 3d printer with this in mind and then add the feature to their slicer. Since they produce both software and hardware they have an advantage there. Definitely looks like an interesting possibility for the future.
I've thought of this for awhile and the implications for it can be amazing if done right. For one having the ability to print wavy layer lines or even gear teeth like on the Z axis would drastically increase bonding area for layers and overall strength. And becuase of an interlocking affect would potentially drastically reduce the chances of the object sheering with twisting motion the the locking direction of the wave/teeth. As they will mechanically resistant the motion. Also if we can do infill that doesn't quite match the outside layer by repeatidly crossing up and down on the z axis that would have the potential to make the object immensely stronger over all as there wouldn't be a straight sheer line on the horizontal axis. But potentially something more akin to interlocking wood grains. Imagin instead of: _______ _______ _______ We can do: -~~~~~- -~~~~~- -~~~~~- We would potentially break the horizontal line of sherring which is an exciting prospect.
The bed level sensor could be placed on an electromagnetic solenoid so that it goes down when leveling and pulls the leveling sensor back to the upper point after leveling. Then there will be no danger of the leveler touching the workpiece during printing. Maybe I'll look at the Z axis guidance to see how it could be converted to a ball spindle guidance. The current solution with a plain brass insert would quickly fail, because it was not primarily designed for this, to continuously move heights of 3-5 mm.
Conical sounds neat. I'd be happy with quilted. Add some z-variation, just the thickness of a layer, to infill, to better weld layers together. Create dimples in each layer, and fill those dimples on the next layer. Alternately, use a biscuit approach. Create voids in the pattern that are filled with special infill "biscuits", like in woodworking, that reach both into the last and next layer. A cross-section of the former would look like ripples, while a cross-section of the latter would look like inclusions in a sedimentary layer.
I did try with my revo voron (2.4). Sadly 8° angle is not enough to been able to print 90° overhang. But it's working quite good and i'm able to print at a relative high speed (200mm/s // 6000mm/s²)
Just a small tip: I would make a change to the python scripts and use the input() function to ask the user for a file name rather than hard coding the file name. That way you can run the scripts from a command line without needing to edit the source every time you run it.
I plan to play with non-planer slicing soon, but with an Ender 5 Plus, I cannot imagine doing so with the lead screw for long. In the short term, I'd likely us a POM leadscrew nut but I suspect I ultimately will find myself wanting belted Z for non-planar.
this on a switchwire would be a sweet setup and i think it will be a very possible future, maybe not for every one starting out but for people that are already used to thinkering yes
have you tried the duct cooling used by most printer for the speed bencies? as that removes the whole cooling assembly from the print head you would probably get better angles and still retain the needed cooling
I would like to see about the 4-axis printer. I think would the way to go. Just like advanced CNC machining centers with four and five axis capability.
For anyone with an Ender 3, the Christmas tree G-Code provided on the Prusa site works on the Ender 3. Just printed one. It's quite fascinating to watch first person.
Hi Stefan ! I know it's off topic but what grease should we use to rig off noise from ours printers and make them life easier? Do we need to treat special a rubber belts ? Please answer.
There is also supportless resin printing technology in the works that builds all layers simultaneously using lasers, so it's almost like the Star Trek replicator. 😁
I think for all the open source printers (such as my ender 3 pro) I previously made my own cooling system with noctua fans. This allows for LESS clearance than stock just because it is so close. BUT the bridging i get is ridiculously good. It would be smart to invent a cooling that s downward aimed, and out of the way, to cope with the angle.
Is non-planar slicing the future or just too complicated?
I think we'll get there. We always have, just a matter of optimization and getting to understand the principles behind every new technology. The next generation of 3D-printers will probably laugh at us old-schoolers with our planar slicing methods!
I think yes, It has some negatives but It can be the real deal for 3d printing,
Everything we do now was considered too complicated some time ago.
One would think this should add to print strength and stability.
If the past has proven anything, it's that "too complicated" doesn't exist given enough time.
Watching FDM printers behave more like CNC routers is encouraging. Certainly there is a large body of knowledge to draw from with regards to motion systems and optimal toolpath development. I wonder if it would be easier to start with CAM software and build in the constraints of layer stacking rather than starting with a slicer and building CAM-like motion control into it.
Ive always though the next generation of slicing would look more like a CAM suite, where you choose how to approach each feature of a print individually
I have had parts several times where I would have liked to print one part in lower layer height than other parts. Have asked myself why there isn't a easy funktion for sectioning the print and beeing abel to do different settings on each part. Even only altering the layer height can save lots of time and also make overhangs work better.
@@fabianbohnert120 adaptive layers are just starting to become a thing on Cura
CAM is light-years ahead of current slicers. The vast majority of slicers can't even load Brep models and the few that do, typically just take the Brep and convert it to a mesh file.
@@scottwarner7349 thanks, I probably should update once again. Also it would be nice to set all parameters differently for different sections of the print, like lowering the print speed, layer hight and using more cooling on overhangs. Also possibly printing large uniform sections with more extrusion width.
One possible benefit of conical slicing Stefan that you did not mention is part strength to a certain directions when printing technical parts. Maybe in the future we could adjust angles of force in the slicer and slicer would count angles based on that. Right now we design parts we are just dealing with the horizontal plane when printing and print orientation. Great video!
Using stacking radial layers with angled axial layers would greatly increase part strength across layer lines.
oh that is genius
when I watch video I got same idea. not having flat layers can resolve weakness of layer separation
Yes! Achieving a greater strength perpendicular to the printbed is a great benefit of this method IMHO...
Although ironically the way the layers are angled in order to print the overhangs make the delamination far more likely at the stress concentration region of the interior corner
Applying a warping transform to your shape, then slicing, then applying the reverse-transform is a genius way to implement conical slicing. Amazing that it works with any slicing software!
For aligning parts precisely in Cura, I use a trick with adding fake (unprintable) geometry. In Blender, I add tiny squares (like few mm wide and 0.01mm thick) in the opposing corners of the model, placed in a way that they are symmetrical compared to what i want as the part center and are the outermost parts of the model both in X and Y projections.
Any slicer will ignore these, but they typically use the outermost vertices of the model (regardless of printability) and center the entire model around the middle of the extremities in X and Y. By spoofing in fake geometry, I take control of this :)
Very innovative and original. Thumbs 👍 for your excellent manipulation. 👍
so your printing your print object in a bigger invisible box the full size of your build plate surface? does your print when print still go throw the pretend of go the invisible parts and printing nothing? there?
Did you try to make in Blender a solid that has the shape and the dimension of your printer utile volume and give to it a solidify modifier with thickness below printable?
I use that solid in my Blender startup file (without thickness and in wire visualization), so when I need I can see my model in that volume without export and open slicers.
There is no need to go to the very corners of the print bed. All you need is these unprintable pieces to stick out beyond the furthest parts of the model 😉
@@dh2032 he said the slicer ignores the tiny areas so no
There needs to be an advanced slicer, more like CNC programming software, where the operator/programmer needs to understand the limitations of the machine and the objectives of a part.
There already is. PowerMill has additive tools, and it's already widely used for 5-axis direct metal deposition.
It's not a slicer anymore at that point. It's a full-blown CAM package. You also need a post-processor for every different machine out there.
just hard code the gcode, who needs a slicer
Yeah, he really undersold the involvement you need with nonplanar slicers in the beginning when he said that the only reason we use the current approach is because it is slightly easier to calculate.
While flat XY slices are easier to compute they are also almost universally aplicable to any 3d printer. Nonplanar slicing will lead to either slicer hell, were every printer ends up using their own proprietary slicer or with a massively complex slicer that needs much more work in the setup phase.
@@RadiantPhenomno thanks
idk about you but i really enjoy not spending a day coding CAM to get a thing as it is with CNC mills. so i really doubt there are a lot of use cases. and even cnc is going in the direction of stl and single click approach.
excellent video! 👏
looking forward to the day when non-planar will be standard in slicers
next step that will really be required is 5d printing. check out this result: ua-cam.com/video/X2o2-SJFv2M/v-deo.html
@@durlin84 It's 5-axis 3d printing, not 5d printing.
@@nicholaslau3194how would you know? You can’t see the fourth and fifth dimension as a three dimensional being 😂
no, you're trying to farm engagement. know the difference.
@@werlucad5783As far as we can tell there are no more than 3 dimensions. Since printers are built by humans there won't be one that can print in more than 3 dimensions
I've used 3D toolpaths in traditional CNC plenty of times, and I'm really happy to see it one step closer to becoming a standard feature.
What can be added in is use of triple z axis some machines have to assist leveling. The ability to also tilt the bed, while more complex, would help solve a lot of the current limitations of this sort of thing.
Very innovative thinking 🤔. If I may 🤔 make a comment I would substitute the word "leveling" at the end of your first sentence with "tilting" as think that this is what you are actually meaning 😉 😀
I think the ragrig V3 and voron 2.4 are capable of that. but the voron tool head will need an overhaul for this
@@hendrikjbboss9973 it's how I meant it. The three z systems currently use those to help tram ("level") the bed to the nozzle plane. I mention use for tilting in the second.
Great idea. We have already worked with 3 independent axis movement with our in-house made 3D printer. Duet boards and code has capability of doing this kind of leveling-tilting. The only thing which should be considered: how to code it so that the bed moves simultaneously with the print:)
I was thinking the same thing. An upside down delta printer to tilt the bed and a separate xyz above it to control the head would be interesting.
There's absolutely huge potential here. It seems like most of the problems can be handled with minor hardware tweaks, which is really exciting!
absolutely. It would be absolutely revolutionary in the 3D printing world.
Wow...this is almost exactly the same process as my original belt printing code. You first skew the STL, then slice at the skewed angle... then print... the mechanical system did the last step. That's very cool! (It's also the same reason we don't need supports on the back side of a belt printer, as well!)
Take it a step further and have a diagonal axis like the belt printer but a turn table in place of the belt for conical printing. conical printing is more efficient in a polar coordinate system than the cartesian coordinate system.
oh man, kanns kaum erwarten, das das für jedermann einfach verfügbar wird. Danke für das Video.
This is going to be really useful when it reaches mainstream slicers. I don't have the time or inclination to spend the time to do this. Many thanks for taking the time to show what the future holds.
ich lebe seit 7 jahre in usa... muss immer meine infos auf englisch irgendwie bekommen und nun bin ich ueberrascht wie toll dein englisch ist obwohl du auch noch deutsch zumindest sprichst. prima keep up the good work
Thanks!
Your double work with both video and blog on subjects is fanstastic! Very useful and ambitious.
Sooooo. I'm german and I really like your videos. Mach weiter so, Stefan!
It would be interesting to do some stability tests. With non planar slicing there is no weak horizontal plane.
There are still weak layers, but now they are tilted.
However, there are still layer lines, they just might not all be parallel to one another.
With a 5-axis printer it should be possible for some parts to print from the inside out instead of from the bottom up. First a skeleton with stacked layers warped to follow the middle of the form, then additional layers wrapped around the outside. This would make layer separation almost impossible.
@@SetKat-Alex yes but they also might be able to be printed more wavy or even gear like increasing layer bonding area and drastically increasing resistance to sheering in the the interlocking direction. Or even having infills that don't completely match the layer lines on the outside and even stagger up and down which could open amazing possibilities with strength and structure.
Thank you for reviewing this technology and for taking the time to make great code improvements in the source fork. Great stuff.
I assume that a delta printer would be most suitable because of the absence of a dedicated z axis. Small angles should be easy enough to implement from a hardware side. I thing structures could be printed that are impossible to print otherwise using variable slicing angles.
Probably could even make a delta printer angle the printhead so it extrudes in the correct plane.
@@JasonKingKong Not without extra hardware. You have 3 pairs of arms and those arms are equal length and equal distance at both ends, and the top side is equal height due to the carriage. Which leads to equal height at the effector which translated into a level effector. If you would add steppers to rotate the carriages you could angle the effector. Considering the mass would be added to the carriages and not the effector that might work out well. I also believe the steppers to rotate the carriage might be quite small because that movement can be quite slow. The math would be an issue as tilting the carriage along one axis would cause the effector also to move in the horizontal plane. And on top of that tilting the effector als cause the nozzle to move bot horizontally as vertically. While everything can be calculated, you would need an accurate measurement of the offset between the nozzle and the effector mounting points.
*disclaimer* these are just some quick musings as I ponder what would be needed.
@@ralfvandeven3155 The kinematics would be tricky for most of us but I'm confident that there are some in the 3d printing community up to the task. I also wonder if it would be possible to alter the length of the legs to cause the printhead to rotate. That would be a hardware change but perhaps if the motors to make that happen were at the frame instead of near the printhead, it would work without introducing more bulk that could get in the way of the print. Fun to ponder the possibilities, even if most of it is beyond my experimental capabilities.
@@JasonKingKong true, it is not like I'm rushing out to add stepper motors to my delta. I prefer to do my experimenting where I see realistic opportunities for me to succeed. And while do enjoy figuring out how it could work implementing is above my capabilities at this point.
What if you combined that with a bed that can spin? The speed you could achieve with some parts would be insane because rotating on a single axis is much easier for a machine rather than constantly changing the direction of the print head or slinging the entire bed back abd forth.
The cooling difficulties might not be a problem if you're mostly printing in filaments other than PLA. I mostly print in ASA, and I turn the cooling off almost all of the time.
For sure a reasonable option out of the cooling problem. For the "problem" of the Z axis wear I'd suggest CoreXZ like the Switchwire, still cheap to make and way more suitable.
just printing out angled vents could be a quick and easy fix to get pretty much the same performance
@@_MicZ_ Honestly I suspect any conventional lead screw system that uses high quality parts should be absolutely fine from an axis wear perspective - lead screws are designed for use in CNC machines that have far more Z axis motion than 3D printers using 2.5D slicing
@@bosstowndynamics5488 most cnc machines have ball screws opposed to lead screws, i do agree lead screws should be fine for this application though.
Wow, I must say I'm impressed. I used to be a low level real time computer graphs driver developer (OpenGL, D3D, Vulcan) at a big tech company before starting my own business. It feels very similar to slicer tech, but obviously the markets are much bigger with 3D graphics (video game engines are the top client). This led to real time computer graphics having way more research and development put into it. I have for years thought the slicer market has a lot of low hanging fruit for major improvements, but I know it's still a lot of hard work. I have purchased 3D printers that make there own slicers (Prusa and Ultimaker) because I wanted to support companies putting money into the slicer software. As a person who always made "free" drivers for 3d graphics hardware I saw environments where there were equal or more people working on the software even though people only paid for the hardware. This makes me recognize other similar markets like 3d slicers. It's great slicers are open source allowing for others to play around with them, or in your case hacking their output. I agree with a willingness to pay for a slicer, but I'd say the odds of a premium pay slicer being a long term winner are low.
Personally, I think there is a ton of space for improvement in slicers. Not just with non-planar, but lots of other techniques like smart auto supports in the short term. As with computer graphics one of the hardest things is to make it easy to use all the newest features. Designing an algorithm is great, but trying to automatically apply that algorithm without having regressions in quality/performance is sometimes even more difficult. I'm impressed you actually addressed some of that in your video.
Anyways, I'm happy youtube suggested this video to me, and I have joined your patreon. You did some great proof of concept work here. I'd love to contribute my time and code to this space, but I doubt I'll have the time. So for now I'll just support what you've done here. Thank you!
Even a small slope on Z-axis would enable printing across the layers (e.g. the slightly inclined or even X-crossing infill and/or secondary perimeters) and would increase the strength along the Z-axis, which today is limited by layer adhesion only. So, looking forward for this feature not only for supportless overhangs.
Been waiting a while for this but not smart enough to program it myself lol. Happy to see the research is still going.
Great Video! Brought me to following Idea: the problem with overhangs is obviously gravity....in order to print overhangs, you could "just" tilt you whole printer. Assuming you can print 60° overhangs very well, tilting by 30° will should make 90° overhangs printable. For very simple models like the pipe in the vid, you could try to tilt the printer on you table, as the overhang has only one direction. Thinking that further: take a tilted coreXY printer, and mount a turntable on the bed --> printable overhangs in every direction, made really strong with conical slicing.
The capability of 3D printing never ceases to amaze me.
This may be the most exciting thing I've heard about in the 3D printing space in years!
Quick thought for you. If you can angle the print head and use conical slicing, you could even create an inner wall first, with angled layers to create a less linear planer of separation. Then you could add a second wall layer, angled in the opposite direction, with the print head angled towards the first wall so it doesn't it. You could even do 3 or 4 layers of opposite angled walls to essentially weave the shell of the object. It would have to be done a certain about of height at a time of course due to the head support and all, but this could create incredibly strong parts that do not have a single plane of separation.
This is not just ingenious, but also your video and how you work out all this info is awesome!
You're awesome, too!
Hi, Stefan! I think that the rotating print head with the conical slicing is the best option in this area for now. Not expensive and potentially very effective.
Cool. I wrote a bunch of notes down and started testing a similar idea, but Marlin was freezing the third axis instruction when using G2/G3 commands. I asked about it in the Discord and, with the Marlin 2.1.1 bugfix version, it allows a linear move in the third axis. I am working on some code for three axis complex arcs in my free time. This is an awesome exploration at the limits of this idea.
Great Video SHtephan! I think the first thing for anything to become mainstream nowadays is getting those 2 .pys into a hosted web gui
After that, you can integrate it into slicers as a package or an API much easier.
Putting a bow on it if you will.
Nice! I've been messing around with this idea too. I used geometry nodes in Blender to distort the mesh. C++ program to edit the gcode.
If a CNC machine can move in 3d, a 3d printer definitely should. I think 5 axis will probably be the way of the future for the most challenging prints though
Love love love the work you are doing to bring awareness to the vast improvements that can be had in the slicing/software realm!
My older brother’s senior project was using a sinusoidal pattern to print hollow cylinders and test the respective strength, to do this he had to learn g code and created his own slicing program. Just the new possibilities of this are so intriguing.
Great Content. The non-planar slicing is very inpresiv. I cant wait to try tis out myself. Thank you Stefan for your effort.
It was really cool seeing a hornet in use. I would have kept mine but the company was very evasive when I asked to purchase a spare cable.
The printer worked beautifully. I just couldn't risk that cable failing and leaving me with a 2 week downtime waiting for them to ship a replacement.
I mean.. couldnt you just.. make your own cable?
@@tarakivu8861 It uses a proprietary cable with the bowden tube strung through the center of it so, practically? No.
I think there would be a lot more people trying it if there was a GUI to handle the transformations rather than needing to modify the Python code with the file names. Just a simple GUI would be needed, a way to select the file to modify and a way to specify the maximum angle and what way they want the cone to be, and it would make it much easier for people to try out and shouldn’t be much work either.
Yeah, I'm definitely going to consider adding at least a filename prompt to the python code so I'm not having to change the code every time. Will see how well the code works first and see how much I plan on using it. Super keen though.
@@mitchelldurward8863 Based on my limited experience creating GUIs in python just adding a file prompt, text boxes or sliders and a few buttons shouldnt be difficult as all the program needs to do is read some data from the GUI and and run a few functions. I know the code for the transformations will be complex but shouldnt be hard to create a GUI. I would have a go myself but I dont have time due to uni.
tkinter or qt would be my suggestion
i am impressed at 12:33 . What is your prusa setting for the supports and which nozzle size are you using? Very impressed you can remove supports using hand easily. Please can share you support settings?
Cool idea. Used my stock non molested Artillery X2 to print the tree. Worked good with one large caveat, I crashed the cooling fan duct into the print but the duct fell off, and just a few over extrusions on the very tip of the edges. I am going to work with the printer to see if I can get a clean print out of the gcode posted. Really like the idea and think it will require me to go to the next level in true 3D printing. Thanks Stefan
Any plans on developing a layer adhesion strength test for overhanging parts?
I'll definitely do that!
I already saw the print head that can move on it's own axis, which was cool as hell. But if we can get something similar just by slicing improvement? Game changer
This is such a great channel. It blows my mind that it does have more subscribers.
I bet Cura will include this in their experimental settings within few month (or at least i hope), awesome video. I will always be amazed about how far we can push engineering especially for little makers at home like me !
I have a 4 axis cnc mill. This is getting very interesting. Great video again.
Wow. Impressive approach and (as always) a great video, Stephan!
I guess the standard printer configuration for this method will be the Voron Switchwire with it's core x-z motion system. I have always wondered what could be the benefit for that type of printer, but there it is!
as a programmer, the fact that the scripts don't have any basic CLI or GUI, meaning you have to modify the script as a means of user input, gives me chills
True, but since it's python, and open source, it shouldn't take long to have something better available if this become a bit more mainstream.
Just need to wait for anyone taking the five minutes required to do that 😅
What are you talking about man
Why?
or an exe 😂
The same for firmware. Marlin or Klipper. Can't believe there isn't a front end where you can just enter machine and hardware specifications and a priter image us created. Closest thing is Rat os but it only works for specific hardware sets mainly ratrig and just a few others.
3d printing software and firmware is still in the 1980's and you really need to be a programmer to use it 😢
In MIG welding we have something called a 'gas lens'. This is a nozzle that ensures the welding point is surrounded by a 'focused' envelope of inert gas. Could we use this principle to provide cooling air to the print surface coaxially with the nozzle instead of the crude (and often very inefficient) blower nozzles common today ? Of course, we also have the air-assist nozzle of a laser cutter but that's made very much easier by the ability of the laser beam to shine right through the air jet. That doesn't work with an extruder!
I've thought about this approach as well, and i don't see why it couldn't be implemented with enough engineering time. I believe you would want additional thermal insulation around the nozzle then so that the rapidly moving air doesn't cool the nozzle significantly, no?
The intro at 1:25 kind of shows that it would open a whole new set of possible problems... At that pass and the next, the end really flops around a lot --- you cannot expect that part to be within spec! The plastic clearly curls up where it shouldn't be, maybe something like surface tension the cause?
with the overhangs, look into the printhead shape; as the steep nearby angle and stick out should be factored into the calculations
Would be nice if the tilting heatbed of the VCore 3 could be used.
Shows how much ground we still have to cover with this technology - it’s amazing how often the most obvious and easy to implemen way of doing something cam be the worst or certainly not the best
Good video, I will try code myself for some efficient printing to reduce filament waste. For the extreme overhang, extruded filament would bend and change position on z-axis. This will definitely affect final finish.
Well done. You're absolutely right that 3D Printers are still so limited by the software. I truly hope there are more willing to pick up the mantle here and implement some of these advanced techniques in slicing software that will take the technology to the next level.
I love the throat clearing at the end. HA! I do think that this is the "next big thing" in FDM, and like you, I don't have the math for it to contribute, but am perfectly capable (in extreme cases where I need the non-planar abilities) to push it through some python scripts. Thank you!
Man your videos are top of the moutain!!! No words!!! Congrats!!!
This is something I would love to see in slicers soon as possible!
awesome video again Stefan. Keep up the good work. I´m amazed how you can use multiple scilers. I use only Simplify3D.
As a CNC machinist I definitely believe non-planar not only is the future, but closer to being a norm than just a "test." It's very similar to surfacing tool paths on a mill. It's basically on the slicing and printer companies to decide when to make that switch. I'm sure soon here enough someone will have a "new cutting edge" machine utilizing this. Either with a standalone slicer or a compilation with one of the big slicer companies.
this is amazing, thanks for the effort for making the video and improving the scripts. you are very few makers that share the same view with me - there are still a ton of potential with slicing software.
This was extremely helpful. You laid out the info, so it was easily understandable.
Great video! Non-planer printing would need a belted Z axis. Like the Voron printers.
honestly I think that to get the most out of non-planar slicing extruder tilt axis will be needed. Not technically difficult to put on the printer but probably a pain to program for. However I think it will be worth the effort, designing useful mechanical parts around the limits of current slicers kinda feels like trying to climb a hill with your foot in a bucket.
Great Video Stefan. I have been very interested in 3D slicing as method to reduce waste supports etc be it non-planar or conical etc. and I do hope it's the start of next progression in 3D printing slicing. Besides the fact that not only useful, looks really cool as well. :)
Man i really want to use Prusaslicer but i just wont start the print on my anycubic i3 mega over octoprint.
It heats up but then it just does nothing.
Its awesome bro! Thanks for this sharing Marvellous content....
That is such an elegant way of acheiving this without having to create a new slicer.
Anything to dispose of supports is a winner!
I'm not sure if non-planar slicing and printing will be THE future for FDM printing, but I think it does show that we've barely scratched the surface of 3D printing.
Even though hardware and software have improved vastly during the past 10 years, there is still lots of room for innovation and I'm really eager to see what the future will hold.
I really enjoyed the video! Thank you for taking the time to test and present this!
I wonder if an approach more akin to 4 or 5 axis CNC would be more applicable in the future. The head would move up/down and the table would move side to side and rotate on A and B axes. It might appear to reduce the build area but really we are talking about the area that attaches to the build plate.
i was doing this a year ago with slicer4rtn on my ender 3. two biggest problems, most cooling solutions severely limit the possible incline and perimeters on overhangs can still sag, particularly if there is insufficient cooling.
Is it just me or isn't the cone head at 0:25 the funniest thing ever?
I didnt often think about software optimisation being as important as hardware improvments in printing but innovations like these prove that there really is more room to improve in software than hardware. Klipper especially was just mind boggling, i cant wait to see whats next
Cool video! I bet if manufacturers designed their printers with this technique in mind, there would be a lot of room for improvement. Rethinking the location of the bed level sensor would be a good start.
I see some potential in this kind of 3D printing technique however there are so many things that can go wrong. Mainly the print head colliding with the print it self like you said. I think the reason why no one ever did anything like this is because it would only be useful in some very specific situations. And as you can see cura can't even generate proper supports in some cases so I can't even imagine this yet.
Thanks for good and very interesting video. I can agree with you, that is a next generation of 3d printing, but there are lots of test and work to do, to make this metod nice and easy to use. I think in now days non-planar slicing is just for geeks or time-killer, because there are lots of makers, who has problems with printing simple ABS. But huge thanks for video!
I don’t know if i would use it much on a standard FDM Printer, but once i get my hands on that Open 5x Mod and Another Prusa for it…
Cura could totally make a 3d printer with this in mind and then add the feature to their slicer. Since they produce both software and hardware they have an advantage there. Definitely looks like an interesting possibility for the future.
I've thought of this for awhile and the implications for it can be amazing if done right.
For one having the ability to print wavy layer lines or even gear teeth like on the Z axis would drastically increase bonding area for layers and overall strength.
And becuase of an interlocking affect would potentially drastically reduce the chances of the object sheering with twisting motion the the locking direction of the wave/teeth. As they will mechanically resistant the motion.
Also if we can do infill that doesn't quite match the outside layer by repeatidly crossing up and down on the z axis that would have the potential to make the object immensely stronger over all as there wouldn't be a straight sheer line on the horizontal axis.
But potentially something more akin to interlocking wood grains.
Imagin instead of:
_______
_______
_______
We can do:
-~~~~~-
-~~~~~-
-~~~~~-
We would potentially break the horizontal line of sherring which is an exciting prospect.
This is an exciting idea. It even feels like this might be doable with existing planar slicing, maybe even as a post-processing step
@@PatrickDukes, perhaps it is. I just hope it becomes mote main stream :)
The bed level sensor could be placed on an electromagnetic solenoid so that it goes down when leveling and pulls the leveling sensor back to the upper point after leveling. Then there will be no danger of the leveler touching the workpiece during printing. Maybe I'll look at the Z axis guidance to see how it could be converted to a ball spindle guidance. The current solution with a plain brass insert would quickly fail, because it was not primarily designed for this, to continuously move heights of 3-5 mm.
Conical sounds neat. I'd be happy with quilted. Add some z-variation, just the thickness of a layer, to infill, to better weld layers together.
Create dimples in each layer, and fill those dimples on the next layer.
Alternately, use a biscuit approach. Create voids in the pattern that are filled with special infill "biscuits", like in woodworking, that reach both into the last and next layer.
A cross-section of the former would look like ripples, while a cross-section of the latter would look like inclusions in a sedimentary layer.
I did try with my revo voron (2.4). Sadly 8° angle is not enough to been able to print 90° overhang.
But it's working quite good and i'm able to print at a relative high speed (200mm/s // 6000mm/s²)
I can't wait for Cura to add this. I would still use supports, but it will prevent some flat sections from sagging in to the support interface.
Dieses "Guten Tag" am anfang hat mich so verwirrt :)
Just a small tip: I would make a change to the python scripts and use the input() function to ask the user for a file name rather than hard coding the file name. That way you can run the scripts from a command line without needing to edit the source every time you run it.
Would be even better to just make it a command line argument
@@TheRyulord Right, that would also work.
I plan to play with non-planer slicing soon, but with an Ender 5 Plus, I cannot imagine doing so with the lead screw for long. In the short term, I'd likely us a POM leadscrew nut but I suspect I ultimately will find myself wanting belted Z for non-planar.
very well produced video
this on a switchwire would be a sweet setup and i think it will be a very possible future, maybe not for every one starting out but for people that are already used to thinkering yes
Hope this will be implemented on all slicers soon!
Also they could use different printer profiles for clearance.
have you tried the duct cooling used by most printer for the speed bencies? as that removes the whole cooling assembly from the print head you would probably get better angles and still retain the needed cooling
Great video, I'm looking forward to future developments.
Great Video. But wouldn't delta printer be a good solution for reducing the limitations of the standard design?
Really great video about an interesting topic! Answered every question I had and more! Thanks!
Ja! Finally, a fellow German on UA-cam! Wunderbar !
I would like to see about the 4-axis printer. I think would the way to go. Just like advanced CNC machining centers with four and five axis capability.
For anyone with an Ender 3, the Christmas tree G-Code provided on the Prusa site works on the Ender 3. Just printed one. It's quite fascinating to watch first person.
Could we use delta printers to tilt the print head to avoid some of the problems with conical printing?
love this idea! seems like a great step in the right direction 🙌
Hi Stefan ! I know it's off topic but what grease should we use to rig off noise from ours printers and make them life easier? Do we need to treat special a rubber belts ?
Please answer.
There is also supportless resin printing technology in the works that builds all layers simultaneously using lasers, so it's almost like the Star Trek replicator. 😁
I think for all the open source printers (such as my ender 3 pro) I previously made my own cooling system with noctua fans. This allows for LESS clearance than stock just because it is so close. BUT the bridging i get is ridiculously good.
It would be smart to invent a cooling that s downward aimed, and out of the way, to cope with the angle.