From 7d8ef3ffd0bce793eaa8593f969d6bdbe9012b90 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 26 Sep 2024 17:47:01 +0500 Subject: [PATCH] Fix invalid IfcRevolvedAreaSolid representations with angle <360 deg It was always assuming angle is 360 deg --- src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp b/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp index a91f6f969e..047372396d 100644 --- a/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp +++ b/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp @@ -405,7 +405,12 @@ bool IfcGeom::OpenCascadeKernel::convert_impl(const taxonomy::revolve::ptr r, If return false; } - TopoDS_Shape shape = BRepPrimAPI_MakeRevol(face, ax); + TopoDS_Shape shape; + if (r->angle) { + shape = BRepPrimAPI_MakeRevol(face, ax, *r->angle); + } else { + shape = BRepPrimAPI_MakeRevol(face, ax); + } results.emplace_back(ConversionResult( r->instance->as()->id(),