puts "============" puts "OCC26576" puts "============" puts "" ############################### ## Wrong result obtained by intersection algorithm. ############################### set GoodNbCurv 2 circle cc 1.5 3.125 0 0 0 1 1 0 0 0.25 trim cc cc 0 3.14159265358979 revsurf ss1 cc 1.5 3.125 0 -1 0 0 plane ss2 3.48352775473762 1.7282347013387 0 0 0 -1 -1 0 0 set IntCurv [intersect intres ss1 ss2] set NbIntCurv [llength \${IntCurv}] if { \${NbIntCurv} != \${GoodNbCurv} } { puts "Error in geometric intersection: \${GoodNbCurv} curves are expected but \${NbIntCurv} are found!" } else { puts "OK : Geometric intersection is good." } # For getting tolerance value mkface b1 ss1 mkface b2 ss2 donly b1 set log [bopcurves b1 b2 -2d] regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} \${log} full Tolerance_Reached NbCurv set expected_Tolerance_Reached 1.9321146113460029e-008 set tol_abs_Tolerance_Reached 1.0e-7 set tol_rel_Tolerance_Reached 0.0 checkreal "Tolerance Reached" \${Tolerance_Reached} \${expected_Tolerance_Reached} \${tol_abs_Tolerance_Reached} \${tol_rel_Tolerance_Reached} if {\${NbCurv} != \${GoodNbCurv}} { puts "Error: \${GoodNbCurv} curves are expected but \${NbCurv} are found!" } #Overlapping intersection curves. if { \$Tolerance_Reached < 1.0e-7 } { set Tolerance_Reached 1.0e-7 } for {set i 1} {\$i < \${NbCurv}} {incr i} { for {set j [expr \$i+1]} {\$j <= \$NbCurv} {incr j} { mkedge eb1 c_\$i mkedge eb2 c_\$j mkedge ei1 intres_\$i mkedge ei2 intres_\$j set coeb [checkoverlapedges eb1 eb2 \$Tolerance_Reached] set coei [checkoverlapedges ei1 ei2 \$Tolerance_Reached] puts "\$i<->\$j: \$coeb" puts "\$i<->\$j: \$coei" if { [regexp "Edges is not overlaped" \$coeb] != 1 } { puts "Error: c_\$i and c_\$j are overlaped" } if { [regexp "Edges is not overlaped" \$coei] != 1 } { puts "Error: intres_\$i and intres_\$j are overlaped" } erase eb1 eb2 ei1 ei2 } } smallview fit checkview -screenshot -2d -path \${imagedir}/\${test_image}.png