Thanks for the suggestion!
I haven’t tried that yet. It feels a bit dirty essentially implementing my own .Id across the application. If that was my own suggestion I would think I was doing something wrong
Do you think it’s fast enough to do that everywhere? I make quite extensive use of DocEvents such as selection-, addobject-, removeobject, etc. already and they all use the “real” id. Querying for the UserData Id all the time sounds slow, but it might not be?
The RhinoDoc.AddRhinoObject event, etc. triggers on BlockEdit enter, and exit for all objects in the Block, and original Doc respectively. I ended up relying on them, and just doing the bookkeeping required to handle it.