1puts "================" 2puts "OCC23830_2" 3puts "================" 4puts "" 5####################################################################### 6# BRepExtrema_DistShapeShape does not find intersection of face with edge 7####################################################################### 8 9restore [locate_data_file bug23830_face.brep] f 10mksurface s f 11 12for {set i 1} {$i <= 45} {incr i} { 13 restore [locate_data_file bug23830_circle$i.brep] c_$i 14 mkcurve c_$i c_$i 15 extrema s c_$i 1 16 if {![isdraw ext_1_2] || ![isdraw ext_1_3]} { 17 puts "Error: invalid result" 18 } 19 vertex v${i}_1 ext_1_2 20 vertex v${i}_2 ext_1_3 21 unset ext_1_2 22 unset ext_1_3 23} 24 25for {set i 1} {$i <= 45} {incr i} { 26 regexp {Point\s3D\s:\s([-0-9+.e, ]+)} [dump v${i}_1] aDummy aP1 27 regexp {Point\s3D\s:\s([-0-9+.e, ]+)} [dump v${i}_2] aDummy aP2 28 regexp {(^[-0-9+.e]+)} $aP1 aDummy aX1 29 regexp {,\s([-0-9+.e]+),\s} $aP1 aDummy aY1 30 regexp {\s([-0-9+.e]+)$} $aP2 aDummy aZ1 31 regexp {(^[-0-9+.e]+)} $aP2 aDummy aX2 32 regexp {,\s([-0-9+.e]+),\s} $aP2 aDummy aY2 33 regexp {\s([-0-9+.e]+)$} $aP2 aDummy aZ2 34 set aC${i}_1 [concat "$aX1 $aY1 $aZ1"] 35 set aC${i}_2 [concat "$aX2 $aY2 $aZ2"] 36 set aD$i [expr sqrt(($aX2 - $aX1) * ($aX2 - $aX1) + ($aY2 - $aY1) * ($aY2 - $aY1) + ($aZ2 - $aZ1) * ($aZ2 - $aZ1))] 37 if {[set aD$i] > 1e-11} { 38 puts "Error: invalid result ($i)" 39 } 40} 41 42for {set i 1} {$i <= 45} {incr i} { 43 puts "" 44 puts "$i" 45 puts [set aC${i}_1] 46 puts [set aC${i}_2] 47 puts [set aD$i] 48} 49 50smallview 51l 52l 53l 54l 55l 56l 57l 58l 59erase 60display f 61for {set i 1} {$i <= 45} {incr i} { 62 display v${i}_1 63 display v${i}_2 64} 65fit 66checkview -screenshot -2d -path ${imagedir}/${test_image}.png 67