1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
box b1 10 10 10
box b2 1 1 1 8 8 8
box b3 -2 3 3 14 4 4
bclearobjects
bcleartools
baddobjects b1 b2 b3
bfillds
bbuild r
buildbop r0 -o b3 -t b1 b2 -op common
buildbop r1 -o b3 -t b1 b2 -op fuse
buildbop r2 -o b3 -t b1 b2 -op cut
buildbop r3 -o b3 -t b1 b2 -op tuc
foreach r {r0 r1 r2 r3} {
checkshape $r
if {![regexp "OK" [bopcheck $r]]} {
puts "Error: shape is self-interfered"
}
}
checkprops r0 -s 256 -v 160
checknbshapes r0 -vertex 16 -edge 28 -wire 16 -face 16 -shell 3 -solid 3
checkprops r1 -s 664 -v 1064
checknbshapes r1 -vertex 24 -edge 36 -wire 18 -face 16 -shell 1 -solid 1
checkprops r2 -s 128 -v 64
checknbshapes r2 -vertex 16 -edge 24 -wire 12 -face 12 -shell 2 -solid 2
checkprops r3 -s 1432 -v 840
checknbshapes r3 -vertex 32 -edge 52 -wire 28 -face 24 -shell 2 -solid 2
buildbop r0 -o b2 -t b1 b3 -op common
buildbop r1 -o b2 -t b1 b3 -op fuse
buildbop r2 -o b2 -t b1 b3 -op cut
buildbop r3 -o b2 -t b1 b3 -op tuc
foreach r {r0 r1 r2 r3} {
checkshape $r
if {![regexp "OK" [bopcheck $r]]} {
puts "Error: shape is self-interfered"
}
}
checkprops r0 -s 640 -v 512
checknbshapes r0 -vertex 16 -edge 24 -wire 14 -face 12 -shell 2 -solid 2
checkprops r1 -s 664 -v 1064
checknbshapes r1 -vertex 24 -edge 36 -wire 18 -face 16 -shell 1 -solid 1
checkprops r2 -s empty -v empty
checknbshapes r2 -vertex 0 -edge 0 -wire 0 -face 0 -shell 0 -solid 0
checkprops r3 -s 1176 -v 552
checknbshapes r3 -vertex 40 -edge 64 -wire 38 -face 34 -shell 5 -solid 5
|