User Attributes for Block Objects

Is there a way to pass a user value from a block instance to an object inside? here is an example of what I want.

I have a block with some surfaces inside. The block instance has user data of <Color, purple>, <Thickness, 5>, and <Boarder, True>. Each of the surfaces as user data keys of and without any values. I want to pass the Color and Thickness values from the block instance to the surfaces inside, since I will have other instances where my user data will be <Color, Green> and <Thickness, 1>. Is there a way to do this so I can use the same block with just different instances?

Hi Cameron - I do not know of a way in plain Rhino, but it looks like a script can do it, I’ll have a look. It would of course change all instances’ contents for a given block and for all blocks where that geometry is used.
@cameronbehning , do you want to copy all keys and values, only ones for which keys already exist on the block contents, or picj and choose, or?

-Pascal

Hi Cameron,

The block instances can have different user data but the internal surfaces would all be the same.

Here’s a grasshopper solution that outputs the surfaces with the unique data per block. This could be done via worksession as well. Elefront 4.3 req’d

Re_block_SubObjects.gh (11.2 KB)
re_block_Atts.3dm (46.9 KB)