cba287d6 |
1 | puts "TODO OCC27419 ALL: ERROR: OCC27419 is reproduced." |
2 | |
3 | puts "========" |
4 | puts "OCC27419" |
5 | puts "========" |
6 | puts "" |
7 | ############################################## |
8 | # Incorrect result of Edge/Face intersection |
9 | ############################################## |
10 | |
11 | restore [locate_data_file bug27419_ef.brep] b |
12 | |
13 | explode b |
14 | mkcurve c b_1 |
15 | mksurface s b_2 |
16 | |
17 | # Get intersection of Curve and Surface |
18 | intersect i c s |
19 | |
20 | # Get coordinates of intersection of Curve and Surface |
21 | set bug_info [string trim [dump i]] |
22 | set x_Coord [lindex $bug_info 7] |
23 | set x_Coord [string trim [string range $x_Coord 0 [expr {[string length $x_Coord] - 2}]]] |
24 | set y_Coord [lindex $bug_info 8] |
25 | set y_Coord [string trim [string range $y_Coord 0 [expr {[string length $y_Coord] - 2}]]] |
26 | set z_Coord [lindex $bug_info 9] |
27 | |
28 | # Get projection of intersection point to Curve |
29 | proj c $x_Coord $y_Coord $z_Coord |
30 | |
31 | #Get the length of projection |
32 | set Proj_Len [lindex [string trim [length ext_1]] 4] |
33 | |
34 | #Get maximim value of tolerance for the EDGE |
35 | set MaxTol_Edge [lindex [string trim [tolerance b_1]] 11] |
36 | set MaxTol_Edge [string trim [string range $MaxTol_Edge [expr {[string first "=" $MaxTol_Edge] + 1}] [expr {[string length $MaxTol_Edge] - 1}]]] |
37 | |
38 | # ERROR if MaxTol_Edge < Proj_Len else OK |
39 | if {$MaxTol_Edge < $Proj_Len} { |
40 | puts "ERROR: OCC27419 is reproduced. Result of Edge/Face intersection is incorrect." |
41 | } |