How to pass guid to UserDataList.Find()?

Hello all,

i am trying to access a user data object found in a Rhino.DocObjects.Custom.UserDataList. I got the user data list and the user data Id as type guid but have no clue how to pass it to

obj.Attributes.UserData.Find( ??? )

probably as System.Type.GUID. How can i do this ?


@andy, can you give a hint please as to what type the displacement plugin uses for its userdata and if there is a way to access it from the UserDataList ?



I don’t think you’ll be able to read it that way. You will need the actual C++ class definition.

However, there is a way to get at the data through C++ at runtime. Unfortunately, my understanding is that this piece has not been wrapped in V5 for C#.

::RhRdkCustomRenderMeshManager().Provider(uuidProvider)->GetParameter(pObject, “param-name”);

Where uuidProvider is one of these:

// Custom render mesh providers.
RHRDK_SDK extern UUID uuidEdgeSofteningCRMProvider;
RHRDK_SDK extern UUID uuidDisplacementCRMProvider;
RHRDK_SDK extern UUID uuidCurvePipingCRMProvider;
RHRDK_SDK extern UUID uuidShutLiningCRMProvider;
RHRDK_SDK extern UUID uuidThickeningCRMProvider;

Does that help?

  • Andy

Thank you @andy. Since there is no way yet to access the plugin data using Python & RhinoCommon i can stop trying :wink: