1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00

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
This commit is contained in:
mkv 2017-07-12 17:13:06 +03:00 committed by bugmaster
parent fbfdf61abb
commit 2508ca8e54
20 changed files with 609 additions and 0 deletions

40
tests/bugs/demo/bug23671 Executable file
View File

@ -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"
}

View File

@ -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"
}

26
tests/bugs/heal/bug22602 Normal file
View File

@ -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

17
tests/bugs/heal/bug23451 Executable file
View File

@ -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

13
tests/bugs/iges/bug23638 Executable file
View File

@ -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

View File

@ -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

View File

@ -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"
}

View File

@ -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

View File

@ -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

View File

@ -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

27
tests/bugs/modalg_7/bug23343 Executable file
View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"
}
}

View File

@ -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

View File

@ -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

View File

@ -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

16
tests/bugs/step/bug23090 Normal file
View File

@ -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