用户数据方法

Rhino SDK 允许插件开发者在 Rhino 的 3DM 文件中储存自定义数据。这种数据被称为用户数据。这里有两种类型的用户数据:

  1. 文档用户数据 - 储存在 3DM 文档中文档层的自定义数据。

  2. 物件用户数据 - 附加在物件上的自定义数据。

重要。在物件上储存数据时,数据可以记录在物件几何体(曲线、曲面等)或物件属性上。物件属性记录着图层、颜色和其他非几何的属性。这两种记录方式的不同点在于,添加或修改物件几何体上的用户数据时,Rhino 会在撤销堆栈中存储一份物件的拷贝。因此,如果你是在处理庞大的几何物件或很多用户数据,将用户数据储存在物件属性上能够提高效率。

IronPython 同时支持文档用户数据和物件用户数据。IronPython 用户数据对象的定义非常接近 Windows 系统的 ini 文件。例如:

 

[小节1]

记录1 = 字符串1

记录2 = 字符串2

...

[小节2]

记录1 = 字符串1

记录2 = 字符串2

...

 

如果你觉得这种定义方式有太多局限,那么你可以考虑用 Rhino SDK 去创建一个插件。同样 IronPython 用户数据只储存字符串。

用户文本方法

Rhino 为用户、脚本及插件开发人员提供了一种从物件上读取或写入简单文本的标准机制。这种机制就叫做用户文本。用户文本和 Windows 注册表数据一样,使用“键/值”配对的方式储存。Rhino 支持使用 GetUserTextSetUserText 指令存取数据。在 RhinoScript 中可以使用 GetUserTextSetUserText 方法来存取。

 

方法

描述

DeleteDocumentData

移除当前文档中记录的 RhinoScript 用户数据。

DocumentDataCount

返回当前文档中记录的 RhinoScript 用户数据条目数量。

GetDocumentData

返回一条当前文档中记录的 RhinoScript 用户数据条目。

GetUserText

返回一个物件上记录的用户文本。

IsDocumentData

判断当前文档是否包含 RhinoScript 用户数据。

IsUserText

判断一个物件是否包含用户文本。

SetDocumentData

在当前文档中添加或设置一条 RhinoScript 用户数据条目。

SetUserText

设置或移除记录在一个物件上的用户文本。