From 794e55aadd618b462292dde121fd77560baa5a86 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 23 Jun 2020 08:02:46 +1000 Subject: [PATCH] Fallback to non-native if boolean operations exist. See #865. --- src/ifcblenderexport/blenderbim/bim/import_ifc.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ifcblenderexport/blenderbim/bim/import_ifc.py b/src/ifcblenderexport/blenderbim/bim/import_ifc.py index e905aaede9..d9f54cb1d4 100644 --- a/src/ifcblenderexport/blenderbim/bim/import_ifc.py +++ b/src/ifcblenderexport/blenderbim/bim/import_ifc.py @@ -381,6 +381,8 @@ class IfcImporter(): def parse_native_swept_disk_solid(self): for element in self.file.by_type('IfcSweptDiskSolid'): + if [e for e in self.file.get_inverse(element) if e.is_a('IfcBooleanResult')]: + continue self.swap_out_with_dummy_geometry(element) def parse_native_extruded_area_solid(self): @@ -390,10 +392,14 @@ class IfcImporter(): 'IfcRectangleProfileDef' ]: continue + if [e for e in self.file.get_inverse(element) if e.is_a('IfcBooleanResult')]: + continue self.swap_out_with_dummy_geometry(element) def parse_native_faceted_brep(self): for element in self.file.by_type('IfcFacetedBrep'): + if [e for e in self.file.get_inverse(element) if e.is_a('IfcBooleanResult')]: + continue self.swap_out_with_dummy_geometry(element) def swap_out_with_dummy_geometry(self, element):