puts "========================" puts "OCC23203" puts "========================" puts "" ####################################################################### # STEP import produces wrong surface of revolution on ellipse ####################################################################### ellipse e 0 0 0 0 -1 0 1 0 -1 10 5 revsurf re e 0 0 0 0 0 1 mkface f re 0 3 0 1 newmodel set aFile ${imagedir}/bug23203.stp file delete ${aFile} if { [file exists ${aFile}] } { puts "Error : There is old ${aFile} file." } stepwrite 0 f ${aFile} stepread ${aFile} res * file delete ${aFile} explode res_1 f mksurface ress1 res_1_1 set log [dump ress1] if {[regexp {Trimmed +curve} ${log}]} { puts "Error: bad basis curve" } else { puts "OK: good basis curve" } regexp {XAxis :([-0-9.+eE]+), +([-0-9.+eE]+), +([-0-9.+eE]+)} ${log} full XAxis1 XAxis2 XAxis3 regexp {YAxis :([-0-9.+eE]+), +([-0-9.+eE]+), +([-0-9.+eE]+)} ${log} full YAxis1 YAxis2 YAxis3 set good_XAxis1 0.707106781186548 set good_XAxis2 0 set good_XAxis3 -0.707106781186548 set good_YAxis1 0.707106781186548 set good_YAxis2 0 set good_YAxis3 0.707106781186548 set Precision 1.e6 if {[expr abs(${XAxis1} - ${good_XAxis1})] > ${Precision} || [expr abs(${XAxis2} - ${good_XAxis2})] > ${Precision} || [expr abs(${XAxis3} - ${good_XAxis3})] > ${Precision}} { puts "Error : bad XAxis" } else { puts "OK : good XAxis" } if {[expr abs(${YAxis1} - ${good_YAxis1})] > ${Precision} || [expr abs(${YAxis2} - ${good_YAxis2})] > ${Precision} || [expr abs(${YAxis3} - ${good_YAxis3})] > ${Precision}} { puts "Error : bad YAxis" } else { puts "OK : good YAxis" }