Making different block definitions from same block

Hello everyone. I was wondering it this is possible in Rhino or by any script.

I have 1 block definition and 100 instances of it. I’d like to get 50 of those instances to become instances of other block definition.

In the end, I’d like to have 50 blocks “block A” and 50 blocks “block B”.

This is just an example, but, is this possible without a lot of manual work?



For starters, you can try _ReplaceBlock command. Would that help ?


1 Like

Thanks! That almost works (perhaps I am missing something). When I use that command, all blocks get redefined but they rotate as well … I need the redefined blocks to stay in place. I am using the same insertion point as far as I can tell.

I tested in a new file with my blocks. And it works fine, with no rotation on the replaced blocks. So it must be something with those blocks … but I have checked with PointsOn … base point is the same. Something’s fishy.

EDIT: after running the replaceblock command, and when choosing the desired block definition by selecting from a list, I do see, in the block image preview (a view of the block from the top) that my newly created block has a certain rotation, when the original one has no rotation at all). So this is it. Perhaps something to do with cplane?

Hi Bruno - do the blocks being replaced have any rotation applied?


1 Like

Hi Bruno,

For blocks, it is not only insertion point that matters, each block definition has its own ‘frame’ - a plane definition with insertion point being at the 0,0 of that frame. I can’t test it right now but I think it matters how your block objects are being oriented in relation to the world plane or cplane.

To test it in any file and see what the actual block rotation is, insert a new instance of that block into world 0,0 with no other transformations applied. This should show you what’s going on with your block definition and also this may be easiest to fix (using BlockEdit or simply double-clicking on that block)



1 Like

Thank you again Jarek. That was it. I had to rotate the geometry before converting it into the “desired block”, making it paralel to one of the world’s axis. I have a lot of work to do now … but at least I know how to do it. Thanks!

thanks! didn’t see your post until now; yes, it was the problem, now I know!