]> OCCT Git - occt.git/commitdiff
Update of tests database
authorapv <apv@opencascade.com>
Mon, 2 Oct 2017 12:51:49 +0000 (15:51 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 6 Oct 2017 07:28:34 +0000 (10:28 +0300)
Test for 0028167: Fillet has strange form at its end
Test for 0028168: Exception is raised during Boolean operation
Test for 0028194: BRepMesh - Standard_OutOfRange exception on valid shape
Test for 0028200: Invalid topology of the general fuse result
Test for 0028216: Intersection of a face and a solid is broken up leading to empty result of Boolean common operation
Test for 0028245: Result of Cells Builder algorithm becomes invalid after removal of internal boundaries on faces
Test for 0028247: Effect of minSize parameter of BRepMesh_IncrementalMesh seems to be too strong
Test for 0028274: BOPAlgo_MakerVolume fails to create solid
Test for 0028279: Greater oscillations and higher degree of resulting B-Spline in cylinder-cylinder intersections in 7.1.0
Test for 0028354: Filleting destroys shape if the filleted edge touches a seam edge
Test for 0028366: BOP Common fails with solid and planar face
Test for 0028379: BRepMesh produces mangled mesh for a cone
Test for 0028388: Boolean common of simple face and solid results in empty compound
Test for 0028393: Boolean cut produce wrong result.
Test for 0028402: Modeling - calculation of properties of complex compounds is slow
Test for 0028406: High tolerances after boolean operation on OCCT 6.9.1
Test for 0028694: IGES reader produces too small edge covered by its vertices
Test for 0028719: Mesh - Display issue for special model
Test for 0028108: Sweep fails in "Right Corner" mode
Test for 0028696: Offset 2D algorithm produces micro edges
Test for 0028700: BRepBuilderAPI_Sewing produces too small edge covered by its vertices
Test for 0028722: Conversion of a spherical face to a spline produces an invalid shape
Test for 0028739: Draft on face fails
Test for 0028662: Data Exchange - Exception during reading large STEP file.
Test for 0028768: ShapeFix slighly corrupts the source face
Test for 0028485: Fuse of two shapes using gluing and non-destructive options gives invalid result
Test for 0028500: Artifact in shaded view of the shape
Test for 0028523: Fixshape reverses the orientation of the face
Test for 0028544: Big tolerance value is returned by Implicit-parametric algorithm
Test for 0028571: BRepOffsetAPI_MakeOffset build invalid wire
Test for 0028572: Wrong result of the mkface command
Test for 0028595: Shifting 2d curves for non-periodic surfaces leads to incorrect result.
Test for 0028596: Erroneous fillet
Test for 0028640: BRepBuilderAPI_Transform build invalid shape
Test for 0028656: 3d offset modifies the input shape
Test for 0000077: BUC60866. The BRepFill_Pipe fails.
Test for 0000078: BUC60875. Pipe is created incorrectly on two wires.
Test for 0000082: BUC60908. Incomplete section of shell by plane.
Test for 0000083: BUC60912. Section of simple BSpline surfaces is performed too slow.
Test for 0000862: GeomAPI_ExtremaCurveCurve fails on given curves
Test for 0002442: Error in BRepClass3d_SolidClassifier
Test for 0003936: Face on a surface of extrusion is extended after import to IGES
Test for 0005081: BRepOffset_MakeOffsetShape algorithm does not return valid result.
Test for 0005145: Wrong result of projection of a circle on a sphere.
Test for 0014846: ShapeFix_Wireframe::FixWireGaps() works wrong on a shape with seam edge
Test for 0016424: Exception in reading of attached IGES file
Test for 0010377: Incorrect fuse result when objects tangent by planar face
Test for 0013565: Incorrect result of Common operation
Test for 0013566: Incorrect result of Extrema between a large circle and a line
Test for 0024632: Artifacts during Boolean cut operation on neighboring parts
Test for 0005582: Impossible to make offset on the shape with degenerated edge

77 files changed:
tests/bugs/heal/bug14846 [new file with mode: 0644]
tests/bugs/heal/bug28523 [new file with mode: 0755]
tests/bugs/heal/bug28595 [new file with mode: 0755]
tests/bugs/heal/bug28768 [new file with mode: 0644]
tests/bugs/iges/bug16424 [new file with mode: 0644]
tests/bugs/iges/bug28694_1 [new file with mode: 0644]
tests/bugs/iges/bug28694_2 [new file with mode: 0644]
tests/bugs/iges/bug28694_3 [new file with mode: 0644]
tests/bugs/iges/bug28694_4 [new file with mode: 0644]
tests/bugs/iges/bug28694_5 [new file with mode: 0644]
tests/bugs/iges/bug28694_6 [new file with mode: 0644]
tests/bugs/iges/bug28694_7 [new file with mode: 0644]
tests/bugs/iges/bug28694_8 [new file with mode: 0644]
tests/bugs/iges/bug28694_9 [new file with mode: 0644]
tests/bugs/iges/bug3936 [new file with mode: 0644]
tests/bugs/mesh/bug28194 [new file with mode: 0644]
tests/bugs/mesh/bug28247 [new file with mode: 0644]
tests/bugs/mesh/bug28379 [new file with mode: 0644]
tests/bugs/mesh/bug28500 [new file with mode: 0644]
tests/bugs/mesh/bug28719 [new file with mode: 0644]
tests/bugs/modalg_4/bug77 [deleted file]
tests/bugs/modalg_4/bug77_1 [new file with mode: 0755]
tests/bugs/modalg_4/bug77_2 [new file with mode: 0755]
tests/bugs/modalg_4/bug78
tests/bugs/modalg_4/bug82
tests/bugs/modalg_4/bug82_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug10377_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug10377_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug13565_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug13565_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug13566 [new file with mode: 0644]
tests/bugs/modalg_7/bug24632_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug24632_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug24632_3 [new file with mode: 0644]
tests/bugs/modalg_7/bug27160 [deleted file]
tests/bugs/modalg_7/bug28108 [new file with mode: 0644]
tests/bugs/modalg_7/bug28167 [new file with mode: 0644]
tests/bugs/modalg_7/bug28168 [new file with mode: 0644]
tests/bugs/modalg_7/bug28200 [new file with mode: 0644]
tests/bugs/modalg_7/bug28216 [new file with mode: 0755]
tests/bugs/modalg_7/bug28245 [new file with mode: 0644]
tests/bugs/modalg_7/bug28274 [new file with mode: 0755]
tests/bugs/modalg_7/bug28279 [new file with mode: 0755]
tests/bugs/modalg_7/bug28354 [new file with mode: 0755]
tests/bugs/modalg_7/bug28366 [new file with mode: 0755]
tests/bugs/modalg_7/bug28393_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug28393_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug28402 [new file with mode: 0644]
tests/bugs/modalg_7/bug28406 [new file with mode: 0644]
tests/bugs/modalg_7/bug28485 [new file with mode: 0644]
tests/bugs/modalg_7/bug28544_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug28544_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug28571_1 [new file with mode: 0755]
tests/bugs/modalg_7/bug28571_2 [new file with mode: 0755]
tests/bugs/modalg_7/bug28572_1 [new file with mode: 0755]
tests/bugs/modalg_7/bug28572_2 [new file with mode: 0755]
tests/bugs/modalg_7/bug28596_1 [new file with mode: 0755]
tests/bugs/modalg_7/bug28596_2 [new file with mode: 0755]
tests/bugs/modalg_7/bug28640 [new file with mode: 0755]
tests/bugs/modalg_7/bug28656 [new file with mode: 0755]
tests/bugs/modalg_7/bug28696_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug28696_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug28700_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug28700_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug28700_3 [new file with mode: 0644]
tests/bugs/modalg_7/bug28700_4 [new file with mode: 0644]
tests/bugs/modalg_7/bug28700_5 [new file with mode: 0644]
tests/bugs/modalg_7/bug28722 [new file with mode: 0644]
tests/bugs/modalg_7/bug28739 [new file with mode: 0644]
tests/bugs/modalg_7/bug5081_1 [new file with mode: 0755]
tests/bugs/modalg_7/bug5081_2 [new file with mode: 0755]
tests/bugs/modalg_7/bug5582 [new file with mode: 0644]
tests/bugs/modalg_7/bug83 [new file with mode: 0755]
tests/bugs/moddata_2/bug2442
tests/bugs/moddata_2/bug862 [deleted file]
tests/bugs/moddata_3/bug5145 [new file with mode: 0644]
tests/bugs/step/bug28662 [new file with mode: 0644]

diff --git a/tests/bugs/heal/bug14846 b/tests/bugs/heal/bug14846
new file mode 100644 (file)
index 0000000..14bead2
--- /dev/null
@@ -0,0 +1,40 @@
+puts "TODO OCC14846 ALL: Faulty shapes in variables faulty_1 to faulty_"
+
+puts "========"
+puts "OCC14846"
+puts "========"
+puts ""
+###########################################################################
+# ShapeFix_Wireframe::FixWireGaps() works wrong on a shape with seam edge
+###########################################################################
+
+restore [locate_data_file bug14846_Surf_Top.brep] a
+
+checkshape a
+fixwgaps result a
+checkshape result
+
+set bug_info_inp [string trim [lindex [tolerance a] 1]]
+set bug_info_inp [string trim [string range $bug_info_inp [expr {[string last "=" $bug_info_inp] + 1}] [expr {[string length $bug_info_inp] - 1}]]]
+
+set bug_info_out [string trim [lindex [tolerance result] 1]]
+set bug_info_out [string trim [string range $bug_info_out [expr {[string last "=" $bug_info_out] + 1}] [expr {[string length $bug_info_out] - 1}]]]
+
+set tmp_i [string trim [string range $bug_info_inp [expr {[string last "." $bug_info_inp] + 1}] [expr {[string length $bug_info_inp] - 1}]]]
+set tmp_o [string trim [string range $bug_info_out [expr {[string last "=" $bug_info_out] + 1}] [expr {[string length $bug_info_out] - 1}]]]
+
+set bug_info_value 0
+if {[string length $bug_info_inp] < [string length $bug_info_out]} {
+  set bug_info_value [string length $bug_info_inp]
+} else {
+  set bug_info_value [string length $bug_info_out]
+}
+if {$bug_info_value > 8} {
+  set bug_info_value 8
+}
+set bug_info_inp [string trim [string range $bug_info_inp 0 [expr {[string last "." $bug_info_inp] + $bug_info_value}]]]
+set bug_info_out [string trim [string range $bug_info_out 0 [expr {[string last "." $bug_info_out] + $bug_info_value}]]]
+
+if {$bug_info_out > $bug_info_inp} {
+  puts "OCC14846 is reproduced. Tolerance is increased after fixwgaps."
+}
diff --git a/tests/bugs/heal/bug28523 b/tests/bugs/heal/bug28523
new file mode 100755 (executable)
index 0000000..903f1a4
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28523 ALL: Error: Bad area of face"
+
+puts "========"
+puts "OCC28523"
+puts "========"
+puts ""
+################################################
+## Fixshape reverses the orientation of the face
+################################################
+
+restore [locate_data_file bug28377_problemface.brep] f2
+
+fixshape newface f2
+
+checkshape newface ff1
+
+set prop [ sprops newface ]
+regexp {Mass\s*:\s*([0-9.e+-]+)} $prop prop_s Area
+
+if { ${Area} <= 0. } {
+   puts "Error: Bad area of face"
+}
diff --git a/tests/bugs/heal/bug28595 b/tests/bugs/heal/bug28595
new file mode 100755 (executable)
index 0000000..8ef7796
--- /dev/null
@@ -0,0 +1,23 @@
+puts "TODO OCC28595 ALL: Faulty shapes in variables faulty_1"
+#puts "TODO OCC28595 ALL: Error: bad tolerance of fixshape"
+
+puts "========"
+puts "OCC28595"
+puts "========"
+puts ""
+##########################################################################
+## Shifting 2d curves for non-periodic surfaces leads to incorrect result.
+##########################################################################
+
+restore [locate_data_file bug28595_face.brep] f
+
+fixshape res f
+
+checkshape res
+
+regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance f]   full f_Tolerance
+regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance res] full res_Tolerance
+
+if { ${res_Tolerance} > ${f_Tolerance} } {
+   puts "Error: bad tolerance of fixshape"
+}
diff --git a/tests/bugs/heal/bug28768 b/tests/bugs/heal/bug28768
new file mode 100644 (file)
index 0000000..2eca5d6
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========"
+puts "OCC28768"
+puts "========"
+puts ""
+#############################################
+# ShapeFix slighly corrupts the source face
+#############################################
+
+binrestore [locate_data_file bug28768_f12g.brep] f12g
+fixshape r12g f12g
+
+explode r12g E
+
+smallview +X+Y
+
+# Picture creation: "should be"
+clear
+display r12g_4
+display r12g_6
+fit
+display r12g_5
+xwd $imagedir/${casename}_should_be.png
+
+# Picture creation: "is"
+clear
+display r12g_4
+display r12g_6
+fit
+display r12g_7
+display r12g_3
+xwd $imagedir/${casename}_is.png
diff --git a/tests/bugs/iges/bug16424 b/tests/bugs/iges/bug16424
new file mode 100644 (file)
index 0000000..2f20d3d
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========"
+puts "OCC16424"
+puts "========"
+puts ""
+##############################################
+# Exception in reading of attached IGES file
+##############################################
+
+igesread [locate_data_file bug16424_s554_tassello_per_punzone_pos09.igs] a *
+checkshape a
+
+smallview
+clear
+display a
+fit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/iges/bug28694_1 b/tests/bugs/iges/bug28694_1
new file mode 100644 (file)
index 0000000..e93a8ec
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file bug26671.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_2 b/tests/bugs/iges/bug28694_2
new file mode 100644 (file)
index 0000000..b4af845
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file buc60823.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_3 b/tests/bugs/iges/bug28694_3
new file mode 100644 (file)
index 0000000..a3ebd7a
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file BUC60850.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_4 b/tests/bugs/iges/bug28694_4
new file mode 100644 (file)
index 0000000..4e6ce21
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file OCC58a.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_5 b/tests/bugs/iges/bug28694_5
new file mode 100644 (file)
index 0000000..c4bce75
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file OCC131-7.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_6 b/tests/bugs/iges/bug28694_6
new file mode 100644 (file)
index 0000000..13cf811
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file igsBF5.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_7 b/tests/bugs/iges/bug28694_7
new file mode 100644 (file)
index 0000000..0b22387
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file OCC22893-thread_22534_boing777.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_8 b/tests/bugs/iges/bug28694_8
new file mode 100644 (file)
index 0000000..4778273
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file ger61337a.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug28694_9 b/tests/bugs/iges/bug28694_9
new file mode 100644 (file)
index 0000000..555a2d4
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28694 ALL: ERROR: OCC28694 is reproduced."
+
+puts "========"
+puts "OCC28694"
+puts "========"
+puts ""
+###############################################################
+# IGES reader produces too small edge covered by its vertices
+###############################################################
+
+igesbrep [locate_data_file TibTray_Size3.igs] r *
+
+foreach e [explode r e] {
+  if {[lsearch [dump $e] degenerated] == -1 && [validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: OCC28694 is reproduced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/iges/bug3936 b/tests/bugs/iges/bug3936
new file mode 100644 (file)
index 0000000..f643c40
--- /dev/null
@@ -0,0 +1,39 @@
+puts "========"
+puts "OCC3936"
+puts "========"
+puts ""
+#################################################################
+# Face on a surface of extrusion is extended after import to IGES
+#################################################################
+
+set File1 [locate_data_file bug3936_tt.igs]
+set File2 ${imagedir}/bug3936_tt1.igs
+file delete -force ${File2}
+
+igesbrep ${File1} a *
+
+brepiges a ${File2}
+
+igesbrep ${File2} a1 *
+
+#
+####
+#
+set area 191477.
+
+set nbshapes_expected "
+Number of shapes in shape
+ EDGE      : 4
+ WIRE      : 1
+ FACE      : 1
+"
+##
+checkprops a -s ${area}
+checkshape a
+checknbshapes a -ref ${nbshapes_expected} -t -m "initial file"
+checkview -display a -2d -path ${imagedir}/${test_image}-initial.png
+##
+checkprops a1 -s ${area}
+checkshape a1
+checknbshapes a1 -ref ${nbshapes_expected} -t -m "importing file"
+checkview -display a1 -2d -path ${imagedir}/${test_image}-importing.png
diff --git a/tests/bugs/mesh/bug28194 b/tests/bugs/mesh/bug28194
new file mode 100644 (file)
index 0000000..c628e56
--- /dev/null
@@ -0,0 +1,15 @@
+puts "======="
+puts "CR28194"
+puts "======="
+puts ""
+#########################################################
+# BRepMesh - Standard_OutOfRange exception on valid shape
+#########################################################
+
+restore [locate_data_file bug28194.brep] a
+
+incmesh a 0.0005
+
+checktrinfo a -tri -nod
+
+checkview -display a -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/mesh/bug28247 b/tests/bugs/mesh/bug28247
new file mode 100644 (file)
index 0000000..f67dd6d
--- /dev/null
@@ -0,0 +1,47 @@
+puts "TODO OCC28247 ALL: Error: Effect of minSize parameter of BRepMesh_IncrementalMesh seems to be too strong"
+
+puts "========="
+puts "OCC28247"
+puts "========="
+puts ""
+################################################################################
+# Effect of minSize parameter of BRepMesh_IncrementalMesh seems to be too strong
+################################################################################
+
+restore [locate_data_file bug28247_face.brep] f
+whatis f
+tolerance f
+
+vinit
+vsetdispmode 1
+vdisplay f
+vfit
+
+tclean f
+incmesh f 0.59
+trinfo f
+vdisplay f
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-1.png
+
+tclean f
+incmesh f 0.59 -a 11.45
+set tri_info_1 [trinfo f]
+regexp { +([-0-9.+eE]+) +triangles} $tri_info_1 full tri_1
+regexp { +([-0-9.+eE]+) +nodes} $tri_info_1 full nod_1
+vdisplay f
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-2.png
+
+tclean f
+incmesh f 0.59 -a 11.45 -min 0.035
+set tri_info_2 [trinfo f]
+regexp { +([-0-9.+eE]+) +triangles} $tri_info_2 full tri_2
+regexp { +([-0-9.+eE]+) +nodes} $tri_info_2 full nod_2
+vdisplay f
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-3.png
+
+if { ${tri_1} > ${tri_2} } {
+   puts "Error: Effect of minSize parameter of BRepMesh_IncrementalMesh seems to be too strong"
+}
diff --git a/tests/bugs/mesh/bug28379 b/tests/bugs/mesh/bug28379
new file mode 100644 (file)
index 0000000..5fb76ec
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========"
+puts "OCC28379"
+puts "========"
+puts ""
+###########################################
+# BRepMesh produces mangled mesh for a cone
+###########################################
+
+pcone s 0 0.1 1
+incmesh s 1e-3
+
+vinit
+vsetdispmode 1
+vdisplay s
+vfit
+
+vleft
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-left.png
+
+vright
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-right.png
+
+vfront
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-front.png
+
+vback
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-back.png
diff --git a/tests/bugs/mesh/bug28500 b/tests/bugs/mesh/bug28500
new file mode 100644 (file)
index 0000000..615f585
--- /dev/null
@@ -0,0 +1,26 @@
+puts "TODO CR28500 ALL: Artifact in shaded view of the shape"
+
+puts "======="
+puts "CR28500"
+puts "======="
+puts ""
+######################################
+# Artifact in shaded view of the shape
+######################################
+
+restore [locate_data_file bug28500_shape_mesh_artifact.brep] a
+
+incmesh a 0.01
+
+vinit
+vsetdispmode 1
+vdisplay a
+vfit
+
+set x 150
+set y 150
+if { [checkcolor $x $y 0 1 0] == 1 } {
+  puts "Error: Artifact in shaded view of the shape"
+}
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/mesh/bug28719 b/tests/bugs/mesh/bug28719
new file mode 100644 (file)
index 0000000..7a44948
--- /dev/null
@@ -0,0 +1,25 @@
+puts "TODO OCC28719 ALL: ERROR: OCC28719 is reproduced."
+
+puts "========"
+puts "OCC28719"
+puts "========"
+puts ""
+###################################
+# Display issue for special model
+###################################
+
+restore [locate_data_file bug28719_display_issue.brep] result
+
+vinit
+vdisplay result
+vsetdispmode result 1
+vfit
+
+if {[string trim [vreadpixel 255 169 name]] == "GRAY75 1"} {
+  puts "ERROR: OCC28719 is reproduced. Nontriangulated faces have been detected."
+}
+if {[string trim [vreadpixel 133 241 name]] == "GRAY75 1"} {
+  puts "ERROR: OCC28719 is reproduced. Nontriangulated faces have been detected."
+}
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_4/bug77 b/tests/bugs/modalg_4/bug77
deleted file mode 100755 (executable)
index fb90af8..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-puts "========================"
-puts " BUC60866 "
-puts " OCC77 "
-puts "========================"
-puts ""
-######################################################
-# The BRepFill_Pipe fails
-######################################################
-
-restore [locate_data_file buc60866a.rle] f 
-checkshape f
-
-restore [locate_data_file buc60866b.rle] w
-checkshape w
-
-pipe result w f
-
-checkprops result -s 1.12048e+07 
-checkshape result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
-
diff --git a/tests/bugs/modalg_4/bug77_1 b/tests/bugs/modalg_4/bug77_1
new file mode 100755 (executable)
index 0000000..9576744
--- /dev/null
@@ -0,0 +1,138 @@
+puts "TODO OCC77 ALL: Error : The area of result shape is"
+
+puts "====="
+puts "OCC77"
+puts "====="
+puts ""
+####################################
+# BUC60866. The BRepFill_Pipe fails.
+####################################
+
+restore [locate_data_file buc60866a.rle] Section
+restore [locate_data_file buc60866b.rle] PathBad
+
+set area 1.12049e+07
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 15
+ EDGE      : 22
+ WIRE      : 8
+ FACE      : 8
+ SHELL     : 2
+ SOLID     : 0
+ COMPSOLID : 0
+ COMPOUND  : 1
+ SHAPE     : 56
+"
+
+smallview
+display Section
+display PathBad
+fit
+
+
+#
+# Mode = 0 - CorrectedFrenet
+#
+pipe result_0 PathBad Section
+
+checkshape result_0
+
+checkprops result_0 -s ${area}
+
+checknbshapes result_0 -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_0]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 0"
+}
+
+donly result_0
+checkview -screenshot -2d -path ${imagedir}/${test_image}_0.png
+
+
+#
+# Mode = 1 - Frenet
+#
+set Mode 1
+pipe result_1 PathBad Section ${Mode}
+
+checkshape result_1
+
+checkprops result_1 -s ${area}
+
+checknbshapes result_1 -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_1]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 1"
+}
+
+donly result_1
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+
+
+#####
+##### Approx - force C1-approximation if result is C0
+#####
+set Approx 1
+set Mode 1
+pipe result_1_a PathBad Section ${Mode} ${Approx}
+
+checkshape result_1_a
+
+checkprops result_1_a -s ${area}
+
+checknbshapes result_1_a -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_1_a]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 1a"
+}
+
+donly result_1_a
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1_a.png
+
+
+#
+# Mode = 2 - DiscreteTrihedron
+#
+set Mode 2
+pipe result_2 PathBad Section ${Mode}
+
+checkshape result_2
+
+checkprops result_2 -s ${area}
+
+checknbshapes result_2 -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_2]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 2"
+}
+
+donly result_2
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
+
+
+#####
+##### Approx - force C1-approximation if result is C0
+#####
+set Approx 1
+set Mode 2
+pipe result_2_a PathBad Section ${Mode} ${Approx}
+
+checkshape result_2_a
+
+checkprops result_2_a -s ${area}
+
+checknbshapes result_2_a -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_2_a]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 2a"
+}
+
+donly result_2_a
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2_a.png
diff --git a/tests/bugs/modalg_4/bug77_2 b/tests/bugs/modalg_4/bug77_2
new file mode 100755 (executable)
index 0000000..2d8cd5f
--- /dev/null
@@ -0,0 +1,140 @@
+puts "TODO OCC77 ALL: Error : The area of result shape is"
+
+puts "====="
+puts "OCC77"
+puts "====="
+puts ""
+####################################
+# BUC60866. The BRepFill_Pipe fails.
+####################################
+
+restore [locate_data_file buc60866a.rle] Section
+restore [locate_data_file buc60866b.rle] PathBad
+
+reverse PathBad
+
+set area 1.12049e+07
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 15
+ EDGE      : 22
+ WIRE      : 8
+ FACE      : 8
+ SHELL     : 2
+ SOLID     : 0
+ COMPSOLID : 0
+ COMPOUND  : 1
+ SHAPE     : 56
+"
+
+smallview
+display Section
+display PathBad
+fit
+
+
+#
+# Mode = 0 - CorrectedFrenet
+#
+pipe result_0 PathBad Section
+
+checkshape result_0
+
+checkprops result_0 -s ${area}
+
+checknbshapes result_0 -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_0]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 0"
+}
+
+donly result_0
+checkview -screenshot -2d -path ${imagedir}/${test_image}_0.png
+
+
+#
+# Mode = 1 - Frenet
+#
+set Mode 1
+pipe result_1 PathBad Section ${Mode}
+
+checkshape result_1
+
+checkprops result_1 -s ${area}
+
+checknbshapes result_1 -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_1]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 1"
+}
+
+donly result_1
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+
+
+#####
+##### Approx - force C1-approximation if result is C0
+#####
+set Approx 1
+set Mode 1
+pipe result_1_a PathBad Section ${Mode} ${Approx}
+
+checkshape result_1_a
+
+checkprops result_1_a -s ${area}
+
+checknbshapes result_1_a -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_1_a]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 1a"
+}
+
+donly result_1_a
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1_a.png
+
+
+#
+# Mode = 2 - DiscreteTrihedron
+#
+set Mode 2
+pipe result_2 PathBad Section ${Mode}
+
+checkshape result_2
+
+checkprops result_2 -s ${area}
+
+checknbshapes result_2 -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_2]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 2"
+}
+
+donly result_2
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
+
+
+#####
+##### Approx - force C1-approximation if result is C0
+#####
+set Approx 1
+set Mode 2
+pipe result_2_a PathBad Section ${Mode} ${Approx}
+
+checkshape result_2_a
+
+checkprops result_2_a -s ${area}
+
+checknbshapes result_2_a -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result_2_a]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : The BRepFill_Pipe fails, 2a"
+}
+
+donly result_2_a
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2_a.png
index f661afacb5f96477b7f5477475cdb11deb454355..7c5b5a2dbd5f6a84352b03d96680c73db89acfb5 100755 (executable)
@@ -1,19 +1,43 @@
-puts "============"
-puts "BUC60875"
+puts "====="
 puts "OCC78"
-puts "============"
+puts "====="
 puts ""
-###############################
-## Pipe is created incorrectly on two wires
-###############################
-
-#datadir /disk4/QA/hotline/GRIDS/chl/data
-restore [locate_data_file BUC60875_wire.brep] w 
-restore [locate_data_file BUC60875_profile.brep] p
-checkshape w
-checkshape p
-
-pipe result w p
-checkprops result -s 10191.8 
+#####################################################
+# BUC60875. Pipe is created incorrectly on two wires.
+#####################################################
+
+restore [locate_data_file BUC60875_wire.brep] wire
+restore [locate_data_file BUC60875_profile.brep] profile
+
+checkshape wire
+checkshape profile
+
+set area 10225.7
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 27
+ EDGE      : 42
+ WIRE      : 16
+ FACE      : 16
+ SHELL     : 2
+ SOLID     : 0
+ COMPSOLID : 0
+ COMPOUND  : 1
+ SHAPE     : 104
+"
+
+pipe result wire profile
+
 checkshape result
+
+checkprops result -s ${area}
+
+checknbshapes result -ref ${nbshapes_expected} -t -m "Pipe"
+
+set info [bopcheck result]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : Pipe is created incorrectly on two wires"
+}
+
 checkview -display result -2d -path ${imagedir}/${test_image}.png
index dd75c3c6369bc0621adde3118c6ca2066bccbe01..e8d4cb5a16891644ef0755c8fb5e121d3a308a20 100755 (executable)
@@ -1,34 +1,39 @@
-puts "============"
-puts "BUC60908"
+puts "TODO OCC82 ALL: Error : Incomplete section of shell by plane"
+
+puts "====="
 puts "OCC82"
-puts "============"
+puts "====="
 puts ""
-###############################
-## Incomplete section of shell by plane
-###############################
+#################################################
+# BUC60908. Incomplete section of shell by plane.
+#################################################
+
+restore [locate_data_file BUC60907_px1.rle] sh
 
-restore [locate_data_file BUC60907_px1.rle] sh 
 checkshape sh
 
+set length 113.703
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 44
+ EDGE      : 41
+"
+
 plane f 0 14.8053 0 0 1 0
 mkface f f
-bsection result sh f
 
-set nb_info [nbshapes result]
-regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full nb_verices
-regexp {EDGE +: +([-0-9.+eE]+)} $nb_info full nb_edges
+section result sh f
+
+checkshape result
 
-set nnv [expr $nb_verices-1]
+checkprops result -l ${length}
 
-puts "VERTEX : $nb_verices, EDGE : $nb_edges"  
+checknbshapes result -ref ${nbshapes_expected} -t -m "Section"
 
-if { $nnv > $nb_edges } {                                         
-    puts "Surplus of vertices, Faulty section"
-} else {
-    puts "Number of vertices correspond edges: OK"
+set info [bopcheck result]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : Incomplete section of shell by plane"
 }
-checkprops result -l 113.703 
-checkshape result 
-checksection result
-checkview -display result -2d -path ${imagedir}/${test_image}.png
 
+checkview -display result -with sh -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_4/bug82_1 b/tests/bugs/modalg_4/bug82_1
new file mode 100644 (file)
index 0000000..c08e750
--- /dev/null
@@ -0,0 +1,37 @@
+puts "====="
+puts "OCC82"
+puts "====="
+puts ""
+#################################################
+# BUC60908. Incomplete section of shell by plane.
+#################################################
+
+restore [locate_data_file BUC60907_px1.rle] sh
+
+checkshape sh
+
+set length 113.703
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 42
+ EDGE      : 41
+"
+
+plane f 0 14.8053 0 0 1 0
+mkface f f
+
+bsection result sh f
+
+checkshape result
+
+checkprops result -l ${length}
+
+checknbshapes result -ref ${nbshapes_expected} -t -m "Section"
+
+set info [bopcheck result]
+if { [regexp "This shape seems to be OK" ${info}] != 1 } {
+    puts "Error : Incomplete section of shell by plane"
+}
+
+checkview -display result -with sh -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug10377_1 b/tests/bugs/modalg_7/bug10377_1
new file mode 100644 (file)
index 0000000..039acae
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========"
+puts "OCC10377"
+puts "========"
+puts ""
+#############################################################
+# Incorrect fuse result when objects tangent by planar face
+#############################################################
+
+restore [locate_data_file bug10377_shapes.brep] c
+
+explode c
+bfuse result c_1 c_2
+checkshape result
+
+checknbshapes result -shell 1 -face 20 -wire 20
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug10377_2 b/tests/bugs/modalg_7/bug10377_2
new file mode 100644 (file)
index 0000000..95a16aa
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========"
+puts "OCC10377"
+puts "========"
+puts ""
+#############################################################
+# Incorrect fuse result when objects tangent by planar face
+#############################################################
+
+restore [locate_data_file bug10377_shapes2.brep] c
+
+explode c
+bfuse result c_1 c_2
+checkshape result
+
+checknbshapes result -shell 1 -face 26 -wire 26
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug13565_1 b/tests/bugs/modalg_7/bug13565_1
new file mode 100644 (file)
index 0000000..f7b54bc
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========"
+puts "OCC13565"
+puts "========"
+puts ""
+########################################
+# Incorrect result of Common operation
+########################################
+
+restore [locate_data_file bug13565_A.brep] a
+restore [locate_data_file bug13565_B.brep] b
+
+bcommon result a b
+checkshape result
+
+checknbshapes result -shell 1 -face 17 -wire 17
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug13565_2 b/tests/bugs/modalg_7/bug13565_2
new file mode 100644 (file)
index 0000000..c6b7fd3
--- /dev/null
@@ -0,0 +1,17 @@
+puts "========"
+puts "OCC13565"
+puts "========"
+puts ""
+########################################
+# Incorrect result of Common operation
+########################################
+
+restore [locate_data_file bug13565_A.brep] a
+restore [locate_data_file bug13565_B.brep] b
+
+bcommon result b a
+checkshape result
+
+checknbshapes result -shell 1 -face 17 -wire 17
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug13566 b/tests/bugs/modalg_7/bug13566
new file mode 100644 (file)
index 0000000..d6f58c7
--- /dev/null
@@ -0,0 +1,16 @@
+puts "========"
+puts "OCC13566"
+puts "========"
+puts ""
+#################################################################
+# Incorrect result of Extrema between a large circle and a line
+#################################################################
+
+restore [locate_data_file bug13566_line.brep] l
+restore [locate_data_file bug13566_circle.brep] c
+
+distmini d l c
+
+if {[dval d_val] > 0.01} {
+  puts "ERROR: OCC13566 is reproduced. Minimum distance is too large."
+}
diff --git a/tests/bugs/modalg_7/bug24632_1 b/tests/bugs/modalg_7/bug24632_1
new file mode 100644 (file)
index 0000000..759dd7f
--- /dev/null
@@ -0,0 +1,32 @@
+puts "========"
+puts "OCC24632"
+puts "========"
+puts ""
+###############################################################
+# Artifacts during Boolean cut operation on neighboring parts
+###############################################################
+
+restore [locate_data_file bug24632_general.brep] general
+restore [locate_data_file bug24632_cramp.brep] cramp
+restore [locate_data_file bug24632_cut_1.brep] cut_1
+restore [locate_data_file bug24632_cut_2.brep] cut_2
+
+bclearobjects
+bcleartools
+baddobjects general cramp
+bfillds
+bbuild beam
+checkshape beam
+
+bop beam cut_1
+bopcut beam_1
+checkshape beam_1
+
+bop beam_1 cut_2
+bopcut result
+checkshape result
+
+checknbshapes result -solid 2 -shell 2 -face 32 -wire 39
+checkprops result -v 5.40325e+7
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug24632_2 b/tests/bugs/modalg_7/bug24632_2
new file mode 100644 (file)
index 0000000..255d18a
--- /dev/null
@@ -0,0 +1,48 @@
+puts "========"
+puts "OCC24632"
+puts "========"
+puts ""
+###############################################################
+# Artifacts during Boolean cut operation on neighboring parts
+###############################################################
+
+restore [locate_data_file bug24632_general.brep] general
+restore [locate_data_file bug24632_fitting.brep] fitting
+restore [locate_data_file bug24632_cramp.brep] cramp
+restore [locate_data_file bug24632_cut_1.brep] cut_1
+restore [locate_data_file bug24632_cut_2.brep] cut_2
+
+explode fitting so
+bclearobjects
+bcleartools
+baddobjects fitting_1 fitting_2
+bfillds
+bbuild fitting_12
+checkshape fitting_12
+
+bclearobjects
+bcleartools
+baddobjects general fitting_12
+bfillds
+bbuild beam
+checkshape beam
+
+bclearobjects
+bcleartools
+baddobjects beam cramp
+bfillds
+bbuild beam_1
+checkshape beam_1
+
+bop beam_1 cut_1
+bopcut beam_2
+checkshape beam_2
+
+bop beam_2 cut_2
+bopcut result
+checkshape result
+
+checknbshapes result -solid 4 -shell 4 -face 64 -wire 73
+checkprops result -v 1.61677e+8
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug24632_3 b/tests/bugs/modalg_7/bug24632_3
new file mode 100644 (file)
index 0000000..733fe25
--- /dev/null
@@ -0,0 +1,31 @@
+puts "========"
+puts "OCC24632"
+puts "========"
+puts ""
+###############################################################
+# Artifacts during Boolean cut operation on neighboring parts
+###############################################################
+
+box b1 10 10 10
+
+box b2 10 0 0 10 10 10
+
+plane p -10 5 5 1 0 0
+pcylinder cut p 2.5 40
+checkshape cut
+
+bclearobjects
+bcleartools
+baddobjects b1 b2
+bfillds
+bbuild c
+checkshape c
+
+bop c cut
+bopcut result
+checkshape result
+
+checknbshapes result -solid 2 -shell 2 -face 13 -wire 16
+checkprops result -v 1607.3
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug27160 b/tests/bugs/modalg_7/bug27160
deleted file mode 100644 (file)
index 8b6f19a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-puts "TODO OCC27160 ALL: Error: Weird results of the pipe algorithm"
-
-puts "========"
-puts "OCC27160"
-puts "========"
-puts ""
-#####################################
-# Weird results of the pipe algorithm
-#####################################
-
-cpulimit 3000
-
-smallview
-
-restore [locate_data_file bug27160_path.rle] p
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}-path.png
-
-tuyau r p 0.2
-fit
-checkview -screenshot -2d -path ${imagedir}/${test_image}-fit.png
-
-clear r
-
-mkface f r
-fit
-
-checkview -screenshot -2d -path ${imagedir}/${test_image}-f.png
-
-set Log [bopcheck f]
-if {[regexp "This shape seems to be OK" ${Log}] != 1} {
-    puts "Error: Weird results of the pipe algorithm"
-}
diff --git a/tests/bugs/modalg_7/bug28108 b/tests/bugs/modalg_7/bug28108
new file mode 100644 (file)
index 0000000..44d3563
--- /dev/null
@@ -0,0 +1,18 @@
+puts "TODO OCC28108 ALL: Faulty shapes in variables faulty_1 to faulty_"
+
+puts "========"
+puts "OCC28108"
+puts "========"
+puts ""
+######################################
+# Sweep fails in "Right Corner" mode
+######################################
+
+restore [locate_data_file bug28108_sweep.brep] sweep
+
+explode sweep w
+mksweep sweep_2
+addsweep sweep_1
+buildsweep result -C
+
+checkshape result
diff --git a/tests/bugs/modalg_7/bug28167 b/tests/bugs/modalg_7/bug28167
new file mode 100644 (file)
index 0000000..b20ebf9
--- /dev/null
@@ -0,0 +1,29 @@
+puts "TODO OCC28167 ALL: Error: Fillet has strange form at its end"
+
+puts "========"
+puts "OCC28167"
+puts "========"
+puts ""
+#####################################
+# Fillet has strange form at its end
+#####################################
+
+restore [locate_data_file bug28167_solid.brep] s
+
+explode s E
+
+fillet r s 1 s_3
+
+explode r F
+explode r_6 E
+renamevar r_6_1 res
+
+regexp {Mass +: +([-0-9.+eE]+)} [lprops res] full length_r_6_1
+
+set expected_length 1.31899
+set toleranse 1.e-4
+if {[expr abs(${length_r_6_1} - ${expected_length})] <= ${toleranse}} {
+   puts "Error: Fillet has strange form at its end"
+}
+
+checkview -display r_6 -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28168 b/tests/bugs/modalg_7/bug28168
new file mode 100644 (file)
index 0000000..6c582e1
--- /dev/null
@@ -0,0 +1,18 @@
+puts "========"
+puts "OCC28168"
+puts "========"
+puts ""
+##############################################
+# Exception is raised during Boolean operation
+##############################################
+
+restore [locate_data_file bug28168_shapes.brep] b
+
+explode b
+
+bclearobjects
+bcleartools
+baddobjects b_1
+baddtools b_2
+
+bfillds
diff --git a/tests/bugs/modalg_7/bug28200 b/tests/bugs/modalg_7/bug28200
new file mode 100644 (file)
index 0000000..6a043eb
--- /dev/null
@@ -0,0 +1,41 @@
+puts "TODO OCC28200 ALL: Faulty shapes in variables faulty_1 to"
+
+puts "========"
+puts "OCC28200"
+puts "========"
+puts ""
+#############################################
+# Invalid topology of the general fuse result
+#############################################
+
+restore [locate_data_file bug28200_sh.brep] sh
+sewing sh sh 1.0
+
+restore [locate_data_file bug28200_cc.brep] c
+
+# Input data check
+checkshape sh
+checkshape c
+
+# Result construction
+bclearobjects
+bcleartools
+baddobjects sh
+baddtools c
+bfuzzyvalue 1.0
+bfillds
+bbuild result
+
+checkshape result
+
+smallview
+donly result
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
+
+left
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}_2.png
+
+donly faulty_1 faulty_2 faulty_3 faulty_4 faulty_5 faulty_6 faulty_7 faulty_8
+checkview -screenshot -2d -path ${imagedir}/${test_image}_3.png
diff --git a/tests/bugs/modalg_7/bug28216 b/tests/bugs/modalg_7/bug28216
new file mode 100755 (executable)
index 0000000..07466e1
--- /dev/null
@@ -0,0 +1,25 @@
+puts "TODO OCC28216 ALL: Error : bopcommon is WRONG"
+
+puts "============"
+puts "OCC28216"
+puts "============"
+puts ""
+#####################################################################################################
+# Intersection of a face and a solid is broken up leading to empty result of Boolean common operation
+#####################################################################################################
+
+restore [locate_data_file bug28216_initSurf.brep] s
+restore [locate_data_file bug28216_solid.brep] o
+
+bop s o
+
+bopsection r_section
+checknbshapes r_section -vertex 4 -edge 3 -m "bopsection"
+bopcheck r_section
+
+bopcommon r_common
+checknbshapes r_common -vertex 4 -edge 3 -m "bopcommon"
+bopcheck r_common
+
+checkview -display r_section -2d -path ${imagedir}/${test_image}-section.png
+checkview -display r_common -2d -path ${imagedir}/${test_image}-common.png
diff --git a/tests/bugs/modalg_7/bug28245 b/tests/bugs/modalg_7/bug28245
new file mode 100644 (file)
index 0000000..d17fda5
--- /dev/null
@@ -0,0 +1,45 @@
+puts "========"
+puts "OCC28245"
+puts "========"
+puts ""
+#################################################################################################
+# Result of Cells Builder algorithm becomes invalid after removal of internal boundaries on faces
+#################################################################################################
+
+circle c1 0 0 0 0 0 1 10
+circle c2 10 0 0 0 0 1 10
+circle c3 5 9 0 0 0 1 10
+
+mkedge e1 c1
+mkedge e2 c2
+mkedge e3 c3
+
+wire w1 e1
+wire w2 e2
+wire w3 e3
+
+mkplane f1 w1
+mkplane f2 w2
+mkplane f3 w3
+
+bclearobjects
+bcleartools
+baddobjects f1 f2 f3
+bfillds
+bcbuild rx
+
+bcadd res f1 1 -m 1
+bcadd res f2 1 f3 0 -m 1
+bcadd res f3 1 f1 0 -m 2
+
+bopcheck res
+if {![regexp "This shape seems to be OK" [bopcheck res]]} {
+  puts "Error: Result of Cells Builder algorithm is invalid"
+}
+checkview -display res -2d -path ${imagedir}/${test_image}-1.png
+
+bcremoveint res
+if {![regexp "This shape seems to be OK" [bopcheck res]]} {
+  puts "Error: Result of Cells Builder algorithm becomes invalid after removal of internal boundaries on faces"
+}
+checkview -display res -2d -path ${imagedir}/${test_image}-2.png
diff --git a/tests/bugs/modalg_7/bug28274 b/tests/bugs/modalg_7/bug28274
new file mode 100755 (executable)
index 0000000..752b172
--- /dev/null
@@ -0,0 +1,25 @@
+puts "TODO OCC28274 ALL: Error: BOPAlgo_MakerVolume fails to create solid"
+
+puts "========"
+puts "OCC28274"
+puts "========"
+puts ""
+######################################################
+# BOPAlgo_MakerVolume fails to create solid
+######################################################
+
+restore [locate_data_file bug28274_tmp.brep] a
+
+bnondestructive 1
+
+set Log [eval mkvolume result [explode a f] ]
+
+if {[regexp "Warning" ${Log}] == 1} {
+    puts "Error: BOPAlgo_MakerVolume fails to create solid"
+}
+
+checkshape result
+
+bopcheck result
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28279 b/tests/bugs/modalg_7/bug28279
new file mode 100755 (executable)
index 0000000..a107d36
--- /dev/null
@@ -0,0 +1,24 @@
+puts "========"
+puts "OCC28279"
+puts "========"
+puts ""
+###########################################################################################################
+# Greater oscillations and higher degree of resulting B-Spline in cylinder-cylinder intersections in 7.1.0
+###########################################################################################################
+
+restore [locate_data_file bug28279_surface1_draw.draw] s1
+restore [locate_data_file bug28279_surface2_draw.draw] s2
+
+intersect result s1 s2
+
+smallview
+
+point p121 -2.20000000000914, 4.42587047983305, 2.00000000001213
+point p11 -2.20245354854755, 4.52573922818428, 1.82990686981508
+donly p121 p11
+fit
+clear p121 p11
+
+display result_1 result_2 s1 s2
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28354 b/tests/bugs/modalg_7/bug28354
new file mode 100755 (executable)
index 0000000..51467c1
--- /dev/null
@@ -0,0 +1,33 @@
+puts "TODO OCC28354 ALL: Error: Filleting destroys shape if the filleted edge touches a seam edge"
+
+puts "============"
+puts "OCC28354"
+puts "============"
+puts ""
+###################################################################
+# Filleting destroys shape if the filleted edge touches a seam edge
+###################################################################
+
+#pcylinder cylinder 4 8
+#box box -5 -8 4 10 10 10
+#
+#bcut res cylinder box
+#
+
+restore [locate_data_file bug28354.brep] res
+
+explode res e
+
+blend result_1 res 1.5 res_9
+set Log_1 [whatis result_1]
+if {[regexp "shape" ${Log_1}] != 1} {
+    puts "Error: Filleting destroys shape"
+}
+checkview -display result_1 -2d -path ${imagedir}/${test_image}-1.png
+
+catch {blend result_2 res 2.2 res_9}
+set Log_2 [whatis result_2]
+if {[regexp "shape" ${Log_2}] != 1} {
+    puts "Error: Filleting destroys shape if the filleted edge touches a seam edge"
+}
+checkview -display result_2 -2d -path ${imagedir}/${test_image}-2.png
diff --git a/tests/bugs/modalg_7/bug28366 b/tests/bugs/modalg_7/bug28366
new file mode 100755 (executable)
index 0000000..9136c9c
--- /dev/null
@@ -0,0 +1,44 @@
+puts "TODO OCC28366 ALL: Error: BOP"
+
+puts "============"
+puts "OCC28366"
+puts "============"
+puts ""
+#############################################
+# BOP Common fails with solid and planar face
+#############################################
+
+pload XDE
+
+stepread [locate_data_file bug28366_fuselage.stp] a *
+renamevar a_1 a
+
+# Sew all the faces and make a solid.
+explode a f
+sewing shell 1.0e-6 a_1 a_2 a_3 a_4 a_5 a_6 a_7 a_8 
+mkvolume fuselage shell
+
+# Make a xy-plane at the origin.
+plane pln
+mkface face pln
+
+# Try a bcommon
+set Log_1 [bcommon common face fuselage]
+if {[regexp "Warning" ${Log_1}] == 1} {
+    puts "Error: BOP Common fails with solid and planar face"
+}
+set Log [bopcheck common]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: BOP Common fails with solid and planar face"
+}
+checkview -display common -2d -path ${imagedir}/${test_image}_common.png
+
+# Try bsection
+set Log_2 [bsection section face fuselage]
+if {[regexp "Warning" ${Log_1}] == 1} {
+    puts "Error: BOP Section fails with solid and planar face"
+}
+set Log [bopcheck section]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: BOP Section fails with solid and planar face"
+}
diff --git a/tests/bugs/modalg_7/bug28393_1 b/tests/bugs/modalg_7/bug28393_1
new file mode 100644 (file)
index 0000000..e005fab
--- /dev/null
@@ -0,0 +1,24 @@
+puts "TODO OCC28393 ALL: Error : The area of result shape is"
+puts "TODO OCC28393 ALL: Error : The volume of result shape is"
+puts "TODO OCC28393 ALL: Error :  is WRONG because number of"
+
+puts "========"
+puts "OCC28393"
+puts "========"
+puts ""
+###################################
+# Boolean cut produce wrong result.
+###################################
+
+restore [locate_data_file bug28393_o.brep] o
+restore [locate_data_file bug28393_t.brep] t
+
+bcut result o t
+
+checkshape result
+bopcheck result
+
+checkprops result -s 70266.5 -v 979408
+checknbshapes result -solid 1 -shell 1 -face 42 -wire 44
+
+checkview -display result -2d -path ${imagedir}/${test_image}-result.png
diff --git a/tests/bugs/modalg_7/bug28393_2 b/tests/bugs/modalg_7/bug28393_2
new file mode 100644 (file)
index 0000000..9476621
--- /dev/null
@@ -0,0 +1,20 @@
+puts "========"
+puts "OCC28393"
+puts "========"
+puts ""
+###################################
+# Boolean cut produce wrong result.
+###################################
+
+restore [locate_data_file bug28393_o2.brep] o
+restore [locate_data_file bug28393_t2.brep] t
+
+bcut result o t
+
+checkshape result
+bopcheck result
+
+checkprops result -s 216.264 -v 238.204
+checknbshapes result -solid 1 -shell 1 -face 12 -wire 12
+
+checkview -display result -2d -path ${imagedir}/${test_image}-result.png
diff --git a/tests/bugs/modalg_7/bug28402 b/tests/bugs/modalg_7/bug28402
new file mode 100644 (file)
index 0000000..2ca13db
--- /dev/null
@@ -0,0 +1,35 @@
+puts "TODO OCC28402 ALL: Error: calculation of properties of complex compounds is slow"
+
+puts "========"
+puts "OCC28402"
+puts "========"
+puts ""
+####################################################################
+# Modeling - calculation of properties of complex compounds is slow
+####################################################################
+
+restore [locate_data_file bug28402_hugeassembly.brep] a
+
+# just show that shape contains just one solid (box)
+nbshapes a
+
+# now calculate properties
+chrono s restart
+vprops a
+chrono s stop counter "CPU vprops compounds"
+
+# now calculate properties simple box
+box b 100 100 100
+chrono s_box restart
+vprops b
+chrono s_box stop counter "CPU vprops box"
+
+regexp {Elapsed time: +([-0-9.+eE]+) Hours +([-0-9.+eE]+) Minutes +([-0-9.+eE]+) Seconds} [dchrono s show]     full a_Hours a_Minutes a_Seconds
+regexp {Elapsed time: +([-0-9.+eE]+) Hours +([-0-9.+eE]+) Minutes +([-0-9.+eE]+) Seconds} [dchrono s_box show] full b_Hours b_Minutes b_Seconds
+
+set a_Time [expr ${a_Hours}*60.*60. + ${a_Minutes}*60. + ${a_Seconds} ]
+set b_Time [expr ${b_Hours}*60.*60. + ${b_Minutes}*60. + ${b_Seconds} ]
+
+if { [expr ${a_Time} / ${b_Time}] > 100. } {
+   puts "Error: calculation of properties of complex compounds is slow"
+}
diff --git a/tests/bugs/modalg_7/bug28406 b/tests/bugs/modalg_7/bug28406
new file mode 100644 (file)
index 0000000..db15b36
--- /dev/null
@@ -0,0 +1,31 @@
+puts "TODO 0028406 ALL: Error: MaxTolerance"
+
+puts "======="
+puts "0028406"
+puts "======="
+puts ""
+#######################################################
+# High tolerances after boolean operation on OCCT 6.9.1
+#######################################################
+
+restore [locate_data_file bug28406_ar_shape_to_cuts.brep]  b1
+restore [locate_data_file bug28406_ar_cutting_shapes.brep] b2
+
+explode b2 f
+
+set log_1 [bopcurves b1 b2_1 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log_1 full tol_reached_1
+
+set log_2 [bopcurves b1 b2_7 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log_2 full tol_reached_2
+
+set log_3 [maxtolerance b2]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $log_3 full MaxFaceTolerance
+
+
+set ToleranceReached-6-9-1_1 0.044936986074371126
+set ToleranceReached-6-9-1_2 0.024455156919182791
+set tol_rel_MaxTol 0.0001
+
+checkreal "MaxTolerance 2_1 " ${tol_reached_1} ${ToleranceReached-6-9-1_1} ${MaxFaceTolerance} ${tol_rel_MaxTol}
+checkreal "MaxTolerance 2_7 " ${tol_reached_2} ${ToleranceReached-6-9-1_2} ${MaxFaceTolerance} ${tol_rel_MaxTol}
diff --git a/tests/bugs/modalg_7/bug28485 b/tests/bugs/modalg_7/bug28485
new file mode 100644 (file)
index 0000000..49bcd42
--- /dev/null
@@ -0,0 +1,28 @@
+puts "TODO OCC28485 ALL: Faulty shapes in variables faulty_1 to"
+
+puts "========"
+puts "OCC28485"
+puts "========"
+puts ""
+##################################################################################
+# Fuse of two shapes using gluing and non-destructive options gives invalid result
+##################################################################################
+
+restore [locate_data_file bug28485_parts.brep] a
+explode a
+
+bnondestructive 1
+brunparallel 1
+bfuzzyvalue 0
+bglue 1
+
+bclearobjects
+bcleartools
+baddobjects a_1
+baddtools a_2
+bfillds
+bbop result 1
+
+checkshape result
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28544_1 b/tests/bugs/modalg_7/bug28544_1
new file mode 100644 (file)
index 0000000..09dc283
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC28544 ALL: Error : T="
+
+puts "========"
+puts "OCC28544"
+puts "========"
+puts ""
+##################################################################
+# Big tolerance value is returned by Implicit-parametric algorithm
+##################################################################
+
+restore [locate_data_file bug24094_face.brep] b1
+
+mksurface s1 b1
+plane s2 183.6 0 0 1 0 0 0 1 0
+
+# B-spline + Plane
+intersect ii s1 s2
+bounds ii u1 u2
+xdistcs ii s1 u1 u2 10 2.0e-7
diff --git a/tests/bugs/modalg_7/bug28544_2 b/tests/bugs/modalg_7/bug28544_2
new file mode 100644 (file)
index 0000000..2a6c66a
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28544 ALL: Error: Big tolerance value is returned by Implicit-parametric algorithm"
+
+puts "========"
+puts "OCC28544"
+puts "========"
+puts ""
+##################################################################
+# Big tolerance value is returned by Implicit-parametric algorithm
+##################################################################
+
+restore [locate_data_file heal-Face1.rle] b1
+restore [locate_data_file Plan.rle] b2
+
+set log_1 [bopcurves b1 b2 -2d]
+regexp {Tolerance Reached=([-0-9.+eE]+)} $log_1 full tol_reached
+
+set log_2 [maxtolerance b1]
+regexp { +Face +: +Min +([-0-9.+eE]+) +Max +([-0-9.+eE]+)} $log_2 full MinFaceTolerance MaxFaceTolerance
+
+if { ${tol_reached} > ${MaxFaceTolerance} } {
+   puts "Error: Big tolerance value is returned by Implicit-parametric algorithm"
+}
diff --git a/tests/bugs/modalg_7/bug28571_1 b/tests/bugs/modalg_7/bug28571_1
new file mode 100755 (executable)
index 0000000..9c7ce8f
--- /dev/null
@@ -0,0 +1,28 @@
+puts "TODO OCC28571 ALL: Error: BRepOffsetAPI_MakeOffset build invalid wire"
+
+puts "========"
+puts "OCC28571"
+puts "========"
+puts ""
+#############################################
+# BRepOffsetAPI_MakeOffset build invalid wire
+#############################################
+
+restore [locate_data_file bug28571_inputwire.brep] w
+
+mkoffset result w 1 1 a
+
+set Log [bopcheck result_1]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: BRepOffsetAPI_MakeOffset build invalid wire"
+}
+
+regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection result_1] full nbv
+if { $nbv != 0 } { 
+  puts "Error : There are alone Vertices" 
+}
+
+top
+donly w result_1
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28571_2 b/tests/bugs/modalg_7/bug28571_2
new file mode 100755 (executable)
index 0000000..797af45
--- /dev/null
@@ -0,0 +1,29 @@
+puts "TODO OCC28571 ALL: Error: BRepOffsetAPI_MakeOffset build invalid wire"
+puts "TODO OCC28571 ALL: Error : There are alone Vertices"
+
+puts "========"
+puts "OCC28571"
+puts "========"
+puts ""
+#############################################
+# BRepOffsetAPI_MakeOffset build invalid wire
+#############################################
+
+restore [locate_data_file bug28571_inputwire.brep] w
+
+openoffset result w 1 1 a
+
+set Log [bopcheck result_1]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: BRepOffsetAPI_MakeOffset build invalid wire"
+}
+
+regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection result_1] full nbv
+if { $nbv != 0 } { 
+  puts "Error : There are alone Vertices" 
+}
+
+top
+donly w result_1
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug28572_1 b/tests/bugs/modalg_7/bug28572_1
new file mode 100755 (executable)
index 0000000..93e6654
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28572 ALL: Faulty shapes in variables faulty_1"
+
+puts "========"
+puts "OCC28572"
+puts "========"
+puts ""
+####################################
+# Wrong result of the mkface command
+####################################
+
+restore [locate_data_file bug28572_m.brep] m
+
+mksurface s1 m
+
+explode m W
+
+mkface f1 s1 m_2
+checkshape f1
+
+
+mkface f2 s1 m_3
+checkshape f2
diff --git a/tests/bugs/modalg_7/bug28572_2 b/tests/bugs/modalg_7/bug28572_2
new file mode 100755 (executable)
index 0000000..1671c3e
--- /dev/null
@@ -0,0 +1,18 @@
+puts "TODO OCC28572 ALL: Faulty shapes in variables faulty_1"
+
+puts "========"
+puts "OCC28572"
+puts "========"
+puts ""
+####################################
+# Wrong result of the mkface command
+####################################
+
+restore [locate_data_file bug28572_m.brep] f
+
+mksurface s1 f
+
+explode f W
+
+mkface f1 s1 f_2
+checkshape f1
diff --git a/tests/bugs/modalg_7/bug28596_1 b/tests/bugs/modalg_7/bug28596_1
new file mode 100755 (executable)
index 0000000..37f1d8a
--- /dev/null
@@ -0,0 +1,31 @@
+puts "TODO OCC28596 ALL: Error: Erroneous fillet"
+
+puts "========"
+puts "OCC28596"
+puts "========"
+puts ""
+##################
+# Erroneous fillet
+##################
+
+restore [locate_data_file bug28596_fil.brep] f
+
+explode f e
+fillet result f 0.05 f_4
+
+checkshape result
+
+set Log [bopcheck result]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: Erroneous fillet"
+}
+
+vinit
+vdisplay result
+vviewparams -scale 702.276 -proj -0.67842 -0.368345 -0.635663 -up -0.730989 0.424987 0.533892 -at 0.191139 0.100954 0.167229 -eye -4.57791 -2.48838 -4.30125
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}-w.png
+
+vsetdispmode 1
+vselect 100 100
+checkview -screenshot -3d -path ${imagedir}/${test_image}-s.png
diff --git a/tests/bugs/modalg_7/bug28596_2 b/tests/bugs/modalg_7/bug28596_2
new file mode 100755 (executable)
index 0000000..dd77ea1
--- /dev/null
@@ -0,0 +1,29 @@
+puts "========"
+puts "OCC28596"
+puts "========"
+puts ""
+##################
+# Erroneous fillet
+##################
+
+restore [locate_data_file bug28596_fil.brep] f
+
+explode f e
+fillet result f 0.04 f_4
+
+checkshape result
+
+set Log [bopcheck result]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: Erroneous fillet"
+}
+
+vinit
+vdisplay result
+vviewparams -scale 702.276 -proj -0.67842 -0.368345 -0.635663 -up -0.730989 0.424987 0.533892 -at 0.191139 0.100954 0.167229 -eye -4.57791 -2.48838 -4.30125
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}-w.png
+
+vsetdispmode 1
+vselect 100 100
+checkview -screenshot -3d -path ${imagedir}/${test_image}-s.png
diff --git a/tests/bugs/modalg_7/bug28640 b/tests/bugs/modalg_7/bug28640
new file mode 100755 (executable)
index 0000000..be1bd41
--- /dev/null
@@ -0,0 +1,37 @@
+puts "TODO OCC28640 ALL: Faulty shapes in variables faulty_1"
+
+puts "========"
+puts "OCC28640"
+puts "========"
+puts ""
+##############################################
+# BRepBuilderAPI_Transform build invalid shape
+##############################################
+
+restore [locate_data_file bug28640_origin_copy.brep] a
+
+smallview
+display a
+front
+fit
+
+vinit
+vsetdispmode 1
+vdisplay a
+vfront
+vfit
+
+#
+
+tmirror a 0 0 0 1 0 0
+
+checkshape a
+
+display a
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}-mirror-2d.png
+
+vclear
+vdisplay a
+vfit
+checkview -screenshot -3d -path ${imagedir}/${test_image}-mirror-3d.png
diff --git a/tests/bugs/modalg_7/bug28656 b/tests/bugs/modalg_7/bug28656
new file mode 100755 (executable)
index 0000000..fe6c82f
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28656 ALL: TopoDS_LockedShape: BRep_Builder::UpdateEdge"
+
+puts "========"
+puts "OCC28656"
+puts "========"
+puts ""
+#####################################
+## 3d offset modifies the input shape
+#####################################
+
+pcylinder s 5 15
+
+setflags s locked
+
+explode s f
+
+offsetparameter 1e-7 c i
+offsetload s 1 s_2
+
+catch {offsetperform result}
+
+checkview -display result -2d -path ${imagedir}/${test_image}-2d.png
diff --git a/tests/bugs/modalg_7/bug28696_1 b/tests/bugs/modalg_7/bug28696_1
new file mode 100644 (file)
index 0000000..6b7fc2a
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28696 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28696"
+puts "========"
+puts ""
+############################################
+# Offset 2D algorithm produces micro edges
+############################################
+
+restore [locate_data_file OCC16667-wire.brep] a
+
+mkoffset resoffset a 1 20
+renamevar resoffset_1 result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: Micro edge is produced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28696_2 b/tests/bugs/modalg_7/bug28696_2
new file mode 100644 (file)
index 0000000..756191a
--- /dev/null
@@ -0,0 +1,22 @@
+puts "TODO OCC28696 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28696"
+puts "========"
+puts ""
+############################################
+# Offset 2D algorithm produces micro edges
+############################################
+
+restore [locate_data_file OCC16667-wire.brep] a
+
+mkoffset resoffset a 1 -20
+renamevar resoffset_1 result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    regexp {Mass : *([0-9\-+.eE]+)} [lprops $e] dummy len
+    regexp {Tolerance MAX=([0-9\-+.eE]+)} [tolerance $e] dummy tol
+    puts "ERROR: Micro edge is produced. Edge $e (length=$len, tolerance=$tol) is too small"
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28700_1 b/tests/bugs/modalg_7/bug28700_1
new file mode 100644 (file)
index 0000000..1523d05
--- /dev/null
@@ -0,0 +1,20 @@
+puts "TODO OCC28700 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28700"
+puts "========"
+puts ""
+#########################################################################
+# BRepBuilderAPI_Sewing produces too small edge covered by its vertices
+#########################################################################
+
+restore [locate_data_file OCC714.brep] a
+
+sewing result 0.1 a
+checkshape result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    puts "ERROR: Micro edge is produced. Edge $e is too small."
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28700_2 b/tests/bugs/modalg_7/bug28700_2
new file mode 100644 (file)
index 0000000..24d38da
--- /dev/null
@@ -0,0 +1,20 @@
+puts "TODO OCC28700 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28700"
+puts "========"
+puts ""
+#########################################################################
+# BRepBuilderAPI_Sewing produces too small edge covered by its vertices
+#########################################################################
+
+restore [locate_data_file OCC22804-sew_bug.brep] a
+
+sewing result 200 a
+checkshape result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    puts "ERROR: Micro edge is produced. Edge $e is too small."
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28700_3 b/tests/bugs/modalg_7/bug28700_3
new file mode 100644 (file)
index 0000000..2a3dee1
--- /dev/null
@@ -0,0 +1,21 @@
+puts "TODO OCC28700 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28700"
+puts "========"
+puts ""
+#########################################################################
+# BRepBuilderAPI_Sewing produces too small edge covered by its vertices
+#########################################################################
+
+restore [locate_data_file 22770-tramp.brep] a
+restore [locate_data_file 22770-trans.brep] b
+
+sewing result 0.1 a b
+checkshape result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    puts "ERROR: Micro edge is produced. Edge $e is too small."
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28700_4 b/tests/bugs/modalg_7/bug28700_4
new file mode 100644 (file)
index 0000000..3d773b5
--- /dev/null
@@ -0,0 +1,21 @@
+puts "TODO OCC28700 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28700"
+puts "========"
+puts ""
+#########################################################################
+# BRepBuilderAPI_Sewing produces too small edge covered by its vertices
+#########################################################################
+
+restore [locate_data_file 22770-tramp.brep] a
+restore [locate_data_file 22770-trans.brep] b
+
+sewing result 0.1 a b -c
+checkshape result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    puts "ERROR: Micro edge is produced. Edge $e is too small."
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28700_5 b/tests/bugs/modalg_7/bug28700_5
new file mode 100644 (file)
index 0000000..1cba4e1
--- /dev/null
@@ -0,0 +1,21 @@
+puts "TODO OCC28700 ALL: ERROR: Micro edge is produced."
+
+puts "========"
+puts "OCC28700"
+puts "========"
+puts ""
+#########################################################################
+# BRepBuilderAPI_Sewing produces too small edge covered by its vertices
+#########################################################################
+
+restore [locate_data_file 22770-tramp.brep] a
+restore [locate_data_file 22770-trans.brep] b
+
+sewing result 0.1 a b -p
+checkshape result
+
+foreach e [explode result e] {
+  if {[validrange $e] == "edge has no valid range"} {
+    puts "ERROR: Micro edge is produced. Edge $e is too small."
+  }
+}
diff --git a/tests/bugs/modalg_7/bug28722 b/tests/bugs/modalg_7/bug28722
new file mode 100644 (file)
index 0000000..684f25d
--- /dev/null
@@ -0,0 +1,15 @@
+puts "TODO OCC28722 ALL: Faulty shapes in variables faulty_1 to faulty_"
+
+puts "========"
+puts "OCC28722"
+puts "========"
+puts ""
+########################################################################
+# Conversion of a spherical face to a spline produces an invalid shape
+########################################################################
+
+restore [locate_data_file bug28722_s.brep] s
+
+nurbsconvert r s
+
+checkshape r
diff --git a/tests/bugs/modalg_7/bug28739 b/tests/bugs/modalg_7/bug28739
new file mode 100644 (file)
index 0000000..df663ca
--- /dev/null
@@ -0,0 +1,16 @@
+puts "TODO OCC28739 ALL: Faulty shapes in variables faulty_1 to faulty_"
+
+puts "========"
+puts "OCC28739"
+puts "========"
+puts ""
+#######################
+# Draft on face fails
+#######################
+
+restore [locate_data_file bug28739_draft.brep] draft
+
+explode draft f
+depouille result draft 0 1 0 draft_7 87 11 -5 0 1 0 0
+
+checkshape result
diff --git a/tests/bugs/modalg_7/bug5081_1 b/tests/bugs/modalg_7/bug5081_1
new file mode 100755 (executable)
index 0000000..41bb502
--- /dev/null
@@ -0,0 +1,29 @@
+puts "TODO OCC5081 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO OCC5081 ALL: Error: BRepOffset_MakeOffsetShape algorithm does not return valid result"
+
+puts "======="
+puts "OCC5081"
+puts "======="
+puts ""
+####################################################################
+# BRepOffset_MakeOffsetShape algorithm does not return valid result.
+####################################################################
+
+restore [locate_data_file bug5582_shape1.brep] comp
+
+explode comp so
+
+offsetparameter 0.00001 p a
+offsetload comp_1 1
+offsetperform res
+
+checkshape res
+
+set Log [bopcheck res]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: BRepOffset_MakeOffsetShape algorithm does not return valid result"
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug5081_2 b/tests/bugs/modalg_7/bug5081_2
new file mode 100755 (executable)
index 0000000..3794f78
--- /dev/null
@@ -0,0 +1,26 @@
+puts "======="
+puts "OCC5081"
+puts "======="
+puts ""
+####################################################################
+# BRepOffset_MakeOffsetShape algorithm does not return valid result.
+####################################################################
+
+restore [locate_data_file bug5081_shape2.brep] comp
+
+explode comp so
+
+offsetparameter 0.00001 p i
+offsetload comp_1 2
+offsetperform res
+
+checkshape res
+
+set Log [bopcheck res]
+if {[regexp "This shape seems to be OK" ${Log}] != 1} {
+    puts "Error: BRepOffset_MakeOffsetShape algorithm does not return valid result"
+}
+
+smallview
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_7/bug5582 b/tests/bugs/modalg_7/bug5582
new file mode 100644 (file)
index 0000000..64a7096
--- /dev/null
@@ -0,0 +1,19 @@
+puts "TODO OCC5582 ALL: Faulty shapes in variables faulty_1 to faulty_"
+
+puts "======="
+puts "OCC5582"
+puts "======="
+puts ""
+################################################################
+# Impossible to make offset on the shape with degenerated edge
+################################################################
+
+restore [locate_data_file bug5582_shape1.brep] comp
+
+checkshape comp
+explode comp so
+offsetparameter 0.00001 p a
+offsetload comp_1 1
+offsetperform result
+
+checkshape result
diff --git a/tests/bugs/modalg_7/bug83 b/tests/bugs/modalg_7/bug83
new file mode 100755 (executable)
index 0000000..e43c3b0
--- /dev/null
@@ -0,0 +1,40 @@
+puts "====="
+puts "OCC83"
+puts "====="
+puts ""
+#####################################################################
+# BUC60912. Section of simple BSpline surfaces is performed too slow.
+#####################################################################
+
+restore [locate_data_file BUC60912_sec_slow.brep] c
+
+explode c
+renamevar c_1 sh
+renamevar c_2 pr
+
+plane f 0 0 0 1 0 0
+mkface f f -11 11 -11 11
+
+puts "Info: perform section with plane"
+chrono h1 reset; chrono h1 start
+section r1 f pr
+chrono h1 stop counter "CPU section r1"
+
+puts "Info: perform section with planar BSpline surface"
+chrono h2 reset; chrono h2 start
+section r2 sh pr
+chrono h2 stop counter "CPU section r2"
+
+regexp {Elapsed time: +([-0-9.+eE]+) Hours +([-0-9.+eE]+) Minutes +([-0-9.+eE]+) Seconds} [dchrono h1 show] full h1_Hours h1_Minutes h1_Seconds
+regexp {Elapsed time: +([-0-9.+eE]+) Hours +([-0-9.+eE]+) Minutes +([-0-9.+eE]+) Seconds} [dchrono h2 show] full h2_Hours h2_Minutes h2_Seconds
+
+set h1_Time [expr ${h1_Hours}*60.*60. + ${h1_Minutes}*60. + ${h1_Seconds} ]
+set h2_Time [expr ${h2_Hours}*60.*60. + ${h2_Minutes}*60. + ${h2_Seconds} ]
+
+if { ${h1_Time} > 0.1 } {
+   puts "Error: Section of simple BSpline surfaces_1 is performed too slow"
+}
+
+if { ${h2_Time} > 0.1 } {
+   puts "Error: Section of simple BSpline surfaces_2 is performed too slow"
+}
index 7a29b3165c12f528ace28e44d1ed23b558cc467b..b12ce5d9f18c672da3b2ad27404c99dae8fe1c30 100755 (executable)
@@ -1,5 +1,3 @@
-puts "TODO OCC11111 ALL: OCC2442 Faulty"
-
 puts "============"
 puts "OCC2442"
 puts "============"
@@ -8,52 +6,24 @@ puts ""
 # Error in BRepClass3d_SolidClassifier
 ######################################################
 
-set IsGood 1
-
 restore [locate_data_file OCC2442-1.brep] a 
 restore [locate_data_file OCC2442-2.brep] b 
 
 distmini dm1 a b
-set dm1_list [dump dm1_val]
-set dm1_length [llength $dm1_list]
-if {$dm1_length < 6} {
-   puts "Faulty OCC2442"
-   set IsGood 0
-}
+set dist1 [dval dm1_val]
 
 explode a
 explode b
 distmini dm2 a_1 b_1
-set dm2_list [dump dm2_val]
-set dm2_length [llength $dm2_list]
-if {$dm2_length < 6} {
-   puts "Faulty OCC2442"
-   set IsGood 0
-}
-
-if {$IsGood == 1} {
-    regexp {([-0-9.+eE]+)} $dm1_list full dist1
-    regexp {([-0-9.+eE]+)} $dm2_list full dist2
-
-    set good_dist 18.4816355578064
-    set dist1_percent [expr abs(${dist1} - ${good_dist}) / double(${good_dist}) * 100.]
-
-    set dist2_percent [expr abs(${dist1} - ${dist2}) / double(${dist2}) * 100.]
-
-    set percent_max 0.1
-
-    if {${dist1_percent} > ${percent_max}} {
-        puts "OCC2442 Faulty"
-        set IsGood 0
-    }
-    if {${dist2_percent} > ${percent_max}} {
-        puts "OCC2442 Faulty"
-        set IsGood 0
-    }
-    if {${IsGood} == 1} {
-        puts "OCC2442 OK"
-    }
-}
+set dist2 [dval dm2_val]
+
+set good_dist 18.4816355578064
+
+set tol_abs 1.e-7
+set tol_rel 1.e-7
+
+checkreal "Distance 1 " ${dist1} ${good_dist} ${tol_abs} ${tol_rel}
+checkreal "Distance 2 " ${dist2} ${good_dist} ${tol_abs} ${tol_rel}
 
 set boundbox [boundingstr a]
 set x0 [lindex $boundbox 0]
@@ -61,3 +31,5 @@ set y0 [lindex $boundbox 1]
 set z0 [lindex $boundbox 2]
 ttranslate a [expr -1 * $x0] [expr -1 * $y0] [expr -1 * $z0]
 ttranslate b [expr -1 * $x0] [expr -1 * $y0] [expr -1 * $z0]
+
+checkview -display a -with b -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/moddata_2/bug862 b/tests/bugs/moddata_2/bug862
deleted file mode 100755 (executable)
index ae3f8d1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-
-puts "================"
-puts "OCC862"
-puts "================"
-puts ""
-########################################
-## The result is just one extremum - intersection is not found.
-########################################
-restore [locate_data_file OCC862_1.draw] c1 
-restore [locate_data_file OCC862_2.draw] c2 
-
-set result [extrema c1 c2]
-set err [llength $result]
-if { $err != 1} {
-    puts "Faulty OCC862 (amount of solution): command extrema does NOT work properly"
-} else {
-    puts "OCC862 OK (amount of solution): command extrema works properly"
-}
-
-checkview -display result -2d -path ${imagedir}/${test_image}.png
-
diff --git a/tests/bugs/moddata_3/bug5145 b/tests/bugs/moddata_3/bug5145
new file mode 100644 (file)
index 0000000..a186a3d
--- /dev/null
@@ -0,0 +1,26 @@
+puts "======="
+puts "OCC5145"
+puts "======="
+puts ""
+#####################################################
+# Wrong result of projection of a circle on a sphere.
+#####################################################
+
+restore [locate_data_file bug5145_f1.brep] f1
+restore [locate_data_file bug5145_c.draw] c
+
+mksurface s f1
+
+trim c1 c 0 pi
+trim c2 c pi 2.*pi
+
+project c2d1 c1 s
+project c2d2 c2 s
+
+checklength c2d1 -l 3.68009
+checklength c2d2 -l 3.68009
+
+v2d
+2dfit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/step/bug28662 b/tests/bugs/step/bug28662
new file mode 100644 (file)
index 0000000..327fcbe
--- /dev/null
@@ -0,0 +1,9 @@
+puts "========"
+puts "OCC28662"
+puts "========"
+puts ""
+############################################################
+# Data Exchange - Exception during reading large STEP file
+############################################################
+
+stepread [locate_data_file bug28662_3741842_A-SEAT_OCCUPANT_UPGRADE_KIT.step] a *