Make Blocks Unique

Sketchup does do this very nicely. If you’d like to keep your same workflow in Rhino you can do the following (counter intuitive maybe but it works):

Cut the blocks you’d like to make unique into a different file.
Make a modification to the block (maybe add a point inside them if you really don’t want any changes immediately)
Cut and paste them back into the original file
Note now they’ll all be called ‘chair 01’ in the blockmanager.


Hi Alex
Thanks for the workaround.
Yes, definitely not nearly as convenient as the Sketchup system for groups and blocks.
I can sometimes have hundreds of replicated blocks in a model, and then need to change a bunch of them without changing the others. So to not have an easy way to do this would be disastrous, so thanks for that.

1 Like

Thanks a lot for the workaround! Definitely SketchUp is way more convenient regarding blocks manipulation.

You could try from @ejnaren

There is a script to make blocks unique.


Thanks Nathan! I’ll give it a try.

That is indeed the precise function of my small plugin.


Does it work with Rhino for Mac? Do you know one on that does?

I actually don’t have a Mac so I have never tested it.
But it relies on rhinocommon which should be a unified API.
I have not created a Mac installer though but I can try and do it for you in the coming days.
You are also very welcome to try yourself if you are in a hurry. Should be easy. Described here:

If I don’t hear anything I’ll see if I can upload one on github soon for people to test.

1 Like

SetObjectName command can assign unique names to block instances. SelName command can find them.

1 Like

Or it can be achieved by simple Grasshopper & Elefront script. (For this is as close as I can get to regular scripting. :frowning: )

1 Like

Your plugin is awesome


Glad you like it :slightly_smiling_face:

1 Like

Thanks! So useful!

useful indeed, could McNeel eventually implement this into R7?

Thanks @ejnaren for this plugin!

I’m a 10 year SketchUp user switching to Rhino and your plugin is a huge time saver.


Hi All, @walther , @ejnaren - please check

RH-59420 Split off blocks to a new definition

and let me know if I have correctly conveyed the request.


1 Like

Hi Pascal.

Thanks for looking into this.
Yes, you have conveyed the intended function very well.
As for the relevant questions here are my suggestions. Feel free to use or ignore as you see fit.

  • What might this feature be called?
  • I used “make block unique” to describe the function as it was inspired from SketchUp that use this terminologi. But a better name might be found. RedefineBlock? CopyBlockDefinition?
  • Does the command just allow any block instances to be picked?
  • Yes :slightly_smiling_face: I don’t know. Are there corner cases where blocks would not be suited for this operation?
  • Can block instances that reference different block definitions be include in the selection?
  • I would feel it intuitive that any nested block be included as is in the new definition. Recursive “redefinition” would be possible but I don’t know if it’s worth it. I guess you could BlockEdit and redefine the nested blocks manually afterwards?
  • Do you pick a single object first to set the filter to a specific block instance?
  • Maybe follow Rhino logic. If something is selected before running the command use that as selection. If not ask for selecting blocks.
  • How does the duplicated block definition name get decorated?
  • Tricky. I just used #1 as numbering and if any #(INT) was present in name I increment that number.
  • Should this command start a block edit on a the duplicated block?
  • Not if you ask me. That is a separate command and could be easily macro’ed.
  • Is this something that would be helpful for Rhino 7.x or should it be a Rhino 8 feature.
    1. Of course :smile::heart:

Beautiful work.
Much appreciated!

1 Like

@ejnaren - I added some comments after chatting with the devloper, before seeing your comments - see if it all still makes sense… thanks.


Looks very good. Amazing work.

Looking forward to deprecating my tools soon :slightly_smiling_face:
Might I unapologetically point to the last tool in my little collection? SelectSameBlock. It simply selects all blocks of the same definition.

Best regards.

1 Like

This is awesome!