We are looking for a means of either preserving or keeping a record of the GUID history of geometric entities.
If a Brep or Extrusion geometry is modified, for example, if one of its faces is modified, or if a boolean operation is performed, then the GUID changes. I assume behind the scenes the geometry is disposed and a new element takes its place.
My question is, we need to be able to track this change as we are tracking the geometry in one of our apps. If the GUID changes it breaks our tracking so we need to know if there is a way to monitor the change.
Some ideas we’ve had and tested without any luck include:
- User Data - this is disposed after a boolean operation so not a solution.
- HistoryRecord - this (AFAIK) only tracks changes to inputs to geometry and doesn’t receive the command callback if the geometry object is modified (i.e. it has no inputs) so also not a solution.
Another untested idea which sounds hacky but might be the only way:
- Use the ObjectTable and event handlers to ‘listen’ to deleted geometry, then get the latest added object on the ObjectTable and do some gymnastics to try and link the event condition with the change to the ObjectTable and update the GUID in our app.
Is there a reliable way to do this? NamedPositionTable?