fix removing drawings from sheets when deleting drawings #3645

This commit is contained in:
Sigma Dimensions (Yass)
2023-08-29 00:45:01 +01:00
parent 676b16bc29
commit d22095f603
2 changed files with 17 additions and 0 deletions
@@ -1545,6 +1545,9 @@ class RemoveDrawing(bpy.types.Operator, Operator):
removed_drawings = [drawing.id() for drawing in drawings]
for drawing in drawings:
sheet_references = tool.Drawing.get_sheet_references(drawing)
for reference in sheet_references:
bpy.ops.bim.remove_drawing_from_sheet(reference=reference.id())
core.remove_drawing(tool.Ifc, tool.Drawing, drawing=drawing)
+14
View File
@@ -1835,3 +1835,17 @@ class Drawing(blenderbim.core.tool.Drawing):
direction = end - start
offset = distance * (direction / np.linalg.norm(direction))
return (start - offset).tolist(), (end + offset).tolist()
@classmethod
def get_sheet_references(cls, drawing):
sheet_references = []
drawing_reference = cls.get_drawing_document(drawing)
for sheet in tool.Ifc.get().by_type("IfcDocumentInformation"):
if not sheet.Scope == "SHEET":
continue
references = cls.get_document_references(sheet)
for reference in references:
if reference.Location == drawing_reference.Location:
sheet_references.append(reference)
break
return sheet_references