diff --git a/src/IntWalk/IntWalk_PWalking.cxx b/src/IntWalk/IntWalk_PWalking.cxx index 539b1ee2c4..f870367c9f 100644 --- a/src/IntWalk/IntWalk_PWalking.cxx +++ b/src/IntWalk/IntWalk_PWalking.cxx @@ -1003,28 +1003,18 @@ void IntWalk_PWalking::Perform(const TColStd_Array1OfReal& ParDep, if(LevelOfIterWithoutAppend > 5) { - if(pasSav[0] pasInit[i]) + continue; - if(pasSav[1] Epsilon(pasInit[i])) + { + pasInit[i] -= aDelta; + LevelOfIterWithoutAppend=0; + } } } diff --git a/tests/bugs/modalg_6/bug24161 b/tests/bugs/modalg_6/bug24161 new file mode 100644 index 0000000000..4bf77d10a5 --- /dev/null +++ b/tests/bugs/modalg_6/bug24161 @@ -0,0 +1,23 @@ +puts "==========" +puts "OCC24161" +puts "==========" +puts "" +########################################### +# boolean operation hanging +########################################### + +cpulimit 100 + +restore [locate_data_file bug24161_MirrorSolids.brep] m +explode m + +bop m_1 m_2 +bopfuse result + +checkshape result +bopargcheck result + +smallview +donly result + +set only_screen_axo 1