diff --git a/src/blenderbim/blenderbim/bim/module/light/decorator.py b/src/blenderbim/blenderbim/bim/module/light/decorator.py index 6d51f9661c..b62a132ce0 100644 --- a/src/blenderbim/blenderbim/bim/module/light/decorator.py +++ b/src/blenderbim/blenderbim/bim/module/light/decorator.py @@ -21,7 +21,12 @@ import blf import gpu import bmesh import blenderbim.tool as tool -import sun_position.sun_calc + +try: + import sun_position.sun_calc +except ImportError: + sun_position = None + from bpy.types import SpaceView3D from math import radians from mathutils import Vector, Matrix diff --git a/src/blenderbim/blenderbim/bim/module/light/prop.py b/src/blenderbim/blenderbim/bim/module/light/prop.py index 89ce115c10..7e91d36623 100644 --- a/src/blenderbim/blenderbim/bim/module/light/prop.py +++ b/src/blenderbim/blenderbim/bim/module/light/prop.py @@ -20,7 +20,12 @@ import bpy import pytz import tzfpy import datetime -import sun_position.sun_calc + +try: + import sun_position.sun_calc +except ImportError: + sun_position = None + import blenderbim.tool as tool from math import radians, pi from mathutils import Euler, Vector, Matrix, Quaternion diff --git a/src/blenderbim/blenderbim/bim/module/light/ui.py b/src/blenderbim/blenderbim/bim/module/light/ui.py index a4bc9d6afa..89c0ff4502 100644 --- a/src/blenderbim/blenderbim/bim/module/light/ui.py +++ b/src/blenderbim/blenderbim/bim/module/light/ui.py @@ -18,7 +18,12 @@ import bpy from blenderbim.bim.module.light.data import SolarData -from sun_position.sun_calc import format_time, format_hms, sun + +try: + import sun_position + from sun_position.sun_calc import format_time, format_hms, sun +except ImportError: + sun_position = None class BIM_PT_radiance_exporter(bpy.types.Panel): @@ -35,6 +40,10 @@ class BIM_PT_radiance_exporter(bpy.types.Panel): layout = self.layout scene = context.scene + if sun_position is None: + layout.label(text="Enable 'Sun Position' addon to continue.") + return + props = scene.radiance_exporter_properties row = layout.row() @@ -78,6 +87,10 @@ class BIM_PT_solar(bpy.types.Panel): bl_options = {"HIDE_HEADER"} def draw(self, context): + if sun_position is None: + self.layout.label(text="Enable 'Sun Position' addon to continue.") + return + if not SolarData.is_loaded: SolarData.load()