puts "=======" puts "OCC901" puts "OCC884" puts "=======" puts "" ########################################### ## ShapeFix_Wire::FixSelfIntersection does not remove all loops ############################################ pload QAcommands restore [locate_data_file OCC884.brep] a OCC884 result a 1.1 1.1 explode result e mkplane p result pcurve c2d result_1 p mkcurve c3d result_1 set list_3 [length $c3d] set list_4 [length $c2d] # len2 is the length of 3d curve regexp {The length c3d is +([-0-9.+eE]+)} $list_3 full len2 # len1 is the length of 2d curve regexp {The length c2d is +([-0-9.+eE]+)} $list_4 full len1 set percent_max 0.1 set percent1 [expr abs(${len2} - ${len1}) / double(${len1}) * 100.] set len3 1.55056 set percent2 [expr abs(${len2} - ${len3}) / double(${len3}) * 100.] puts "len1 = ${len1}" puts "len2 = ${len2}" puts "percent1 = ${percent1}" puts "percent2 = ${percent2}" set status 0 if {${percent1} > ${percent_max}} { puts "OCC901: Error (case 1)" set status 1 } if {${percent2} > ${percent_max}} { puts "OCC901: Error (case 2)" set status 1 } if {${status} == 0} { puts "OCC901: OK" } set 2dviewer 0