fix #7537 - Layer thickness correct when slab is rotated and few other features...

- Add dual-rotation support for AXIS3 slabs (IFC angle + object rotation)
- Fix profile editing to display horizontal projection for tilted slabs
- Fix AXIS2 layer slicing to use local extrusion direction for walls
- Fix ChangeExtrusionDepth to refresh geometry after depth changes
- Remove rotation lock on slabs to allow free rotation
- Fix undefined variable bug in add_slab_representation.py
This commit is contained in:
Ryan Schultz
2026-01-11 18:43:07 -06:00
committed by GitHub
parent 15bbdc8085
commit 7f87f1fb89
6 changed files with 451 additions and 132 deletions
@@ -85,7 +85,6 @@ class Usecase:
def create_item(self) -> ifcopenshell.entity_instance:
length = self.convert_si_to_unit(self.settings["length"])
thickness = self.convert_si_to_unit(self.settings["thickness"])
thickness *= 1 / cos(self.settings["x_angle"])
if self.settings["direction_sense"] == "NEGATIVE":
thickness *= -1
points = (
@@ -113,7 +112,7 @@ class Usecase:
self.file.createIfcDirection((1.0, 0.0, 0.0)),
),
extrusion_direction,
self.convert_si_to_unit(self.settings["height"]) * abs(1 / cos(self.settings["x_angle"])),
self.convert_si_to_unit(self.settings["height"]),
)
if self.settings["booleans"]:
extrusion = self.apply_booleans(extrusion)