puts "========" puts "OCC29333" puts "========" puts "" ################################################# # Boolean Operations - Prevent modification of the input shapes in case their sub-shapes have not been modified ################################################# # create two touching faces plane p 0 0 0 0 0 1 mkface f1 p -10 10 -10 10 copy f1 f2 ttranslate f2 20 0 0 # fuse these faces bfuse s f1 f2 # split one of these faces explode s f line l 0 0 0 1 0 0 mkedge e l bclearobjects bcleartools baddobjects s_1 baddtools e bfillds bsplit s1_sp # fuse again bclearobjects bcleartools baddobjects s1_sp baddtools s_2 bfillds bbuild result checkshape result checkprops result -s 800 checknbshapes result -vertex 8 -edge 10 -wire 3 -face 3 # check that non of the shapes from s1_sp is modified compound result s1_sp c checknbshapes c -vertex 8 -edge 10 -wire 3 -face 3 # fuse with different order bclearobjects bcleartools baddobjects s_2 baddtools s1_sp bfillds bbuild result checkshape result checkprops result -s 800 checknbshapes result -vertex 8 -edge 10 -wire 3 -face 3 # check that non of the shapes from s1_sp is modified compound result s1_sp c checknbshapes c -vertex 8 -edge 10 -wire 3 -face 3