Stuff like this is invaluable because of a lack of formal documentation on 3d printing theory. I was dropped into 3d printing in a scientific role last year and it's pretty much the wild west and very few comprehensive technical papers and testing standards are available. Being able to get insight into the underlying behaviors of slicers is often overlooked in the literature and I think ripe for exposition.
I agree. These kind of vids are harder to do because I'm exposing myself to being wrong (haha) so it takes more research, but it's exactly the content I enjoy making most. So plenty more to come 👍
2 years ago when I bought my ender 3 I didn't think I would end up here looking into the math for slicers...But oh well I'm here and my non planar slicer needs to turn a bunch of separate well supported points into gcode so I guess tomorrow is digging through cura's source code day
Excellent! Love these technical deep dives. Would be interesting to see more on flow rate, for example, I've seen some interesting discussions on the volcano hot end vs Dragon or bi-metal heat break alternatives and debates on whether larger nozzle sizes makes it easier to push filament through or less. Your videos have been a massive help so far on understanding the technical side of things, keep up the great work!
@@LostInTech3D Interested to hear what your take is on calibrating E-steps/ flow.. Having followed the crowd who do e-steps through the hotend my e-steps went from defaiult 93 to 101 then default flow needed dropping to 94% in slicer.. Then I following some more technical advice channels and sites which stated e-steps is the physical relationship between step angle/ gear diameter which should be independent of the hotend and that the flow through the nozzle is the calibration of the flow rate in the slicer (which makes total sense to me). Re-calibrating both this way I found that the default e-steps of 93 produced a filament length of exactly 100mm for a 100mm request, and then my calibrated flow rate for the slicer is back to 100% (or as close as makes no reasonable difference). Its a contentious issue, suggesting that e-steps is nothing to do with flow rate and should therefore not be done through the nozzle which appears to be met with extreme resistance, but the facts in my case with ender 3 max definitely support this logic, and to me at least it just makes absolute sense.. IMO, it all kinda stinks of "monkey see monkey do" in the popular 3dprinting top level channels if you get my drift..
There's this doublethink going on, that e-steps is both some kind of constant that never changes, and that it also needs to be done with the hotend on because it changes, but of course it never changes regardless of print speed, temperature, material... Meanwhile in the real world.... In his defence, CHEP did a thing on this not too long ago.
@@LostInTech3D Not seen Cheps take.. will go have a looksie.. My initial thoughts were that through the nozzle would result in different rates depending on the nozzle, which did not make sense, because the nozzle diameter is part of the flow calculation.. Basing delivery on what goes through the nozle then screws with that calculation, the calculation is working out the flow based on filament length and filament diameter being supplied to the hotend, and the layer CSA and length coupled with the nozzle diameter.. This is what led me into the rabbit hole, it just did not make any sense that after following the crowd I now had the printer delivering more filament to the nozzle, and had to lower the flow rate to compensate for that increased filament length.. Putting e-steps back to 93 then delivered exactly 100mm of filament, as requested, and re-calibrating flow resulted in 100% being the normal value.. which just makes complete sense..
@@LostInTech3D yeah.. cheps video kinda confirms what I think, though he then goes on to calibrate through the extruder because getting a consistent delivery at different temperatures.. so.. if you dont get consistent delivery at different temperatures then what temp do you calibrate at.. Ambiguous.. It also proves that putting the filament through the nozzle affects the delivery rate, so if you change the nozzle to a 0.5mm nozzle, then you will almost definitely get a different delivery length.. This is all based on slippage, and stopping slippage, but the thing is you will NOT get slippage if it is calibrated into free air WHEN YOU PRINT, because the slicer is calculating the quantity of filament needed to produce the length of extrusion, so when you are actually printing the filament is fed into the system at a different speed to get the correct flow rate from the nozzle, when you push filament through the system using the LCD you are feeding it in at an arbitrary rate which is not related to the flow calculations, that is why it slips, its being fed in faster than the nozzle can extrude and results in slipping but not when actually printing. I am going to comment on Chep's video and see if he would delve into it a bit deeper, I rarely accept someone saying "because thats the way you do it" I don't want to know HOW to do things I want to now HOW and WHY, and no one has provided the WHY, looking for the why has led me to the WHY NOT..
My thoughts on this: Cura's filament model, while simple, is adequate. Representing the extrude as a rectangle approximates the cross-sectional area with the empty areas in the corners being compensated by the excess outside the rectangle on the centre of the edges. PrusaSlicer's more complex model attempts to address the "real" physical properties of the extrude but your statement that the default flow rate multiplier is 0.95 in PrusaSlicer suggests that it fails to do this. The problem with any slicer is that extrudes are based on feed amount of filament entering the extruder not on material leaving the nozzle. There is an assumption that these correlate exactly but in practice this isn't the case. I tension my extruder adequately and use calculated e-step values which are well-known and published e.g. 93 for standard Creality gear/smooth idler type and 415 for 1:3 geared E3D Titan types. Given the imprecise relationship between extruder inlet feed and nozzle egress, an extrusion multiplier is required for most different filament types. I find I can use an extrusion multiplier of 1.0 (100%) for PLA and 1.03 (103%) for PET-G for both Cura and PrusaSlicer and achieve an accurate extrusion result based on observation of a solid top-layer infill. I would suggest that PrusaSlicer's use of enlarged line widths in the profiles to generate "real world accurate" features is what leads to the need for a 0.95 extrusion multiplier default. I set my line widths to the nozzle diameter in PrusaSlicer to allow the use of an extrusion multiplier of 1.0 (100%).
Yes absolutely agree with these assertions. It's always good to be mindful that the maths has to accommodate the somewhat "dirty" real world conditions. Which invariably involves "fudge factors" somewhere in the process
Great video (as usual)! I am commenting to say that I do see a real-world difference in the two methods of calculating E. I have used ideaMaker for years which uses the rectangle calculation like Cura. I wanted to learn OrcaSlicer, and my first prints are horribly underextruded. It may not matter in larger models, but I tried a set of calibration prints I created and they are terrible in PrusaSlicer. One example is an open-topped cube with 2 walls of 0.5mm each (layers 0.2mm tall). I should get a wall 1mm thick, but in Orca/Prusa, they are only ~0.8mm. Vase-mode prints are really thin, too. I exported gcode for the same model from ideaMaker, Cura, PrusaSlicer, and OrcaSlicer and found that Prusa and Orca extrude 9.4% less volume per line than Cura and ideaMaker (for my line width/height combination). When I did the math(s) presented here, that is exactly the difference between the two ways of calculating flow rate. If I increase flow rate by 109.4% in Prusa, my prints measure the same as ones in ideaMaker with flow rate at 100%.
top sausage, my comment may seem odd at first but please keep an open mind and look. 'Mig Welding' tutorials to be exact. if watch you may understand better the 'logic' behind speed of travel, filament (wire) feed rate and temp (amp), Im very very new to this form of printing. i was a traditional litho printer for many years as well as letter press and flexo print. also home welding and engineering. what has surprised me the most about this 3D printing is the decades and decade of applied industry science, mechanical, electrical, digital etc. my own profession of colour litho printing has parallels such as pressure changing the size of line widths, humidity affecting substrate (filament). my point being when looking for answers to situations / problems dont limit yourself to 3D plastic filament mechanical delivery systems with digital controllers all this , new tech, is built and grounded on centuries of development in all kinds of fields and sciences. keep up the excellent work I'm learning a lot from yourself as well as enjoying this new process. thank you.
The real difference between Slic3r-based slicers and Cura is actually kind of explained in the terminology used: Slic3r has "Extrusion WIdth", and Cura has "Line Width". Cura should really rename "Line Width" to "Line Spacing" IMHO. When Cura starts the next line, it moves the nozzle over by the amount that you specify in the Line Width, then effectively adjusts the actual Extrusion Width so that it fills the rectangular gap left between two walls, for instance. Slic3r does it differently: you specify the Extrusion Width, and it calculates the Line Spacing required to fill the gap left between two walls. That's why the results are the same, and also the reason that the 'single wall' flow calibration technique doesn't work with Cura. It's difficult to explain without diagrams, but just know that the two settings mean different things.
supersclicer (super) a fork of prusaslicer (prusa) explains the squish calculation when editing the line spacing. furthermore super could be the medium in which you can try and isolate the variables between cura and prusa since super lets you edit edit spacing and extrusion with instead of just extrusion with in prusa. i personally found the tolerances are by far easier to adjust in cura since you edit the extrusion with (or rather spacing with a predetermined expected volume) and flow rate (or rather adding a volume modifier). i have evidence of this by trying to print a cylinder with a hexagon in the middle (for an allen key) inside a hollow cylinder (or a tube) with just 0.1mm spacing between cylinder. in cura its easier to get all 5 dimensions calibrated and print things in place as one unit without fusing and still be able to slide in an allen key into the center since you have more control over your print. in cura, since its trying harder, has to assume the viscosity and temperature delta for all filaments and all temperature are the same across the board it's virtually impossible to calibrate. on all 4 slicers (including ideamaker) the model is fused together on purpose in the preview if you try to compensate via xy compensation if adjusted at best and at worse they throw off one of the 5 faces sending you into a rabbit hole. slic3r is stupid way too out of date, i thank the engineers for its development and their contribution to the technology but its a dead software.
Cura doesn't use a model which is based on adding half-circles. It is model agnostic. Instead the flow is supposed to be lower than 100% to account for those microgaps on top and bottom in between two lines. I'm guessing that the fact that it's by default not below 100% compensates for the material slippage in the feeder.
Can you go into the new Cura 13 fast print. CHEP did a video where he adapted Ultimaker only profile to Ender 3. I find it around twice as fast as my standard profile, yet I really can't see a quality difference. Not at least worth 2x the time. It has to do with very fast travel. But I'd like to know why. But I'm happy my Ender 3 is now twice as fast.
@@LostInTech3D Your vids are very clear and detailed. And when I say 2x faster, that is without increasing 50mm sec print speed. Partly, I'd like to understand what is going on inside the profile so I can adapt it to Prusa Slicer as well. Thanks.
I am afraid that the influence of the different filament diameter on the extruded volume has a much greater impact than the issue described here, because even a small change in is outer diameter has a significant effect on the volume conveyed. This influence is probably once again less relevant (1/100) when considering the two different implementations of the manufacturers than when comparing the effects of the different causes I have brought into play. (1/10) Only if the production of the filament is very precise and constant over the entire length of the spool, it can be assumed that one has to deal with this minor problem. (I have not calculated this).
Very interesting thank you. As for your challenge I suppose just increasing flow (significantly but up to whatever is reasonable for a given nozzle to handle, I haven't checked) will churn out thicker walls which provided they glue ok, would produce a much stronger result. Close?
Answering your questions I find it a bit too fast, I lower the video speed to 0.9x. Never knew that 'math' was American by the way... we foreigners just learn new words where we find them :) Actually printed today, yay! It's been more than 6 months I believe.
The word "math" isn't American per-se. It's just that Americans use this singular form while people in the UK say "maths" instead. Which does make some sense because it is short for "mathematics".
Stuff like this is invaluable because of a lack of formal documentation on 3d printing theory. I was dropped into 3d printing in a scientific role last year and it's pretty much the wild west and very few comprehensive technical papers and testing standards are available. Being able to get insight into the underlying behaviors of slicers is often overlooked in the literature and I think ripe for exposition.
I agree. These kind of vids are harder to do because I'm exposing myself to being wrong (haha) so it takes more research, but it's exactly the content I enjoy making most. So plenty more to come 👍
2 years ago when I bought my ender 3 I didn't think I would end up here looking into the math for slicers...But oh well I'm here and my non planar slicer needs to turn a bunch of separate well supported points into gcode so I guess tomorrow is digging through cura's source code day
Excellent! Love these technical deep dives. Would be interesting to see more on flow rate, for example, I've seen some interesting discussions on the volcano hot end vs Dragon or bi-metal heat break alternatives and debates on whether larger nozzle sizes makes it easier to push filament through or less. Your videos have been a massive help so far on understanding the technical side of things, keep up the great work!
Thanks for the feedback 👍
I will write that down, definitely sounds like something to look into..
@@LostInTech3D Interested to hear what your take is on calibrating E-steps/ flow.. Having followed the crowd who do e-steps through the hotend my e-steps went from defaiult 93 to 101 then default flow needed dropping to 94% in slicer..
Then I following some more technical advice channels and sites which stated e-steps is the physical relationship between step angle/ gear diameter which should be independent of the hotend and that the flow through the nozzle is the calibration of the flow rate in the slicer (which makes total sense to me).
Re-calibrating both this way I found that the default e-steps of 93 produced a filament length of exactly 100mm for a 100mm request, and then my calibrated flow rate for the slicer is back to 100% (or as close as makes no reasonable difference).
Its a contentious issue, suggesting that e-steps is nothing to do with flow rate and should therefore not be done through the nozzle which appears to be met with extreme resistance, but the facts in my case with ender 3 max definitely support this logic, and to me at least it just makes absolute sense.. IMO, it all kinda stinks of "monkey see monkey do" in the popular 3dprinting top level channels if you get my drift..
There's this doublethink going on, that e-steps is both some kind of constant that never changes, and that it also needs to be done with the hotend on because it changes, but of course it never changes regardless of print speed, temperature, material...
Meanwhile in the real world....
In his defence, CHEP did a thing on this not too long ago.
@@LostInTech3D Not seen Cheps take.. will go have a looksie..
My initial thoughts were that through the nozzle would result in different rates depending on the nozzle, which did not make sense, because the nozzle diameter is part of the flow calculation..
Basing delivery on what goes through the nozle then screws with that calculation, the calculation is working out the flow based on filament length and filament diameter being supplied to the hotend, and the layer CSA and length coupled with the nozzle diameter..
This is what led me into the rabbit hole, it just did not make any sense that after following the crowd I now had the printer delivering more filament to the nozzle, and had to lower the flow rate to compensate for that increased filament length..
Putting e-steps back to 93 then delivered exactly 100mm of filament, as requested, and re-calibrating flow resulted in 100% being the normal value.. which just makes complete sense..
@@LostInTech3D yeah.. cheps video kinda confirms what I think, though he then goes on to calibrate through the extruder because getting a consistent delivery at different temperatures.. so.. if you dont get consistent delivery at different temperatures then what temp do you calibrate at.. Ambiguous..
It also proves that putting the filament through the nozzle affects the delivery rate, so if you change the nozzle to a 0.5mm nozzle, then you will almost definitely get a different delivery length..
This is all based on slippage, and stopping slippage, but the thing is you will NOT get slippage if it is calibrated into free air WHEN YOU PRINT, because the slicer is calculating the quantity of filament needed to produce the length of extrusion, so when you are actually printing the filament is fed into the system at a different speed to get the correct flow rate from the nozzle, when you push filament through the system using the LCD you are feeding it in at an arbitrary rate which is not related to the flow calculations, that is why it slips, its being fed in faster than the nozzle can extrude and results in slipping but not when actually printing.
I am going to comment on Chep's video and see if he would delve into it a bit deeper, I rarely accept someone saying "because thats the way you do it" I don't want to know HOW to do things I want to now HOW and WHY, and no one has provided the WHY, looking for the why has led me to the WHY NOT..
I've been looking for a video like this. Finally
This was a fantastic video on a topic rarely discussed ... thank you sir
appreciate the feedback!
My thoughts on this:
Cura's filament model, while simple, is adequate. Representing the extrude as a rectangle approximates the cross-sectional area with the empty areas in the corners being compensated by the excess outside the rectangle on the centre of the edges.
PrusaSlicer's more complex model attempts to address the "real" physical properties of the extrude but your statement that the default flow rate multiplier is 0.95 in PrusaSlicer suggests that it fails to do this.
The problem with any slicer is that extrudes are based on feed amount of filament entering the extruder not on material leaving the nozzle. There is an assumption that these correlate exactly but in practice this isn't the case.
I tension my extruder adequately and use calculated e-step values which are well-known and published e.g. 93 for standard Creality gear/smooth idler type and 415 for 1:3 geared E3D Titan types.
Given the imprecise relationship between extruder inlet feed and nozzle egress, an extrusion multiplier is required for most different filament types.
I find I can use an extrusion multiplier of 1.0 (100%) for PLA and 1.03 (103%) for PET-G for both Cura and PrusaSlicer and achieve an accurate extrusion result based on observation of a solid top-layer infill.
I would suggest that PrusaSlicer's use of enlarged line widths in the profiles to generate "real world accurate" features is what leads to the need for a 0.95 extrusion multiplier default. I set my line widths to the nozzle diameter in PrusaSlicer to allow the use of an extrusion multiplier of 1.0 (100%).
Yes absolutely agree with these assertions. It's always good to be mindful that the maths has to accommodate the somewhat "dirty" real world conditions. Which invariably involves "fudge factors" somewhere in the process
Amazing video! We really appreciate your hard work in delivering great content like this
Great video (as usual)! I am commenting to say that I do see a real-world difference in the two methods of calculating E. I have used ideaMaker for years which uses the rectangle calculation like Cura. I wanted to learn OrcaSlicer, and my first prints are horribly underextruded. It may not matter in larger models, but I tried a set of calibration prints I created and they are terrible in PrusaSlicer. One example is an open-topped cube with 2 walls of 0.5mm each (layers 0.2mm tall). I should get a wall 1mm thick, but in Orca/Prusa, they are only ~0.8mm. Vase-mode prints are really thin, too. I exported gcode for the same model from ideaMaker, Cura, PrusaSlicer, and OrcaSlicer and found that Prusa and Orca extrude 9.4% less volume per line than Cura and ideaMaker (for my line width/height combination). When I did the math(s) presented here, that is exactly the difference between the two ways of calculating flow rate. If I increase flow rate by 109.4% in Prusa, my prints measure the same as ones in ideaMaker with flow rate at 100%.
top sausage, my comment may seem odd at first but please keep an open mind and look. 'Mig Welding' tutorials to be exact. if watch you may understand better the 'logic' behind speed of travel, filament (wire) feed rate and temp (amp), Im very very new to this form of printing. i was a traditional litho printer for many years as well as letter press and flexo print. also home welding and engineering. what has surprised me the most about this 3D printing is the decades and decade of applied industry science, mechanical, electrical, digital etc. my own profession of colour litho printing has parallels such as pressure changing the size of line widths, humidity affecting substrate (filament). my point being when looking for answers to situations / problems dont limit yourself to 3D plastic filament mechanical delivery systems with digital controllers all this , new tech, is built and grounded on centuries of development in all kinds of fields and sciences. keep up the excellent work I'm learning a lot from yourself as well as enjoying this new process. thank you.
The real difference between Slic3r-based slicers and Cura is actually kind of explained in the terminology used: Slic3r has "Extrusion WIdth", and Cura has "Line Width". Cura should really rename "Line Width" to "Line Spacing" IMHO. When Cura starts the next line, it moves the nozzle over by the amount that you specify in the Line Width, then effectively adjusts the actual Extrusion Width so that it fills the rectangular gap left between two walls, for instance. Slic3r does it differently: you specify the Extrusion Width, and it calculates the Line Spacing required to fill the gap left between two walls. That's why the results are the same, and also the reason that the 'single wall' flow calibration technique doesn't work with Cura. It's difficult to explain without diagrams, but just know that the two settings mean different things.
please keep making these thanks
You, and your presenting style, are mad as a box of frogs.. Just thought I would share that ;)
Yeah too much coffee on this one I think 🤣
@@LostInTech3D Well... keep on drinking it is my advice :D
7:35 "So far no math" he says, then goes in and maths me right in the back.....i feel betrayed
Love this technical stuff, well delivered 👌
supersclicer (super) a fork of prusaslicer (prusa) explains the squish calculation when editing the line spacing. furthermore super could be the medium in which you can try and isolate the variables between cura and prusa since super lets you edit edit spacing and extrusion with instead of just extrusion with in prusa. i personally found the tolerances are by far easier to adjust in cura since you edit the extrusion with (or rather spacing with a predetermined expected volume) and flow rate (or rather adding a volume modifier). i have evidence of this by trying to print a cylinder with a hexagon in the middle (for an allen key) inside a hollow cylinder (or a tube) with just 0.1mm spacing between cylinder. in cura its easier to get all 5 dimensions calibrated and print things in place as one unit without fusing and still be able to slide in an allen key into the center since you have more control over your print. in cura, since its trying harder, has to assume the viscosity and temperature delta for all filaments and all temperature are the same across the board it's virtually impossible to calibrate. on all 4 slicers (including ideamaker) the model is fused together on purpose in the preview if you try to compensate via xy compensation if adjusted at best and at worse they throw off one of the 5 faces sending you into a rabbit hole. slic3r is stupid way too out of date, i thank the engineers for its development and their contribution to the technology but its a dead software.
Just increase max width to w/e your nozzle can handle for stronger vase mode prints.
Cura doesn't use a model which is based on adding half-circles. It is model agnostic. Instead the flow is supposed to be lower than 100% to account for those microgaps on top and bottom in between two lines. I'm guessing that the fact that it's by default not below 100% compensates for the material slippage in the feeder.
Can you go into the new Cura 13 fast print. CHEP did a video where he adapted Ultimaker only profile to Ender 3. I find it around twice as fast as my standard profile, yet I really can't see a quality difference. Not at least worth 2x the time. It has to do with very fast travel. But I'd like to know why. But I'm happy my Ender 3 is now twice as fast.
I know exactly what you're talking about. I'll see if I can work it out.
@@LostInTech3D Your vids are very clear and detailed. And when I say 2x faster, that is without increasing 50mm sec print speed. Partly, I'd like to understand what is going on inside the profile so I can adapt it to Prusa Slicer as well. Thanks.
Very informative! Thank you!
The slic3r version of the width should be much, much better for calibrating flow if you're doing that by extruding some walls in vase-mode.
I am afraid that the influence of the different filament diameter on the extruded volume has a much greater impact than the issue described here, because even a small change in is outer diameter has a significant effect on the volume conveyed.
This influence is probably once again less relevant (1/100) when considering the two different implementations of the manufacturers than when comparing the effects of the different causes I have brought into play. (1/10)
Only if the production of the filament is very precise and constant over the entire length of the spool, it can be assumed that one has to deal with this minor problem. (I have not calculated this).
Very interesting thank you. As for your challenge I suppose just increasing flow (significantly but up to whatever is reasonable for a given nozzle to handle, I haven't checked) will churn out thicker walls which provided they glue ok, would produce a much stronger result. Close?
I suppose it would, but it's not the usual answer! 👍
@@LostInTech3D increase line width, maybe? For the same layer height it should not be too different?
Yep 🤣 I did a video on it already 👍
@@LostInTech3D just found it, thanks! This one though explains the previous, I reckon.
There's another on the way about this too 👍
cura fuzzy skin makes vase mode a lot stronger too
Wait...it does??
@@LostInTech3D thats what I see here yes
Ok I'm gonna look into that then! 👍
excellent!
Thanks!👍
Answering your questions I find it a bit too fast, I lower the video speed to 0.9x. Never knew that 'math' was American by the way... we foreigners just learn new words where we find them :)
Actually printed today, yay! It's been more than 6 months I believe.
good to hear, welcome back to the printing club!
The word "math" isn't American per-se. It's just that Americans use this singular form while people in the UK say "maths" instead. Which does make some sense because it is short for "mathematics".
+1👍 💪
I'm English!!!
Are you trying to exclude us Brits :(