puts "========" puts "BUC60963" puts "OCC88" puts "========" puts "" ###################################################### # BUC60963. can not project vertex to face ###################################################### restore [locate_data_file OCC88.brep] sh set che [checkshape sh] explode sh f checkshape sh_1 checkshape sh_2 mksurface surf1 sh_1 mksurface surf2 sh_2 puts "Make line from pos(135; 11; 0) with dir (0;0;1) " line l 135 11 0 0 0 1 intersect res1 l surf1 intersect res2 l surf2 #set first1 [whatis res1] #set second1 [whatis res2] puts "Try to intersect with (135;10.9995;0) (0;0;1)" line ll 135 10.9995 0 0 0 1 intersect res_1 ll surf1 intersect res_2 ll surf2 #set first2 [whatis res_1] #set second2 [whatis res_2] set IsGood 1 if {[info exists res1] == 0} { puts "Faulty OCC88 (case 2)" set IsGood 0 } if {[info exists res2] == 1} { puts "Faulty OCC88 (case 3)" set IsGood 0 } if {[info exists res_1] == 0} { puts "Faulty OCC88 (case 4)" set IsGood 0 } if {[info exists res_2] == 1} { puts "Faulty OCC88 (case 5)" set IsGood 0 } if {${IsGood} == 1} { set dump_list1 [split [dump res1] " :,\n"] set x1 [lindex ${dump_list1} 10] set y1 [lindex ${dump_list1} 12] set z1 [lindex ${dump_list1} 14] set dump_list2 [split [dump res_1] " :,\n"] set x2 [lindex ${dump_list2} 10] set y2 [lindex ${dump_list2} 12] set z2 [lindex ${dump_list2} 14] checkreal "x1 case 6" ${x1} ${x2} 0 0.001 checkreal "y1 case 7" ${y1} ${y2} 0 0.001 checkreal "z1 case 8" ${z1} ${z2} 0 0.001 }