81a55a69 |
1 | puts "========" |
2 | puts "OCC29333" |
3 | puts "========" |
4 | puts "" |
5 | ################################################# |
6 | # Boolean Operations - Prevent modification of the input shapes in case their sub-shapes have not been modified |
7 | ################################################# |
8 | |
9 | # create two touching boxes |
10 | box b1 10 10 10 |
11 | box b2 10 0 0 10 10 10 |
12 | |
13 | # make them share the common face |
14 | mkvolume s b1 b2 |
15 | |
16 | # split one of these solids |
17 | explode s so |
18 | |
19 | plane p 0 0 5 0 0 1 |
20 | mkface f p |
21 | bclearobjects |
22 | bcleartools |
23 | baddobjects s_1 |
24 | baddtools f |
25 | bfillds |
26 | bsplit s1_sp |
27 | |
28 | |
29 | # fuse again |
30 | bclearobjects |
31 | bcleartools |
32 | baddobjects s1_sp |
33 | baddtools s_2 |
34 | bfillds |
35 | bbuild result |
36 | |
37 | checkshape result |
38 | checkprops result -s 1400 -v 2000 |
39 | checknbshapes result -vertex 16 -edge 28 -wire 16 -face 16 -shell 3 -solid 3 |
40 | |
41 | |
42 | # check that non of the shapes from s1_sp is modified |
43 | compound result s1_sp c |
44 | checknbshapes c -vertex 16 -edge 28 -wire 16 -face 16 -shell 3 -solid 3 |
45 | |
46 | |
47 | # fuse with different order |
48 | bclearobjects |
49 | bcleartools |
50 | baddobjects s_2 |
51 | baddtools s1_sp |
52 | bfillds |
53 | bbuild result |
54 | |
55 | checkshape result |
56 | checkprops result -s 1400 -v 2000 |
57 | checknbshapes result -vertex 16 -edge 28 -wire 16 -face 16 -shell 3 -solid 3 |
58 | |
59 | |
60 | # check that non of the shapes from s1_sp is modified |
61 | compound result s1_sp c |
62 | checknbshapes c -vertex 16 -edge 28 -wire 16 -face 16 -shell 3 -solid 3 |