# 经验知识点
## 从模型里面读取到的数据
* 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只有楼层部分或为空，保留不删除。来源：台账创建的岗位  

## 关系-设备所在元空间（还有吗？）
* 删除岗位时，同步删除关系
* 更新岗位时，关系删除重建
* 添加岗位时，新增关系

