The system I am integrating is nodal, so there are various material-related nodes, which are not materials, but which may be referenced by N materials. It’s not great to have to implement these as “materials” (or textures) in Rhino, but it appears that is the only way.
However, I have not yet figured how to make “instances” of these, as we see when choosing an existing Rhino texture or material, with the “share all settings” option checked. I can get the user’s intention from the ShowContentChooser function, but haven’t been able how to figure out how to implement the “instance” result.
The docs appear to indicate that a render content can be set as the child of another at most once, and this appears to be the case, so it seems either I am overlooking some method for instancing render content, or that it is not exposed in rhcommon (the c++ rdk MakeGroupInstance seems promising?).
Experimenting, I am able to put these in the document instead of parenting them to a render content, and then store their ID in a field for later retrieval, and this would sort of work, but it clutters up the material list with these non-materials, and the items do not appear parented (in tree view) under the materials that use them, as happens with “instanced” Rhino child contents. So I’d prefer to mimic the Rhino behavior with instancing of render content.
So I’d like to know if I’m missing something, or if this is perhaps not possible via (v6) rhcommon.