I have a small Object Plugin which is reading data from a Measure&Contruct Object.
So a small example:
The plugin has a Baselist Link where you can insert a Measure&Construct-Object.
And it is reading the positions of point1, point2 and point3 from this object.
Then internally it creates splines and objects depending on this positions and so forth.
I set the cache optimization to True with self.SetOptimizeCache(True) in my init() method.
When the user now changes the measurement and distances of the Measure Object. The plugin instance does not update. Obvious because it is not part of the description.
How can I dedect or catch the right Message Data from the Measure Object to force my plugin to react on changes and to update?
So first I tried to catch a global message from the viewport which i readed out with print() and wrote the last points-position to a member-variable and if the user changed the distance of the Measure-Object he catched a message and compares the actual positions with the previos positions and if they differ I sent a node.Message(c4d.MSG_CHANGE). And wright the new position to the variable.
But this just worked for origin point of the Measure Object but not for point2 and point3.
Otherwise the user has to press "A" Key on the Keyboard to refresh the Editor View or I implement a Refresh Button.
But it's tiresome for users to keep hitting refresh or A all the time.
Thanks and best regards