From: mkv Date: Wed, 12 Jul 2017 14:13:06 +0000 (+0300) Subject: Update of tests data base for reproduced issues X-Git-Tag: V7_2_0_beta~11 X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=2508ca8e54890182b51188cf8995d09a4390e8e6 Update of tests data base for reproduced issues Test for 0022602: Improvement in notched healing Test for 0022750: Boolean operation: Bug in Fuse Test for 0022821: Crash with BRepFilletAPI_MakeFillet Test for 0023090: Reading a STEP file produces invalid shape Test for 0023163: Intersection of tori fails to produce results Test for 0023343: Crash (ACCESS VIOLATION) in GeomPlate_BuildPlateSurface / MakeApprox if init Surface is set Test for 0023386: BRepAlgoAPI_Fuse on two disjoint shapes sometimes loses all geometry from one of the shapes Test for 0023451: FixMissingSeam constructs intersecting wires Test for 0023497: Units package raises exception for composite units Test for 0023638: Reading IGES file produced invalid shape Test for 0023667: checkshape command does not detect problems in the attached shape Test for 0023671: pload function does not work if DRAWDEFAULT file has win format Test for 0024185: Wrong projection of a wire to a face Test for 0024215: Error in offset (bad curve) Test for 0024251: Command checkshape does not report a problem on first call after fixshape Test for 0024365: BRepAlgoAPI_Section wrong result, BRepAlgo_Section good result Test for 0024421: Sewing changes orientations of some subshapes. Test for 0024429: Cylinder-torus intersection throws an exception and produces no result --- diff --git a/tests/bugs/demo/bug23671 b/tests/bugs/demo/bug23671 new file mode 100755 index 0000000000..b6dd7dd3f3 --- /dev/null +++ b/tests/bugs/demo/bug23671 @@ -0,0 +1,40 @@ +puts "TODO CR23671 Linux: Error" +puts "TODO CR23671 Linux: Draw_Failure: Could not open" + +puts "============" +puts "CR23671" +puts "============" +puts "" +########################################################################################################## +# pload function does not work if $DRAWDEFAULT file has win format +########################################################################################################## + +set aDrawPlugin [locate_data_file DrawPlugin] +set aDrawPluginDefaults [ file dirname ${aDrawPlugin} ] + +dgetenv CSF_DrawPluginDefaults +dgetenv DRAWDEFAULT + +dsetenv CSF_DrawPluginDefaults ${aDrawPluginDefaults} +dsetenv DRAWDEFAULT ${aDrawPlugin} + +dgetenv CSF_DrawPluginDefaults +dgetenv DRAWDEFAULT + +if [catch {pload} info] { + puts "Error: pload function does not work if \$DRAWDEFAULT file has win format" +} else { + puts "OK: pload function work if \$DRAWDEFAULT file has win format" +} + +if [catch {pload -DrawPlugin} info] { + puts "Error: pload function does not work if \$DRAWDEFAULT file has win format" +} else { + puts "OK: pload function work if \$DRAWDEFAULT file has win format" +} + +if [catch {pload XDE} info] { + puts "Error: pload function does not work if \$DRAWDEFAULT file has win format" +} else { + puts "OK: pload function work if \$DRAWDEFAULT file has win format" +} diff --git a/tests/bugs/fclasses/bug23497 b/tests/bugs/fclasses/bug23497 new file mode 100644 index 0000000000..524a5385b8 --- /dev/null +++ b/tests/bugs/fclasses/bug23497 @@ -0,0 +1,18 @@ +puts "TODO OCC23497 ALL: Exception" +puts "TODO OCC23497 ALL: exception" + +puts "============" +puts "OCC23497" +puts "============" +puts "" +####################################################################### +# Units package raises exception for composite units +####################################################################### + +set UnitString "sq.km" + +if [catch {unitconvtoSI 1 ${UnitString}} res] { + puts "Error: Units package raises exception for composite units" +} else { + puts "OK: Units package work good for composite unit" +} diff --git a/tests/bugs/heal/bug22602 b/tests/bugs/heal/bug22602 new file mode 100644 index 0000000000..036fdb5eb8 --- /dev/null +++ b/tests/bugs/heal/bug22602 @@ -0,0 +1,26 @@ +puts "TODO OCC22602 ALL: Error : notched simple file is WRONG" + +puts "========" +puts "OCC22602" +puts "========" +puts "" +############################################# +# Improvement in notched healing +############################################# + +restore [locate_data_file bug22602_notched_simple.brep] a + +checkview -display a -2d -path ${imagedir}/${test_image}_1.png + +fixshape result a -l -o -h -m -d -s -i +n + +checkshape result + +set nbshapes_expected " +Number of shapes in shape + VERTEX : 6 + EDGE : 7 +" +checknbshapes result -ref ${nbshapes_expected} -t -m "notched simple file" + +checkview -display result -2d -path ${imagedir}/${test_image}_2.png diff --git a/tests/bugs/heal/bug23451 b/tests/bugs/heal/bug23451 new file mode 100755 index 0000000000..49c0130695 --- /dev/null +++ b/tests/bugs/heal/bug23451 @@ -0,0 +1,17 @@ +puts "TODO All: Faulty shapes in variables faulty_1 to faulty_" + +puts "================" +puts "OCC23451" +puts "================" +puts "" +###################################################################################### +# FixMissingSeam constructs intersecting wires +###################################################################################### + +restore [locate_data_file bug23451_testface_holes.brep] f + +fixshape result f + +checkshape result + +checkview -display result -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/iges/bug23638 b/tests/bugs/iges/bug23638 new file mode 100755 index 0000000000..f16f5a606c --- /dev/null +++ b/tests/bugs/iges/bug23638 @@ -0,0 +1,13 @@ +puts "============" +puts "CR23638" +puts "============" +puts "" +####################################################################### +# Reading IGES file produced invalid shape +####################################################################### + +param read.surfacecurve.mode -3 + +igesread [locate_data_file bug23638_cadbad.igs] result * + +checkshape result diff --git a/tests/bugs/modalg_7/bug22750 b/tests/bugs/modalg_7/bug22750 new file mode 100644 index 0000000000..a36e291807 --- /dev/null +++ b/tests/bugs/modalg_7/bug22750 @@ -0,0 +1,125 @@ +puts "TODO OCC22750 ALL: Faulty shapes in variables" + +puts "========" +puts "OCC22750" +puts "========" +puts "" +####################################################### +# Boolean operation: Bug in Fuse +####################################################### + +# Step 1: Create surface wing + +# Create sections as ellipses 2D (possible to create directly in 3D) +ellipse e1 0 0 30 20 +ellipse e2 0 0 20 10 +ellipse e3 0 0 16 8 + +# Convert 2d Curves in 3d Curves, and place them along Z axis +to3d ee1 e1 +to3d ee2 e2; translate ee2 0 0 100 +to3d ee3 e3; translate ee3 0 0 200 + +rotate ee2 0 0 100 0 1 0 10 +rotate ee3 0 0 200 0 1 0 20 + +#Approximate the ellipses by Bsplines +appro c1 16 ee1 +appro c2 16 ee2 +appro c3 16 ee3 + +#Make a surface by approximation passing throught a set of curves +# and create a face +appsurf s1 c1 c2 c3 +mkface f1 s1 + +#Make a surface by approximation passing throught a set of ellipse +# and create a face +appsurf s2 ee1 ee2 ee3 +mkface f2 s2 + +# Step 2: Create surface for fuselage + +#Create circles in 3D along axe X +circle c1 -100 0 0 1 0 0 10 +circle c2 -50 0 0 1 0 0 30 +circle c3 50 0 0 1 0 0 29 +circle c4 100 0 0 1 0 0 20 +circle c5 150 0 0 1 0 0 10 + +#Make a surface by approximation passing throught a set of circles +# and create a face +appsurf s3 c1 c2 c3 c4 c5 +mkface f3 s3 + + +# Step 3: Create a Solid for the Wing +# Build edges from ellipse, wires with edges, faces on wires +# It's necessary to sew the faces to create the Shell, because the faces don't shared the same edge +#sewing will create a shell, it remains to create the solid from the shell + +mkedge ed1 ee1 +mkedge ed3 ee3 + +wire w1 ed1 +wire w3 ed3 + +mkplane f5 w1 +mkplane f6 w3 + +sewing r f2 f5 f6 +###mksol so1 r +shape so1 So +add r so1 + +checkshape so1 +# The shape so1 is valid + +#Step 4: Create a Solid for fuselage +# We will extract the edge from the face f3, and use them to buid faces, the edge will be shared and we +# can rebuild a sh and a solid with the basic and fast method + +nexplode f3 e +#nexplode give same order of exploration in different sessions + +wire w1 f3_1 +wire w3 f3_3 +mkplane f7 w1 1 +mkplane f8 w3 1 + +shape rr Sh +add f3 rr; add f7 rr; add f8 rr + +shape so2 So +add rr so2 + +checkshape so2 +# there is a pb of orientation, we have to chage orientation of f8 + +orientation f8 R + +# We rebuild the shell and the solid +shape rr Sh +add f3 rr; add f7 rr; add f8 rr + +shape so2 So +add rr so2 + +checkshape so2 +# the shape is valid + +# Step 5: Fuse the Wing to the fuselage +ttranslate so1 0 0 10 +bop so1 so2 +bopfuse rrr + +# Step 6: Create the othe wing using copy and rotation +tcopy so1 so3 +trotate so3 0 0 0 1 0 0 180 + +# Step 7: Fuse the Wing to the fuselage +bop rrr so3 +bopfuse so4 + +checkview -display so4 -3d -path ${imagedir}/${test_image}-3d.png +checkview -display so4 -2d -path ${imagedir}/${test_image}-2d.png diff --git a/tests/bugs/modalg_7/bug22821 b/tests/bugs/modalg_7/bug22821 new file mode 100644 index 0000000000..70bb6eb83f --- /dev/null +++ b/tests/bugs/modalg_7/bug22821 @@ -0,0 +1,26 @@ +puts "TODO OCC22821 ALL: Error: Crash with BRepFilletAPI_MakeFillet" + +puts "============" +puts "OCC22821" +puts "============" +puts "" +######################################################################### +# Crash with BRepFilletAPI_MakeFillet +######################################################################### + +pload XDE + +stepread [locate_data_file bug22821_test.step] t * +renamevar t_1 t +checkshape t + +explode t E + +if {![catch {fillet result t 0.01 t_1}]} { + #puts "OK: The incorrect input data were processed correctly!" + checkshape result + checkprops result -s 1.5708 + checkview -display result -2d -path ${imagedir}/${test_image}.png +} else { + puts "Error: Crash with BRepFilletAPI_MakeFillet" +} diff --git a/tests/bugs/modalg_7/bug23163_1 b/tests/bugs/modalg_7/bug23163_1 new file mode 100644 index 0000000000..48405267bc --- /dev/null +++ b/tests/bugs/modalg_7/bug23163_1 @@ -0,0 +1,28 @@ +puts "TODO OCC23163 ALL: Error: No resulting circle of radius 5 at the intersection of tori, only b-splines" + +puts "================" +puts "OCC23163" +puts "================" +puts "" +####################################################################### +# Intersection of tori fails to produce results +####################################################################### + +torus t1 20 5 +torus t2 40 0 0 20 5 + +intersect result t1 t2 + +set NbCurv [llength [directory result*]] + +if { $NbCurv > 4 } { + puts "OK: Number of curves is good" +} else { + puts "Error: No resulting circle of radius 5 at the intersection of tori, only b-splines" +} + +smallview +donly result* +fit +display t1 t2 +checkview -screenshot -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug23163_2 b/tests/bugs/modalg_7/bug23163_2 new file mode 100644 index 0000000000..a487b7fcf2 --- /dev/null +++ b/tests/bugs/modalg_7/bug23163_2 @@ -0,0 +1,28 @@ +puts "TODO OCC23163 ALL: Error: No resulting circle at the intersection of tori, only b-splines" + +puts "================" +puts "OCC23163" +puts "================" +puts "" +####################################################################### +# Intersection of tori fails to produce results +####################################################################### + +restore [locate_data_file bug23163_surface1_draw_b.draw] s1 +restore [locate_data_file bug23163_surface2_draw_b.draw] s2 + +intersect result s1 s2 + +set NbCurv [llength [directory result*]] + +if { $NbCurv > 6 } { + puts "OK: Number of curves is good" +} else { + puts "Error: No resulting circle at the intersection of tori, only b-splines" +} + +smallview +donly result* +fit +display s1 s2 +checkview -screenshot -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug23163_3 b/tests/bugs/modalg_7/bug23163_3 new file mode 100644 index 0000000000..3b1a86af58 --- /dev/null +++ b/tests/bugs/modalg_7/bug23163_3 @@ -0,0 +1,28 @@ +puts "TODO OCC23163 ALL: Error: No resulting circle at the intersection of tori, only b-splines" + +puts "================" +puts "OCC23163" +puts "================" +puts "" +####################################################################### +# Intersection of tori fails to produce results +####################################################################### + +restore [locate_data_file bug23163_surface1_draw_b.draw] ss1 +restore [locate_data_file bug23163_surface2_draw_b.draw] ss2 + +intersect result ss1 ss2 + +set NbCurv [llength [directory result*]] + +if { $NbCurv > 6 } { + puts "OK: Number of curves is good" +} else { + puts "Error: No resulting circle at the intersection of tori, only b-splines" +} + +smallview +donly result* +fit +display ss1 ss2 +checkview -screenshot -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug23343 b/tests/bugs/modalg_7/bug23343 new file mode 100755 index 0000000000..8b3f4956b2 --- /dev/null +++ b/tests/bugs/modalg_7/bug23343 @@ -0,0 +1,27 @@ +puts "TODO OCC23343 ALL: \\*\\* Exception \\*\\*.*" +puts "TODO OCC23343 ALL: An exception was caught" +puts "TODO OCC23343 ALL: Faulty OCC23343" + +puts "============" +puts "OCC23343" +puts "============" +puts "" +####################################################################### +# Crash (ACCESS VIOLATION) in GeomPlate_BuildPlateSurface / MakeApprox if init Surface is set +####################################################################### + +restore [locate_data_file bug23343_initFace.brep] initFace +restore [locate_data_file bug23343_edge_constraint.brep] edge_constraint + +point p1 30 -33.4729635533385 49.7661550602442 +point p2 30 -49.6961550602442 33.3929635533386 +point p3 23.3333333333333 -50 30.07 +point p4 -30 -33.4729635533386 49.6161550602442 + +if [catch {gplate result 1 4 initFace edge_constraint 0 p1 p2 p3 p4} catch_result] { + puts "Faulty OCC23343: there is crash (ACCESS VIOLATION) in GeomPlate_BuildPlateSurface" +} else { + puts "OK OCC23343: there is not crash (ACCESS VIOLATION) in GeomPlate_BuildPlateSurface" +} + +checkview -display result -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug23386 b/tests/bugs/modalg_7/bug23386 new file mode 100644 index 0000000000..9a5d1ed559 --- /dev/null +++ b/tests/bugs/modalg_7/bug23386 @@ -0,0 +1,54 @@ +puts "========" +puts "OCC23386" +puts "========" +puts "" +################################################################################################ +## BRepAlgoAPI_Fuse on two disjoint shapes sometimes loses all geometry from one of the shapes +################################################################################################ + +restore [locate_data_file bug23386_a.brep] a +restore [locate_data_file bug23386_b.brep] b + +bfuse result a b + +set nbshapes_a " +Number of shapes in shape + VERTEX : 383 + EDGE : 686 + WIRE : 297 + FACE : 297 + SHELL : 2 + SOLID : 1 + COMPSOLID : 0 + COMPOUND : 0 + SHAPE : 1666 +" +checknbshapes a -ref ${nbshapes_a} -t -m "First initial shape" + +set nbshapes_b " +Number of shapes in shape + VERTEX : 6 + EDGE : 9 + WIRE : 5 + FACE : 5 + SHELL : 1 + SOLID : 1 + COMPSOLID : 0 + COMPOUND : 0 + SHAPE : 27 +" +checknbshapes b -ref ${nbshapes_b} -t -m "Second initial shape" + +set nbshapes_expected " +Number of shapes in shape + VERTEX : 388 + EDGE : 695 + WIRE : 302 + FACE : 302 + SHELL : 3 + SOLID : 2 + COMPSOLID : 0 + COMPOUND : 1 + SHAPE : 1693 +" +checknbshapes result -ref ${nbshapes_expected} -t -m "result of fuse operation" diff --git a/tests/bugs/modalg_7/bug23667 b/tests/bugs/modalg_7/bug23667 new file mode 100644 index 0000000000..e62c5b94a9 --- /dev/null +++ b/tests/bugs/modalg_7/bug23667 @@ -0,0 +1,15 @@ +puts "================" +puts "OCC23667" +puts "================" +puts "" +####################################################################### +# checkshape command does not detect problems in the attached shape +####################################################################### + +restore [locate_data_file bug23667_f_ref.brep] f + +checkshape f + +pcurve f + +checkview -display f -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug24185 b/tests/bugs/modalg_7/bug24185 new file mode 100644 index 0000000000..671537ef6d --- /dev/null +++ b/tests/bugs/modalg_7/bug24185 @@ -0,0 +1,23 @@ +puts "TODO OCC24185 ALL: Error : The length of result shape is" + +puts "========" +puts "OCC24185" +puts "========" +puts "" +######################################## +# Wrong projection of a wire to a face +######################################## + +restore [locate_data_file bug24185_face.brep] f +restore [locate_data_file bug24185_wire.brep] w + +nproject result w f + +checkshape result +checkprops result -l 11.06 + +vinit +vdisplay w +vdisplay result +vfit +checkview -screenshot -3d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug24215 b/tests/bugs/modalg_7/bug24215 new file mode 100644 index 0000000000..71319ffb5b --- /dev/null +++ b/tests/bugs/modalg_7/bug24215 @@ -0,0 +1,27 @@ +puts "TODO OCC24215 ALL: ERROR: OCC24215 is reproduced." + +puts "========" +puts "OCC24215" +puts "========" +puts "" +############################### +# Error in offset (bad curve) +############################### + +restore [locate_data_file bug24215_face-10-012.brep] f + +mkoffset o f 1 0.4 + +set bug_info [lprops o_1] + +# Length of o_1 SHOULD be less 58.8412 because offset is wrong and consists loop +# "if" statement SHOULD be corrected than issue will be fixed +if {[lindex $bug_info 2] == 58.8412} { + puts "ERROR: OCC24215 is reproduced." +} + +vinit +vdisplay f +vdisplay o_1 +vfit +checkview -screenshot -3d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug24251 b/tests/bugs/modalg_7/bug24251 new file mode 100644 index 0000000000..d679cdfb81 --- /dev/null +++ b/tests/bugs/modalg_7/bug24251 @@ -0,0 +1,38 @@ +puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_" + +puts "TODO OCC24251 ALL: ERROR: OCC24251 is reproduced." + +puts "========" +puts "OCC24251" +puts "========" +puts "" +############################################################################# +# Command checkshape does not report a problem on first call after fixshape +############################################################################# + +restore [locate_data_file bug24899_TheHull.brep] r0 + +# First usage of checkshape command for r0 +set bug_info_initial [checkshape r0] + +# Calculate number of problematic sub-shapes before using fixshape command +set bug_info_initial [lindex $bug_info_initial [expr {[llength $bug_info_initial] - 1}]] +set bug_info_initial [string trim [string range $bug_info_initial [expr {[string last "_" $bug_info_initial] + 1}] [expr {[string length $bug_info_initial] - 1}]]] + +fixshape r r0 + +# Second usage of checkshape command for r0 +set bug_info_final [checkshape r0] + +# ERROR if "This shape seems to be valid" after checkshape command +if {$bug_info_final == "This shape seems to be valid"} { + puts "ERROR: OCC24251 is reproduced. Second usage of checkshape command does not show problems" +} else { +# Calculate number of problematic sub-shapes on after using fixshape command + set bug_info_final [lindex $bug_info_final [expr {[llength $bug_info_final] - 1}]] + set bug_info_final [string trim [string range $bug_info_final [expr {[string last "_" $bug_info_final] + 1}] [expr {[string length $bug_info_final] - 1}]]] +# ERROR if result of first usage checkshape command is different from the second usage + if {$bug_info_final != $bug_info_initial} { + puts "ERROR: OCC24251 is reproduced. Second usage of checkshape command shows $bug_info_final problems, but first usage shows $bug_info_initial" + } +} diff --git a/tests/bugs/modalg_7/bug24365 b/tests/bugs/modalg_7/bug24365 new file mode 100644 index 0000000000..844a2af160 --- /dev/null +++ b/tests/bugs/modalg_7/bug24365 @@ -0,0 +1,24 @@ +puts "TODO OCC24365 ALL: ERROR: OCC24365 is reproduced." + +puts "========" +puts "OCC24365" +puts "========" +puts "" +################################################################## +# BRepAlgoAPI_Section wrong result, BRepAlgo_Section good result +################################################################## + +restore [locate_data_file bug24365_faceA.brep] a +restore [locate_data_file bug24365_faceB.brep] b + +bsection result a b + +set bug_info [lprops result] + +if {[lindex $bug_info 2] == 0} { + puts "ERROR: OCC24365 is reproduced. Section of two shapes is not built." +} + +smallview +fit +checkview -screenshot -2d -path ${imagedir}/${test_image}.png diff --git a/tests/bugs/modalg_7/bug24421 b/tests/bugs/modalg_7/bug24421 new file mode 100644 index 0000000000..48dbe8993f --- /dev/null +++ b/tests/bugs/modalg_7/bug24421 @@ -0,0 +1,20 @@ +puts "TODO OCC24421 ALL: Faulty shapes in variables faulty_1 to faulty_" + +puts "========" +puts "OCC24421" +puts "========" +puts "" +################################################# +# Sewing changes orientations of some subshapes +################################################# + +catch {pload XDE} + +igesread [locate_data_file bug24421_Rohteil_Pmod.igs] s * + +checkshape s +normals s 100 +sewing r s +checkshape r +mkvolume result r +checkshape result diff --git a/tests/bugs/modalg_7/bug24429 b/tests/bugs/modalg_7/bug24429 new file mode 100644 index 0000000000..24ba38f5eb --- /dev/null +++ b/tests/bugs/modalg_7/bug24429 @@ -0,0 +1,16 @@ +puts "TODO OCC24429 ALL: An exception was caught" +puts "TODO OCC24429 ALL: \\*\\* Exception \\*\\*.*" +puts "TODO OCC24429 ALL: TEST INCOMPLETE" + +puts "========" +puts "OCC24429" +puts "========" +puts "" +########################################################################## +# Cylinder-torus intersection throws an exception and produces no result +########################################################################## + +restore [locate_data_file bug24429_s1.draw] s1 +restore [locate_data_file bug24429_s2.draw] s2 + +intersect result s1 s2 diff --git a/tests/bugs/step/bug23090 b/tests/bugs/step/bug23090 new file mode 100644 index 0000000000..7bc5f58134 --- /dev/null +++ b/tests/bugs/step/bug23090 @@ -0,0 +1,16 @@ +puts "TODO OCC23090 ALL: Faulty shapes in variables faulty_1 to faulty_" + +puts "========" +puts "OCC23090" +puts "========" +puts "" +########################################################################## +# Reading a STEP file produces invalid shape +########################################################################## + +stepread [locate_data_file bug23090_2012_003_050_matrice.stp] a * +tpcompound result + +checkshape result + +checkview -display result -3d -path ${imagedir}/${test_image}.png