Let’s say a block definition was defined with the object A, which was rotated randomly beforehand.
Then instances were positioned like in B.
Now we would like gumball to align to the instances as if the definition was created with C (axis-aligned).
Of course updating the geometry in the definition to straighten the cylinder would change the careful positioning and rotating we did in B. So I need a function to transform a definition content while applying the inverse transform to all the instances.
Here is the example file for clarity : example.3dm (66.4 KB)
@felix.mariotto - you can try this - not very elegant, it flashes in screen a lot because turning off redrawing seems to break the routine (can’t assign a gumball, I assume).
Reference the single block which will be used to define the new block plane.
The Z aligned new block plane will have to be oriented from the initial block plane of the single block to the block plane of the other four blocks. The modified blocks are baked with a temporary block name.
Delete all five initial blocks.
To rename the new blocks you need to bake them again with a new name. Using the bake name feature, the modified blocks will be overwritten.