RhinoCommon equivalent of rs.GetDocumentData()

Hello all,

Is there a RhinoCommon method that accesses the same info as rhinoscript’s GetDocumentData()? Specifically, if data has already been added to a doc using a rhinoscript SetDocumentData() call, where is this data stored in RhinoCommon land, so I can access it?

Thanks,

Jon

@sarg, i do not think this is possible. I had to read some old DocumentUserData stored via RhinoScript (vb). The only possible way was to write a RhinoScript (vb) which converted the data written like this

Call Rhino.SetDocumentData("MySection", "MyEntry", "MyString")

Into data written using just a key value pair structure like this

Call Rhino.SetDocumentUserText("MyKey", "MyValue")

So somehow i needed to get rid of “MySection” which can get problematic is it is different than “MyEntry”. However, when using SetDocumentUserText you can access it in Python using:

rs.GetDocumentUserText(key="MyKey")

and RhinoCommon by accessing the documents string table eg.:

scriptcontext.doc.Strings.GetValue("MyKey")

c.

Hi Jon,

No there is not. RhinoScript’s document data is private to RhinoScript.

If you want to share data between programming languages, then you should be using user text.

Rhino has commands that support this (GetUserText, SetUserText, GetDocumentUserText, and SetDocumentUserText).

RhinoScript and Rhino.Python have methods that support this (GetUserText, SetUserText, GetDocumentUserText, and SetDocumentUserText).

If you are RhinoCommon to develop a plug-in, then these samples might help.

https://github.com/dalefugier/SampleCsCommands/blob/master/SampleCsSetUserText.cs
https://github.com/dalefugier/SampleCsCommands/blob/master/SampleCsSetDocumentUserText.cs

– Dale

Thanks guys, just what I needed to know.

-Jon