This commit is contained in:
Andrej730
2024-12-24 12:45:46 +05:00
parent 75483edb22
commit f62b8073c6
2 changed files with 6 additions and 4 deletions
+4 -1
View File
@@ -770,7 +770,10 @@ class AddSlabFromWall(bpy.types.Operator, tool.Ifc.Operator):
return {"FINISHED"}
walls = tool.Model.get_connected_walls(bpy.context.selected_objects)
if not walls:
self.report({"WARNING"}, "Please select a closed loop of walls, or deselect the walls to add a slab using the polyline tool.")
self.report(
{"WARNING"},
"Please select a closed loop of walls, or deselect the walls to add a slab using the polyline tool.",
)
return {"FINISHED"}
DumbSlabGenerator(self.relating_type).generate("WALLS")
+2 -3
View File
@@ -673,8 +673,7 @@ class Model(bonsai.core.tool.Model):
return axes
@classmethod
def get_connected_walls(
cls, walls: list[bpy.types.Object]) -> list[bpy.types.Object]:
def get_connected_walls(cls, walls: list[bpy.types.Object]) -> list[bpy.types.Object]:
"""
Loop through walls by retrieving the next connected wall using the connection path.
If the function encounters the first wall again, it will return the list of connected walls.
@@ -697,7 +696,7 @@ class Model(bonsai.core.tool.Model):
next_wall = path.RelatedElement if path.RelatedElement != current_wall else path.RelatingElement
if next_wall == previous_wall:
continue
if next_wall != current_wall and next_wall != first_wall and next_wall not in ordered_walls:
ordered_walls.append(next_wall)
previous_wall = current_wall