From 229ba95d4bf2d3cf6703ee1bdd2a825292acfb23 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 12 May 2021 09:58:11 +0200 Subject: [PATCH] #1442 no longer create compsolids in extrusions --- src/ifcgeom/IfcGeomFunctions.cpp | 1 + src/ifcgeom/IfcGeomShapes.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 543bf86e6f..a89e96fc06 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -740,6 +740,7 @@ const TopoDS_Shape& IfcGeom::Kernel::ensure_fit_for_subtraction(const TopoDS_Sha return solid; } +// @nb this function is only in use on older versions of occt. bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcGeom::IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcGeom::IfcRepresentationShapeItems& cut_shapes) { diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 9cdeb9a60f..18711fca83 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -153,6 +153,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_S shape.Nullify(); + /* + // @nb This logic was probably flawed always as this does not by itself result in a valid compsolid... if (face.ShapeType() == TopAbs_COMPOUND) { // For compounds (most likely the result of a IfcCompositeProfileDef) @@ -174,6 +176,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_S } } + */ if (shape.IsNull()) { shape = BRepPrimAPI_MakePrism(face, height*dir);