I ran into an issue in Rhino 8, where inserting a block instance into a top-level model when that block definition is also part of another block definition creates a broken state.
As the screenshot shows, the block instance is inserted and it shows up in the views, but:
it doesn’t appear in the block definition list
it doesn’t have the gumball
no operation works on it (move, rotate, etc.)
it doesn’t get saved into the file during save (or at least it doesn’t show up after a load)
it gets diagnosed as a valid object
To reproduce:
Open Block-Issue.3dm
Use the Insert command to insert a new instance of the Small-Ellipsoid.3dm file
Observe that selecting the newly-inserted block instance cannot be transformed
After saving the file and then loading it back, the inserted block instance is missing
The main model contains instances of Complex-Block.3dm which contains instances of Cube-With-Ellipsoid.3dm which, in turn, contains instances of Cube.3db and Small-Ellipsoid.3dm. When inserting a new instance of Small-Ellipsoid at the top level, it should be listed as a linked block definition to the top-level model, not just as a dependency of Complex-Block.
Any advice would be appreciated - I use block instances a lot and the actual model has many nested, linked block definitions, so this is a blocker for me at this point, because I need to insert the same block instance at multiple levels of the model. (The attached model is just a minimal repro for the problem.)
As a workaround, it seems to work if I add the blocks to the top-level model in a different order - adding the blocks with no nested blocks inside and then adding the more complex ones seems to work - all the block definitions show up in the block list and they can all be edited as expected.
This works, but it’s far from ideal, since it means a complex model must be created from simplest components to more complex ones, with no simple components added at all at a later time.
Thank you for your reply @Japhy . Your video shows exactly what I’m doing, except I can readily reproduce this problem in both Rhino 7 and 8. (In your video, you used Embedded while I’m using Linked - I wonder if this is where the problem is.)
Here’s a video of me doing the same in Rhino 8:
Here’s also another set of files I made in Rhino 7, showing the same problem:
There are 2 top-level models in this file, ComplexModel.3dm and ComplexModel-alt-order.3dm. In the alt-order file, I first added a reference to the Sphere block and added the Cube-with-sphere block after. This way, the Sphere block is still valid, it shows up in Block Manager and can be edited as normal; the same for Cube-with-sphere (which contains Sphere.)
In the other file, I did the same as in Rhino 8 - I added the multi-level block definition first and then Sphere and it’s broken.
Can you think of anything that may cause this? Is there any diagnostic information I could give you to troubleshoot? I don’t believe I made drastic changes to Rhino settings, outside of configuring the appearance of the application.