Jump to content
RandyRascal57

Cura Engine + Desktop Giving Different Results

Recommended Posts

Posted · Cura Engine + Desktop Giving Different Results

Good day, 

Long time "lurker" but new member to the forum. Also a long time CURA user. 

I have come across the need to start using the CURA Engine (Console) version to slice and extract the print time and some other material/dimensional data information from a large list of STL, OBJ, and 3MF files. I am using the output from the CURA Engine as a check against the desktop version to make sure I am getting the same numbers for a few of the files in the list as a check before processing all the files. The process I have used is to get a log file from a sliced part in the desktop version with all the parameters that I need and then pass that log file to the CURA Engine to have the same parameters for the slicing of the rest of the files in the list. 

I have noticed that there are some files that give exactly the same print time, material volume, and support volume results for both CURA Engine and Desktop versions, but then there are other files that do not give any of the same results between CURA Engine and desktop using the same log file and print parameters? Am I missing something or doing something wrong by using this process? 

Any help would be greatly appreciated!

 

Thank you, 

Randy

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results

If you use the settings as printed in the logs to start the engine than those results should be the same.

 

Could you provide us with a project file of one of those models where the estimates are different?

Share this post


Link to post
Share on other sites
Posted (edited) · Cura Engine + Desktop Giving Different Results

nallath, thanks for the reply!

 

22 hours ago, nallath said:

Could you provide us with a project file of one of those models where the estimates are different?

 

Sure, I will give you two examples... I am using CURA 4.0.0 Extruder 1: Part material PLA 1.25g/cm^3, Extruder 2: Support material PLA 1.25g/cm^3 for both. curaprofile attached. I have followed the exact same procedure for both of these files. 

1.) Here is the first example that I did that I got exactly the same results from the CuraEngine and the Desktop Version:

File: Box Version 2.stl
Log file: Box Version 2 log file.log

G code: Box Version 2 gcode.gcode
Desktop Results: 

Extruder 1: 66g part material
Extruder 2: 1g support material
Print Time: 6 hours 30 mins 
1586457835_BoxVersion2CURADesktopSlice.thumb.png.b922f68fb564adba4d49c2f0ca13bf1f.png

CURAEngine Results:
Extruder 1: 53.09cm^3 * 1.25g/cm^3 = 66.36g part material
Extruder 2: 0.44cm^3 * 1.25g/cm^3 = 0.55g support material
Print Time: 6 hours 30 mins 14 sec

1181651467_BoxVersion2CURAEngineSlice.PNG.975e9c21ebcbac7bd03fe2d1ad66902c.PNG


From the results above we can see that they are the same! 

 

 

2.) Here is the second example that I did that I got completely different results from the CuraEngine and the Desktop Version:

File: Kimatica Mask.stl
Log file (same as above, or at least it should be according to a compare with notepad++): Kimatica Mask log file.log

G code: Kimatica Mask gcode.gcode

Desktop Results: 

Extruder 1: 94g part material
Extruder 2: 48g support material
Print Time: 21 hours 16 mins 

1709978691_KimaticaMaskCURADesktopSlice.thumb.png.1dbf035b464063b6d9ef2e4a3287dac5.png

CURAEngine Results:
Extruder 1: 27.46cm^3 * 1.25g/cm^3 = 34.33g part material
Extruder 2: 21.31cm^3 * 1.25g/cm^3 = 26.64g support material
Print Time: 8 hours 36 mins 32 sec

1654241132_KimaticaMaskCURAEngineSlice.PNG.b388ed5f48225a861cbf5593770f41de.PNG

 

From the results above we can see that they are not the same using the exact same process for both files.

 

Thanks for your help,

Randy
 

Box Version 2 CURA Desktop Slice.png

Box Version 2 CURAEngine Slice.PNG

Kimatica Mask CURA Desktop Slice.png

Kimatica Mask CURAEngine Slice.PNG

Box Version 2.stl Box Version 2 log file.log Box Version 2 gcode.gcode Kimatica Mask.stl Kimatica Mask log file.log Kimatica Mask gcode.gcode

Custom Profile Setup.curaprofile

Box Version 2 CURA Project File 3mf.3mf Kimatica Mask CURA Project File 3mf.3mf

Edited by RandyRascal57

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results

Been doing some more testing....

It seems to me that the engine is doing exactly what it is told to do, which makes me think there is some kind of pre-processing to the file in the CURA front end before it is sent to the CURAEngine? About 50% of the files I have tested so far give the same results between CURA desktop and CURAEngine. The remaining 50% are split, where 25% give the proper material volume but incorrect support volume while the remaining 25% DO NOT give any correct volumes or print times? 

Any ideas??

Thanks, 
Randy

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results

The frontend does re-position the model so that all of it is above the build plate. Anything below the buildplate is cut off by Cura.

 

That would explain why it does work for some models (eg; those models had no vertices below the buildplate).

 

 

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results

nallath, 

Thank you for the response! A bit more digging with the right guidance I was able to find the answer:

https://github.com/Ultimaker/CuraEngine/issues/632

The only issue I am now having is with models that have been exported in a unit other than mm... for example cm or inches. Is there a command or something for the CURAEngine side of things to scale the model before it is sliced with CURAEngine? 

Thanks for your help again,

Randy

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results

Another thing I noticed is that CURAEngine seems to have a difficult time loading particular models. Using the desktop version the attached model will load and slice just fine, but using the Command line, the CURAEngine just gives the error: 'not able to load model 20 hex3d-hair-unicorn-singleextrusion.stl' There seem to be about a 5% fail rate for the CURAEngine model load?

Any help wit this would be greatly appreciated as well.

 

Thanks,

Randy

20 hex3d-hairy-unicorn-singleextrusion.stl

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results

Well, the frontend and the engine have different model loading code. The backend one isn't used that often, so I'm not that suprised that it works less well.

As for the scaling, it's possible to provide a homogenous transformation matrix with the model which allows for scaling.

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results
21 hours ago, nallath said:

Well, the frontend and the engine have different model loading code. The backend one isn't used that often, so I'm not that suprised that it works less well.


So that would mean that the model that is "passed" to the CURA Engine from the front end of CURA  is technically not the same model that you would load with the command line using the -l command? Is that why OBJ and 3MF files won't load directly from the command line but will load and slice from the CURA front end? If so, this must mean a temporary part file is created after any pre-processing done by the front end of CURA and passed through by the socket? Or would that be an incorrect assumption to make?

 

21 hours ago, nallath said:

As for the scaling, it's possible to provide a homogenous transformation matrix with the model which allows for scaling.

 

Hmm.. This is something that would be new for me, do you have any resources or guidance on where to start with that?

Thanks,
Randy.

Share this post


Link to post
Share on other sites
Posted · Cura Engine + Desktop Giving Different Results
On 7/30/2019 at 7:25 AM, RandyRascal57 said:

So that would mean that the model that is "passed" to the CURA Engine from the front end of CURA  is technically not the same model that you would load with the command line using the -l command?

Correct. The front-end loads the models and puts them in memory. The data that is in memory is sent to the engine.

 

On 7/30/2019 at 7:25 AM, RandyRascal57 said:

Is that why OBJ and 3MF files won't load directly from the command line but will load and slice from the CURA front end?

Yes

 

On 7/30/2019 at 7:25 AM, RandyRascal57 said:

If so, this must mean a temporary part file is created after any pre-processing done by the front end of CURA and passed through by the socket?

There is a bit more than just that going on, but that's the gist of it yeah.

There are a few settings that are only used when slicing from the comand line interface (you set them the same way as you set the other ones). You can find them in the fdmprinter.def.json file in the "command_line_settings" category

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

×
×
  • Create New...

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!