Fix Lighting/refraction UI drawing crashes and add warning message that they are only IFC data not used by Blender for surface appearance

This commit is contained in:
falken10vdl
2026-04-27 16:17:56 +02:00
parent 110e4050c8
commit a89621b179
3 changed files with 16 additions and 2 deletions
@@ -744,7 +744,7 @@ class EnableEditingSurfaceStyle(bpy.types.Operator):
if self.ifc_class == "IfcSurfaceStyleLighting":
def callback(attribute_name: str, _: object, data: dict[str, Any]) -> None:
assert attributes
assert attributes is not None
color = attributes.add()
assert isinstance(color, ColourRgb)
color.name = attribute_name
@@ -185,6 +185,13 @@ class ColourRgb(PropertyGroup):
# to fit blender.bim.helper.draw_attribute
is_optional = False
special_type = ""
data_type = ""
ifc_class = ""
use_explorer_ui = False
@property
def display_name(self):
return self.name
def get_value_name(self, *args, **kwargs):
return "color_value"
+8 -1
View File
@@ -272,10 +272,17 @@ class BIM_PT_styles(Panel):
bonsai.bim.helper.draw_attributes(self.props.external_style_attributes, self.layout, enable_search=True)
def draw_refraction_surface_style(self):
self.layout.label(
text="Refraction values are IFC-only and do not affect Blender surface appearance",
icon="ERROR",
)
bonsai.bim.helper.draw_attributes(self.props.refraction_style_attributes, self.layout, enable_search=True)
row = self.layout.row(align=True)
def draw_lighting_surface_style(self):
self.layout.label(
text="Lighting values are IFC-only and do not affect Blender surface appearance",
icon="ERROR",
)
bonsai.bim.helper.draw_attributes(self.props.lighting_style_colours, self.layout)
def draw_edit_ui(self, edit_label: str):