%setcustom "Name" = "TheNewName" $ object will be generated with new name, $ but UML model gets unmodified %object O O = %current O.Name = "TheNewName" $ same as above (model not modified) %modelsetcustom "Name" = "TheNewName" $ object will be generated with new name $ and model is really changed
With TDK, %setcustom does not write to the model, even if it changes the attribute value inside the ACS cache. TDK/ACS are not intended for changing the model. If a model modification is absolutely needed, %modelsetcustom does that.
Model attributes changed with %setmodel (or with the object.attribute notation) are reset to their original value before the next generation takes place ('next' means the generation after the one that changed the value with %setcustom).