mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-06 18:26:22 +03:00
0021507: Bug in BOP: bcut produces invalid result without notice
Added test case bugs/modalg_6/bug21507
This commit is contained in:
parent
867acdec68
commit
687574c09d
57
tests/bugs/modalg_6/bug21507
Normal file
57
tests/bugs/modalg_6/bug21507
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
puts "=========="
|
||||||
|
puts "OCC21507"
|
||||||
|
puts "=========="
|
||||||
|
puts ""
|
||||||
|
############################################################
|
||||||
|
# Bug in BOP: bcut produces invalid result without notice
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
# Demonstrates bug in bcut command
|
||||||
|
pload XDE
|
||||||
|
|
||||||
|
# Load face
|
||||||
|
puts "Loading face"
|
||||||
|
restore [locate_data_file bug21507_bcut_bug_face.brep] face
|
||||||
|
|
||||||
|
# Make tool - an elliptic cylinder
|
||||||
|
puts "Constructing tool"
|
||||||
|
ellipse c 10000 0 0 0 1 0 600 300
|
||||||
|
mkedge e c
|
||||||
|
wire w e
|
||||||
|
tcopy w w1
|
||||||
|
tcopy w w2
|
||||||
|
ttranslate w1 0 5000 0
|
||||||
|
ttranslate w2 0 -5000 0
|
||||||
|
thrusections tool 1 1 w1 w2
|
||||||
|
|
||||||
|
# Check validity of face and tool
|
||||||
|
puts "Checking face: [checkshape face]; [lrange [tolerance face] 0 1]"
|
||||||
|
puts "Checking tool: [checkshape tool]; [lrange [tolerance tool] 0 1]"
|
||||||
|
bopcheck face
|
||||||
|
bopcheck tool
|
||||||
|
|
||||||
|
# Do cut
|
||||||
|
puts "Running bcut"
|
||||||
|
bcut result face tool
|
||||||
|
|
||||||
|
# Evaluate result by number of faces (bcut)
|
||||||
|
set rfaces [explode result f]
|
||||||
|
if { [llength $rfaces] != 1 } {
|
||||||
|
puts "Error: [llength $rfaces] faces instead of 1"
|
||||||
|
} else {
|
||||||
|
puts "Result is as expected"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Do the same using cut
|
||||||
|
puts "Now running old cut"
|
||||||
|
cut rcut face tool
|
||||||
|
|
||||||
|
# Evaluate result by number of faces (cut)
|
||||||
|
set rcfaces [explode rcut f]
|
||||||
|
if { [llength $rcfaces] != 1 } {
|
||||||
|
puts "Error: [llength $rcfaces] faces instead of 1"
|
||||||
|
} else {
|
||||||
|
puts "Result is as expected"
|
||||||
|
}
|
||||||
|
|
||||||
|
set 2dviewer 1
|
Loading…
x
Reference in New Issue
Block a user