mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-16 21:42:19 +00:00
Fix #7646: Fix layer thumbnail orientation for IFC types
Use EPset_Parametric.LayerSetDirection exclusively to determine horizontal vs vertical layer rendering in type thumbnails, rather than hardcoding IfcSlabType checks. Also fix line drawing to use the is_horizontal flag consistently. Generated with the assistance of an AI coding tool.
This commit is contained in:
@@ -1245,9 +1245,6 @@ class Model(bonsai.core.tool.Model):
|
|||||||
height = 100
|
height = 100
|
||||||
|
|
||||||
is_horizontal = False
|
is_horizontal = False
|
||||||
if element.is_a("IfcSlabType"):
|
|
||||||
is_horizontal = True
|
|
||||||
|
|
||||||
parametric = ifcopenshell.util.element.get_psets(element).get("EPset_Parametric")
|
parametric = ifcopenshell.util.element.get_psets(element).get("EPset_Parametric")
|
||||||
if parametric:
|
if parametric:
|
||||||
layer_set_direction = parametric.get("LayerSetDirection", None)
|
layer_set_direction = parametric.get("LayerSetDirection", None)
|
||||||
@@ -1266,7 +1263,7 @@ class Model(bonsai.core.tool.Model):
|
|||||||
del thicknesses[-1]
|
del thicknesses[-1]
|
||||||
for thickness in thicknesses:
|
for thickness in thicknesses:
|
||||||
current_thickness += thickness
|
current_thickness += thickness
|
||||||
if element.is_a("IfcSlabType"):
|
if is_horizontal:
|
||||||
y = (current_thickness / total_thickness) * height
|
y = (current_thickness / total_thickness) * height
|
||||||
line = [x_offset, y_offset + y, x_offset + width, y_offset + y]
|
line = [x_offset, y_offset + y, x_offset + width, y_offset + y]
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user