1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-13 14:27:08 +03:00

0024789: BOPAlgo_Builder produces invalid result on planar, conical and spherical surfaces

BOPAlgo_PaveFiller::MakeBlocks() - Improve Face/Face post treatment procedure by:
* Adding more existing edge for intersection with section edges to resolve all possible intersections.
* Using tree for edges selection.
* Avoiding intersection of the existing edges among themselves.

IntPatch_ImpImpIntersection::CyCyNoGeometric - add more points to wline to make it more smooth.
This commit is contained in:
emv
2020-09-03 14:37:29 +03:00
committed by bugmaster
parent 65da6e2e3e
commit cd0705f660
15 changed files with 427 additions and 198 deletions

View File

@@ -4,5 +4,6 @@ restore [locate_data_file b60] b
bop a b
bopfuse result
checkprops result -s 18750
checkprops result -s 18750 -v 156250
checknbshapes result -wire 36 -face 36 -shell 1 -solid 1
checkview -display result -2d -otherwise { a b } -s -path ${imagedir}/${test_image}.png

View File

@@ -4,5 +4,12 @@ restore [locate_data_file b60] b
bop a b
boptuc result
checkprops result -s 15000
checkprops result -s 15000 -v 31250
checknbshapes result -wire 24 -face 24 -shell 6 -solid 6
foreach sol [explode result so] {
if {![regexp "This shape seems to be OK" [bopcheck $sol]]} {
puts "Error: the result solid $sol shape is self-interfered"
}
}
checkview -display result -2d -otherwise { a b } -s -path ${imagedir}/${test_image}.png

View File

@@ -0,0 +1,32 @@
puts "============================================================================================="
puts "0024789: BOPAlgo_Builder produces invalid result on planar, conical and spherical surfaces"
puts "============================================================================================="
puts ""
restore [locate_data_file bug24789.brep] c1
tcopy c1 c2
bclearobjects
bcleartools
eval baddobjects [explode c1]
bfillds
bbuild result1
checkshape result1
checknbshapes result1 -shell 16 -solid 16
checkprops result1 -s 4.91964e+06 -v 6.9691e+08
if {![regexp "This shape seems to be OK" [bopcheck result1]]} {
puts "Error: GF result is self-interfered shape"
}
mkvolume result c2 -c
checkshape result
checknbshapes result -ref [nbshapes result1]
checkprops result -equal result1
if {![regexp "This shape seems to be OK" [bopcheck result]]} {
puts "Error: GF result is self-interfered shape"
}
checkview -display result -2d -path ${imagedir}/${test_image}.png

View File

@@ -21,12 +21,12 @@ checkprops r4 -l 70.3856
bbuild rgf
checkshape rgf
checknbshapes rgf -wire 363 -face 363 -shell 2 -solid 0
checknbshapes rgf -shell 2 -solid 0
mkvolume result rgf -ni
checkshape result
checknbshapes result -wire 254 -face 254 -shell 1 -solid 1
checknbshapes result -shell 1 -solid 1
checkprops result -s 668.352 -v 774.749
checkview -display result -2d -path ${imagedir}/${test_image}.png