1puts "TODO OCC23610 ALL: should be less then or equal to the minimal tolerance value of its sub-shapes" 2 3puts "========" 4puts "OCC23610" 5puts "========" 6puts "" 7######################################################################################################## 8## checkshape command does not detect mismatch of the tolerance values among the sub-shapes of the shape 9######################################################################################################## 10 11restore [locate_data_file buc60462b.brep] b 12 13foreach Face [explode b f] { 14 if {[checkshape $Face] == "This shape seems to be valid"} { 15 set ToleranceList [tolerance $Face] 16 regexp {FACE +: +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=([-0-9.+eE]+)} $ToleranceList full MaxTol_face AvgTol_face MinTol_face 17 regexp {EDGE +: +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=([-0-9.+eE]+)} $ToleranceList full MaxTol_edge AvgTol_edge MinTol_edge 18 regexp {VERTEX +: +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=([-0-9.+eE]+)} $ToleranceList full MaxTol_vertex AvgTol_vertex MinTol_vertex 19 if {${MaxTol_face} > ${MinTol_edge} || ${MaxTol_face} > ${MinTol_vertex}} { 20 puts "Error: the tolerance value of the FACE $Face should be less then or equal to the minimal tolerance value of its sub-shapes(EDGES and VERTICES)" 21 } 22 } 23} 24 25foreach Edge [explode b e] { 26 if {[checkshape $Edge] == "This shape seems to be valid"} { 27 set ToleranceList [tolerance $Edge] 28 regexp {EDGE +: +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=([-0-9.+eE]+)} $ToleranceList full MaxTol_edge AvgTol_edge MinTol_edge 29 regexp {VERTEX +: +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=([-0-9.+eE]+)} $ToleranceList full MaxTol_vertex AvgTol_vertex MinTol_vertex 30 if {${MaxTol_edge} > ${MinTol_vertex}} { 31 puts "Error: the tolerance value of the EDGE $Edge should be less then or equal to the minimal tolerance value of its sub-shapes(VERTICES)" 32 } 33 } 34} 35