352ffd73 |
1 | puts "============" |
2 | puts "OCC884" |
3 | puts "============" |
4 | puts "" |
5 | ################################################### |
6 | ## ShapeFix_Wire::FixSelfIntersection does not fix 3d curves on planes |
7 | ################################################### |
8 | |
9 | pload QAcommands |
10 | |
11 | restore [locate_data_file OCC884.brep] a |
12 | |
13 | OCC884 res a 1.1 1.1 |
14 | |
15 | explode res e |
16 | mkplane p res |
17 | pcurve c2d res_1 p |
18 | mkcurve c3d res_1 |
19 | |
20 | set list_3 [length $c3d] |
21 | set list_4 [length $c2d] |
22 | |
23 | # len2 is the length of 3d curve |
24 | regexp {The length c3d is +([-0-9.+eE]+)} $list_3 full len2 |
25 | |
26 | # len1 is the length of 2d curve |
27 | regexp {The length c2d is +([-0-9.+eE]+)} $list_4 full len1 |
28 | |
29 | set percent_max 0.1 |
30 | set percent [expr abs(${len2} - ${len1}) / double(${len1}) * 100.] |
31 | |
32 | puts "len1 = ${len1}" |
33 | puts "len2 = ${len2}" |
34 | puts "percent = ${percent}" |
35 | |
36 | if {${percent} > ${percent_max}} { |
37 | puts "OCC884: Error" |
38 | } else { |
39 | puts "OCC884: OK" |
40 | } |