--- /dev/null
+puts "========"
+puts "0031307: Modeling Algorithms - Offset algorithm produces incorrect result in mode Complete join type Intersection"
+puts "========"
+puts ""
+
+restore [locate_data_file bug31307_input.good.brep] s
+offsetparameter 1e-7 c i r
+offsetload s 0
+foreach f [explode s f] {
+ mksurface surf $f
+ set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
+ if {$found && abs($z - 1) < 1.e-7} {
+ offsetonface $f 0
+ } else {
+ if {$found && abs($z) < 1.e-7} {
+ offsetonface $f 10
+ } else {
+ offsetonface $f 9.961946980917444
+ }
+ }
+}
+offsetperform result
+
+checkprops result -s 2.31278e+06 -v 2.94585e+07
+
+unifysamedom result_unif result
+checknbshapes result_unif -vertex 188 -edge 285 -wire 101 -face 100 -shell 1 -solid 1
+
+checkview -display result_unif -2d -path ${imagedir}/${test_image}.png