black format

This commit is contained in:
Andrej730
2024-03-27 11:20:55 +05:00
parent 6d4f47a2ca
commit e12f060af8
2 changed files with 42 additions and 48 deletions
@@ -908,7 +908,7 @@ class OverrideDuplicateMove(bpy.types.Operator):
if parts: if parts:
index = DuplicateMoveLinkedAggregate.get_max_index(parts) index = DuplicateMoveLinkedAggregate.get_max_index(parts)
index += 1 index += 1
pset = tool.Ifc.get().by_id(pset['id']) pset = tool.Ifc.get().by_id(pset["id"])
ifcopenshell.api.run( ifcopenshell.api.run(
"pset.edit_pset", "pset.edit_pset",
tool.Ifc.get(), tool.Ifc.get(),
@@ -976,7 +976,7 @@ class DuplicateMoveLinkedAggregate(bpy.types.Operator):
if parts: if parts:
index = DuplicateMoveLinkedAggregate.get_max_index(parts) index = DuplicateMoveLinkedAggregate.get_max_index(parts)
add_linked_aggregate_pset(element, index) add_linked_aggregate_pset(element, index)
index +=1 index += 1
for part in parts: for part in parts:
if part.is_a("IfcElementAssembly"): if part.is_a("IfcElementAssembly"):
select_objects_and_add_data(part) select_objects_and_add_data(part)
@@ -987,14 +987,11 @@ class DuplicateMoveLinkedAggregate(bpy.types.Operator):
obj = tool.Ifc.get_object(part) obj = tool.Ifc.get_object(part)
obj.select_set(True) obj.select_set(True)
def add_linked_aggregate_pset(part, index): def add_linked_aggregate_pset(part, index):
pset = ifcopenshell.util.element.get_pset(part, self.pset_name) pset = ifcopenshell.util.element.get_pset(part, self.pset_name)
if not pset: if not pset:
pset = ifcopenshell.api.run( pset = ifcopenshell.api.run("pset.add_pset", tool.Ifc.get(), product=part, name=self.pset_name)
"pset.add_pset", tool.Ifc.get(), product=part, name=self.pset_name
)
ifcopenshell.api.run( ifcopenshell.api.run(
"pset.edit_pset", "pset.edit_pset",
@@ -1033,17 +1030,16 @@ class DuplicateMoveLinkedAggregate(bpy.types.Operator):
number = len(group_elements) - 1 number = len(group_elements) - 1
number = f"{number:02d}" number = f"{number:02d}"
new_obj = tool.Ifc.get_object(new[0]) new_obj = tool.Ifc.get_object(new[0])
pattern1 = r'_\d' pattern1 = r"_\d"
if re.findall(pattern1, new_obj.name): if re.findall(pattern1, new_obj.name):
split_name = new_obj.name.split("_") split_name = new_obj.name.split("_")
new_obj.name = split_name[0] + "_" + number new_obj.name = split_name[0] + "_" + number
continue continue
pattern2 = r'\.\d{3}' pattern2 = r"\.\d{3}"
if re.findall(pattern2, new_obj.name): if re.findall(pattern2, new_obj.name):
split_name = new_obj.name.split(".") split_name = new_obj.name.split(".")
new_obj.name = split_name[0] + "_" + number new_obj.name = split_name[0] + "_" + number
if len(context.selected_objects) != 1: if len(context.selected_objects) != 1:
return {"FINISHED"} return {"FINISHED"}
@@ -1075,11 +1071,10 @@ class DuplicateMoveLinkedAggregate(bpy.types.Operator):
return old_to_new return old_to_new
@staticmethod @staticmethod
def get_max_index(parts): def get_max_index(parts):
psets = [ifcopenshell.util.element.get_pset(p, "BBIM_Linked_Aggregate") for p in parts] psets = [ifcopenshell.util.element.get_pset(p, "BBIM_Linked_Aggregate") for p in parts]
index = [i['Index'] for i in psets if i] index = [i["Index"] for i in psets if i]
if len(index) > 0: if len(index) > 0:
index = max(index) index = max(index)
return index return index
@@ -1087,7 +1082,6 @@ class DuplicateMoveLinkedAggregate(bpy.types.Operator):
return 0 return 0
class RefreshLinkedAggregate(bpy.types.Operator): class RefreshLinkedAggregate(bpy.types.Operator):
bl_idname = "bim.refresh_linked_aggregate" bl_idname = "bim.refresh_linked_aggregate"
bl_label = "IFC Refresh Linked Aggregate" bl_label = "IFC Refresh Linked Aggregate"
@@ -1134,7 +1128,7 @@ class RefreshLinkedAggregate(bpy.types.Operator):
original_names[group] = {} original_names[group] = {}
pset = ifcopenshell.util.element.get_pset(element, self.pset_name) pset = ifcopenshell.util.element.get_pset(element, self.pset_name)
index = pset['Index'] index = pset["Index"]
original_names[group][index] = tool.Ifc.get_object(element).name original_names[group][index] = tool.Ifc.get_object(element).name
parts = ifcopenshell.util.element.get_parts(element) parts = ifcopenshell.util.element.get_parts(element)
@@ -1144,10 +1138,10 @@ class RefreshLinkedAggregate(bpy.types.Operator):
original_names | get_original_names(part) original_names | get_original_names(part)
else: else:
try: try:
pset = ifcopenshell.util.element.get_pset(part, self.pset_name) pset = ifcopenshell.util.element.get_pset(part, self.pset_name)
except: except:
continue continue
index = pset['Index'] index = pset["Index"]
original_names[group][index] = tool.Ifc.get_object(part).name original_names[group][index] = tool.Ifc.get_object(part).name
return original_names return original_names
@@ -1155,7 +1149,9 @@ class RefreshLinkedAggregate(bpy.types.Operator):
def set_original_name(obj, original_names): def set_original_name(obj, original_names):
element = tool.Ifc.get_entity(obj) element = tool.Ifc.get_entity(obj)
aggregate = ifcopenshell.util.element.get_aggregate(element) aggregate = ifcopenshell.util.element.get_aggregate(element)
if ifcopenshell.util.element.get_parts(element): # if element has parts it means it is the base of and aggregate or sub-aggregate if ifcopenshell.util.element.get_parts(
element
): # if element has parts it means it is the base of and aggregate or sub-aggregate
aggregate = element aggregate = element
group = [ group = [
@@ -1170,15 +1166,13 @@ class RefreshLinkedAggregate(bpy.types.Operator):
group = group[0].id() group = group[0].id()
pset = ifcopenshell.util.element.get_pset(element, self.pset_name) pset = ifcopenshell.util.element.get_pset(element, self.pset_name)
index = pset['Index'] index = pset["Index"]
try: try:
obj.name = original_names[group][index] obj.name = original_names[group][index]
except: except:
return return
def get_element_assembly(element): def get_element_assembly(element):
if element.is_a("IfcElementAssembly"): if element.is_a("IfcElementAssembly"):
return element return element
@@ -1287,12 +1281,12 @@ class RefreshLinkedAggregate(bpy.types.Operator):
if not new_aggregate: if not new_aggregate:
blenderbim.core.aggregate.assign_object( blenderbim.core.aggregate.assign_object(
tool.Ifc, tool.Ifc,
tool.Aggregate, tool.Aggregate,
tool.Collector, tool.Collector,
relating_obj=tool.Ifc.get_object(element_aggregate), relating_obj=tool.Ifc.get_object(element_aggregate),
related_obj=tool.Ifc.get_object(new[0]), related_obj=tool.Ifc.get_object(new[0]),
) )
for old, new in old_to_new.items(): for old, new in old_to_new.items():
new_obj = tool.Ifc.get_object(new[0]) new_obj = tool.Ifc.get_object(new[0])