1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
puts "================"
puts "OCC13"
puts "================"
puts ""
##################################################
## It is impossible to intersect two surfaces
##################################################
restore [locate_data_file OCC13-1.draw] su1
############### checkshape su1 # is not a topological shape
restore [locate_data_file OCC13-2.draw] su2
############### checkshape su2 # is not a topological shape
#Try to intersect two surfaces with tolerance 0.1
#note that distance between shapes is about 0.005942345501409
catch {intersect res su1 su2 0.1 } result
set nom 0
set j 1
repeat 10 {
set che [whatis res_$j]
set che1 [whatis res_$j]
set err [lindex $che [expr [llength $che] - 1]]
set err1 [lindex $che1 [expr [llength $che1] - 2]]
if { $err != "curve" && $err1 != "3d"} {
break
} else {
set nom [expr $nom + 1]
if { $j == 1 } {
set info [length res_$j]
regexp {The length res_1 is+ +([-0-9.+eE]+)} $info full ll
set lcheck_1 5.6627572343058755e-05
if { [expr 1.*abs($lcheck_1 - $ll)/$lcheck_1] > 0.01 } {
puts "Error : The lenght of result shape is $ll"
} else {
puts "OK : The length of result shape is ok"
}
}
if { $j == 2 } {
set info [length res_$j]
regexp {The length res_2 is+ +([-0-9.+eE]+)} $info full ll
set lcheck_2 5.5763870549528719e-05
if { [expr 1.*abs($lcheck_2 - $ll)/$lcheck_2] > 0.01 } {
puts "Error : The lenght of result shape is $ll"
} else {
puts "OK : The length of result shape is ok"
}
}
incr j }
}
if { $nom == 0} {
puts "Error : Intersection was made WRONGLY"
}
|