Revit二次开发(4):对象存储的可扩展存储框架
来源:互联网 发布:seo入门博客 编辑:程序博客网 时间:2024/06/01 14:57
bject ARX中的实体有扩展属性,即实体可以添加一些在定义的数据,在Revit中也有类似的特性。
上篇Revit二次开发(3):Revit动态模型更新(DMU: Dynamic Model Update)功能实例中,就是用了这一特性记录初始化的数据,在实例修改之后新数据和旧的数据对比计算。
在例子的UpdateInitialParameters函数中有详细用法,
Transaction t = new Transaction(doc, "Update parameters");
t.Start();
// 创建可扩展的存储框架模式
SchemaBuilder builder = new SchemaBuilder(m_schemaId); //(new Guid("{4DE4BE80-0857-4785-A7DF-8A8918851CB2}"));
builder.AddSimpleField("Position", typeof(XYZ)).SetUnitType(UnitType.UT_Length);
builder.AddSimpleField("Orientation", typeof(XYZ)).SetUnitType(UnitType.UT_Length);
builder.SetSchemaName("WallPositionData");
builder.SetDocumentation("Two points in a Window element that assist in placing a section view.");
builder.SetVendorId("adsk");
builder.SetApplicationGUID(doc.Application.ActiveAddInId.GetGUID());
m_schema = builder.Finish();
t.Commit();
t.Start();
// 获得扩展字段
Field fieldPosition = m_schema.GetField("Position");
Field fieldOrientation = m_schema.GetField("Orientation");
FamilyInstance window = doc.GetElement(m_windowId) as FamilyInstance;
Entity storageEntity = new Entity(m_schema);
LocationPoint lp = window.Location as LocationPoint;
XYZ location = lp.Point;
// 设置扩展字段的值
storageEntity.Set(fieldPosition, location, DisplayUnitType.DUT_FEET_FRACTIONAL_INCHES);
XYZ orientation = window.FacingOrientation;
storageEntity.Set(fieldOrientation, orientation, DisplayUnitType.DUT_FEET_FRACTIONAL_INCHES);
window.SetEntity(storageEntity);
t.Commit();
转载请标明作者和出处
作者:田腾
- Revit二次开发(4):对象存储的可扩展存储框架
- Building Coder(Revit 二次开发) - 可扩展存储
- Building Coder(Revit 二次开发) - 可扩展存储处理字典
- Revit如何扩展存储客户自己的数据
- 了解Revit扩展存储数据(Extensible Storage)
- Building Coder(Revit 二次开发) - 对象关系
- Revit二次开发--过滤对象
- Revit二次开发之可停靠窗口
- 衡量易操作数据存储(SOD)可扩展性能的十大准则(上)
- 衡量易操作数据存储(SOD)可扩展性能的十大准则(中)
- 衡量易操作数据存储(SOD)可扩展性能的十大准则(下)
- RADOS:一种可扩展高可用的PB级存储集群(Ceph)
- RADOS:一种可扩展高可用的PB级存储集群(Ceph)
- 存储过程实现可扩展灵活接口
- Building Coder(Revit 二次开发) - 设置锁定参数的值
- Building Coder(Revit 二次开发) - NewFamilyInstance() 重载版本的选择
- Building Coder(Revit 二次开发) - 临时事务的使用技巧
- Building Coder(Revit 二次开发) - ToElementIds() 的性能
- 快速搭建struts2+srping3+hibernate4框架
- ALV在保存带有小数的字段时候,在可编辑状态会自动少数
- SHU1919 Running Man,Bob(那罗延数)
- 元旦前随笔
- Understanding Convolutions
- Revit二次开发(4):对象存储的可扩展存储框架
- 简单的下拉刷新以及优化--SwipeRefreshLayout
- 基本套接字编程(2) -- I/O模型篇
- WebView的缓存设置
- JVM参数设置分析
- 轻松使用Nginx搭建web服务器
- mybaits入门(含实例教程和源码)
- Revit二次开发(5):元素类型过滤
- centos7 安装opencv-3.0.0