Combining blocks into mature assembly


I am working with big files, and intuitively it is easier for me to split them into blocks and work on the lower level assemly instead of on the whole 900 mb file. However current Rhino settings are preventing me from doing so due to multiple limitations. Is there a plan to get Rhino closer to NX for example in this topice in future? I would be glad to give a lot of input in this topic.

Hi Karol,
As far as I know, there is no strategy to get Rhino to be more like NX.

I’m not sure if, in that sentence, you refer to blocks as in the Rhino feature or merely “a collection of objects”.

Yes, please.

What in my opinion would be useful is possibility to access linked blocks directly from the code (plugin). Right now, you can refresh block definition, so you can reflect in main assembly changes made in linked blocks. But you can’t introduce changes directly in main assembly to reflect them in linked blocks, you can’t inherit changes to the linked blocks.

I am working with ship structure, and figured out, that keeping whole vessel in single 3dm file is killing the performance of Rhino instance and thus doesn’t allow to produce any market valuable solution. The idea I’m trying to implement is to split ship geometry into blocks by the closed ship volumes/compartments, so each rhinoceros “block” is a single compartment. This is a solution to keep performance of Rhino on a very nice level. However, there are some limitations today.

  • I can’t store references between different structural elements in multiple linked blocks. For example, in ship structure one plate can be shared by multiple vessel compartments (linked blocks in Rhino), thus I have to make sure, that I can access from top assembly each linked block, and at the same I’d like to be able to modify each element of linked blocks. I think that via top level assembly this would be easiest to achieve.

  • I can’t save lower level assembly (linked block) from top level assembly, with changes made to linked block in top level assembly.

I think, that an option to Insert a file as a referenced block has a potential to develop in this direction. More interactivity and accessibility via Rhinocommons would be advantageous for everyone working with big data.

I can add, that from Naval Architect point of view, when you design a ship, you also have to define multiple blocks, for the production purpose. Those blocks are not divided by the closed volume, but you still use the same approach to the modelling and Rhinoceros performance management. So in my opinion by enhancing linked blocks functionality you potentially open yourselves to a wider market.

Will all these single compartments be identical?

Have you tried splitting up the ship in different files (e.g. hull, super structure, piping, etc.) and then using the Worksession feature to reference necessary geometry from another file?

As for this one, please start new threads with detailed examples where Rhinocommons doesn’t provide access.