Updating a Block Attribute field after copying block?

I have a simple “Room Tag” block that the user can change the room name and the room number. I can also associate a polyline with the block when I insert it such that it will calculate the area of that object. My issue is what if I copy that block or need to associate a new polyline with this. I cannot seem to find a way to update the association.

See image - in this example the Room Tag for Office 2 was copied using the normal copy command and is still referencing the area property of the rectangle on the left. There is a function notation (icon) that indicates this association but no way to re-associate this that I can find.

There is also an issue where if I manually type in the value for this property I lose the association and cannot reset it. I am aware there are scripts or grasshopper methods but I am wondering if there is a built in UI method that I am simply missing… it would be great if I could simply click on the function icon and get the same dialogue when inserting the block.

Any insight or help would be appreciated.

Hi Joel -

In the Rhino 8 WIP, you can double-click that fx icon and relink / redefine that value.

Thanks for the update. This is nice but will it also be backported to v7?

Hi Joel -

No, only regression and crash fixes are added to Rhino 7 at this point.

Is there an expected date for v8 in the near future? This seems a bit like a bug to me. You can create these but if something or someone rather breaks the link you cannot set them again and have to start all over…

Hi Joel -

No, there isn’t. I suppose there is a soft 2-year release cycle for major versions but that’s worth .2 $/€.

I don’t necessarily have any problems calling it that. There are hundreds, if not thousands, of bugs in Rhino 6. We draw the line somewhere. New work is always coded on the latest versions and when the code base between the stable release and the WIP versions gets larger and larger, chances increase that backporting will cause other issues on the stable release that lots of people depend on in their day-to-day work.

If starting over becomes very involved, the work-around would be to create a new text object and set that to the Area text field with the correct object and then copy that string before placing the text in the viewport. Then cancel that. Then, in the Attribute User Text panel for the block instance, paste the string that was placed on the clipboard.

An alternative, especially if you tend to copy those and not use Insert, would be to use a group instead of a block and use the TestMatchAnnotationFields command to create a copy of a text field and lets you pick a different reference object. It’s a test command and has its issues…

Thanks for this.