Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
znib

Estimated times are too short

Recommended Posts

My times aren't off by *that* much. Cura assumes the machine will print at the speed you choose so it adds up all the line segments and assumes the speed you chose e.g. 100mm/sec.

Marlin takes the gcodes and limits the speed based on things like acceleration chosen and other factors (something Marlin calls "jerk" but is in fact instantaneous differential velocity vector change). So if you have lots of long moves it tends to be accurate but if you print something small, then those short segments never get up to the full, asked-for speed and it takes longer to print than Cura thought it would.

 

Share this post


Link to post
Share on other sites

Yes, it is quite disappointing when you have been told that something takes 3 hours to print but in fact you will go to bed 3 hours áfter that.......

But i understand David's problem (it is actually hard to calculate the time of the instantaneous differential velocity vector changes with so many -different- movements) and the fact that he wants to focus on other improvements first.

However, looking at Git, one could try to build a simple db as a plugin with estimated and actual times and calculate some correction factor. So the more you print, the better the estimate gets. But then again, it will remain a guess. An educated guess, but still inadequate at some level. It would be more like a workaround, not a solution.

 

Share this post


Link to post
Share on other sites

I find Cura is not far off with printing estimates,

I have printed some large objects, and after slicing I get a estimate of, say 40hours, but when I start to print the window gives a much larger estimate like 75Hours,

but after around 30mins this goes back down a lot, and I must say that the original estimate is not far off :)

after printing a lot of objects I have a pretty good idea what the total duration will be,

and longer print times are more accurate the the short prints.

 

Share this post


Link to post
Share on other sites

I think it's "large objects have more accurate times than small objects".

Cura would have to know your 3 acceleration parameters (XY, Z, Extruder) and your XY Jerk and your maximum accel and velocity and default velocities (xy, z, extruder). Knowing all that, and assuming you are using Marlin, and knowing which version of Marlin it is (most seem to calculate speeds the same way), Someone could duplicate the Marlin logic and figure out how fast Marlin will print each of thousands (hundreds of thousands possibly) segments, then add those all up and get a very very accurate result.

But it's not worth it. There are so many other features that haven't been done yet that are more important. Like for example Marlin needs a simulator that can take in the viscosity of your filament and the nozzle size and other factors and predict the delay response between when you speed up the extruder and when the filament actually comes out. Marlin should then reverse the process and ask for more filament before it needs it and stops it before it wants it to stop and so on to have the exact right amount of filament all the time instead of under extruding at the begining of every segment as it is speeding up and over extruding at the end of every line segment.

Also cura should do variable layers - thinner layers on the tops of sphere's for example.

That's just 2 of 100s of features that are more important than working out how long a print will take.

 

Share this post


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!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!