Bug: Inserting block instance in Rhino 8 creates corrupted state

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:

  1. Open Block-Issue.3dm
  2. Use the Insert command to insert a new instance of the Small-Ellipsoid.3dm file
  3. Observe that selecting the newly-inserted block instance cannot be transformed
  4. 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.)

Block-issue.7z (646.3 KB)

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.

This bug is also present in Rhino 7.

Can anyone from McNeel please confirm if this is a bug?

Hi Gyorgy Bozoki,

I haven’t been able to repeat with these steps. I’ll make a small video, I might be doing something wrong.

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:

Block-Issue-v7.7z (79.8 KB)

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.

Hi Gyorgy -

I’ve put this issue on the list as RH-90166 Block: Unable to Transform Linked Instance
-wim

1 Like