mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 22:50:21 +00:00
More sensible names for the Smart Clash Groups
This commit is contained in:
committed by
Dion Moult
parent
14c726008d
commit
f3269b732f
@@ -1963,7 +1963,7 @@ class SmartClashGroup(bpy.types.Operator):
|
|||||||
else:
|
else:
|
||||||
for smart_group, global_id_pairs in smart_groups[0].items():
|
for smart_group, global_id_pairs in smart_groups[0].items():
|
||||||
new_group = bpy.context.scene.BIMProperties.smart_clash_groups.add()
|
new_group = bpy.context.scene.BIMProperties.smart_clash_groups.add()
|
||||||
new_group.number = smart_group
|
new_group.number = f"{smart_group}"
|
||||||
|
|
||||||
for pair in global_id_pairs:
|
for pair in global_id_pairs:
|
||||||
for id in pair:
|
for id in pair:
|
||||||
@@ -1997,7 +1997,7 @@ class LoadSmartGroupsForActiveClashSet(bpy.types.Operator):
|
|||||||
else:
|
else:
|
||||||
for smart_group, global_id_pairs in smart_groups[0].items():
|
for smart_group, global_id_pairs in smart_groups[0].items():
|
||||||
new_group = bpy.context.scene.BIMProperties.smart_clash_groups.add()
|
new_group = bpy.context.scene.BIMProperties.smart_clash_groups.add()
|
||||||
new_group.number = int(smart_group)
|
new_group.number = f"{smart_group}"
|
||||||
for pair in global_id_pairs:
|
for pair in global_id_pairs:
|
||||||
for id in pair:
|
for id in pair:
|
||||||
new_global_id = new_group.global_ids.add()
|
new_global_id = new_group.global_ids.add()
|
||||||
|
|||||||
@@ -814,7 +814,7 @@ class PresentationLayer(PropertyGroup):
|
|||||||
layer_blocked: BoolProperty(name="LayerBlocked", default=False)
|
layer_blocked: BoolProperty(name="LayerBlocked", default=False)
|
||||||
|
|
||||||
class SmartClashGroup(PropertyGroup):
|
class SmartClashGroup(PropertyGroup):
|
||||||
number: IntProperty(name="Number")
|
number: StringProperty(name="Number")
|
||||||
global_ids: CollectionProperty(name="GlobalIDs", type=StrProperty)
|
global_ids: CollectionProperty(name="GlobalIDs", type=StrProperty)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -334,6 +334,17 @@ class IfcClasher:
|
|||||||
count_of_smart_groups += len(smart_groups)
|
count_of_smart_groups += len(smart_groups)
|
||||||
output_clash_sets[clash_set["name"]].append(smart_groups)
|
output_clash_sets[clash_set["name"]].append(smart_groups)
|
||||||
|
|
||||||
|
# Rename the clash groups to something more sensible
|
||||||
|
for clash_set, smart_groups in output_clash_sets.items():
|
||||||
|
clash_set_name = clash_set
|
||||||
|
# Only select the clashes that correspond to the actively selected IFC Clash Set
|
||||||
|
i = 1
|
||||||
|
new_smart_group_name = ""
|
||||||
|
for smart_group, global_id_pairs in list(smart_groups[0].items()):
|
||||||
|
new_smart_group_name = f"{clash_set_name} - {i}"
|
||||||
|
smart_groups[0][new_smart_group_name] = smart_groups[0].pop(smart_group)
|
||||||
|
i += 1
|
||||||
|
|
||||||
count_of_final_clash_sets = len(output_clash_sets)
|
count_of_final_clash_sets = len(output_clash_sets)
|
||||||
print(f"Took {count_of_input_clashes} clashes in {count_of_clash_sets} clash sets and turned",
|
print(f"Took {count_of_input_clashes} clashes in {count_of_clash_sets} clash sets and turned",
|
||||||
f"them into {count_of_smart_groups} smart groups in {count_of_final_clash_sets} clash sets")
|
f"them into {count_of_smart_groups} smart groups in {count_of_final_clash_sets} clash sets")
|
||||||
|
|||||||
Reference in New Issue
Block a user