02effd35 |
1 | puts "================" |
2 | puts "OCC25292" |
3 | puts "================" |
4 | puts "" |
5 | ####################################################################### |
6 | # Face/Face intersection algorithm gives different results for different order of the arguments |
7 | ####################################################################### |
8 | |
e8feb725 |
9 | puts "##############################" |
10 | puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!" |
11 | puts "##############################" |
12 | puts "" |
13 | puts "" |
14 | |
02effd35 |
15 | # intersect command for trimmed surfaces |
16 | |
e8feb725 |
17 | #This value must be equal to the analogical value in bug25292_35 and bug25292_36 of "bugs modalg_5" testgrid. |
18 | set GoodNbCurv 2 |
19 | |
02effd35 |
20 | restore [locate_data_file bug25292_f1.brep] f1 |
21 | restore [locate_data_file bug25292_f2.brep] f2 |
22 | |
23 | mksurface s1 f1 |
24 | mksurface s2 f2 |
25 | |
26 | # trim s1 in accordance with the UV-bounds of f1: |
27 | trimv s1t s1 19.1600000005 19.6600000005 |
28 | |
29 | # trim s2 in accordance with the UV-bounds of f2: |
30 | trim s2t s2 0. 1.570796326795 -275 275 |
31 | |
32 | ################### |
e8feb725 |
33 | intersect res s2t s1t |
02effd35 |
34 | ################### |
35 | |
e8feb725 |
36 | set che [whatis res] |
37 | set ind [string first "3d curve" $che] |
38 | if {${ind} >= 0} { |
39 | #Only variable "res" exists |
261b7d9e |
40 | renamevar res res_1 |
f542b7bb |
41 | } |
e8feb725 |
42 | |
f542b7bb |
43 | set ic 1 |
44 | set AllowRepeate 1 |
45 | while { $AllowRepeate != 0 } { |
46 | set che [whatis res_$ic] |
47 | set ind [string first "3d curve" $che] |
48 | if {${ind} < 0} { |
49 | set AllowRepeate 0 |
50 | } else { |
261b7d9e |
51 | display res_$ic |
52 | |
f542b7bb |
53 | bounds res_$ic U1 U2 |
54 | |
261b7d9e |
55 | dval U1 |
56 | dval U2 |
57 | |
58 | if {[dval U2-U1] < 1.0e-20} { |
f542b7bb |
59 | puts "Error: Wrong curve's range!" |
e8feb725 |
60 | } |
f542b7bb |
61 | |
261b7d9e |
62 | xdistcs res_$ic s1 U1 U2 10 1.0e-7 |
63 | xdistcs res_$ic s2 U1 U2 10 1.0e-7 |
f542b7bb |
64 | |
65 | incr ic |
e8feb725 |
66 | } |
f542b7bb |
67 | } |
261b7d9e |
68 | |
f542b7bb |
69 | if {[expr {$ic - 1}] == $GoodNbCurv} { |
70 | puts "OK: Curve Number is good!" |
71 | } else { |
72 | puts "Error: Curve Number is bad!" |
02effd35 |
73 | } |