上一次分享实现了怎样子给构件添加扩展存储,这一次就教大家怎样子来读取我们存进去的数据。
这里用到的GUID码和读取数据的名称是需要和自己存进去的时候一致的。
全部代码如下:
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
var temp = uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element);
Wall el = doc.GetElement(temp) as Wall;
string result = GetSchema(el, "40A901FC-A0F4-4653-ABC3-CC1140391ADB", "我是测试名称");
MessageBox.Show(result);
return Result.Succeeded;
}
public string GetSchema(Wall wall, string guid, string name)
{
string data;
Schema schema = Schema.Lookup(new Guid(guid));
Entity entity = wall.GetEntity(schema);
data = entity.Get<string>(schema.GetField(name));
return data;
}
显示效果如下图:
上面就是扩展存储的使用。存储的文件类型并不唯一,大家可以自己去研究其他类型的存储,或者有需求的可以直接私信联系我。希望这次分享对你有所帮助,谢谢