352ffd73 |
1 | puts "=======" |
2 | puts "OCC901" |
3 | puts "OCC884" |
4 | puts "=======" |
5 | puts "" |
6 | |
7 | ########################################### |
8 | ## ShapeFix_Wire::FixSelfIntersection does not remove all loops |
9 | ############################################ |
10 | |
11 | pload QAcommands |
12 | |
13 | restore [locate_data_file OCC884.brep] a |
14 | |
15 | OCC884 result a 1.1 1.1 |
16 | |
17 | explode result e |
18 | mkplane p result |
19 | pcurve c2d result_1 p |
20 | mkcurve c3d result_1 |
21 | |
22 | set list_3 [length $c3d] |
23 | set list_4 [length $c2d] |
24 | |
25 | # len2 is the length of 3d curve |
26 | regexp {The length c3d is +([-0-9.+eE]+)} $list_3 full len2 |
27 | |
28 | # len1 is the length of 2d curve |
29 | regexp {The length c2d is +([-0-9.+eE]+)} $list_4 full len1 |
30 | |
31 | set percent_max 0.1 |
32 | set percent1 [expr abs(${len2} - ${len1}) / double(${len1}) * 100.] |
33 | |
34 | set len3 1.55056 |
35 | set percent2 [expr abs(${len2} - ${len3}) / double(${len3}) * 100.] |
36 | |
37 | puts "len1 = ${len1}" |
38 | puts "len2 = ${len2}" |
39 | puts "percent1 = ${percent1}" |
40 | puts "percent2 = ${percent2}" |
41 | |
42 | set status 0 |
43 | |
44 | if {${percent1} > ${percent_max}} { |
45 | puts "OCC901: Error (case 1)" |
46 | set status 1 |
47 | } |
48 | |
49 | if {${percent2} > ${percent_max}} { |
50 | puts "OCC901: Error (case 2)" |
51 | set status 1 |
52 | } |
53 | |
54 | if {${status} == 0} { |
55 | puts "OCC901: OK" |
56 | } |
57 | |
58 | set 2dviewer 0 |