diff --git a/nix/build-all.py b/nix/build-all.py index 7bf77e15d9..0351300717 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -146,7 +146,7 @@ SWIG_VERSION = "4.1.0" OPENCOLLADA_VERSION = "v1.6.68" HDF5_VERSION = "1.13.1" -GMP_VERSION = "6.2.1" +GMP_VERSION = "6.3.0" MPFR_VERSION = "3.1.6" # latest is 4.1.0 CGAL_VERSION = "v5.6.3" USD_VERSION = "23.05" diff --git a/src/bonsai/bonsai/bim/import_ifc.py b/src/bonsai/bonsai/bim/import_ifc.py index 9252ecb94b..1765b1ca24 100644 --- a/src/bonsai/bonsai/bim/import_ifc.py +++ b/src/bonsai/bonsai/bim/import_ifc.py @@ -952,6 +952,9 @@ class IfcImporter: if not props.ifc_file: props.ifc_file = self.ifc_import_settings.input_file self.file = tool.Ifc.get() + # IFC4 Reference View shall have no booleans https://github.com/BuildingSMART/IFC4-CV/issues/14 + if self.file.schema == "IFC4" and "ReferenceView" in str(self.file.header.file_description.description): + self.ifc_import_settings.void_limit = 0 def calculate_unit_scale(self): self.unit_scale = ifcopenshell.util.unit.calculate_unit_scale(self.file) diff --git a/src/ifcparse/IfcFile.cpp b/src/ifcparse/IfcFile.cpp index b887cbbfdf..88de3dfe34 100644 --- a/src/ifcparse/IfcFile.cpp +++ b/src/ifcparse/IfcFile.cpp @@ -752,7 +752,8 @@ std::optionalas_entity() || decl->as_type_declaration()) { auto* inst = file->schema()->instantiate(decl, rocks_db_attribute_storage{}); - inst->file_ = file; + // @todo maybe this needs to be set to file? In order to have a context (ie. rocksdb::db*) to write to? + inst->file_ = nullptr; return file->addEntity(inst); } else { throw std::runtime_error("Requires and entity or type declaration"); @@ -768,6 +769,7 @@ IfcUtil::IfcBaseClass* IfcParse::impl::in_memory_file_storage::create(const IfcP } else { throw std::runtime_error("Requires and entity or type declaration"); } - inst->file_ = file; + // file_ should be nullptr in order not to bypass addEntity() behaviour of registration in maps + inst->file_ = nullptr; return file->addEntity(inst); }