puts "========" puts "OCC319" puts "========" puts "" ###################################################### # Wrong shading on a shape ###################################################### cpulimit 3500 restore [locate_data_file OCC319.brep] result decho off set res [checkshape result] decho on set index [lsearch $res Faulty] if {$index > -1} { puts "Warning OCC319: here is checkshape problem" } tclean result vinit vdisplay result vsetdispmode result 1 vfit set scale 16.5593321780929 set proj_X 0.207536488771439 set proj_Y -0.233648166060448 set proj_Z 0.949914216995239 set up_X -0.857990384101868 set up_Y 0.422952175140381 set up_Z 0.291485607624054 set at_X -1.78904829452738 set at_Y 1.90614280957802 set at_Z 6.47028180612483 vviewparams -scale ${scale} -proj ${proj_X} ${proj_Y} ${proj_Z} -up ${up_X} ${up_Y} ${up_Z} -at ${at_X} ${at_Y} ${at_Z} set info [trinfo result] regexp { +([-0-9.+eE]+) +triangles} $info full tri regexp { +([-0-9.+eE]+) +nodes} $info full nod set IsGood 1 if { $tri == 0 || $nod == 0 } { puts "Faulty OCC319: here is shading problem" set IsGood 0 } regexp {Mass +: +([-0-9.+eE]+)} [sprops result] full sq set good_square 8623.6 set square_percent [expr abs(${sq} - ${good_square}) / double(${good_square}) * 100.] set percent_max 0.1 puts "good_square = ${good_square}" puts "square = ${sq}" puts "square_percent = ${square_percent}" if {${square_percent} > ${percent_max}} { puts "OCC319 Faulty : here is square problem" set IsGood 0 } if {${IsGood} != 1} { puts "Errpr : OCC319" } set only_screen 1