|
@@ -6,7 +6,7 @@ import json
|
|
|
column_space_id = 'space_id'
|
|
|
column_outline = 'outline'
|
|
|
column_floor_id = 'floor_id'
|
|
|
-column_revit_id = 'revit_id'
|
|
|
+column_source_id = 'source_id'
|
|
|
|
|
|
|
|
|
# 获取Polygon对象
|
|
@@ -66,33 +66,33 @@ def build_rel_space_ispace(space_data, ispace_data):
|
|
|
if space_id not in rel_dict:
|
|
|
rel_dict[space_id] = set()
|
|
|
revit_set = rel_dict.get(space_id)
|
|
|
- revit_set.add(ispace.get(column_revit_id))
|
|
|
+ revit_set.add(ispace.get(column_source_id))
|
|
|
return rel_dict
|
|
|
|
|
|
-# 返回被删除的元空间的revit_id
|
|
|
-def get_deleted_ispace_revit_id(new_ispace_data, prev_ispace_data):
|
|
|
+# 返回被删除的元空间的source_id
|
|
|
+def get_deleted_ispace_source_id(new_ispace_data, prev_ispace_data):
|
|
|
deleted = []
|
|
|
- prev_ispace_revit_id_set = set()
|
|
|
+ prev_ispace_source_id_set = set()
|
|
|
for prev_ispace in prev_ispace_data:
|
|
|
- prev_ispace_revit_id_set.add(prev_ispace.get(column_revit_id))
|
|
|
+ prev_ispace_source_id_set.add(prev_ispace.get(column_source_id))
|
|
|
for new_ispace in new_ispace_data:
|
|
|
- prev_id = new_ispace.get(column_revit_id)
|
|
|
- if prev_id in prev_ispace_revit_id_set:
|
|
|
- prev_ispace_revit_id_set.remove(prev_id)
|
|
|
- deleted.extend(prev_ispace_revit_id_set)
|
|
|
+ prev_id = new_ispace.get(column_source_id)
|
|
|
+ if prev_id in prev_ispace_source_id_set:
|
|
|
+ prev_ispace_source_id_set.remove(prev_id)
|
|
|
+ deleted.extend(prev_ispace_source_id_set)
|
|
|
return deleted
|
|
|
|
|
|
-# 返回被修改的元空间的revit_id
|
|
|
-def get_updated_ispace_revit_id(new_ispace_data, prev_ispace_data):
|
|
|
+# 返回被修改的元空间的source_id
|
|
|
+def get_updated_ispace_source_id(new_ispace_data, prev_ispace_data):
|
|
|
updated = []
|
|
|
new_ispace_dict = {}
|
|
|
prev_ispace_dict = {}
|
|
|
for prev_ispace in prev_ispace_data:
|
|
|
- prev_id = prev_ispace.get(column_revit_id)
|
|
|
+ prev_id = prev_ispace.get(column_source_id)
|
|
|
prev_outline = json.loads(prev_ispace.get(column_outline))
|
|
|
prev_ispace_dict[prev_id] = prev_outline
|
|
|
for new_ispace in new_ispace_data:
|
|
|
- new_id = new_ispace.get(column_revit_id)
|
|
|
+ new_id = new_ispace.get(column_source_id)
|
|
|
new_outline = json.loads(new_ispace.get(column_outline))
|
|
|
new_ispace_dict[new_id] = new_outline
|
|
|
for prev_id, prev_outline in prev_ispace_dict.items():
|
|
@@ -109,11 +109,11 @@ def get_updated_ispace_revit_id(new_ispace_data, prev_ispace_data):
|
|
|
def get_affected_spaced(space_data, new_ispace_data, prev_ispace_data):
|
|
|
affected_spaces = []
|
|
|
space_ispace_rel = build_rel_space_ispace(space_data, prev_ispace_data)
|
|
|
- affected_ispace_revit_id = get_deleted_ispace_revit_id(new_ispace_data, prev_ispace_data)
|
|
|
- affected_ispace_revit_id.extend(get_updated_ispace_revit_id(new_ispace_data, prev_ispace_data))
|
|
|
+ affected_ispace_source_id = get_deleted_ispace_source_id(new_ispace_data, prev_ispace_data)
|
|
|
+ affected_ispace_source_id.extend(get_updated_ispace_source_id(new_ispace_data, prev_ispace_data))
|
|
|
for space_id, ispace_id_dict in space_ispace_rel.items():
|
|
|
- for revit_id in affected_ispace_revit_id:
|
|
|
- if revit_id in ispace_id_dict:
|
|
|
+ for source_id in affected_ispace_source_id:
|
|
|
+ if source_id in ispace_id_dict:
|
|
|
affected_spaces.append(space_id)
|
|
|
break
|
|
|
return affected_spaces
|