additional tweak to the preceding commit.

This commit is contained in:
Ryan Schultz
2025-10-18 13:43:34 -05:00
parent 5885924bb7
commit 486651e0b7
2 changed files with 4 additions and 0 deletions
+2
View File
@@ -36,6 +36,7 @@ from bonsai.bim.ifc import IfcStore
from mathutils import Vector from mathutils import Vector
from typing import Union from typing import Union
from logging import Logger from logging import Logger
from math import radians
class IfcExporter: class IfcExporter:
@@ -112,6 +113,7 @@ class IfcExporter:
# Ensure reflected ceiling cameras have the correct scale # Ensure reflected ceiling cameras have the correct scale
if obj.scale != (-1, -1, -1): if obj.scale != (-1, -1, -1):
obj.scale = (-1, -1, -1) obj.scale = (-1, -1, -1)
obj.rotation_euler = (0.0, 0.0, radians(180))
# Skip all other scale handling for cameras # Skip all other scale handling for cameras
elif tool.Geometry.is_scaled(obj): elif tool.Geometry.is_scaled(obj):
bpy.ops.bim.update_representation(obj=obj.name) bpy.ops.bim.update_representation(obj=obj.name)
@@ -2346,12 +2346,14 @@ class ActivateDrawingBase(tool.Ifc.Operator):
is_reflected = ifcopenshell.util.element.get_pset(camera_element, "EPset_Drawing", "TargetView") == "REFLECTED_PLAN_VIEW" is_reflected = ifcopenshell.util.element.get_pset(camera_element, "EPset_Drawing", "TargetView") == "REFLECTED_PLAN_VIEW"
if is_reflected and camera.scale != (-1, -1, -1): if is_reflected and camera.scale != (-1, -1, -1):
camera.scale = (-1, -1, -1) camera.scale = (-1, -1, -1)
camera.rotation_euler = (0.0, 0.0, radians(180))
if camera_props.update_representation(camera.matrix_world): if camera_props.update_representation(camera.matrix_world):
bpy.ops.bim.update_representation(obj=camera.name, ifc_representation_class="") bpy.ops.bim.update_representation(obj=camera.name, ifc_representation_class="")
# Restore the scale after update if needed # Restore the scale after update if needed
if is_reflected: if is_reflected:
camera.scale = (-1, -1, -1) camera.scale = (-1, -1, -1)
camera.rotation_euler = (0.0, 0.0, radians(180))
return {"FINISHED"} return {"FINISHED"}