4ccdb6f6 |
1 | puts "=======" |
2 | puts "OCC28113: BOPAlgo_Builder produces invalid shape" |
3 | puts "=======" |
4 | puts "" |
5 | |
6 | |
7 | restore [locate_data_file bug28113_shapes.brep] s |
8 | explode s |
9 | |
10 | # fix the first shape in compound |
11 | # 1. exclude s_1_3 from compsolid |
12 | eval compound [lrange [explode s_1 so] 0 1] [lrange [explode s_1 so] 3 end] comp |
13 | # fix SI in compound |
14 | eval mkvolume v [explode comp f] |
15 | checkshape v |
16 | checknbshapes v -solid 18 -shell 18 |
17 | if {![regexp "OK" [bopcheck v]]} { |
18 | puts "Error: unable to rebuild the shape" |
19 | } |
20 | |
21 | # create Compsolid |
22 | shape s1 CS |
23 | foreach s [explode v so] { add $s s1} |
24 | |
25 | # perform the operation |
26 | bclearobjects |
27 | bcleartools |
28 | baddobjects s1 |
29 | baddtools s_2 s_3 s_4 s_5 |
30 | bfillds |
31 | bbuild gf |
32 | bsplit result |
33 | |
34 | foreach r {gf result} { |
35 | checkshape $r |
36 | if {![regexp "OK" [bopcheck $r]]} { |
37 | puts "Error: result is a self-interfering shape" |
38 | } |
39 | } |
40 | |
41 | checknbshapes gf -wire 417 -face 417 -shell 91 -solid 90 |
42 | checkprops gf -s 259559 -v 690192 |
43 | |
44 | checknbshapes result -wire 417 -face 417 -shell 90 -solid 90 |
45 | checkprops result -s 226564 -v 669028 |
46 | |
47 | checkview -display result -2d -path ${imagedir}/${test_image}.png |