--- /dev/null
+puts "======================================================="
+puts "0031306: Modeling Algorithms - Incomplete result of Cut operation"
+puts "======================================================="
+puts ""
+
+restore [locate_data_file bug31306_argument.brep] s1
+restore [locate_data_file bug31306_tool.brep] s2
+
+bclearobjects
+bcleartools
+baddobjects s1
+baddtools s2
+bfillds
+
+bbop r0 0
+bbop r1 1
+bbop r2 2
+bbop r3 3
+bbop r4 4
+
+foreach r {r0 r1 r2 r3 r4} {
+ checkshape $r
+ if {![regexp "OK" [bopcheck $r]]} {
+ puts "Error: the $r is a self-interfering shape"
+ }
+}
+
+checknbshapes r0 -wire 0 -face 0
+
+checknbshapes r1 -wire 41 -face 40 -t
+checkprops r1 -s 244.474
+
+checknbshapes r2 -wire 3 -face 2 -t
+checkprops r2 -s 228.338
+
+checknbshapes r3 -wire 38 -face 38 -t
+checkprops r3 -s 16.1362
+
+checkprops r4 -l 40.2015
+checksection r4 -r 0
+
+checkview -display r1 -2d -path ${imagedir}/${test_image}.png