UltiMaker uses functional, analytical and tracking cookies. Tracking cookies enhance your experience on our website and may also collect your personal data outside of Ultimaker websites. If you agree with the use of tracking cookies, click “I agree, continue browsing”. You can withdraw your consent at any time. If you do not consent with the use of tracking cookies, click “Refuse”. You can find more information about cookies on our Privacy and Cookie Policy page.
List of all G-Code Commands Cura (Marlin Flavor) will use when slicing?
Posted
· List of all G-Code Commands Cura (Marlin Flavor) will use when slicing?
STL files contain only triangles. No curves. So when a slicer slices a layer it finds the intersection of a plane with these triangles and ends up with a lot of lines. No curves. So cura creates no curves. No splines. So good news for you I guess.
I have completely rewritten the path planner for redeem (open source motion controller - runs on beagle bone black) so I'm very familiar with these. I've also looked at repetier host (open source - arduino hardware) and Marlin (open source - also arduino). I'm familiar with all these controllers.
One key thing is understanding the concept of what ALL of these path planners call "jerk" but is not jerk. It's "maximum instantaneous change in magnitude of motion". It's in mm/sec (or meters/sec in redeem). This sets the max junction speed. So for example if you are making tiny angle changes while printing a circle you can pass through the junctions (point at the end of each G0 or G1) at a high speed - maybe 100mm/sec. But if there is a 90 degree corner you have to slow down to 14mm/sec at the junction (assuming jerk is 20mm/sec). This is because if the head is moving 14mm in and out of the junction the change is the hypotenous or sqrt(14^2+14^2)=20
Another key concept is the "backwards planner". The arduino can only plan about 16 moves ahead (beagle bone black can do about 256 moves ahead). So you have to be able to stop. If you were moving at 300mm/sec on the final move which is say only 1mm long and then you stop, you will have a problem (skipped steps). So instead the planner makes sure you can always stop with the known next 16 steps (or so - depends how many steps are loaded into the planner at any given moment).
Posted
· List of all G-Code Commands Cura (Marlin Flavor) will use when slicing?
Thanks for the information! Also the clarification on jerk because I always assumed it was the mathematical definition of jerk and had no idea it was something entirely different! That also makes sense that its only linear commands because of your explanation of triangles which I definitely overlooked. This is all very intriguing info regarding the planner which I will definitely have to do more research into. Again, thanks for the knowledgeable info and insights.
Link to post
Share on other sites
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Here comes Cura 5.9 and in this stable release we have lots of material and printer profiles for UltiMaker printers, including the newly released Sketch Sprint. Additionally, scarf seams have been introduced alongside even more print settings and improvements. Check out the rest of this article to find out the details on all of that and more
We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
Recommended Posts
gr5 2,269
STL files contain only triangles. No curves. So when a slicer slices a layer it finds the intersection of a plane with these triangles and ends up with a lot of lines. No curves. So cura creates no curves. No splines. So good news for you I guess.
I have completely rewritten the path planner for redeem (open source motion controller - runs on beagle bone black) so I'm very familiar with these. I've also looked at repetier host (open source - arduino hardware) and Marlin (open source - also arduino). I'm familiar with all these controllers.
One key thing is understanding the concept of what ALL of these path planners call "jerk" but is not jerk. It's "maximum instantaneous change in magnitude of motion". It's in mm/sec (or meters/sec in redeem). This sets the max junction speed. So for example if you are making tiny angle changes while printing a circle you can pass through the junctions (point at the end of each G0 or G1) at a high speed - maybe 100mm/sec. But if there is a 90 degree corner you have to slow down to 14mm/sec at the junction (assuming jerk is 20mm/sec). This is because if the head is moving 14mm in and out of the junction the change is the hypotenous or sqrt(14^2+14^2)=20
Another key concept is the "backwards planner". The arduino can only plan about 16 moves ahead (beagle bone black can do about 256 moves ahead). So you have to be able to stop. If you were moving at 300mm/sec on the final move which is say only 1mm long and then you stop, you will have a problem (skipped steps). So instead the planner makes sure you can always stop with the known next 16 steps (or so - depends how many steps are loaded into the planner at any given moment).
Let me know if you have any questions.
Link to post
Share on other sites
tcoons 0
Thanks for the information! Also the clarification on jerk because I always assumed it was the mathematical definition of jerk and had no idea it was something entirely different! That also makes sense that its only linear commands because of your explanation of triangles which I definitely overlooked. This is all very intriguing info regarding the planner which I will definitely have to do more research into. Again, thanks for the knowledgeable info and insights.
Link to post
Share on other sites