经验知识点
从模型里面读取到的数据
- BIMID:格式为:楼层Id:RevitId. 示例:Fl11010500276984c300bffd11e9878daf61c33e94da:1095969
- BIMLocation:格式为:"134757.000687809,109458.824791643,85300.0000000031","x,y,z"
空间
string roomNum="";//空间参数-编号,从模型中读取
string roomName="";//空间参数-名称,从模型中读取
string localName=roomName;//空间物理世界本地名称的值
if(roomName==""||rommName=="空间")
localName=$"{roomName} {roomNum}";
设备
- EquipLocalID 设备本地编码,从模型中读取
- EquipLocalName 设备本地名称,从模型中读取
部件
- EquipLocalID 设备本地编码,从模型中读取
- EquipLocalName 设备本地名称,从模型中读取
- 物理世界创建部件需要传所依赖的设备 Owner存放关联设备的RevitId,这个是由模型里面的几何关系确定的。
上传时的逻辑
- 从物理世界下载本层的数据(空间,设备,部件,信标)
- 从模型重新计算本层的数据(空间,设备,部件,信标)
- 两组数据依据BIMID求差,交集,得到增加,修改,删除的集合
> BIMID重复的问题??多个岗位共用一个BIMID??保留信息点多的岗位。出现原因:未知
> 设备族编码更改问题:需要删除重建?? 来源:模型修改设备族编码了
> 物理世界的BIMID只有楼层部分或为空,保留不删除。来源:台账创建的岗位
关系-设备所在元空间(还有吗?)
- 删除岗位时,同步删除关系
- 更新岗位时,关系删除重建
- 添加岗位时,新增关系