c858bb10 |
1 | puts "================" |
2 | puts "OCC23830_2" |
3 | puts "================" |
4 | puts "" |
5 | ####################################################################### |
6 | # BRepExtrema_DistShapeShape does not find intersection of face with edge |
7 | ####################################################################### |
8 | |
9 | restore [locate_data_file bug23830_face.brep] f |
10 | mksurface s f |
11 | |
12 | for {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 | |
25 | for {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 | |
42 | for {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 | |
50 | smallview |
51 | l |
52 | l |
53 | l |
54 | l |
55 | l |
56 | l |
57 | l |
58 | l |
59 | erase |
60 | display f |
61 | for {set i 1} {$i <= 45} {incr i} { |
62 | display v${i}_1 |
63 | display v${i}_2 |
64 | } |
65 | fit |
66 | set only_screen_axo 1 |