I have lots of repetitive elements (windows) on the facades of buildings and they slowly but surely start to drain my FPS. I wonder if there’s an option/strategy to make “dummies” of these objects or maybe reduce the computations my computer has to do to keep them around? By analogy, kind of like smart objects in Photoshop or pre-rendering in After Effects?
Hello - use blocks for this -
Blocks are great for saving memory and effort with redundant geometry. With a little planning, blocks can allow you to collaborate on large projects by delegating whatever would be in the block to someone else. They can live external to your file, or live inside the Rhino file.
The block manager has the ability to replace blocks using: ReplaceBlock
For some reason, it’s not in the menus, but there is an icon for it, if you activate the Block toolbar, from the Menubar/Tools/Toolbar Layout…/Toolbars
You could create some simple placeholders, and then swap them out, later. You could also have versions of the same geometry with different mesh settings, and swap them, although Rhino allows global and per-object mesh settings, anyway.
When making blocks, I tend to put plenty of point objects in them, so they can be placed and aligned, quickly.
Because blocks are in some ways bound to the layer they are created on, I tend to create all of my blocks on the Default layer, and then move the instance to the layer I want. They can be moved from layer to layer.
The disadvantage of that technique is that if you need to explode a block to work on it, you need to hide everything else on your Default layer, so it doesn’t leave a pile of parts kicking around from the exploded block.
Most of my blocks are internal, saved in the file, so I have a complete version of my drawings, but I was working on a project that had a engine in it. The engine didn’t change, yet I was designing a machine around it, and so it went over a thousand saved versions for the rest of the machine. Because the engine was external, it saved lots of filespace.
BTW, you can select all of the Blocks Instances in a drawing from the edit menu. This is handy to see what still needs to be blocked. If you select an block instance, it will say so in the command line.
You can get a count of objects, such as bolts and washers from the block manager.
As “FPS” was mentioned in the original post, the perceived problem might be display speed, not necessarily memory consumption. I’m not sure if anything has been improved in this area recently, but as far as I know from the past, the use of blocks instead of discreet objects does not help display speed much if at all.
Blocks are useful as object and memory management tools, but the graphics card still has to display all the blocks in the same way as if they were discreet geometry on the screen. Be happy to be corrected if my info is outdated.