Keep 1.2m minimum opening thickness instead of using wall thickness

That way there will be a workaround if the wall is 0.6m+ meters thick but won't have an issue when you first added a window to a thin wall and it's opening later won't work for the thicker walls.
Mentioned in #4710
This commit is contained in:
Andrej730
2024-05-24 12:04:53 +05:00
parent 1a4e4678d0
commit fa87092fe0
@@ -68,7 +68,7 @@ class FilledOpeningGenerator:
) -> None: ) -> None:
props = bpy.context.scene.BIMModelProperties props = bpy.context.scene.BIMModelProperties
unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get())
opening_thickness_si = None opening_thickness_si = 0.0
filling = tool.Ifc.get_entity(filling_obj) filling = tool.Ifc.get_entity(filling_obj)
element = tool.Ifc.get_entity(voided_obj) element = tool.Ifc.get_entity(voided_obj)
@@ -266,11 +266,11 @@ class FilledOpeningGenerator:
self, self,
filling: ifcopenshell.entity_instance, filling: ifcopenshell.entity_instance,
filling_obj: bpy.types.Object, filling_obj: bpy.types.Object,
opening_thickness_si: Optional[float] = None, opening_thickness_si: float = 0.0,
) -> ifcopenshell.entity_instance: ) -> ifcopenshell.entity_instance:
# Since openings are reused later, we give a default thickness of 1.2m # Since openings are reused later, we give a default thickness of 1.2m
# which should cover the majority of curved, or super thick walls. # which should cover the majority of curved, or super thick walls.
thickness = 1.2 if opening_thickness_si is None else opening_thickness_si thickness = max(1.2, opening_thickness_si)
unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get())
shape_builder = ifcopenshell.util.shape_builder.ShapeBuilder(tool.Ifc.get()) shape_builder = ifcopenshell.util.shape_builder.ShapeBuilder(tool.Ifc.get())