mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
Update of tests database
Test for 0023838: Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell) Test for 0023866: GccAna_Circ2d3Tan does not find a circle Test for 0023925: BRepFeat_SplitShape produces invalid shape Test for 0023942: Pipe algorithms unrobust to number rounding Test for 0025385: steep increase in tolerance by intersection Test for 0025395: SIGSEGV in BRepOffsetAPI_MakeThickSolid Test for 0025458: can a sweep be used to create 1-fold tori (using a closed wire as path) Test for 0025478: Fillets can not touch Test for 0025481: Edge must not contain obsolete curve representations Test for 0025515: Boolean operation become worse for unknown reason. Test for 0025521: Fillet creates shell with bad orientation of SubShape Test for 0025551: BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface Test for 0025586: Poor mesh quality, or failure of meshing for closed extruded surfaces with holes Test for 0025626: Loft of ellipses shows wrinkle near seam edge Test for 0025628: BRepMesh fails to mesh face with open wire, considered as correct by checkshape Test for 0025693: Wire of BSplines fails bopcheck Test for 0025730: result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0 Test for 0025738: BRepMesh fails to produce correct mesh for the face Test for 0025776: HLR returns intersecting edges in OutLineV of helical sweep Test for 0025798: BRepFeat_SplitShape returns invalid result Test for 0025817: crescent face is not meshed Test for 0025827: BRepMesh does not synchronize parameters of glued vertices on small edges Test for 0025837: Bad triangulation when IGES loaded in meters Test for 0025852: Text to BRep algorithm produces bad faces for circled symbols Test for 0025856: BRepOffsetAPI_ThruSections returns an invalid shape if one wire contains degenerated edges Test for 0025879: result of blend fails the bopcheck Test for 0025967: Shape Healing fails to correct a face with missing poles and pcurves Test for 0026052: Missing pcurves are computed incorrectly on two connected faces laying on the same surface Test for 0025061: BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway Test for 0024490: Computed surface properties differ substantially depending on NaturalRestriction flag Test for 0024568: Split shape produces an invalid result Test for 0024692: fuseedge corruption of spherical edge Test for 0024772: Intersection of cylinder and cone produces incorrect results Test for 0024954: BRepBuilderAPI_MakeFace adds wire with aribitary orientation Test for 0025104: Prism from BSpline curve can not be chamfered Test for 0025206: Fillet creates edge with C0 continuity Test for 0025979: fillet creates faces with non-closed wires Test for 0025983: Fusion of sweep and its mirror invalid Test for 0025994: Boolean fuse result in invalid result. Test for 0026034: Result of revolution aborts the bopcheck if translated Test for 0026077: nurbsconvert of psphere fails the bopargcheck Test for 0025989: toridial surface gets damaged in STEP export
This commit is contained in:
parent
d37ac0c26e
commit
dfdfa61fb5
@ -1,10 +1,10 @@
|
||||
# Original bug : pro10658
|
||||
# Date : 24mar98
|
||||
puts "TODO ALL: Error : The area of result shape is"
|
||||
|
||||
restore [locate_data_file CTO900_pro10658a.rle] a
|
||||
restore [locate_data_file pro10658b.rle] b
|
||||
|
||||
bfuse result a b
|
||||
|
||||
checkprops result -s 8231.06
|
||||
checkprops result -s 8636.79
|
||||
checkview -display result -2d -otherwise { a b } -s -path ${imagedir}/${test_image}.png
|
19
tests/bugs/heal/bug25967
Normal file
19
tests/bugs/heal/bug25967
Normal file
@ -0,0 +1,19 @@
|
||||
puts "TODO OCC25967 ALL: Error : is WRONG because number of EDGE entities in shape"
|
||||
|
||||
puts "========"
|
||||
puts "OCC25967"
|
||||
puts "========"
|
||||
puts ""
|
||||
########################################################################
|
||||
# Shape Healing fails to correct a face with missing poles and pcurves
|
||||
########################################################################
|
||||
|
||||
restore [locate_data_file bug25967_face-no-sh-fwd.brep] f
|
||||
|
||||
fixshape result f
|
||||
pcurve result
|
||||
checknbshapes result -edge 4
|
||||
|
||||
v2d
|
||||
2dfit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}.png
|
56
tests/bugs/heal/bug26052
Normal file
56
tests/bugs/heal/bug26052
Normal file
@ -0,0 +1,56 @@
|
||||
puts "TODO OCC26052 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "========"
|
||||
puts "OCC26052"
|
||||
puts "========"
|
||||
puts ""
|
||||
##############################################################################################
|
||||
# Missing pcurves are computed incorrectly on two connected faces laying on the same surface
|
||||
##############################################################################################
|
||||
|
||||
cylinder c 10
|
||||
circle c1 0 0 0 10
|
||||
circle c2 0 0 0 10
|
||||
circle c3 0 0 10 10
|
||||
circle c4 0 0 10 10
|
||||
line l1 10 0 0 0 0 1
|
||||
line l2 -10 0 0 0 0 1
|
||||
trim c1 c1 0 pi
|
||||
trim c2 c2 pi 2*pi
|
||||
trim c3 c3 0 pi
|
||||
trim c4 c4 pi 2*pi
|
||||
trim l1 l1 0 10
|
||||
trim l2 l2 0 10
|
||||
vertex v1 10 0 0
|
||||
vertex v2 -10 0 0
|
||||
vertex v3 10 0 10
|
||||
vertex v4 -10 0 10
|
||||
mkedge ec1 c1 v1 v2
|
||||
mkedge ec2 c2 v2 v1
|
||||
mkedge ec3 c3 v3 v4
|
||||
mkedge ec4 c4 v4 v3
|
||||
mkedge el1 l1 v1 v3
|
||||
mkedge el2 l2 v2 v4
|
||||
shape w1 W
|
||||
#orientation ec3 R
|
||||
#orientation el1 R
|
||||
add ec1 w1
|
||||
add el2 w1
|
||||
add ec3 w1
|
||||
add el1 w1
|
||||
shape w2 W
|
||||
#orientation el1 F
|
||||
#orientation el2 R
|
||||
#orientation ec4 R
|
||||
add ec2 w2
|
||||
add el1 w2
|
||||
add ec4 w2
|
||||
add el2 w2
|
||||
mkface f1 c w1
|
||||
mkface f2 c w2
|
||||
shape s Sh
|
||||
add f1 s
|
||||
add f2 s
|
||||
fixshape result s
|
||||
|
||||
checkshape result
|
19
tests/bugs/mesh/bug25061
Normal file
19
tests/bugs/mesh/bug25061
Normal file
@ -0,0 +1,19 @@
|
||||
puts "TODO OCC25061 ALL: ERROR: OCC25061 is reproduced."
|
||||
|
||||
puts "========"
|
||||
puts "OCC25061"
|
||||
puts "========"
|
||||
puts ""
|
||||
####################################################################################################
|
||||
# BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway
|
||||
####################################################################################################
|
||||
|
||||
restore [locate_data_file bug25061_a.brep] a
|
||||
|
||||
incmesh a 0.1
|
||||
set bug_info [tricheck a]
|
||||
|
||||
if {[string trim $bug_info] == "face 1 has no triangulation"} {
|
||||
puts "ERROR: OCC25061 is reproduced. Mesh is not created."
|
||||
}
|
||||
|
33
tests/bugs/mesh/bug25551
Normal file
33
tests/bugs/mesh/bug25551
Normal file
@ -0,0 +1,33 @@
|
||||
puts "TODO OCC25551 ALL: Error: BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface"
|
||||
|
||||
puts "================"
|
||||
puts "OCC25551"
|
||||
puts "================"
|
||||
puts ""
|
||||
#######################################################################################
|
||||
# BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface
|
||||
#######################################################################################
|
||||
|
||||
restore [locate_data_file bug25551_m-a-i-B6.brep] res
|
||||
|
||||
explode res f
|
||||
|
||||
triangles res_2
|
||||
|
||||
set ExpectedArea 0.208305
|
||||
set tol_abs 0.00001
|
||||
|
||||
set prop [ sprops res_2]
|
||||
regexp {Mass\s*:\s*([0-9.e+-]+)} $prop prop_s Area
|
||||
|
||||
if { [expr abs($Area - $ExpectedArea)] > $tol_abs } {
|
||||
puts "OK: BRepMesh not produce internal nodes outside the face interior based on distorted BSpline surface"
|
||||
} else {
|
||||
puts "Error: BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface"
|
||||
}
|
||||
|
||||
smallview
|
||||
donly res_2
|
||||
top
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}.png
|
45
tests/bugs/mesh/bug25586_1
Normal file
45
tests/bugs/mesh/bug25586_1
Normal file
@ -0,0 +1,45 @@
|
||||
puts "TODO OCC25586 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "========="
|
||||
puts "OCC25586"
|
||||
puts "========="
|
||||
puts ""
|
||||
#########################################################
|
||||
# Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
|
||||
#########################################################
|
||||
|
||||
restore [locate_data_file bug25586_circle_extrusion.brep] result
|
||||
|
||||
checkprops result -s 1.
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}-axo.png
|
||||
|
||||
vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-3d.png
|
||||
|
||||
vfront
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-front.png
|
||||
|
||||
vback
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-back.png
|
||||
|
||||
vleft
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-left.png
|
||||
|
||||
vright
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-right.png
|
||||
|
||||
vtop
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-top.png
|
||||
|
||||
vbottom
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-bottom.png
|
45
tests/bugs/mesh/bug25586_2
Normal file
45
tests/bugs/mesh/bug25586_2
Normal file
@ -0,0 +1,45 @@
|
||||
puts "TODO OCC25586 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "========="
|
||||
puts "OCC25586"
|
||||
puts "========="
|
||||
puts ""
|
||||
#########################################################
|
||||
# Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
|
||||
#########################################################
|
||||
|
||||
restore [locate_data_file bug25586_cylindrical_with_circle_hole.brep] result
|
||||
|
||||
checkprops result -s 1.
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}-axo.png
|
||||
|
||||
vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-3d.png
|
||||
|
||||
vfront
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-front.png
|
||||
|
||||
vback
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-back.png
|
||||
|
||||
vleft
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-left.png
|
||||
|
||||
vright
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-right.png
|
||||
|
||||
vtop
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-top.png
|
||||
|
||||
vbottom
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-bottom.png
|
45
tests/bugs/mesh/bug25586_3
Normal file
45
tests/bugs/mesh/bug25586_3
Normal file
@ -0,0 +1,45 @@
|
||||
puts "TODO OCC25586 ALL: Error : The area of result shape is"
|
||||
|
||||
puts "========="
|
||||
puts "OCC25586"
|
||||
puts "========="
|
||||
puts ""
|
||||
#########################################################
|
||||
# Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
|
||||
#########################################################
|
||||
|
||||
restore [locate_data_file bug25586_quasi_closed.brep] result
|
||||
|
||||
checkprops result -s 1.
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}-axo.png
|
||||
|
||||
vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-3d.png
|
||||
|
||||
vfront
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-front.png
|
||||
|
||||
vback
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-back.png
|
||||
|
||||
vleft
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-left.png
|
||||
|
||||
vright
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-right.png
|
||||
|
||||
vtop
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-top.png
|
||||
|
||||
vbottom
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-bottom.png
|
32
tests/bugs/mesh/bug25628
Normal file
32
tests/bugs/mesh/bug25628
Normal file
@ -0,0 +1,32 @@
|
||||
puts "TODO CR25628 ALL: Error: Number of triangles is equal to 0"
|
||||
puts "TODO CR25628 ALL: Error: Number of nodes is equal to 0"
|
||||
puts "TODO CR25628 ALL: Error: BRepMesh fails to mesh face with open wire, considered as correct by checkshape"
|
||||
|
||||
puts "========="
|
||||
puts "CR25628"
|
||||
puts "========="
|
||||
puts ""
|
||||
##############################################################################################
|
||||
# BRepMesh fails to mesh face with open wire, considered as correct by checkshape
|
||||
##############################################################################################
|
||||
|
||||
pload XDE
|
||||
|
||||
stepread [locate_data_file bug25628_twr_hull.stp] a *
|
||||
renamevar a_1 a
|
||||
explode a f
|
||||
|
||||
checkshape a_36
|
||||
|
||||
set Log [incmesh a_36 0.1]
|
||||
if {[regexp "OpenWire" ${Log}] == 1} {
|
||||
puts "Error: BRepMesh fails to mesh face with open wire, considered as correct by checkshape"
|
||||
}
|
||||
|
||||
checktrinfo a_1 -tri -nod
|
||||
|
||||
smallview
|
||||
donly a_36
|
||||
left
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}-2d.png
|
31
tests/bugs/mesh/bug25738
Normal file
31
tests/bugs/mesh/bug25738
Normal file
@ -0,0 +1,31 @@
|
||||
puts "TODO CR25738 ALL: Not connected mesh inside face"
|
||||
puts "TODO CR25738 ALL: Error: BRepMesh fails to produce correct mesh for the face"
|
||||
|
||||
puts "========="
|
||||
puts "CR25738"
|
||||
puts "========="
|
||||
puts ""
|
||||
######################################################
|
||||
# BRepMesh fails to produce correct mesh for the face
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug25738_face1736.brep] a
|
||||
|
||||
incmesh a 1 -a 20
|
||||
|
||||
front
|
||||
fit
|
||||
isos a 0
|
||||
triangles a
|
||||
|
||||
trinfo a
|
||||
|
||||
set info [tricheck a]
|
||||
set pattern "Free_links +(\[0-9\]+) +Cross_face_errors +(\[0-9\]+) +Async_edges +(\[0-9\]+) +Free_nodes +(\[0-9\]+)"
|
||||
regexp "${pattern}" $info full freelinks crossfaces asyncedges freenodes
|
||||
|
||||
if { $freenodes > 0 } {
|
||||
puts "Error: BRepMesh fails to produce correct mesh for the face"
|
||||
}
|
||||
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}-2d.png
|
34
tests/bugs/mesh/bug25817
Normal file
34
tests/bugs/mesh/bug25817
Normal file
@ -0,0 +1,34 @@
|
||||
puts "========="
|
||||
puts "CR25817"
|
||||
puts "========="
|
||||
puts ""
|
||||
#############################
|
||||
# crescent face is not meshed
|
||||
#############################
|
||||
|
||||
restore [locate_data_file bug25817_mesh-missing-cresent.brep] c
|
||||
|
||||
tclean c
|
||||
|
||||
set Log [incmesh c 0.1]
|
||||
if {[regexp "NoError" ${Log}] == 0} {
|
||||
puts "Error: face is not meshed"
|
||||
}
|
||||
|
||||
tricheck c
|
||||
|
||||
smallview
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}-1.png
|
||||
|
||||
explode c F
|
||||
|
||||
set Log [incmesh c_4 0.1]
|
||||
if {[regexp "NoError" ${Log}] == 0} {
|
||||
puts "Error: crescent face is not meshed"
|
||||
}
|
||||
|
||||
clear
|
||||
donly c_4
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}-2.png
|
20
tests/bugs/mesh/bug25827
Normal file
20
tests/bugs/mesh/bug25827
Normal file
@ -0,0 +1,20 @@
|
||||
puts "TODO CR25827 ALL: Faulty shapes in variables faulty_"
|
||||
|
||||
puts "========="
|
||||
puts "CR25827"
|
||||
puts "========="
|
||||
puts ""
|
||||
############################################################################
|
||||
# BRepMesh does not synchronize parameters of glued vertices on small edges
|
||||
############################################################################
|
||||
|
||||
restore [locate_data_file bug25827_result_valid.brep] r
|
||||
|
||||
checkshape r
|
||||
|
||||
incmesh r 0.01 -a 10 -relative -parallel
|
||||
|
||||
checkshape r
|
||||
|
||||
checkview -display r -2d -path ${imagedir}/${test_image}-2d.png
|
||||
checkview -display r -3d -path ${imagedir}/${test_image}-3d.png
|
25
tests/bugs/mesh/bug25837_1
Normal file
25
tests/bugs/mesh/bug25837_1
Normal file
@ -0,0 +1,25 @@
|
||||
puts "========="
|
||||
puts "CR25837"
|
||||
puts "========="
|
||||
puts ""
|
||||
######################################################
|
||||
# Bad triangulation when IGES loaded in meters
|
||||
######################################################
|
||||
|
||||
pload XDE
|
||||
|
||||
param xstep.cascade.unit MM
|
||||
newmodel
|
||||
|
||||
igesbrep [locate_data_file bug25837_S.igs] result *
|
||||
|
||||
vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
set x 200
|
||||
set y 200
|
||||
checkcolor $x $y 0 0 0
|
||||
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}.png
|
27
tests/bugs/mesh/bug25837_2
Normal file
27
tests/bugs/mesh/bug25837_2
Normal file
@ -0,0 +1,27 @@
|
||||
puts "TODO CR25837 ALL: Error : Colors are not equal in default coordinate and in the near coordinates too"
|
||||
|
||||
puts "========="
|
||||
puts "CR25837"
|
||||
puts "========="
|
||||
puts ""
|
||||
######################################################
|
||||
# Bad triangulation when IGES loaded in meters
|
||||
######################################################
|
||||
|
||||
pload XDE
|
||||
|
||||
param xstep.cascade.unit M
|
||||
newmodel
|
||||
|
||||
igesbrep [locate_data_file bug25837_S.igs] result *
|
||||
|
||||
vinit
|
||||
vdisplay result
|
||||
vfit
|
||||
vsetdispmode 1
|
||||
|
||||
set x 200
|
||||
set y 200
|
||||
checkcolor $x $y 0 0 0
|
||||
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}.png
|
28
tests/bugs/modalg_7/bug23838
Normal file
28
tests/bugs/modalg_7/bug23838
Normal file
@ -0,0 +1,28 @@
|
||||
puts "TODO OCC23838 Windows: OSD_Exception_ACCESS_VIOLATION"
|
||||
puts "TODO OCC23838 Linux: segmentation violation"
|
||||
puts "TODO OCC23838 ALL:TEST INCOMPLETE"
|
||||
|
||||
puts "============"
|
||||
puts "OCC23838"
|
||||
puts "============"
|
||||
puts ""
|
||||
#######################################################
|
||||
# Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell)
|
||||
#######################################################
|
||||
|
||||
restore [locate_data_file bug23838_profile.brep] prof
|
||||
restore [locate_data_file bug23838_SpineAndSupport.brep] comp
|
||||
|
||||
explode comp
|
||||
renamevar comp_1 supp
|
||||
renamevar comp_2 spine
|
||||
|
||||
mksweep spine
|
||||
setsweep -DX supp
|
||||
addsweep prof
|
||||
|
||||
buildsweep result -R
|
||||
|
||||
checkshape result
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
22
tests/bugs/modalg_7/bug23925
Executable file
22
tests/bugs/modalg_7/bug23925
Executable file
@ -0,0 +1,22 @@
|
||||
puts "============"
|
||||
puts "OCC23925"
|
||||
puts "============"
|
||||
puts ""
|
||||
#######################################################################
|
||||
# BRepFeat_SplitShape produces invalid shape
|
||||
#######################################################################
|
||||
|
||||
restore [locate_data_file bug23925_E.brep] e
|
||||
restore [locate_data_file bug23925_F.brep] f
|
||||
|
||||
splitshape result f f e
|
||||
|
||||
set nb_F [ llength [explode result F] ]
|
||||
|
||||
if { ${nb_F} == 2 } {
|
||||
puts "OK: BRepFeat_SplitShape produces good shape"
|
||||
} else {
|
||||
puts "Error: BRepFeat_SplitShape produces invalid shape"
|
||||
}
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
87
tests/bugs/modalg_7/bug23942
Normal file
87
tests/bugs/modalg_7/bug23942
Normal file
@ -0,0 +1,87 @@
|
||||
puts "TODO OCC23942 ALL: is not equal"
|
||||
|
||||
puts "========"
|
||||
puts "OCC23942"
|
||||
puts "========"
|
||||
puts ""
|
||||
#########################################################
|
||||
# Pipe algorithms unrobust to number rounding
|
||||
#########################################################
|
||||
|
||||
#
|
||||
### 1
|
||||
#
|
||||
interpol c [locate_data_file bug23942_points.txt]
|
||||
tuyau r_1 c 5
|
||||
|
||||
decho off
|
||||
dlog reset
|
||||
dlog on
|
||||
|
||||
dump r_1
|
||||
|
||||
set info_1 [dlog get]
|
||||
dlog reset
|
||||
dlog off
|
||||
decho on
|
||||
|
||||
regexp {Degrees :+([-0-9.+eE]+) +([-0-9.+eE]+)} ${info_1} full X Degrees_1
|
||||
regexp {NbPoles :+([-0-9.+eE]+) +([-0-9.+eE]+)} ${info_1} full X NbPoles_1
|
||||
regexp {NbKnots :+([-0-9.+eE]+) +([-0-9.+eE]+)} ${info_1} full UKnots_1 VKnots_1
|
||||
puts "Degrees_1 = ${Degrees_1}"
|
||||
puts "NbPoles_1 = ${NbPoles_1}"
|
||||
puts "UKnots_1 = ${UKnots_1}"
|
||||
puts "VKnots_1 = ${VKnots_1}"
|
||||
|
||||
#
|
||||
### 2
|
||||
#
|
||||
save c ${imagedir}/cc
|
||||
restore ${imagedir}/cc
|
||||
tuyau r_2 cc 5
|
||||
|
||||
decho off
|
||||
dlog reset
|
||||
dlog on
|
||||
|
||||
dump r_2
|
||||
|
||||
set info_2 [dlog get]
|
||||
dlog reset
|
||||
dlog off
|
||||
decho on
|
||||
|
||||
regexp {Degrees :+([-0-9.+eE]+) +([-0-9.+eE]+)} ${info_2} full X Degrees_2
|
||||
regexp {NbPoles :+([-0-9.+eE]+) +([-0-9.+eE]+)} ${info_2} full X NbPoles_2
|
||||
regexp {NbKnots :+([-0-9.+eE]+) +([-0-9.+eE]+)} ${info_2} full UKnots_2 VKnots_2
|
||||
puts "Degrees_2 = ${Degrees_2}"
|
||||
puts "NbPoles_2 = ${NbPoles_2}"
|
||||
puts "UKnots_2 = ${UKnots_2}"
|
||||
puts "VKnots_2 = ${VKnots_2}"
|
||||
|
||||
#
|
||||
### 3
|
||||
#
|
||||
if {${Degrees_1} != ${Degrees_2}} {
|
||||
puts "Error : Degrees_1 is not equal Degrees_2"
|
||||
} else {
|
||||
puts "OK : Degrees_1 is equal Degrees_2"
|
||||
}
|
||||
if {${NbPoles_1} != ${NbPoles_2}} {
|
||||
puts "Error : NbPoles_1 is not equal NbPoles_2"
|
||||
} else {
|
||||
puts "OK : NbPoles_1 is equal NbPoles_2"
|
||||
}
|
||||
if {${UKnots_1} != ${UKnots_2}} {
|
||||
puts "Error : UKnots_1 is not equal UKnots_2"
|
||||
} else {
|
||||
puts "OK : UKnots_1 is equal UKnots_2"
|
||||
}
|
||||
if {${VKnots_1} != ${VKnots_2}} {
|
||||
puts "Error : VKnots_1 is not equal VKnots_2"
|
||||
} else {
|
||||
puts "OK : VKnots_1 is equal VKnots_2"
|
||||
}
|
||||
|
||||
checkview -display r_1 -2d -path ${imagedir}/${test_image}_1.png
|
||||
checkview -display r_2 -2d -path ${imagedir}/${test_image}_2.png
|
40
tests/bugs/modalg_7/bug24490
Normal file
40
tests/bugs/modalg_7/bug24490
Normal file
@ -0,0 +1,40 @@
|
||||
puts "========"
|
||||
puts "OCC24490"
|
||||
puts "========"
|
||||
puts ""
|
||||
#########################################################################################
|
||||
# Computed surface properties differ substantially depending on NaturalRestriction flag
|
||||
#########################################################################################
|
||||
|
||||
restore [locate_data_file bug24490_face_naturalrestriction_flag.brep] ff
|
||||
restore [locate_data_file bug24490_face_naturalrestriction_noflag.brep] fn
|
||||
|
||||
# Get information from model ff
|
||||
set bug_info [sprops ff]
|
||||
set ff_area [lindex $bug_info 2]
|
||||
set ff_CG_X [lindex $bug_info 9]
|
||||
set ff_CG_Y [lindex $bug_info 12]
|
||||
set ff_CG_Z [lindex $bug_info 15]
|
||||
|
||||
# Get information from model ff
|
||||
set bug_info [sprops fn]
|
||||
set fn_area [lindex $bug_info 2]
|
||||
set fn_CG_X [lindex $bug_info 9]
|
||||
set fn_CG_Y [lindex $bug_info 12]
|
||||
set fn_CG_Z [lindex $bug_info 15]
|
||||
|
||||
# Verification
|
||||
if {$ff_area != $fn_area} {
|
||||
puts "ERROR: OCC24490 is reproduced. Areas of identical shapes are different."
|
||||
}
|
||||
|
||||
if {$ff_CG_X != $fn_CG_X} {
|
||||
puts "ERROR: OCC24490 is reproduced. Center of gravity (X) of identical shapes are different."
|
||||
}
|
||||
|
||||
if {$ff_CG_Y != $fn_CG_Y} {
|
||||
puts "ERROR: OCC24490 is reproduced. Center of gravity (Y) of identical shapes are different."
|
||||
}
|
||||
if {$ff_CG_Z != $fn_CG_Z} {
|
||||
puts "ERROR: OCC24490 is reproduced. Center of gravity (Z) of identical shapes are different."
|
||||
}
|
19
tests/bugs/modalg_7/bug24568
Normal file
19
tests/bugs/modalg_7/bug24568
Normal file
@ -0,0 +1,19 @@
|
||||
puts "========"
|
||||
puts "OCC24568"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################
|
||||
# Split shape produces an invalid result
|
||||
##########################################
|
||||
|
||||
restore [locate_data_file bug24568_face.brep] face
|
||||
restore [locate_data_file bug24568_wire.brep] wire
|
||||
|
||||
splitshape result face face wire
|
||||
|
||||
checkshape result
|
||||
|
||||
smallview
|
||||
donly result
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}.png
|
31
tests/bugs/modalg_7/bug24692
Normal file
31
tests/bugs/modalg_7/bug24692
Normal file
@ -0,0 +1,31 @@
|
||||
puts "TODO OCC24692 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "========"
|
||||
puts "OCC24692"
|
||||
puts "========"
|
||||
puts ""
|
||||
#########################################
|
||||
# fuseedge corruption of spherical edge
|
||||
#########################################
|
||||
|
||||
# Object_1
|
||||
pcylinder cyl 10 40
|
||||
box abox 10 40 25
|
||||
ttranslate abox 0 -20 5
|
||||
bop cyl abox
|
||||
bopfuse fuse1
|
||||
|
||||
# Object_2
|
||||
psphere asphere 7
|
||||
ttranslate asphere 0 0 3
|
||||
box abox2 5 30 25
|
||||
ttranslate abox2 -2 -15 -11
|
||||
bop abox2 asphere
|
||||
bopfuse fuse2
|
||||
|
||||
# Object_Result
|
||||
bop fuse1 fuse2
|
||||
bopcut result
|
||||
fuseedge result
|
||||
|
||||
checkshape result_1
|
45
tests/bugs/modalg_7/bug24772
Normal file
45
tests/bugs/modalg_7/bug24772
Normal file
@ -0,0 +1,45 @@
|
||||
puts "========"
|
||||
puts "OCC24772"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# Intersection of cylinder and cone produces incorrect results
|
||||
################################################################
|
||||
|
||||
restore [locate_data_file bug24772_s1.draw] s1
|
||||
restore [locate_data_file bug24772_s2.draw] s2
|
||||
|
||||
smallview +X+Y
|
||||
fit
|
||||
zoom 6
|
||||
|
||||
set bug_info [intersect r s1 s2]
|
||||
|
||||
if {[llength $bug_info] != 4} {
|
||||
# puts "ERROR: OCC24722 is reproduced."
|
||||
} else {
|
||||
# snapshot r_1
|
||||
clear
|
||||
display s1
|
||||
display s2
|
||||
display r_1
|
||||
xwd $imagedir/${casename}_r_1.png
|
||||
# snapshot r_2
|
||||
clear
|
||||
display s1
|
||||
display s2
|
||||
display r_2
|
||||
xwd $imagedir/${casename}_r_2.png
|
||||
# snapshot r_3
|
||||
clear
|
||||
display s1
|
||||
display s2
|
||||
display r_3
|
||||
xwd $imagedir/${casename}_r_3.png
|
||||
# snapshot r_4
|
||||
clear
|
||||
display s1
|
||||
display s2
|
||||
display r_4
|
||||
xwd $imagedir/${casename}_r_4.png
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_1
Normal file
53
tests/bugs/modalg_7/bug24954_1
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p 9.08 8.62 3.75 1.87 3.04 9. 4.26 1.37 -0.08 9.08 8.62 3.75
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_2
Normal file
53
tests/bugs/modalg_7/bug24954_2
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p -1.15 3.42 1.95 4.54 3.13 1.36 2.97 -3.14 2.08 -1.15 3.42 1.95
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_3
Normal file
53
tests/bugs/modalg_7/bug24954_3
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p -4.62 0.1 0.75 -4.12 4.64 -2.91 -1.55 -1.07 4.48 -4.62 0.1 0.75
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_4
Normal file
53
tests/bugs/modalg_7/bug24954_4
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p -2.92 -4.7 -2.87 4.73 1.75 1.76 3.14 -1.23 2.74 -2.92 -4.7 -2.87
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_5
Normal file
53
tests/bugs/modalg_7/bug24954_5
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p -4.05 3.84 0.17 4.22 3.55 3.19 -1.32 -1.44 -1.57 -4.05 3.84 0.17
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_6
Normal file
53
tests/bugs/modalg_7/bug24954_6
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p -2.36 -1.62 0.17 3.26 -1.05 -3.8 2.75 -4.01 4.95 -2.36 -1.62 0.17
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_7
Normal file
53
tests/bugs/modalg_7/bug24954_7
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p 4.72 2.03 -2.52 -4.78 1.89 -3.82 -1.42 4.56 1.55 4.72 2.03 -2.52
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_8
Normal file
53
tests/bugs/modalg_7/bug24954_8
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p 2.02 -1.4 -3.75 -2.93 -1.87 1.72 -5. -0.18 0.39 2.02 -1.4 -3.75
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
53
tests/bugs/modalg_7/bug24954_9
Normal file
53
tests/bugs/modalg_7/bug24954_9
Normal file
@ -0,0 +1,53 @@
|
||||
puts "========"
|
||||
puts "OCC24954"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################################
|
||||
# BRepBuilderAPI_MakeFace adds wire with aribitary orientation
|
||||
################################################################
|
||||
|
||||
polyline p 1.21 0.16 4.2 3.12 4.16 0.93 -2.33 -2.55 2.41 1.21 0.16 4.2
|
||||
wire w p
|
||||
mkplane f w
|
||||
|
||||
# Verify orientation of shapes
|
||||
set bug_info [whatis p]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis w]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
set bug_info [whatis f]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: Input data is incorrect."
|
||||
}
|
||||
|
||||
# Explode face (f) and verify wire orientation
|
||||
puts "Checks wires:"
|
||||
set wire_name_list [explode f w]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $wire_name_list]} {
|
||||
set bug_info [whatis [lindex $wire_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $wire_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
||||
|
||||
# Explode face (f) and verify edge orientation
|
||||
puts "Checks edges:"
|
||||
set edge_name_list [explode f e]
|
||||
set while_count 0
|
||||
while {$while_count < [llength $edge_name_list]} {
|
||||
set bug_info [whatis [lindex $edge_name_list $while_count]]
|
||||
if {[lindex $bug_info 5] != "FORWARD"} {
|
||||
puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
|
||||
} else {
|
||||
puts " [lindex $edge_name_list $while_count] has FORWARD orientation."
|
||||
}
|
||||
set while_count [expr {$while_count + 1}]
|
||||
}
|
18
tests/bugs/modalg_7/bug25104
Normal file
18
tests/bugs/modalg_7/bug25104
Normal file
@ -0,0 +1,18 @@
|
||||
puts "TODO OCC25104 ALL: ERROR: OCC25104 is reproduced."
|
||||
|
||||
puts "========"
|
||||
puts "OCC25104"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################################
|
||||
# 0025104: Prism from BSpline curve can not be chamfered
|
||||
##########################################################
|
||||
|
||||
restore [locate_data_file bug25104_whale2-draw-path.brep] path
|
||||
|
||||
prism Extrude001 path 0. 0. 5.
|
||||
|
||||
set bug_info [string trim [bopcheck Extrude001]]
|
||||
if {$bug_info != "This shape seems to be OK."} {
|
||||
puts "ERROR: OCC25104 is reproduced. Prism has been created with errors."
|
||||
}
|
31
tests/bugs/modalg_7/bug25206
Normal file
31
tests/bugs/modalg_7/bug25206
Normal file
@ -0,0 +1,31 @@
|
||||
puts "TODO OCC25206 ALL: ERROR: OCC25206 is reproduced."
|
||||
|
||||
puts "========"
|
||||
puts "OCC25206"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################
|
||||
# Fillet creates edge with C0 continuity
|
||||
##########################################
|
||||
|
||||
restore [locate_data_file bug25206_lampe-1-draw-Fusion.brep] Fusion
|
||||
|
||||
explode Fusion E
|
||||
set edges [explode Fusion E]
|
||||
blend Fillet Fusion 25 Fusion_4 25 Fusion_5 25 Fusion_6 25 Fusion_7 25 Fusion_8 25 Fusion_9 25 Fusion_10 25 Fusion_11 25 Fusion_12
|
||||
explode Fillet E
|
||||
renamevar Fillet_8 E8
|
||||
set bug_info [dump E8]
|
||||
|
||||
# Find section "VKnots" in dump and cut it
|
||||
set bug_info [string trim [string range $bug_info [string first "VKnots" $bug_info] [expr {[string length $bug_info] - 1}]]]
|
||||
|
||||
# Get value for VKnots #7
|
||||
set VKnots_7 [lindex $bug_info 29]
|
||||
# Get value for VKnots #8
|
||||
set VKnots_8 [lindex $bug_info 33]
|
||||
|
||||
# Check CO continuity
|
||||
if {$VKnots_7 == 8 && $VKnots_8 == 9} {
|
||||
puts "ERROR: OCC25206 is reproduced. CO continuity has been detected."
|
||||
}
|
24
tests/bugs/modalg_7/bug25385
Normal file
24
tests/bugs/modalg_7/bug25385
Normal file
@ -0,0 +1,24 @@
|
||||
puts "TODO OCC25385 ALL: is not equal to expected"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25385"
|
||||
puts "============"
|
||||
puts ""
|
||||
#######################################################################
|
||||
# steep increase in tolerance by intersection
|
||||
#######################################################################
|
||||
|
||||
restore [locate_data_file bug25385_shell2.brep] s
|
||||
|
||||
regexp {Tolerance +MAX=([-0-9.+eE]+)} [tolerance s] full MaxTol_s_1
|
||||
|
||||
plane p 28.5 0 0 1 0 0 0 1 0
|
||||
mkface f p
|
||||
bop s f
|
||||
bopsection r
|
||||
|
||||
regexp {Tolerance +MAX=([-0-9.+eE]+)} [tolerance s] full MaxTol_s_2
|
||||
|
||||
set tol_abs_MaxTol 0.0001
|
||||
set tol_rel_MaxTol 0.0001
|
||||
checkreal "MaxTolerance " ${MaxTol_s_2} ${MaxTol_s_1} ${tol_abs_MaxTol} ${tol_rel_MaxTol}
|
18
tests/bugs/modalg_7/bug25395_1
Normal file
18
tests/bugs/modalg_7/bug25395_1
Normal file
@ -0,0 +1,18 @@
|
||||
puts "TODO OCC25395 ALL: ERROR. offsetperform operation not done."
|
||||
|
||||
puts "========"
|
||||
puts "OCC25395"
|
||||
puts "========"
|
||||
puts ""
|
||||
#######################################################
|
||||
# SIGSEGV in BRepOffsetAPI_MakeThickSolid
|
||||
#######################################################
|
||||
|
||||
restore [locate_data_file bug25395_thickness2-s1.brep] s1
|
||||
|
||||
explode s1 F
|
||||
offsetparameter 1e-7 p a
|
||||
offsetload s1 1 s1_2 s1_3 s1_4
|
||||
offsetperform Thickness
|
||||
|
||||
checkview -display Thickness -2d -path ${imagedir}/${test_image}.png
|
49
tests/bugs/modalg_7/bug25395_2
Normal file
49
tests/bugs/modalg_7/bug25395_2
Normal file
@ -0,0 +1,49 @@
|
||||
puts "TODO OCC25395 ALL: Standard_ConstructionError"
|
||||
puts "TODO OCC25395 ALL:TEST INCOMPLETE"
|
||||
|
||||
puts "========"
|
||||
puts "OCC25395"
|
||||
puts "========"
|
||||
puts ""
|
||||
#######################################################
|
||||
# SIGSEGV in BRepOffsetAPI_MakeThickSolid
|
||||
#######################################################
|
||||
|
||||
ellipse Ellipse-curve 0 0 0 100.87 22
|
||||
mkedge Ellipse-edge Ellipse-curve 0 6.28318530718
|
||||
wire Ellipse-wire Ellipse-edge
|
||||
mkplane Ellipse Ellipse-wire
|
||||
ttranslate Ellipse 0 -27 184.5
|
||||
|
||||
explode Ellipse E
|
||||
wire Sweep-0-spine Ellipse_1
|
||||
mksweep Sweep-0-spine
|
||||
|
||||
setsweep -CF
|
||||
|
||||
circle Circle-curve 0 0 0 18
|
||||
mkedge Circle-edge Circle-curve 0 0
|
||||
wire Circle Circle-edge
|
||||
trotate Circle 0 0 0 0 -1 0 90
|
||||
ttranslate Circle 0 -70 202.5
|
||||
|
||||
addsweep Circle
|
||||
|
||||
buildsweep Sweep -C -S
|
||||
|
||||
box Box001 300 90 300
|
||||
ttranslate Box001 -150 -27 0
|
||||
|
||||
bcut Cut031 Sweep Box001
|
||||
|
||||
box Box002 300 100 30
|
||||
ttranslate Box002 -150 -100 202.5
|
||||
|
||||
bcut Cut032 Cut031 Box002
|
||||
explode Cut032 F
|
||||
|
||||
offsetparameter 1e-7 p a
|
||||
offsetload Cut032 1 Cut032_3 Cut032_2 Cut032_4
|
||||
offsetperform Thickness
|
||||
|
||||
checkview -display Thickness -2d -path ${imagedir}/${test_image}.png
|
34
tests/bugs/modalg_7/bug25458
Executable file
34
tests/bugs/modalg_7/bug25458
Executable file
@ -0,0 +1,34 @@
|
||||
puts "TODO OCC25458 ALL: Error : 1-fold tori is bad"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25458"
|
||||
puts "============"
|
||||
puts ""
|
||||
###########################################################################
|
||||
## can a sweep be used to create 1-fold tori (using a closed wire as path)
|
||||
###########################################################################
|
||||
|
||||
restore [locate_data_file bug25458_sweep-torus1-draw-Wire.brep] Wire
|
||||
|
||||
explode Wire E
|
||||
wire Sweep-0-spine Wire_1
|
||||
|
||||
mksweep Sweep-0-spine
|
||||
setsweep -FR
|
||||
|
||||
circle Circle-curve 0 0 0 10
|
||||
mkedge Circle-edge Circle-curve 0 0
|
||||
wire Circle Circle-edge
|
||||
trotate Circle 0 0 0 1 0 0 90
|
||||
ttranslate Circle 40.1121575545 0 36.5930306315
|
||||
|
||||
addsweep Circle
|
||||
buildsweep Sweep -C -S
|
||||
|
||||
set info [bopcheck Sweep]
|
||||
|
||||
if { [regexp "This shape seems to be OK" ${info}] != 1 } {
|
||||
puts "Error : 1-fold tori is bad"
|
||||
}
|
||||
|
||||
checkview -display Sweep -3d -path ${imagedir}/${test_image}.png
|
22
tests/bugs/modalg_7/bug25478_1
Executable file
22
tests/bugs/modalg_7/bug25478_1
Executable file
@ -0,0 +1,22 @@
|
||||
puts "TODO OCC25478 ALL: Error: Fillets can not touch"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25478"
|
||||
puts "============"
|
||||
puts ""
|
||||
########################
|
||||
# Fillets can not touch
|
||||
########################
|
||||
|
||||
box Box 10 10 10
|
||||
explode Box E
|
||||
|
||||
catch { blend Fillet Box 5 Box_1 5 Box_3 } msg
|
||||
|
||||
if { [info exist Fillet] == 0 } {
|
||||
puts "Error: Fillets can not touch"
|
||||
} else {
|
||||
puts "OK: Fillets can touch"
|
||||
}
|
||||
|
||||
checkview -display Fillet -2d -path ${imagedir}/${test_image}.png
|
25
tests/bugs/modalg_7/bug25478_2
Executable file
25
tests/bugs/modalg_7/bug25478_2
Executable file
@ -0,0 +1,25 @@
|
||||
puts "TODO OCC25478 ALL: Error: Fillets can not touch"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25478"
|
||||
puts "============"
|
||||
puts ""
|
||||
########################
|
||||
# Fillets can not touch
|
||||
########################
|
||||
|
||||
box Box001 10 10 10
|
||||
box Box002 10 10 12
|
||||
ttranslate Box002 5 5 -1
|
||||
bcut Cut Box001 Box002
|
||||
explode Cut E
|
||||
|
||||
catch { blend Fillet002 Cut 2.5 Cut_13 2.5 Cut_17 2.5 Cut_18 } msg
|
||||
|
||||
if { [info exist Fillet002] == 0 } {
|
||||
puts "Error: Fillets can not touch"
|
||||
} else {
|
||||
puts "OK: Fillets can touch"
|
||||
}
|
||||
|
||||
checkview -display Fillet002 -2d -path ${imagedir}/${test_image}.png
|
19
tests/bugs/modalg_7/bug25521
Executable file
19
tests/bugs/modalg_7/bug25521
Executable file
@ -0,0 +1,19 @@
|
||||
puts "TODO OCC25521 ALL: Faulty shapes in variables faulty_1 to"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25521"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# Fillet creates shell with bad orientation of SubShape
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug25521_fillet-suborient3-draw-s1.brep] s1
|
||||
|
||||
ttranslate s1 0 0 3
|
||||
explode s1 E
|
||||
blend Fillet s1 2 s1_4
|
||||
|
||||
checkshape Fillet
|
||||
|
||||
checkview -display Fillet -2d -path ${imagedir}/${test_image}.png
|
23
tests/bugs/modalg_7/bug25626
Normal file
23
tests/bugs/modalg_7/bug25626
Normal file
@ -0,0 +1,23 @@
|
||||
puts "TODO OCC25626 ALL: Error : is WRONG because number of EDGE entities"
|
||||
puts "TODO OCC25626 ALL: Error : is WRONG because number of WIRE entities"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25626"
|
||||
puts "============"
|
||||
puts ""
|
||||
############################################################################
|
||||
# Loft of ellipses shows wrinkle near seam edge
|
||||
############################################################################
|
||||
|
||||
restore [locate_data_file bug25626_loft-el1-draw-Loft-00-section.brep] Loft-00-section
|
||||
restore [locate_data_file bug25626_loft-el1-draw-Loft-01-section.brep] Loft-01-section
|
||||
restore [locate_data_file bug25626_loft-el1-draw-Loft-02-section.brep] Loft-02-section
|
||||
|
||||
thrusections Loft 0 0 Loft-00-section Loft-01-section Loft-02-section
|
||||
|
||||
checkshape Loft
|
||||
|
||||
checknbshapes Loft -wire 1 -edge 3
|
||||
|
||||
checkview -display Loft -2d -path ${imagedir}/${test_image}-2d.png
|
||||
checkview -display Loft -3d -path ${imagedir}/${test_image}-3d.png
|
28
tests/bugs/modalg_7/bug25730
Executable file
28
tests/bugs/modalg_7/bug25730
Executable file
@ -0,0 +1,28 @@
|
||||
puts "TODO OCC25730 ALL: result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25730"
|
||||
puts "============"
|
||||
puts ""
|
||||
#############################################################################################
|
||||
## result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0
|
||||
#############################################################################################
|
||||
|
||||
restore [locate_data_file bug25730_thickness8-draw-fillet001.brep] Fillet001
|
||||
|
||||
explode Fillet001 F
|
||||
|
||||
offsetparameter 1e-7 p a
|
||||
offsetload Fillet001 -1 Fillet001_4
|
||||
offsetperform Thickness
|
||||
|
||||
if { [regexp "There were errors during the operation, so the list may be incomplete" [bopcheck Fillet001]] == 1 } {
|
||||
puts "Error : result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0"
|
||||
}
|
||||
|
||||
if { [regexp "There were errors during the operation, so the list may be incomplete" [bopcheck Thickness]] == 1 } {
|
||||
puts "Error : result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0"
|
||||
}
|
||||
|
||||
checkview -display Fillet001 -2d -path ${imagedir}/${test_image}-Fillet001-2d.png
|
||||
checkview -display Thickness -2d -path ${imagedir}/${test_image}-Thickness-2d.png
|
36
tests/bugs/modalg_7/bug25776
Executable file
36
tests/bugs/modalg_7/bug25776
Executable file
@ -0,0 +1,36 @@
|
||||
puts "TODO OCC25776 ALL: Error : Number of edges is WRONG"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25776"
|
||||
puts "============"
|
||||
puts ""
|
||||
##############################################################
|
||||
## HLR returns intersecting edges in OutLineV of helical sweep
|
||||
##############################################################
|
||||
|
||||
restore [locate_data_file bug25776_shape2dhelix1-draw-Shape.brep] Shape
|
||||
|
||||
hprj Shape2DView_proj 0 0 0 1 0 0 0 1 0
|
||||
houtl Shape2DView_outl Shape
|
||||
hfill Shape2DView_outl Shape2DView_proj 0
|
||||
hload Shape2DView_outl
|
||||
hsetprj Shape2DView_proj
|
||||
hupdate
|
||||
hhide
|
||||
hres2d
|
||||
|
||||
# vol_2 and vol_3 - bad edges
|
||||
checknbshapes vol -edge 9 -m "Number of edges"
|
||||
|
||||
smallview
|
||||
top
|
||||
donly vol
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}-2d.png
|
||||
|
||||
vinit
|
||||
vsetdispmode 1
|
||||
vdisplay Shape
|
||||
vright
|
||||
vfit
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}-3d-right.png
|
27
tests/bugs/modalg_7/bug25798
Normal file
27
tests/bugs/modalg_7/bug25798
Normal file
@ -0,0 +1,27 @@
|
||||
puts "TODO OCC25798 ALL: Faulty shapes in variables faulty_1 to"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25798"
|
||||
puts "============"
|
||||
puts ""
|
||||
##############################################
|
||||
# BRepFeat_SplitShape returns invalid result
|
||||
##############################################
|
||||
|
||||
restore [locate_data_file bug25798_Pump2.brep] p
|
||||
|
||||
explode p
|
||||
checkshape p
|
||||
whatis p
|
||||
|
||||
renamevar p_1 f
|
||||
checkshape f
|
||||
explode f
|
||||
|
||||
splitshape result f_4 f_4 p_5
|
||||
|
||||
whatis result
|
||||
checkshape result
|
||||
tolerance result
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
22
tests/bugs/modalg_7/bug25856_1
Executable file
22
tests/bugs/modalg_7/bug25856_1
Executable file
@ -0,0 +1,22 @@
|
||||
puts "TODO OCC25856 ALL: Faulty shapes in variables faulty_1 to"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25856"
|
||||
puts "============"
|
||||
puts ""
|
||||
#############################################################################################
|
||||
# BRepOffsetAPI_ThruSections returns an invalid shape if one wire contains degenerated edges
|
||||
#############################################################################################
|
||||
|
||||
restore [locate_data_file bug25856_threeWires.brep] t
|
||||
|
||||
explode t
|
||||
|
||||
thrusections -N r 0 0 t_1 t_2
|
||||
checkshape r
|
||||
|
||||
fixshape rr r
|
||||
checkshape rr
|
||||
|
||||
checkview -display r -2d -path ${imagedir}/${test_image}_1.png
|
||||
checkview -display rr -2d -path ${imagedir}/${test_image}_2.png
|
20
tests/bugs/modalg_7/bug25856_2
Executable file
20
tests/bugs/modalg_7/bug25856_2
Executable file
@ -0,0 +1,20 @@
|
||||
puts "============"
|
||||
puts "OCC25856"
|
||||
puts "============"
|
||||
puts ""
|
||||
#############################################################################################
|
||||
# BRepOffsetAPI_ThruSections returns an invalid shape if one wire contains degenerated edges
|
||||
#############################################################################################
|
||||
|
||||
restore [locate_data_file bug25856_threeWires.brep] t
|
||||
|
||||
explode t
|
||||
|
||||
thrusections -N r 0 0 t_1 t_2 t_3
|
||||
checkshape r
|
||||
|
||||
fixshape rr r
|
||||
checkshape rr
|
||||
|
||||
checkview -display r -2d -path ${imagedir}/${test_image}_1.png
|
||||
checkview -display rr -2d -path ${imagedir}/${test_image}_2.png
|
20
tests/bugs/modalg_7/bug25879
Executable file
20
tests/bugs/modalg_7/bug25879
Executable file
@ -0,0 +1,20 @@
|
||||
puts "TODO OCC25879 ALL: Error : result of blend fails the bopcheck"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25879"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# result of blend fails the bopcheck
|
||||
######################################################
|
||||
|
||||
box Box 10 10 10
|
||||
explode Box E
|
||||
|
||||
blend Fillet Box 1 Box_1 1 Box_2 1 Box_3 1 Box_4 1 Box_5 1 Box_6 1 Box_7 1 Box_8 1 Box_9 1 Box_10 1 Box_11 1 Box_12
|
||||
|
||||
if { [regexp "There were errors during the operation, so the list may be incomplete" [bopcheck Fillet]] == 1 } {
|
||||
puts "Error : result of blend fails the bopcheck"
|
||||
}
|
||||
|
||||
checkview -display Fillet -2d -path ${imagedir}/${test_image}-2d.png
|
16
tests/bugs/modalg_7/bug25979
Normal file
16
tests/bugs/modalg_7/bug25979
Normal file
@ -0,0 +1,16 @@
|
||||
puts "TODO OCC25979 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "========"
|
||||
puts "OCC25979"
|
||||
puts "========"
|
||||
puts ""
|
||||
##############################################
|
||||
# fillet creates faces with non-closed wires
|
||||
##############################################
|
||||
|
||||
restore [locate_data_file bug25979_fillet-missingface1-tcl-Fillet005.brep] Fillet005
|
||||
|
||||
explode Fillet005 E
|
||||
blend Fillet003 Fillet005 1.27 Fillet005_1 1.27 Fillet005_2 1.27 Fillet005_3 1.27 Fillet005_4 1.27 Fillet005_5 1.27 Fillet005_7 1.27 Fillet005_8 1.27 Fillet005_10 1.27 Fillet005_11 1.27 Fillet005_12 1.27 Fillet005_13 1.27 Fillet005_14 1.27 Fillet005_15 1.27 Fillet005_16 1.27 Fillet005_17 1.27 Fillet005_18 1.27 Fillet005_19 1.27 Fillet005_20 1.27 Fillet005_21 1.27 Fillet005_22 1.27 Fillet005_23 1.27 Fillet005_24 1.27 Fillet005_25 1.27 Fillet005_26 1.27 Fillet005_27 1.27 Fillet005_28 1.27 Fillet005_29 1.27 Fillet005_30 1.27 Fillet005_31 1.27 Fillet005_33 1.27 Fillet005_34 1.27 Fillet005_35 1.27 Fillet005_36 1.27 Fillet005_37 1.27 Fillet005_38 1.27 Fillet005_39 1.27 Fillet005_40 1.27 Fillet005_41 1.27 Fillet005_42 1.27 Fillet005_43 1.27 Fillet005_44 1.27 Fillet005_46 1.27 Fillet005_47 1.27 Fillet005_48 1.27 Fillet005_49 1.27 Fillet005_50
|
||||
|
||||
checkshape Fillet003
|
24
tests/bugs/modalg_7/bug25983
Normal file
24
tests/bugs/modalg_7/bug25983
Normal file
@ -0,0 +1,24 @@
|
||||
puts "TODO OCC25983 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "========"
|
||||
puts "OCC25983"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################
|
||||
# Fusion of sweep and its mirror invalid
|
||||
##########################################
|
||||
|
||||
restore [locate_data_file bug25983_deform-fusion1-tcl-BSpline.brep] BSpline
|
||||
wire Knurling-0-spine BSpline
|
||||
mksweep Knurling-0-spine
|
||||
setsweep -FR
|
||||
polyline DWire 0 0 0 1 -0.9999999999999998 0 1.0000000000000002 0.9999999999999998 0 0 0 0
|
||||
trotate DWire 0 0 0 1 0 0 134.99999999999693
|
||||
ttranslate DWire 9 0 0
|
||||
addsweep DWire
|
||||
buildsweep Knurling -C -S
|
||||
copy Knurling Clone
|
||||
tmirror Clone 0 0 0 1 0 0
|
||||
bfuse result Knurling Clone
|
||||
|
||||
checkshape result
|
18
tests/bugs/modalg_7/bug25994
Normal file
18
tests/bugs/modalg_7/bug25994
Normal file
@ -0,0 +1,18 @@
|
||||
puts "========"
|
||||
puts "OCC25994"
|
||||
puts "========"
|
||||
puts ""
|
||||
#########################################
|
||||
# Boolean fuse result in invalid result
|
||||
#########################################
|
||||
|
||||
restore [locate_data_file bug25994_body.brep] body
|
||||
restore [locate_data_file bug25994_wing.brep] wing
|
||||
|
||||
bfuse result body wing
|
||||
|
||||
checkshape result
|
||||
|
||||
smallview
|
||||
fit
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}.png
|
21
tests/bugs/modalg_7/bug26034
Normal file
21
tests/bugs/modalg_7/bug26034
Normal file
@ -0,0 +1,21 @@
|
||||
puts "========"
|
||||
puts "OCC26034"
|
||||
puts "========"
|
||||
puts ""
|
||||
##########################################################
|
||||
# Result of revolution aborts the bopcheck if translated
|
||||
##########################################################
|
||||
|
||||
restore [locate_data_file bug26034_revolve-seg1-tcl-Revolve002.brep] Revolve002
|
||||
|
||||
set bug_info [ string trim [bopcheck Revolve002]]
|
||||
if {$bug_info != "This shape seems to be OK."} {
|
||||
puts "ERROR: Initial shape is invalid."
|
||||
}
|
||||
|
||||
ttranslate Revolve002 0 0 -0.5
|
||||
|
||||
set bug_info [ string trim [bopcheck Revolve002]]
|
||||
if {$bug_info != "This shape seems to be OK."} {
|
||||
puts "ERROR: OCC26034 is reproduced. bopcheck gives incorrect result after ttranslate operation."
|
||||
}
|
18
tests/bugs/modalg_7/bug26077_1
Normal file
18
tests/bugs/modalg_7/bug26077_1
Normal file
@ -0,0 +1,18 @@
|
||||
puts "TODO OCC26077 ALL: ERROR: OCC26077 is reproduced."
|
||||
|
||||
puts "========"
|
||||
puts "OCC26077"
|
||||
puts "========"
|
||||
puts ""
|
||||
#################################################
|
||||
# nurbsconvert of psphere fails the bopargcheck
|
||||
#################################################
|
||||
|
||||
psphere s 10
|
||||
nurbsconvert result s
|
||||
|
||||
set bug_info [string trim [bopargcheck result]]
|
||||
|
||||
if {$bug_info != "Shape(s) seem(s) to be valid for BOP."} {
|
||||
puts "ERROR: OCC26077 is reproduced. Command bopargcheck returns FAIL status for nurbsconvert of sphere."
|
||||
}
|
57
tests/bugs/modalg_7/bug26077_2
Normal file
57
tests/bugs/modalg_7/bug26077_2
Normal file
@ -0,0 +1,57 @@
|
||||
puts "TODO OCC26077 ALL: Error: Boolean operation of the given type is not allowed on the given inputs"
|
||||
puts "TODO OCC26077 ALL: ERROR: OCC26077 is reproduced."
|
||||
puts "TODO OCC26077 ALL: ERROR: Problematic shape in OCC26077:"
|
||||
|
||||
puts "========"
|
||||
puts "OCC26077"
|
||||
puts "========"
|
||||
puts ""
|
||||
#################################################
|
||||
# nurbsconvert of psphere fails the bopargcheck
|
||||
#################################################
|
||||
|
||||
ellipse Ellipse002-untrimmed 0 0 0 8.2 6.2
|
||||
mkedge Ellipse002 Ellipse002-untrimmed 0 6.283185307179586
|
||||
trotate Ellipse002 0 0 0 0 0 1 90
|
||||
ttranslate Ellipse002 0 0 15
|
||||
prism Extrude_Ellipse Ellipse002 0 0 6
|
||||
ttranslate Extrude_Ellipse 0 0 -4
|
||||
restore [locate_data_file bug26077_ellipsoid1-tcl-Loft-00-section.brep] Loft-00-section
|
||||
restore [locate_data_file bug26077_ellipsoid1-tcl-Loft-01-section.brep] Loft-01-section
|
||||
thrusections Loft 1 0 Loft-00-section Loft-01-section
|
||||
psphere Ellipsoid-sphere 12.5
|
||||
deform Ellipsoid Ellipsoid-sphere 1 1.04 1.2
|
||||
|
||||
set bug_info [string trim [bopargcheck Loft]]
|
||||
if {$bug_info != "Shape(s) seem(s) to be valid for BOP."} {
|
||||
puts "ERROR: Problematic shape in OCC26077: Shape Loft is not valid for BOP."
|
||||
}
|
||||
|
||||
set bug_info [string trim [bopargcheck Ellipsoid]]
|
||||
if {$bug_info != "Shape(s) seem(s) to be valid for BOP."} {
|
||||
puts "ERROR: Problematic shape in OCC26077: Shape Ellipsoid is not valid for BOP."
|
||||
}
|
||||
|
||||
set bug_info [string trim [bfuse Fusion Loft Ellipsoid]]
|
||||
if {[string length $bug_info] == 0} {
|
||||
puts "OCC26077: Operation bfuse (bfuse Fusion Loft Ellipsoid) has been finished with OK status."
|
||||
} else {
|
||||
puts "ERROR: OCC26077 is reproduced. Operation bfuse (bfuse Fusion Loft Ellipsoid) has been finished with KO status."
|
||||
}
|
||||
|
||||
set bug_info [string trim [bopargcheck Extrude_Ellipse]]
|
||||
if {$bug_info != "Shape(s) seem(s) to be valid for BOP."} {
|
||||
puts "ERROR: Problematic shape in OCC26077: Shape Extrude_Ellipse is not valid for BOP."
|
||||
}
|
||||
|
||||
set bug_info [string trim [bopargcheck Fusion]]
|
||||
if {$bug_info != "Shape(s) seem(s) to be valid for BOP."} {
|
||||
puts "ERROR: Problematic shape in OCC26077: Shape Fusion is not valid for BOP."
|
||||
}
|
||||
|
||||
set bug_info [string trim [bfuse Fusion002 Extrude_Ellipse Fusion]]
|
||||
if {[string length $bug_info] == 0} {
|
||||
puts "OCC26077: Operation bfuse (bfuse Fusion002 Extrude_Ellipse Fusion) has been finished with OK status."
|
||||
} else {
|
||||
puts "ERROR: OCC26077 is reproduced. Operation bfuse (bfuse Fusion002 Extrude_Ellipse Fusion) has been finished with KO status."
|
||||
}
|
35
tests/bugs/moddata_3/bug23866
Normal file
35
tests/bugs/moddata_3/bug23866
Normal file
@ -0,0 +1,35 @@
|
||||
puts "========"
|
||||
puts "OCC23866"
|
||||
puts "========"
|
||||
puts ""
|
||||
########################################
|
||||
# GccAna_Circ2d3Tan does not find a circle
|
||||
########################################
|
||||
|
||||
restore [locate_data_file bug23866_3curves.brep] 3curves
|
||||
|
||||
explode 3curves
|
||||
|
||||
mkcurve 3d_curve_1 3curves_1
|
||||
mkcurve 3d_curve_2 3curves_2
|
||||
mkcurve 3d_curve_3 3curves_3
|
||||
|
||||
to2d 2d_curve_1 3d_curve_1
|
||||
to2d 2d_curve_2 3d_curve_2
|
||||
to2d 2d_curve_3 3d_curve_3
|
||||
|
||||
set circles_Nb [llength [cirtang cir 2d_curve_1 2d_curve_2 2d_curve_3] ]
|
||||
|
||||
if { ${circles_Nb} != 8 } {
|
||||
puts "Error: GccAna_Circ2d3Tan does not find a circle"
|
||||
} else {
|
||||
puts "OK: GccAna_Circ2d3Tan find a circle"
|
||||
checklength cir_1 -l 9429.8727947293246
|
||||
checklength cir_2 -l 888.65915068757909
|
||||
checklength cir_3 -l 8.5227983514817236
|
||||
checklength cir_4 -l 6.2260879234386
|
||||
checklength cir_5 -l 14054.240322333564
|
||||
checklength cir_6 -l 596.25725451268329
|
||||
checklength cir_7 -l 7.6941358383928531
|
||||
checklength cir_8 -l 6.8966408969867814
|
||||
}
|
45
tests/bugs/moddata_3/bug25481
Normal file
45
tests/bugs/moddata_3/bug25481
Normal file
@ -0,0 +1,45 @@
|
||||
puts "TODO OCC25481 ALL: unexpected polygons are found"
|
||||
puts "TODO OCC25481 ALL: unexpected pcurves are found"
|
||||
|
||||
puts "================"
|
||||
puts "OCC25481"
|
||||
puts "================"
|
||||
puts ""
|
||||
#######################################################################
|
||||
# Edge must not contain obsolete curve representations
|
||||
#######################################################################
|
||||
|
||||
pcylinder c 1 1
|
||||
incmesh c 0.1 -a 60
|
||||
subshape c e 1
|
||||
unset c
|
||||
renamevar c_1 e
|
||||
|
||||
polygons e
|
||||
|
||||
set dmp [dump e]
|
||||
set npol 0
|
||||
set npc 0
|
||||
foreach l [split $dmp \n] {
|
||||
if [regexp -- {- PCurve} $l dummy dummy] {
|
||||
puts $l
|
||||
incr npc
|
||||
}
|
||||
if [regexp -- {- PolygonOnTriangulation} $l dummy dummy] {
|
||||
puts $l
|
||||
incr npol
|
||||
}
|
||||
}
|
||||
|
||||
if $npol {
|
||||
puts "Error : $npol unexpected polygons are found"
|
||||
} else {
|
||||
puts "OK : unexpected polygons are not found"
|
||||
}
|
||||
if $npc {
|
||||
puts "Error : $npc unexpected pcurves are found"
|
||||
} else {
|
||||
puts "OK : unexpected pcurves are not found"
|
||||
}
|
||||
|
||||
checkview -display e -2d -path ${imagedir}/${test_image}.png
|
17
tests/bugs/moddata_3/bug25693_1
Executable file
17
tests/bugs/moddata_3/bug25693_1
Executable file
@ -0,0 +1,17 @@
|
||||
puts "TODO OCC25693 ALL: Wire of BSplines fails bopcheck"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25693"
|
||||
puts "============"
|
||||
puts ""
|
||||
###############################
|
||||
## Wire of BSplines fails bopcheck
|
||||
###############################
|
||||
|
||||
restore [locate_data_file bug25693_path3035.brep] result
|
||||
|
||||
if { [regexp "There were errors during the operation, so the list may be incomplete" [bopcheck result]] == 1 } {
|
||||
puts "Error : Wire of BSplines fails bopcheck"
|
||||
}
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}-2d.png
|
24
tests/bugs/moddata_3/bug25693_2
Executable file
24
tests/bugs/moddata_3/bug25693_2
Executable file
@ -0,0 +1,24 @@
|
||||
puts "TODO OCC25693 ALL: Wire of BSplines fails bopcheck"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25693"
|
||||
puts "============"
|
||||
puts ""
|
||||
###############################
|
||||
## Wire of BSplines fails bopcheck
|
||||
###############################
|
||||
|
||||
restore [locate_data_file bug25693_path3039.brep] path3039
|
||||
|
||||
prism Extrude_path3039 path3039 0 0 50
|
||||
|
||||
if { [regexp "There were errors during the operation, so the list may be incomplete" [bopcheck path3039]] == 1 } {
|
||||
puts "Error : bad shape"
|
||||
}
|
||||
|
||||
if { [regexp "There were errors during the operation, so the list may be incomplete" [bopcheck Extrude_path3039]] == 1 } {
|
||||
puts "Error : Wire of BSplines fails bopcheck"
|
||||
}
|
||||
|
||||
checkview -display path3039 -2d -path ${imagedir}/${test_image}-path3039-2d.png
|
||||
checkview -display Extrude_path3039 -2d -path ${imagedir}/${test_image}-Extrude_path3039-2d.png
|
41
tests/bugs/step/bug25989
Normal file
41
tests/bugs/step/bug25989
Normal file
@ -0,0 +1,41 @@
|
||||
puts "TODO OCC25989 ALL: Error : The volume of result shape is"
|
||||
|
||||
puts "========"
|
||||
puts "OCC25989"
|
||||
puts "========"
|
||||
puts ""
|
||||
################################################
|
||||
# toridial surface gets damaged in STEP export
|
||||
################################################
|
||||
|
||||
set StepFileName ${imagedir}/${casename}_fusion-step1-out.step
|
||||
|
||||
catch {exec rm ${StepFileName}}
|
||||
|
||||
box Box 10 10 10
|
||||
pcylinder Cylinder 2 10
|
||||
psphere Sphere 5
|
||||
ptorus Torus 10 2
|
||||
|
||||
bclearobjects
|
||||
bcleartools
|
||||
baddobjects Box
|
||||
baddtools Cylinder Sphere Torus
|
||||
bfillds
|
||||
bbop Fusion 1
|
||||
|
||||
checkshape Fusion
|
||||
bopcheck Fusion
|
||||
|
||||
set FusionVolume [lindex [string trim [vprops Fusion]] 2]
|
||||
|
||||
stepwrite m Fusion
|
||||
writeall $StepFileName
|
||||
|
||||
stepread $StepFileName a *
|
||||
renamevar a_1 result
|
||||
|
||||
checkshape result
|
||||
bopcheck result
|
||||
|
||||
checkprops result -v $FusionVolume
|
25
tests/bugs/vis/bug25852
Normal file
25
tests/bugs/vis/bug25852
Normal file
@ -0,0 +1,25 @@
|
||||
puts "TODO CR25852 ALL: Faulty shapes in variables faulty_1 to"
|
||||
|
||||
puts "============"
|
||||
puts "CR25852"
|
||||
puts "============"
|
||||
puts ""
|
||||
|
||||
################################################################
|
||||
# Text to BRep algorithm produces bad faces for circled symbols
|
||||
################################################################
|
||||
|
||||
text2brep t "\u00ae" Courier 10
|
||||
whatis t
|
||||
|
||||
vinit View1
|
||||
vclear
|
||||
vtop
|
||||
vsetdispmode 1
|
||||
vdisplay t
|
||||
vfit
|
||||
|
||||
vmoveto 250 250
|
||||
checkshape t
|
||||
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}.png
|
Loading…
x
Reference in New Issue
Block a user