mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-16 21:42:19 +00:00
DumbWallJoiner to work with IfcBooleanResult correctly #3831
It wasn't detecting extrusion as part of IfcBooleanResult and was using default wall data as fallback.
Occured after 0044ef5
Solves #3831
Related to #3709
This commit is contained in:
@@ -1262,8 +1262,13 @@ class DumbWallJoiner:
|
|||||||
results["is_sloped"] = True
|
results["is_sloped"] = True
|
||||||
results["height"] = (item.Depth * self.unit_scale) / (1 / cos(results["x_angle"]))
|
results["height"] = (item.Depth * self.unit_scale) / (1 / cos(results["x_angle"]))
|
||||||
break
|
break
|
||||||
elif item.is_a("IfcBooleanClippingResult"):
|
elif item.is_a("IfcBooleanClippingResult"): # should be before IfcBooleanResult check
|
||||||
item = item.FirstOperand
|
item = item.FirstOperand
|
||||||
|
elif item.is_a("IfcBooleanResult"):
|
||||||
|
if item.FirstOperand.is_a("IfcExtrudedAreaSolid") or item.FirstOperand.is_a("IfcBooleanResult"):
|
||||||
|
item = item.FirstOperand
|
||||||
|
else:
|
||||||
|
item = item.SecondOperand
|
||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
return results
|
return results
|
||||||
|
|||||||
Reference in New Issue
Block a user