WISH: Rhino not to store texture of inserted files in material

Hi guys, @pascal @fraguada
I have a light file with heavy textured files referenced in (inserted) and I see that this bloats the main Rhino file a lot. So I presume it is because Rhino stores all materials in the file. Also the referenced files’ materials.

If I delete all the referenced files and purge and save, it goes from 101 MB to 60MB.

And I see that if I toggle of SavePluginData then it jumps down to 30MB. (I have LandsDesign installed, but I don’t ‘use’ it in the file. If I open the saved file that no longer has the plugin data and saves again with plugindata it jumps back up to 60MB.

Any idea what causes all this?

To make it a bit stranger… If I turn off loading of LandsDesign and restarts Rhino, and opens the saved file without plugin data and saves that again with plugindata it jumps back up to 60MB… so it appears this is not’s Lands fault.

Rhino 7 SR16 2022-3-8 (Rhino 7, 7.16.22067.13001, Git hash:master @ aa7902c94c5aa33511e60d30f82b636be43bc85f)
License type: Not For Resale Lab, build 2022-03-08
License details: Cloud Zoo

Windows 10.0.22000 SR0.0 or greater (Physical RAM: 32Gb)

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2070 (NVidia) Memory: 8GB, Driver date: 1-28-2022 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 511.65
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0

Secondary graphics devices.
Intel(R) UHD Graphics 630 (Intel) Memory: 1GB, Driver date: 9-5-2020 (M-D-Y).
> Integrated graphics device with 3 adapter port(s)
- Secondary monitor attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 1-28-2022
Driver Version: 30.0.15.1165
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB

Rhino plugins that do not ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Tibidabo\Tibidabo.rhp “Tibidabo”
C:\ProgramData\McNeel\Rhinoceros\7.0\Plug-ins\Datasmith Rhino Exporter (d1fdc795-b334-4933-b680-088119cdc6bb)\DatasmithRhino7.rhp “Datasmith Exporter” 4.27.1.0
C:\Users\mail\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\ggRhinoIFC\2.2.2.0\ggRhinoIFC.rhp “ggRhinoIFC” 2.2.2.0
C:\Users\mail\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\IntelDenoiser\0.6.4\IntelDenoiser.Windows.rhp “IntelDenoiser.Windows” 0.6.4.0

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp “Commands” 7.16.22067.13001
C:\Program Files\Rhino 7\Plug-ins\WebBrowser.rhp “WebBrowser”
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 7\Plug-ins\RhinoScript.rhp “RhinoScript”
C:\Program Files\Rhino 7\Plug-ins\RPC.rhp “RPC”
C:\Program Files\Rhino 7\Plug-ins\IdleProcessor.rhp “IdleProcessor”
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 7.16.22067.13001
C:\Program Files\Rhino 7\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 7.16.22067.13001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 7\Plug-ins\Alerter.rhp “Alerter”
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp “RhinoCycles” 7.16.22067.13001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 7.16.22067.13001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp “Displacement”

I just tried the same regarding the Datasmith plugin: disabled it, restarted saved with out plugindata, reopened the file and saved with plugindata.

Is there a way to see the plugindata that is in the file? And also delete it permanently?

See the actual data, no, but running Audit3dmFile on a file will show you how much data (in bytes) is associated with each plugin.

Thanks! I can confirm that it is the linked in files textures that are saved into the Rhino file.
So I wish for this to not happen.


Embedded image Table:
0 embedded images, 24 bytes (offset 901361 to 901385)
Texture Mapping Table:
mapping[0]:
mapping[1]:
mapping[2]:
mapping[3]:
mapping[4]:
mapping[5]:
mapping[6]:
mapping[7]:

mapping[84]:
85 texture mappings, 37849 bytes (offset 901385 to 939234)
Material Table:
material[0]: Beleggningsstein
material[1]: 20200618_Illustrasjonsvedlegg_rev_Side_16
material[2]: Betong
material[3]: Granitt
material[4]: ELEMENTER
material[5]: Lys_Mork
material[6]: Glass [imported]
material[7]: LYS_hvit

material[100]: tree6
101 materials with 6 plug-in data items, 54182 bytes (offset 939234 to 993416)
Linetype Table:
0 linetypes, 24 bytes (offset 993416 to 993440)
Layer Table:
layer[0]: Default
layer[1]: Layer 02
layer[2]: Layer 03
layer[3]: Layer 04
layer[4]: Layer 05
layer[5]: L-3D LARK
layer[6]: L-3D Beleggningsstein
layer[7]: L-3D Betong
layer[8]: L-3D Naturstein
layer[9]: L-3D ELEMENTER
layer[10]: L-3D DETALJER
layer[11]: 100 SYKLER
layer[12]: L-3D Sykkelstativ
layer[13]: L-3D - Belysning
layer[14]: Armatur
layer[15]: glass
layer[16]: hvit
layer[17]: mork
layer[18]: L-3D TRE
layer[19]: Møbler
layer[20]: L-3D Bord Stoler
layer[21]: Stoler
layer[22]: L-3D Jord
layer[23]: L-3D Gress
layer[24]: Prosjektert trapp
layer[25]: XREF
layer[26]: høybrekk
layer[27]: L-2D KOTER
layer[28]: kote 1m
layer[29]: kote 0.5m
layer[30]: kote 0.1m
layer[31]: WaterAnalysis
layer[32]: By Parent
layer[33]: 2D TEGNING
layer[34]: hide
35 layers, 8894 bytes (offset 993440 to 1002334)

That doesn’t seem like much though… certainly not enough to explain 30-60 Mb of difference.

85 texture mappings, 37849 bytes = 38 Kb
101 materials with 6 plug-in data items, 54182 bytes = 54 Kb

Maybe something else? Check the plug-ins section (near the bottom IIRC)?

Haha… good point! I read those as Kb’s…

So Tibidabo eats 28 MB and the textures eats 45 MB
Here is the bottom:

Model User Data Table:
user table[0]: (657 bytes)
Plug-in id: 06F3218E-F5EC-4f6c-B74C-14583F0ED7BC
user table[1]: (45927182 bytes)
Plug-in name: Renderer Development Kit
Plug-in id: 16592D58-4A2F-401d-BF5E-3B87741C1B1B
user table[2]: (28 bytes)
Plug-in name: RPC
Plug-in id: 1F908FF5-4984-45a6-95F0-A81CE979A4D7
user table[3]: (28401243 bytes)
Plug-in name: Tibidabo
Plug-in id: 3F5C54C8-2A32-49a9-ADE2-79E489B8060B
user table[4]: (497 bytes)
Plug-in name: Legacy Rhino Render
Plug-in id: 5DC0192D-73DC-44f5-9141-8E72542E792D
5 user tables, 74330112 bytes (offset 33705731 to 108035843)
Archive size = 108035863 bytes (end mark size = 108035863)

@fraguada
I just checked and Tibidabo has a purge (tbPurge) and if I run that on a new file it finds 16 objects:

Command: _New
Command: tbPurge
16 unused objects found.
Are your sure you want to delete all those objects? ( Yes No List ): y

Any idea what those are, and is it safe to purge it?
I just purged the file I am talking about, that removed 125 objects, and saved afterwards (a backup), but that only removed 0.1 MB.

Yep, looks like the RDK is using 46 Mb and Tibidabo (LandsDesign/VisualARQ) is using 28 Mb.

1 Like