The process to overwrite parameters is a bit complex, and depends of the 'Retain Value Mode' (a selector included in the parameter).
This behaviour is used both for the Library, and for 'Copy Style' operations:
- Local: the value of the parameter (and its type) is preserved, and never overwritten.
- Global: parameter is always overwritten.
- Auto: if parameter has been modified from its default value, it's preserved (as Local mode). If not, overwritten (as Global mode).
We use this procedure as a smart way to preserve values of parameters, which have been modified by the user.
In this case, if you want to overwrite always a specific parameter, just set 'Retain Value Mode' to Global (in the model stored in Library).
Side point that if you have 100 objects using a profile, and you re-apply a profile to one of those objects they all get updated. However, if you disable all apart from the object you are using, and then re-enable them later, the process is hugely quicker.
Ok, we'll check it. Probably the object is updated multiple times, when their parameters are overwritten by the library item. I guess that may be optimized.