diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/ui.py b/src/blenderbim/blenderbim/bim/module/aggregate/ui.py index 3ce391dc8e..eaa201c8cf 100644 --- a/src/blenderbim/blenderbim/bim/module/aggregate/ui.py +++ b/src/blenderbim/blenderbim/bim/module/aggregate/ui.py @@ -31,6 +31,8 @@ class BIM_PT_aggregate(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False props = context.active_object.BIMObjectProperties if not props.ifc_definition_id: return False diff --git a/src/blenderbim/blenderbim/bim/module/attribute/ui.py b/src/blenderbim/blenderbim/bim/module/attribute/ui.py index e6d5c5fa1b..df73d36da1 100644 --- a/src/blenderbim/blenderbim/bim/module/attribute/ui.py +++ b/src/blenderbim/blenderbim/bim/module/attribute/ui.py @@ -92,6 +92,8 @@ class BIM_PT_object_attributes(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False if not IfcStore.get_element(context.active_object.BIMObjectProperties.ifc_definition_id): return False return bool(context.active_object.BIMObjectProperties.ifc_definition_id) diff --git a/src/blenderbim/blenderbim/bim/module/classification/ui.py b/src/blenderbim/blenderbim/bim/module/classification/ui.py index 1a03ebf3a5..8be9404a71 100644 --- a/src/blenderbim/blenderbim/bim/module/classification/ui.py +++ b/src/blenderbim/blenderbim/bim/module/classification/ui.py @@ -89,6 +89,8 @@ class BIM_PT_classification_references(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False if not IfcStore.get_element(context.active_object.BIMObjectProperties.ifc_definition_id): return False return bool(context.active_object.BIMObjectProperties.ifc_definition_id) diff --git a/src/blenderbim/blenderbim/bim/module/constraint/ui.py b/src/blenderbim/blenderbim/bim/module/constraint/ui.py index 27aced601b..606b534555 100644 --- a/src/blenderbim/blenderbim/bim/module/constraint/ui.py +++ b/src/blenderbim/blenderbim/bim/module/constraint/ui.py @@ -76,6 +76,8 @@ class BIM_PT_object_constraints(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False if not IfcStore.get_element(context.active_object.BIMObjectProperties.ifc_definition_id): return False return bool(context.active_object.BIMObjectProperties.ifc_definition_id) diff --git a/src/blenderbim/blenderbim/bim/module/document/ui.py b/src/blenderbim/blenderbim/bim/module/document/ui.py index 2eb5e8b482..c58dbd5f39 100644 --- a/src/blenderbim/blenderbim/bim/module/document/ui.py +++ b/src/blenderbim/blenderbim/bim/module/document/ui.py @@ -80,6 +80,8 @@ class BIM_PT_object_documents(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False if not IfcStore.get_element(context.active_object.BIMObjectProperties.ifc_definition_id): return False return bool(context.active_object.BIMObjectProperties.ifc_definition_id) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/ui.py b/src/blenderbim/blenderbim/bim/module/geometry/ui.py index 0888ef27a5..eb3310b5c3 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/ui.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/ui.py @@ -32,6 +32,8 @@ class BIM_PT_representations(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False if not IfcStore.get_element(context.active_object.BIMObjectProperties.ifc_definition_id): return False return IfcStore.get_file() diff --git a/src/blenderbim/blenderbim/bim/module/group/ui.py b/src/blenderbim/blenderbim/bim/module/group/ui.py index a806564db5..8b7a48e848 100644 --- a/src/blenderbim/blenderbim/bim/module/group/ui.py +++ b/src/blenderbim/blenderbim/bim/module/group/ui.py @@ -77,6 +77,8 @@ class BIM_PT_object_groups(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False return IfcStore.get_file() and context.active_object.BIMObjectProperties.ifc_definition_id def draw(self, context): diff --git a/src/blenderbim/blenderbim/bim/module/material/ui.py b/src/blenderbim/blenderbim/bim/module/material/ui.py index d89f48a2ac..02254312b5 100644 --- a/src/blenderbim/blenderbim/bim/module/material/ui.py +++ b/src/blenderbim/blenderbim/bim/module/material/ui.py @@ -52,6 +52,8 @@ class BIM_PT_object_material(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False props = context.active_object.BIMObjectProperties if not props.ifc_definition_id: return False diff --git a/src/blenderbim/blenderbim/bim/module/root/ui.py b/src/blenderbim/blenderbim/bim/module/root/ui.py index 950195a5ab..c0329862f0 100644 --- a/src/blenderbim/blenderbim/bim/module/root/ui.py +++ b/src/blenderbim/blenderbim/bim/module/root/ui.py @@ -32,6 +32,8 @@ class BIM_PT_class(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False return IfcStore.get_file() def draw(self, context): diff --git a/src/blenderbim/blenderbim/bim/module/system/ui.py b/src/blenderbim/blenderbim/bim/module/system/ui.py index 24ece1eecf..69f5e50781 100644 --- a/src/blenderbim/blenderbim/bim/module/system/ui.py +++ b/src/blenderbim/blenderbim/bim/module/system/ui.py @@ -77,6 +77,8 @@ class BIM_PT_object_systems(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False return IfcStore.get_file() and context.active_object.BIMObjectProperties.ifc_definition_id def draw(self, context): diff --git a/src/blenderbim/blenderbim/bim/module/type/ui.py b/src/blenderbim/blenderbim/bim/module/type/ui.py index 67d680e6e4..6692b20be8 100644 --- a/src/blenderbim/blenderbim/bim/module/type/ui.py +++ b/src/blenderbim/blenderbim/bim/module/type/ui.py @@ -31,6 +31,8 @@ class BIM_PT_type(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False props = context.active_object.BIMObjectProperties if not props.ifc_definition_id: return False diff --git a/src/blenderbim/blenderbim/bim/module/void/ui.py b/src/blenderbim/blenderbim/bim/module/void/ui.py index 572ad8f71a..2a66f118ce 100644 --- a/src/blenderbim/blenderbim/bim/module/void/ui.py +++ b/src/blenderbim/blenderbim/bim/module/void/ui.py @@ -32,6 +32,8 @@ class BIM_PT_voids(Panel): @classmethod def poll(cls, context): + if not context.active_object: + return False if not IfcStore.get_element(context.active_object.BIMObjectProperties.ifc_definition_id): return False return IfcStore.get_file()