Open filipgoc opened 6 years ago
Sounds nice, but of course not all profile settings can always be applied. Most importantly, the layer thickness.
Cura could filter the profiles to only show those with the same "quality_type". That would alleviate the layer height issue, but you would still have things like bed temperatures, or bed adhesion, which cannot be set per model (or only when printing one at a time), so you would not get the full profile (and thus unexpected results).
Note that we wanted to do this already for Cura 2.0(-ish), but ran into the layer-height-and-other-settings-that-cannot-be-set-per-model-conundrum.
Well, there is the persistent issue that are sets of settings cannot be allowed on per-model-basis (both when printing layer by layer and object by object, though these sets differ).
But these are the same. The filter for allowing 'presets' is the same filter applied to settings to make the 'per-model-allowed-settings' subset.
From this perspective, it does not seem like much more work - the filter is the same. And if the filter is improved/ chnaged, both of these will be in sync.
So, one solution would be to have separate per-model-settings presets of course. But that could get out of hand. Complicate the thing. But also make in real terms more of a commonly used feature and less of a once in a while special tweak? Right now, it's just hard to re-use settings in this feature, which makes it a niche function.
But yes, the inconsistency makes one think. I guess what is desirable is not necessarily faithful equivalence to regular presets, but the ability to transfer per-model settings between projects and objects.
Use case one: I have multiple meshes. I go through the painstaking process of modifying pre-model-settings of some. Then, I acquire a new version of one of these meshes. I want to simply replace the mesh and keep the per-model settings. As of now, I'd have to re-create all the settings from scratch....
(This could be solved by copy and paste settings function.)
Use case two: Similar as above, whatever you want, but I want to transfer between projects...
(This would not work with copy and paste.)
My multi-material use case: There are many uses for per-model settings, especially once we get into infill and support meshes. I use this for one more thing - customized multi-material (not multi-color) printing. One of my classics is to print a layer of rubber directly onto PETG or something. It bonds insanely well, and makes a real difference for all sorts of mounting plates and knobs and levers. So, it would be great if I could have a general 'flex per model' set that I could re-apply.
Cura could filter the profiles to only show those with the same "quality_type". That would alleviate the layer height issue, but you would still have things like bed temperatures, or bed adhesion, which cannot be set per model (or only when printing one at a time), so you would not get the full profile (and thus unexpected results).
Apart from the issues you described, the user can also change the layer height in a custom profile without the quality_type
changing. Normally this custom profile is saved with one container for each extruder and global and applied to each stack at the same time, so the layer height is then correct even if the layer height is different from what it would normally be for that quality_type
. But if the quality_type
is unchanged but the layer height was different, then you could still have different layer heights per model which then fails to slice as such.
But these are the same. The filter for allowing 'presets' is the same filter applied to settings to make the 'per-model-allowed-settings' subset.
Not really. The filter for allowing to change settings per model is to check the "settable_per_model" metadata item. The filter for allowing to select custom profiles per model would be something like "all of the settings that get overwritten by this profile are settable per model", which will need a new routine.
Use case one: I have multiple meshes. I go through the painstaking process of modifying pre-model-settings of some. Then, I acquire a new version of one of these meshes. I want to simply replace the mesh and keep the per-model settings. As of now, I'd have to re-create all the settings from scratch....
If you refresh (F5) then I'd expect the per-object settings to remain in place. I just tested that and it seems to work correctly.
If you refresh (F5) then I'd expect the per-object settings to remain in place. I just tested that and it seems to work correctly.
@Ghostkeeper wait, is there a 'replace mesh' somewhere? That would be amazing. I don't see it in the menu nor in the rightlick menu.
For me, replacing simply meant
F5 causes the mesh to reload from file, replacing the model in Cura in place. If you had a mesh on your build plate, positioned in just the right way, scaled, rotated, per-object settings, whatever, it would retain all of that but use the new file as source (so the new file also gets rotated and such). It's under the context menu called "Reload All Models".
It doesn't work for project files though and also not for images.
It would be great if we could simply select a different printing profile (preset) per model instead of having to select all the parameters we want to modify and in what ways.
I'm not sure if I need to argue more to provide use cases etc. It seems pretty self-evidently useful, but maybe it's just me.
Happy to elaborate if this gets no ❤️