Application Version
3.3.1
Platform
Windows 10
Printer
Tevo Tornado
Expected results
Flow setting should be put in Material Profile. The main reason is that flow/extrusion rate is more dependent on the material being used. Putting it in regular print profile would cause user to create several profiles or modify current profile to match the flow setting.
All settings are in the place that we think they should be and work best for the profiles we create. We're probably not going to change this anytime soon.
You can now define the Flow setting in a material profile but only when modifying the XML files by hand, not via the interface.
Can you tell me where I can find the XML file? I've been digging through the configuration folder but cannot find it.
The built-in XML files will be in your installation. For instance: C:/Program Files/Cura 3.5/resources/materials. The custom XML files will be in your configuration folder (go in Cura to Help -> Show Configuration Folder...) under the folder materials.
I've managed to patch my current installation, here are the instructions https://gist.github.com/knoopx/0f600cfdd14863f45f4e90842688e888. However it would be nice to have this on by default.
BTW If anyone finds this via search and cannot make it work:
To add material_flow or other _extended let's say_ settings, you need to follow the settings are described in this PR
https://github.com/Ultimaker/Cura/pull/2333#ref-issue-333852978 it it won't work for you!
In short, there's one more namespace declaration
<fdmmaterial xmlns="http://www.ultimaker.com/material" xmlns:cura="http://www.ultimaker.com/cura" version="1.3">
And corresponding
<cura:setting key="material_flow">66</cura:setting>
However it would be nice to have this on by default.
Just want to say I 100% agree with you.
I know the Ultimaker team/ Chris has said that this is undesirable... I guess I cannot but completely disagree (alternatively I'm more than happy to hear their reasoning.)
In fact, I would argue that changing the flow for the material is the _one thing_ that a user may want to do at home as a part of a basic calibration procedure. Every manufacturer makes slightly different effective diameter... and this is the most natural place to calibrate it (even though it can be done in many other places.)
You can adjust the material diameter already (in the Information tab), which is a more natural way to adjust for variations in the material diameter.
Natural way or not, the flow is always dependant on the material, thus it shoul be customized per material, like with any other slicers (Slic3r, Slic3r Prusa Edition, Simplify 3D).
Cura is the only slicer that puts the flow as a global setting.
@Ghostkeeper I am not sure I see it. Would you please elaborate on what does 'natural' mean in the context? Easier? More accessible? Less obfuscated by the UI?
Do people in general feel the current split of material/ quality settings is the best there can be? For me it's always been something to live with under Cura, but not something that is in a desirable or logical state. It's interesting for me to consider there may be others who think it is as it should be and that even if we have all the time and resources there's no reason to change anything. Please change my mind - I'm open to arguments.
Let me make a case for flow in the filament section once more. I'll try to tie it all together. Sorry for the length.
PS: Again, I completely understand that not everything is or should be a priority. I'm just trying to see now whether there is plainly a philosophical difference rather than resource allocation issue.
I am working on a plugin that will let the user specify which settings to add to the material profile on the Materials pane of the preferences.
@fieldOfView great!
The initial proof of concept is here:
https://github.com/fieldOfView/Cura-MaterialSettingsPlugin
Sofar, it simply adds the flow setting. I still want to make the settings configurable (so it is also possible to get eg Linear Advance settings in there with the Linear Advance Setting plugin)
I am working on a plugin that will let the user specify which settings to add to the material profile on the Materials pane of the preferences.
Of course you are. Haha. You've been the one pushing this capability forever. Awesome.
Natural way or not, the flow is always dependant on the material, thus it shoul be customized per material, like with any other slicers (Slic3r, Slic3r Prusa Edition, Simplify 3D).
Cura is the only slicer that puts the flow as a global setting.
Cura has two settings. One that indicates which material diameters an extruder is capable of handling (in the Machine Settings dialogue) and one that indicates what diameter a filament actually has. The last one is a normal slicing setting and could be customised in the material files. Our interface only allows you to save slicing settings to custom profiles though (with a few exceptions), which is what fieldOfView's plug-in would amend until we're redesigning that page ourselves. Likewise, flow is also just a normal slicing setting, which is settable per extruder, per material, per nozzle, per build plate type, per object, per quality, etc.
Likewise, flow is also just a normal slicing setting, which is settable per extruder, per material, per nozzle, per build plate type, per object, per quality, etc.
no, the flow is not settable per material, but only as global parameter. You don't have flow in the material page...
Our interface only allows you to save slicing settings to custom profiles though (with a few exceptions), which is what fieldOfView's plug-in would amend until we're redesigning that page ourselves.
no, the flow is not settable per material, but only as global parameter. You don't have flow in the material page...
There's just no UI for it... that's the whole debate :-)
Technically, all cura settings are settable through the material XML now... question is, which _should_ be.
@Ghostkeeper Nice. I didn't realize there were two diameters. The nominal and the real one. That makes sense. And yeah, ideally, _material flow_ would be a different parameter from _quality flow_ and they would both be their own multipliers... but a simple override is ok for the defaults.
Thanks to all for the discussion. It's nice to see that indeed the current state of things is not the end.
So, the current suggested way to change the flow based on the filament is to change the filament diameter in the material settings ?
I've set, as a test, the filament diameter to 1.80 and sliced a thin wall test. Each wall was 0.45mm thick. Then I've reverted back to 1.75 and resliced the thin wall test. I would expect thicker walls as the filament is bigger than 1.75. The walls are still 0.45 thick.
Now I'm printing with 1.75 as diameter and 96% as flow (like I do with Slic3r and Simplify3D). Walls are 0.40 as they should be. So, something doesnt' work as expected.
I'm missing something ?
I've set, as a test, the filament diameter to 1.80 and sliced a thin wall test. Each wall was 0.45mm thick. Then I've reverted back to 1.75 and resliced the thin wall test. I would expect thicker walls as the filament is bigger than 1.75. The walls are still 0.45 thick.
You mean the actual line diameter after printing? Perhaps the 0.05mm extra are just from your nozzle being worn out or something. Or from the shape of your bead not being rectangular. Or from printing too slow. Or from printing too hot. It could have numerous different reasons.
Do you see anything wrong in the g-code? If you calculate the difference in E value, does that result in the expected line in the volume? Is layer view showing the correct line width when you load the g-code back in?
No, I mean the real filament diameter, directly from the spool, not the extruded part. Setting 1.75 or 1.80 in the material configuration doesn't change the gcode. Seems to be a "reminder" value not used for calcs in gcode generation
In example: sliced an xyz cube with a 1.75 filament (set as 1.75 in the material configuration).
Then i've changed the filament diameter from the same material configuration, Cura doesn't ask for a new slice, so it doesn't use the filament diameter set in the material setting. Even by moving the part around the plate, to force a new slice, doesn't change the extrusion amount in the gcode.
So, as the flow is not per-material but a global setting, which is the official and current support way to set the filament diameter (or filament flow) for each filament ?
I'm not able to reproduce your bug. I've sliced a cube twice, once with my filament diameter set to 2.85mm and once with my filament diameter set to 3mm. It does reslice, and it produces different results. The lower E value in the 3mm version is to be expected since the printer understands E to be filament length.
So, as the flow is not per-material but a global setting
No, flow is per object and per extruder. It's not just global-only.
which is the official and current support way to set the filament diameter (or filament flow) for each filament ?
Under the <properties> tag in the material file, set the <diameter> to the diameter of the filament.
I have created a plugin that lets the user select which print settings are available on the Materials pane of the preferences. It is still a bit rough, but an initial version can be downloaded here:
Cura 3.5/3.6: http://files.fieldofview.com/cura/MaterialSettingsPlugin-v5.0.0-2019-04-27T19_48_03Z.curapackage
Cura 4.0: http://files.fieldofview.com/cura/MaterialSettingsPlugin-v6.0.0-2019-04-27T19_48_03Z.curapackage
After downloading, just drop the file into a running Cura window, and restart Cura when requested. By default, the plugin adds the Flow setting to the Print Settings tab of materials on the Materials pane of the preferences.
The plugin also adds a dialog to configure additional settings to be included in the material Print Settings, see Extensions -> Material Settings -> Configure Material Settings. Using that dialog it is possible to add other settings such as Z Offset or Linear Advance Factor if you have the respective plugins for that installed.
@fieldOfView Your plugin is super useful, I hope you submit it to the Marketplace soon. I no longer need to clone print quality profiles per material type, woot!
@fieldOfView I install and try your plugin with Cura 4.0. It's working for adding the flow rate to the material profile, but Cura crash if I also add the flow on the first layer.
here are the log :
Traceback (most recent call last):
File "X:4.0buildinstlibpython3.5site-packagesUMSettingsModelsContainerPropertyProvider.py", line 75, in setKey
File "X:4.0buildinstlibpython3.5site-packagesUMSettingsModelsContainerPropertyProvider.py", line 135, in _update
File "X:4.0buildinstlibpython3.5site-packagesUMSettingsModelsContainerPropertyProvider.py", line 154, in _getPropertyValue
File "X:4.0buildinstlibpython3.5site-packagesUMSettingsSettingDefinition.py", line 520, in settingValueToString
File "X:4.0buildinstlibpython3.5site-packagesUMSettingsSettingDefinition.py", line 670, in
TypeError: type SettingFunction doesn't define __round__ method
`Thread 0x000082f8 (most recent call first):
File "X:4.0buildinstlibpython3.5site-packagesUMBackendBackend.py", line 169 in _storeStderrToLogThread
File "threading.py", line 862 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00008328 (most recent call first):
File "X:4.0buildinstlibpython3.5site-packagesUMBackendBackend.py", line 161 in _storeOutputToLogThread
File "threading.py", line 862 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00008a34 (most recent call first):
File "C:Program FilesUltimaker Cura 4.0pluginsUSBPrintingUSBPrinterOutputDeviceManager.py", line 86 in _updateThread
File "threading.py", line 862 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00007fa0 (most recent call first):
File "threading.py", line 297 in wait
File "zeroconf.py", line 1569 in wait
File "zeroconf.py", line 1153 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00003408 (most recent call first):
File "threading.py", line 297 in wait
File "zeroconf.py", line 1569 in wait
File "zeroconf.py", line 1017 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00008680 (most recent call first):
File "zeroconf.py", line 946 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00009264 (most recent call first):
File "threading.py", line 297 in wait
File "threading.py", line 549 in wait
File "C:Program FilesUltimaker Cura 4.0pluginsUM3NetworkPrintingsrcUM3OutputDevicePlugin.py", line 344 in _handleOnServiceChangedRequests
File "threading.py", line 862 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x000099c8 (most recent call first):
File "C:Program FilesUltimaker Cura 4.0pluginsRemovableDriveOutputDeviceRemovableDrivePlugin.py", line 61 in _updateThread
File "threading.py", line 862 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x0000539c (most recent call first):
File "threading.py", line 293 in wait
File "threading.py", line 424 in acquire
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 86 in _nextJob
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 112 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00009884 (most recent call first):
File "threading.py", line 293 in wait
File "threading.py", line 424 in acquire
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 86 in _nextJob
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 112 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x000088e0 (most recent call first):
File "threading.py", line 293 in wait
File "threading.py", line 424 in acquire
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 86 in _nextJob
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 112 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Thread 0x00006584 (most recent call first):
File "threading.py", line 293 in wait
File "threading.py", line 424 in acquire
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 86 in _nextJob
File "X:4.0buildinstlibpython3.5site-packagesUMJobQueue.py", line 112 in run
File "threading.py", line 914 in _bootstrap_inner
File "threading.py", line 882 in _bootstrap
Current thread 0x00007e50 (most recent call first):
File "X:4.0buildinstlibpython3.5site-packagescuraCrashHandler.py", line 306 in _logInfoWidget
File "X:4.0buildinstlibpython3.5site-packagescuraCrashHandler.py", line 156 in _createDialog
File "X:4.0buildinstlibpython3.5site-packagescuraCrashHandler.py", line 77 in __init__
File "X:4.0buildinstbincura_app.py", line 98 in exceptHook
File "X:4.0buildinstlibpython3.5site-packagesUMQtQtApplication.py", line 324 in exec_
File "X:4.0buildinstlibpython3.5site-packagescuraCuraApplication.py", line 761 in run
File "X:4.0buildinstbincura_app.py", line 132 in
File "Console.py", line 24 in
File "
File "
File "
File "
File "__startup__.py", line 12 in
File "
File "
File "
File "
`
Cura crash if I also add the flow on the first layer.
Please describe more carefully what you are doing. Are you changing a setting? When does the crash occur?
I just add the parameter 'Initial Layer Flow' and when I go to the material profile management, cura crashes as soon as I clic on the tab 'Print Settings' with messages given before.
If I relaunch Cura and return to the material profile behaviour, Cura crash again when going on the 'Print Settings' tab. Avoiding crash only occurs when desactivate the 'Initial layer Flow' parameter.
So, to be clear, you add the "Initial Layer Flow" setting to the list of material settings using my plugin, right? I'll look in to it.
Yes and it crashes at soon as I go in the material profile management (when clicking on the ‘Print Settings’ tab)
De : Aldo Hoeben notifications@github.com
Envoyé : Tuesday, May 28, 2019 8:50:22 AM
À : Ultimaker/Cura
Cc : zebons; Comment
Objet : Re: [Ultimaker/Cura] [3.3.1] Flow Setting in Material Profile (#3946)
So, to be clear, you add the "Initial Layer Flow" setting to the list of material settings using my plugin, right? I'll look in to it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/Ultimaker/Cura/issues/3946?email_source=notifications&email_token=AMFOOG5J5F6RRVPHR46NEQTPXTI25A5CNFSM4FFMRONKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWLELAA#issuecomment-496387456, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMFOOG76TA3LPO35A7UKU4TPXTI25ANCNFSM4FFMRONA.
I can't reproduce this.

Can you open a new issue at https://github.com/fieldOfView/Cura-MaterialSettingsPlugin/issues ?
Strange... I have to reinstall Cura completely on one computer. I’ll do test after that fresh install and I’ll open a new issue if I always have the pb
hello,
I integrated the plugin LIN-ADVANCE (# 3946) but in version 4.0 of CURA, this plugin does not appear and I do not know why. Can you help me please.
very much
Andrew
The plug-in is probably outdated then, Andrew. You'll need to download a new version of it. You can find it in the Marketplace (button in the top right corner).
Most helpful comment
I have created a plugin that lets the user select which print settings are available on the Materials pane of the preferences. It is still a bit rough, but an initial version can be downloaded here:
Cura 3.5/3.6: http://files.fieldofview.com/cura/MaterialSettingsPlugin-v5.0.0-2019-04-27T19_48_03Z.curapackage
Cura 4.0: http://files.fieldofview.com/cura/MaterialSettingsPlugin-v6.0.0-2019-04-27T19_48_03Z.curapackage
After downloading, just drop the file into a running Cura window, and restart Cura when requested. By default, the plugin adds the Flow setting to the Print Settings tab of materials on the Materials pane of the preferences.
The plugin also adds a dialog to configure additional settings to be included in the material Print Settings, see Extensions -> Material Settings -> Configure Material Settings. Using that dialog it is possible to add other settings such as Z Offset or Linear Advance Factor if you have the respective plugins for that installed.