Blocks baked from definitions inside Linked Blocks lock up

Some background:

I have large library of blocks and many of them are nested blocks. We like to keep all of these in one file for ease of editing and addition to the library. Right now, we copy the entire library while designing and purge blocks at the end. I always hoped to be able to just link the library file and insert the reference block definitions, but I haven’t found a native tool that does that.

image

Despite being able to view all these reference block definitions in the block manager, the Insert tool doesn’t register them. Long ago I realised Elefront could see these blocks so I wrote this handy little tool that lets you insert them.

The problem:

I have tried this with two C# scripts, Elefront and Human, but all results are the same - if you bake a reference definition from a linked block, it places the block as usual no problem, but you cannot move, edit or delete that placed block. Nothing except selecting it works. You can set properties, but Rhino command line, tools etc don’t affect it.

I was tempted to give up, but I noticed that if I place more of the same block or any other nested / reference block definition in the linked block, I’m able to then modify, or delete the previous blocks. Only the newest block instance is locked up.

My current solution is to bake a second block at origin with a BakeName, but this is no good when I need to make large sub-assemblies.

Anybody else ever try to do anything similar? I’m running the latest version of Rhino 7 on Windows 10, though I don’t think this is a version issue.

Some clues:

If you copy the locked up block with the Copy command, you can make new copy no problem. Weirdly though, the new copy is fine in this case and the original locked up one is still locked up. I feel like there might be a potential solution to be found in this.

There’s also a secondary, weirder issue which might shed some light. Copying the locked block to clip board and then pasting - you get your second instance of the locked up block which you can modify no problem. The original is there too and still locked. You also get a copy of the block’s geometry at origin. If you try and do anything after this is created, Rhino freezes for several minutes. Screenshot below attempting to move:

The pasted block and loose block geometry are not locked up. Top view after app faded and stopped responding:
image

Having deleted everything except that geometry and the locked block, the “Details” button window for the geometry looks like this:

image

Locked up block instance’s details ( or info or Object Description or whatever this menu should be called) looks like this:

Interestingly, it says “copy count” is 2, but there is just one there. If I then make a copy of that locked up block - the locked up block still says “copy count” is 2 for some reason, but the new block says 3 when there’s now 2:

It seems that the Object Description for that locked up block is also locked up.