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