Wish: Save small hidden objects only

While the ! _SaveSmall can significantly reduce the file size, it’s annoying that the user is forced to wait quite a lot of time for the render mesh calculation to be executed for the visible objects in shaded views. This is why it would be handy to have an improved version of this command, one that will save small only the hidden objects (both, manually hidden and inside layers that were turned off). That will take advantage of reducing size size while also allowing for a much faster opening of files saved this way. ! _SaveSmallHidden command maybe?

Many Rhino users work on projects with plenty of objects hidden in layers that are barely used, but they serve as a back-up geometry, or reference geometry, or extra details that are not needed most of the time. These objects eat up most of the file size.

For example, currently I work on a car project with many parts whose file size is 1,52 GB. When I use the ! _SaveSmall command, it shrinks to 502 MB. Then I’m forced to wait almost a minute to be able to do anything with the model. However, when I save small, close it, then open it again (and wait for the meshing of visible models) followed by saving it normally, Rhino saves only the render mesh of the visible geometry, while the hidden objects (engine, transmission, seats, body panels, and many other components) remain as wireframe objects only. This leads to a file size of 558 MB, which is just 10% larger than the ! _SaveSmall scene, and 3 times smaller than the normally saved scene. The next time that scene opens really fast.

I’m aware that I could use blocks or import separate objects, but the block instances have their own disadvantage compared to a true 3d geometry saved in the main file. I want to have a full control over the geometry at any time, while being able to save everything hidden as a wireframe to save both disk space and time for saving/opening files.

Or, make an alternative to the ! _ClearAllMeshes command, except that it will only clear the rendering mesh of all hidden objects. Or, add it as a right-click option in the Layers panel, so that the user could clear the rendering mesh from the elected layers only.

What do you think?

1 Like

Great suggestion, it would be nice to have the smart SaveSmall implemented.

1 Like

I really hope so. This approach benefits from both current ways of saving files. Imagine the amount of saved disk space while reducing the time for opening the 3dm files.

Hi Bobi -

I’ve put this feature request on the list as RH-83578 File IO: SaveSmall → Hidden Only
-wim

1 Like

Thanks! :ok_hand:

Any news regarding that new option? :slight_smile:

I often end up using Save small and then close and open the file just to save it again normally, so that the visible objects will have their rendering mesh re-calculated while the hidden objects are left without rendering mesh, in order to vastly reduce the file size. However, the whole process is too slow now. I would love to have Rhino with SaveSmallHidden option.

ClearMeshes will clear the meshes from existing objects without having to SaveSmall. The main problem would be to hideswap the visible and hidden objects before you do this, as it doesn’t work for objects that are on off layers.

There possibly is a way to access the objects’ attributes and delete the various object meshes via script, but I haven’t looked into it.