diff --git a/src/BRepTools/BRepTools_TrsfModification.cxx b/src/BRepTools/BRepTools_TrsfModification.cxx index 238afe6970..c8252f6caf 100644 --- a/src/BRepTools/BRepTools_TrsfModification.cxx +++ b/src/BRepTools/BRepTools_TrsfModification.cxx @@ -394,11 +394,11 @@ Standard_Boolean BRepTools_TrsfModification::NewCurve2d if(l - lc > Precision::PConfusion()) l = lc; if(Abs(l - f) < Precision::PConfusion()) { - if(Abs(f - fc) < Precision::PConfusion()) + if(Abs(f - fc) < Precision::PConfusion() && !Precision::IsInfinite(lc)) { l = lc; } - else + else if (!Precision::IsInfinite(fc)) { f = fc; } diff --git a/tests/bugs/modalg_7/bug33369 b/tests/bugs/modalg_7/bug33369 new file mode 100644 index 0000000000..ab98074f81 --- /dev/null +++ b/tests/bugs/modalg_7/bug33369 @@ -0,0 +1,11 @@ +puts "=======================================================" +puts "0033369: OCCT:Modeling Algorithms - BRepBuilderAPI_Transform makes invalid shape after transformation" +puts "=======================================================" +puts "" + +restore [locate_data_file bug33369.brep] f + +ttranslate f 1 1 1 -copy + +checkshape f +