Why do nested Block Instance GUIDs change when the parent Block is edited?

Steps to reproduce:

  1. Create a Block with a nested Block
  2. Edit parent Block
  3. Select and look at Instance ID of nested Block
  4. Exit Block Edit
  5. Edit parent Block again
  6. Select and look at Instance ID of nested Block, it has changed.

I was hoping that the IDs were persistent for tracking purposes.

Hello - I see that, I don’t know what the process is but presumably on editing a block a new block is created, under the hood, with new instances internally. You can try adding UserText to the instances as a marker - that persists.

-Pascal

I believe it is this bug:

https://mcneel.myjetbrains.com/youtrack/issue/RH-47128

It exists in Rhino 5 also.

No doubt, but there is no longer development in v5 going on.

understood. I’m perfectly fine with that.

Apologies for resurrecting an old topic, but it appears this behavior is still happening in Rhino 7 and it wasn’t clear to me that the Youtrack issue was solved. When I repeat the OP’s steps above, the block instance ID of the nested block changes.

This behavior breaks text fields that reference attribute user-text of nested blocks. Here is my use case:

Is there any other way to reference a block with a textfield, other than the ID? (preferably that I could just copy-paste into the textfield where the ID would normally go):

%<UserText(“0c89dd16-78f4-4466-a74f-41417f3509c2”,“SIZE LEAF”)>%

Thank you for bringing this back up! Either this bug is too hard, slipped through, or not enough people think it’s a problem. I’m so tired of tracking my own UUID’s on all blocks due to this one issue. I’d love to see this prioritized.

I don’t know how this is supposed to work, I defer to @JohnM.