IExternalData 接口是 Revit 插件开发的一部分,用于向Revit文档读写自定义数据,并可以与 Revit 数据库的相关功能进行交互。
public interface IExternalData
{
void SetData(Document document, string name, object data);
object GetData(Document document, string name);
bool RemoveData(Document document, string name);
}
SetData(Document document, string name, object data)设置指定文档 Document 的自定义数据。
参数:
document (Document) - 要设置自定义数据的文档对象。name (string) - 自定义数据名称,应唯一。data (object) - 要设置的数据对象。GetData(Document document, string name)获取指定文档 Document 的自定义数据。
参数:
document (Document) - 要获取自定义数据的文档对象。name (string) - 自定义数据名称,应唯一。返回值:
data (object) - 获取的数据对象。RemoveData(Document document, string name)删除指定文档 Document 的自定义数据。
参数:
document (Document) - 要删除自定义数据的文档对象。name (string) - 自定义数据名称,应唯一。返回值:
removed (bool) - 删除成功则为 true,否则为 false。// 设置自定义数据
ExternalService externalService = ExternalServiceRegistry.GetService(ExternalServices.ExternalData);
IExternalData externalData = externalService.GetInterface<IExternalData>();
externalData.SetData(document, "key", "value");
// 获取自定义数据
string value = (string) externalData.GetData(document, "key");
// 删除自定义数据
bool removed = externalData.RemoveData(document, "key");
GetData 方法返回的数据对象需要进行类型转换。