41b3001c |
1 | puts "========================" |
2 | puts "OCC23203" |
3 | puts "========================" |
4 | puts "" |
5 | ####################################################################### |
6 | # STEP import produces wrong surface of revolution on ellipse |
7 | ####################################################################### |
8 | |
9 | ellipse e 0 0 0 0 -1 0 1 0 -1 10 5 |
10 | revsurf re e 0 0 0 0 0 1 |
11 | mkface f re 0 3 0 1 |
12 | newmodel |
13 | |
14 | set aFile ${imagedir}/bug23203.stp |
15 | file delete ${aFile} |
16 | if { [file exists ${aFile}] } { |
17 | puts "Error : There is old ${aFile} file." |
18 | } |
19 | |
20 | stepwrite 0 f ${aFile} |
21 | stepread ${aFile} res * |
22 | file delete ${aFile} |
23 | |
24 | explode res_1 f |
25 | mksurface ress1 res_1_1 |
26 | set log [dump ress1] |
27 | |
28 | if {[regexp {Trimmed +curve} ${log}]} { |
29 | puts "Error: bad basis curve" |
30 | } else { |
31 | puts "OK: good basis curve" |
32 | } |
33 | |
34 | regexp {XAxis :([-0-9.+eE]+), +([-0-9.+eE]+), +([-0-9.+eE]+)} ${log} full XAxis1 XAxis2 XAxis3 |
35 | regexp {YAxis :([-0-9.+eE]+), +([-0-9.+eE]+), +([-0-9.+eE]+)} ${log} full YAxis1 YAxis2 YAxis3 |
36 | |
37 | set good_XAxis1 0.707106781186548 |
38 | set good_XAxis2 0 |
39 | set good_XAxis3 -0.707106781186548 |
40 | set good_YAxis1 0.707106781186548 |
41 | set good_YAxis2 0 |
42 | set good_YAxis3 0.707106781186548 |
43 | |
44 | set Precision 1.e6 |
45 | |
46 | if {[expr abs(${XAxis1} - ${good_XAxis1})] > ${Precision} || |
47 | [expr abs(${XAxis2} - ${good_XAxis2})] > ${Precision} || |
48 | [expr abs(${XAxis3} - ${good_XAxis3})] > ${Precision}} { |
49 | puts "Error : bad XAxis" |
50 | } else { |
51 | puts "OK : good XAxis" |
52 | } |
53 | |
54 | if {[expr abs(${YAxis1} - ${good_YAxis1})] > ${Precision} || |
55 | [expr abs(${YAxis2} - ${good_YAxis2})] > ${Precision} || |
56 | [expr abs(${YAxis3} - ${good_YAxis3})] > ${Precision}} { |
57 | puts "Error : bad YAxis" |
58 | } else { |
59 | puts "OK : good YAxis" |
60 | } |