From 0ce35466ffbb3f8c14dc7129b6056df660fa41ea Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 14 Aug 2021 15:09:19 +1000 Subject: [PATCH] Fix #1645. Fix bug where you could accidentally have a layer set with zero thickness which caused object creation to fail. --- src/blenderbim/blenderbim/bim/module/model/slab.py | 2 +- src/blenderbim/blenderbim/bim/module/model/wall.py | 2 +- src/ifcopenshell-python/ifcopenshell/api/material/add_layer.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/slab.py b/src/blenderbim/blenderbim/bim/module/model/slab.py index 6c1a341f5d..49468f3861 100644 --- a/src/blenderbim/blenderbim/bim/module/model/slab.py +++ b/src/blenderbim/blenderbim/bim/module/model/slab.py @@ -249,7 +249,7 @@ class DumbSlabGenerator: if material.is_a("IfcMaterialLayerSet"): thicknesses = [l.LayerThickness for l in material.MaterialLayers] break - if not thicknesses: + if not sum(thicknesses): return self.collection = bpy.context.view_layer.active_layer_collection.collection diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py index f00d67db52..019271365f 100644 --- a/src/blenderbim/blenderbim/bim/module/model/wall.py +++ b/src/blenderbim/blenderbim/bim/module/model/wall.py @@ -643,7 +643,7 @@ class DumbWallGenerator: if material.is_a("IfcMaterialLayerSet"): thicknesses = [l.LayerThickness for l in material.MaterialLayers] break - if not thicknesses: + if not sum(thicknesses): return self.collection = bpy.context.view_layer.active_layer_collection.collection diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/add_layer.py b/src/ifcopenshell-python/ifcopenshell/api/material/add_layer.py index b895901227..5ced4395ed 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/material/add_layer.py +++ b/src/ifcopenshell-python/ifcopenshell/api/material/add_layer.py @@ -9,7 +9,7 @@ class Usecase: layers = list(self.settings["layer_set"].MaterialLayers or []) layer = self.file.create_entity("IfcMaterialLayer", **{ "Material": self.settings["material"], - "LayerThickness": 0. + "LayerThickness": 1. }) layers.append(layer) self.settings["layer_set"].MaterialLayers = layers