Thanks Chris - I will wait on your scene before responding in full.
However....as a general rule, the Revit plugin hides all the node mess from you, so you don't have to worry about it. However, if you DO export to OCS/ORBX, the plugin does some cleanup first, and then the Octane library does a great job lying out the nodes so when Standalone opens the file, it should make sense. If you have 1000 materials, there will be 1000 material nodes, connected to the main mesh node - so it will be hard to read.
After separating one of the paths (a tree) and seeing how it has been structured, it seems that is overly complicated in the amount of nodes needed to create the same result.
There are a lot of nodes associated with each proxy - because the rotation, scale and translation needs to happen in the right order.
This tree is one that was being proxied within the revit plugin. Would it be possible to eliminate the excessive transformation and placement nodes during the creating of the ocs? and also the scatter node. As it seems redundant aswell. This proxy wasn't being scattered. And finally, this tree was used multiple times within the project at different scales and rotations, (that I manually entered when assigning the proxy). Rather than have duplicate obj nodes created and then each having their own separate placement node. Can each of the placement nodes simply be connected to the one obj. This would speed up the interface dramatically, and make replacing or editing in the standalone actually possible.
I'll wait to see your scene before commenting on this one.
To me, this is the essence of my need to have the plugin import OCS format proxies. I works a treat in Sketchup and gives us the ability to iterate and use Octane's powerful material editor. It is the best of both worlds.
I know you've said it's not an insignificant feature to implement, but I feel as strong as ever that it could push the Revit plugin to a new level.
There is too much that can go wrong loading an OCS/ORBX as a proxy. The imported file will need to be loaded into the same nodegraph as the current Revit scene - so if the ORBX has a rendertarget node, there will be 2 rendertargets in the root node. Plus, there might be many mesh nodes and geometry group nodes - and the plugin will have no way to know which to use as your proxy. To do this correctly, Otoy could create a new asset class in the LocalDb for meshes, and they could be loaded as proxies from there.
Paul