From 8a14707a094f45ee806775dad16285675ef6f3d1 Mon Sep 17 00:00:00 2001 From: Chirag Singh Date: Sat, 31 Aug 2024 20:00:10 +0530 Subject: [PATCH] Removed if transparent then glass and removed some comments --- src/bonsai/bonsai/bim/module/light/list.py | 6 +- .../bonsai/bim/module/light/operator.py | 57 +++++-------------- src/bonsai/bonsai/bim/module/light/prop.py | 3 + 3 files changed, 19 insertions(+), 47 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/light/list.py b/src/bonsai/bonsai/bim/module/light/list.py index 0536284e7a..0e44168948 100644 --- a/src/bonsai/bonsai/bim/module/light/list.py +++ b/src/bonsai/bonsai/bim/module/light/list.py @@ -27,12 +27,12 @@ with open(os.path.join(os.path.dirname(__file__), "spectraldb.json"), "r") as f: class MATERIAL_UL_radiance_materials(bpy.types.UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): - if self.layout_type in {"DEFAULT", "COMPACT"}: + if self.layout_type in {'DEFAULT', 'COMPACT'}: row = layout.row(align=True) - + # Adding color preview or glass icon if item.category == "Glass": - row.label(icon="SHADING_TEXTURE") + row.label(icon='SHADING_TEXTURE') else: color_rect = row.row() color_rect.prop(item, "color", text="") diff --git a/src/bonsai/bonsai/bim/module/light/operator.py b/src/bonsai/bonsai/bim/module/light/operator.py index de98b6d8b3..db36741993 100644 --- a/src/bonsai/bonsai/bim/module/light/operator.py +++ b/src/bonsai/bonsai/bim/module/light/operator.py @@ -32,7 +32,6 @@ from typing import Union, Optional, Sequence import json import math import time -import sun_position import ifcopenshell import webbrowser import ifcopenshell.geom @@ -166,21 +165,6 @@ class RadianceRender(bpy.types.Operator): sun_props = context.scene.BIMSolarProperties sun_pos_props = context.scene.sun_pos_properties sky_file_path = os.path.join(output_dir, "sky.rad") - # latitude = sun_props.latitude - # longitude = sun_props.longitude - # month = sun_props.month - # day = sun_props.day - # hour = sun_props.hour - # minute = sun_props.minute - - # print("Sun Properties:") - # print("Latitude: ", latitude) - # print("Longitude: ", longitude) - # print("Timezone: ", timezone) - # print("Month: ", month) - # print("Day: ", day) - # print("Hour: ", hour) - # print("Minute: ", minute) print("Setting up camera...") if props.use_active_camera: @@ -198,15 +182,6 @@ class RadianceRender(bpy.types.Operator): print(f"Camera position: {camera_position}") print(f"Camera direction: {camera_direction}") - # azimuth, elevation = sun_position.sun_calc.get_sun_coordinates( - # sun_pos_props.time, - # sun_pos_props.latitude, - # sun_pos_props.longitude, - # -sun_pos_props.UTC_zone, - # sun_pos_props.month, - # sun_pos_props.day, - # sun_pos_props.year, - # ) dt = datetime(sun_pos_props.year, sun_props.month, sun_props.day, sun_props.hour, sun_props.minute) @@ -218,11 +193,11 @@ class RadianceRender(bpy.types.Operator): longitude=sun_props.longitude, year=sun_pos_props.year, timezone=-int(sun_props.UTC_zone), - # sunny_with_sun=False, - # sunny_without_sun=False, - # cloudy=False, - # ground_reflectance=0.2, - # turbidity=3.0, + sunny_with_sun=False, + sunny_without_sun=False, + cloudy=False, + ground_reflectance=0.2, + turbidity=3.0, ) sky_description_str = sky_description.decode("utf-8") @@ -565,28 +540,22 @@ class RefreshIFCMaterials(bpy.types.Operator): if render_item.is_a("IfcSurfaceStyleRendering"): style_id = f"IfcSurfaceStyleRendering-{render_item.id()}" style_name = style.Name or f"Unnamed Style {render_item.id()}" - - # Extract color and transparency + + # Extract color color = (1.0, 1.0, 1.0) # Default white - transparency = 0.0 # Default opaque if render_item.SurfaceColour: color = ( render_item.SurfaceColour.Red, render_item.SurfaceColour.Green, - render_item.SurfaceColour.Blue, + render_item.SurfaceColour.Blue ) - if hasattr(render_item, "Transparency") and render_item.Transparency is not None: - transparency = render_item.Transparency - - # Add material with color + material = props.add_material_mapping(style_id, style_name) material.color = color - - # If transparency is high, consider it as glass - if transparency > 0.5: - material.category = "Glass" - material.subcategory = "Clear Glass" - material.is_mapped = True + + material.category = "" + material.subcategory = "" + material.is_mapped = False props.active_material_index = 0 if props.materials else -1 diff --git a/src/bonsai/bonsai/bim/module/light/prop.py b/src/bonsai/bonsai/bim/module/light/prop.py index 23dcf9228b..a4c0cb9dbb 100644 --- a/src/bonsai/bonsai/bim/module/light/prop.py +++ b/src/bonsai/bonsai/bim/module/light/prop.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy +from bonsai.bim.helper import prop_with_search import pytz import tzfpy import json @@ -185,6 +186,8 @@ class RadianceExporterProperties(PropertyGroup): if self.ifc_file: self.ifc_file = bpy.path.abspath(self.ifc_file) + + def add_material_mapping(self, style_id, style_name): item = self.materials.add() item.name = style_name