From db2fcb09e31a8595655008cdd3fffca4bfa2d8fe Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Thu, 9 Apr 2026 07:49:53 +0100 Subject: [PATCH] ifcgeom: fix sweep restore translation sign in sweep_along_curve bd57cc873 shifted the directrix curve by -mean before sweeping, then translated the result by -mean again instead of +mean, placing the geometry at original - 2*mean. Negating the restore translation fixes the position; shape size was unaffected. cc @aothms Generated with the assistance of an AI coding tool. --- src/ifcgeom/kernels/opencascade/sweep_along_curve.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom/kernels/opencascade/sweep_along_curve.cpp b/src/ifcgeom/kernels/opencascade/sweep_along_curve.cpp index 510c8f182d..5176a160f5 100644 --- a/src/ifcgeom/kernels/opencascade/sweep_along_curve.cpp +++ b/src/ifcgeom/kernels/opencascade/sweep_along_curve.cpp @@ -300,7 +300,7 @@ bool OpenCascadeKernel::convert(const taxonomy::sweep_along_curve::ptr scs, Topo if (applied_temporary_offset) { gp_Trsf trsf; - trsf.SetTranslation(gp_Vec(-mean.x(), -mean.y(), -mean.z())); + trsf.SetTranslation(gp_Vec(mean.x(), mean.y(), mean.z())); result.Move(trsf); }