1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-21 10:13:43 +03:00
emv 5549deff05 0024025: The method Modified2() in BRepAlgoAPI_BooleanOperation should be removed.
Removed method BRepAlgoAPI_BooleanOperation::Modified2(const TopoDS_Shape& aS) as it is no longer relevant (in the previous version of BOP it had used History collector to find modified shapes, but there is no such collector in current version of BOP). The replacement for this method is BRepAlgoAPI_BooleanOperation::Modified(const TopoDS_Shape& aS).
Small correction of test case
2013-06-20 15:48:11 +04:00

207 lines
5.5 KiB
Plaintext
Executable File

puts "TODO OCC24025 ALL: Two opened shells intersection"
puts "TODO OCC24025 ALL: Two shells intersection \\(one opened\\)"
puts "TODO OCC24025 ALL: ERROR OCCURS DURING TEST - FAULTY"
set Test "Boolean operations naming test"
set IsDone 1
set TestError ""
if {[catch {set TestLab}] == 1} {
NewDocument D
set TestLab 0:1
}
set myLab [set TestLab]:1
set myNameLab [set TestLab]:105
#################### four boxes: fuse, cut, common, intersection ####################
NameBox D $myLab 20 30 25
GetShape D $myLab b1
set Box1Lab $myLab
NextLabel myLab
box b2 10 15 10 15 20 25
BuildNamedShape D $myLab PRIMITIVE b2
set Box2Lab $myLab
set bf [explode b2 F]
for {set i 0} {[lindex $bf $i]!=""} {incr i} {
BuildNamedShape D [set myLab]:[expr $i+1] PRIMITIVE [lindex $bf $i]
}
NextLabel myLab
box b3 20 25 30 20 20 20
BuildNamedShape D $myLab PRIMITIVE b3
set Box3Lab $myLab
set bf [explode b3 F]
for {set i 0} {[lindex $bf $i]!=""} {incr i} {
BuildNamedShape D [set myLab]:[expr $i+1] PRIMITIVE [lindex $bf $i]
}
NextLabel myLab
box b4 15 10 20 20 20 20
#box b4 5 5 5 20 20 20
BuildNamedShape D $myLab PRIMITIVE b4
set Box4Lab $myLab
set bf [explode b4 F]
for {set i 0} {[lindex $bf $i]!=""} {incr i} {
BuildNamedShape D [set myLab]:[expr $i+1] PRIMITIVE [lindex $bf $i]
}
NextLabel myLab
NameFuse D $myLab b1 b2
set FuseLab $myLab
Checking "Two boxes fuse"
GetShape D $FuseLab FuseShape
GetShape D $Box3Lab b3
NameCut D $myLab FuseShape b3
set CutLab $myLab
Checking "Fuse result and box cut"
GetShape D $CutLab CutShape
GetShape D $Box4Lab b4
NameCommon D $myLab b4 CutShape
set CommonLab $myLab
Checking "Fuse cut result and box common"
GetShape D $CommonLab CommonShape
GetShape D $Box2Lab b2
#NameIntersection D $myLab CommonShape b2
#Checking "Fuse cut common result and box intersection"
#################### limit operation ####################
NameBox D $myLab 20 10 30
GetShape D $myLab b1
NextLabel myLab
NextLabel myNameLab
vertex v1 -10 -10 15
vertex v2 -10 100 15
vertex v3 100 -10 15
line l1 -10 -10 15 0 1 0
line l2 -10 100 15 1 -1 0
line l3 100 -10 15 -1 0 0
mkedge e1 l1 v1 v2
mkedge e2 l2 v2 v3
mkedge e3 l3 v3 v1
wire w e1 e2 e3
plane pl 0 0 15 0 0 15
mkface f pl w
NameImportShape D $myLab f
NextLabel myLab
NextLabel myNameLab
NameLimit D $myLab b1 f
Checking "Limit naming (box and planar face)"
#################### Intersection operation ####################
restore [locate_data_file Int_Sh1_3.brep] Obj1
NameImportShape D $myLab Obj1
NextLabel myLab
NextLabel myNameLab
restore [locate_data_file Int_Sh2_3.brep] Tool1
NameImportShape D $myLab Tool1
NextLabel myLab
NextLabel myNameLab
NameIntersection D $myLab Obj1 Tool1
Checking "Two opened shells intersection"
restore [locate_data_file Int_shell1.brep] Obj2
NameImportShape D $myLab Obj2
NextLabel myLab
NextLabel myNameLab
restore [locate_data_file Int_Sh1_3.brep] Tool2
NameImportShape D $myLab Tool2
NextLabel myLab
NextLabel myNameLab
NameIntersection D $myLab Obj2 Tool2
Checking "Two shells intersection (one opened)"
restore [locate_data_file Int_shell.brep] Obj3
NameImportShape D $myLab Obj3
NextLabel myLab
NextLabel myNameLab
restore [locate_data_file Int_wire.brep] Tool3
NameImportShape D $myLab Tool3
NextLabel myLab
NextLabel myNameLab
NameIntersection D $myLab Obj3 Tool3
Checking "Shell and wire intersection"
#################### bug with premature "IDENTIFY" naming: one cylinder cut another in the middle ####################
NameCylinder D $myLab 20 100 0 1
GetShape D $myLab c1
NextLabel myLab
NextLabel myNameLab
pcylinder c2 20 30
ttranslate c2 0 0 30
BuildNamedShape D $myLab PRIMITIVE c2
set cf [explode c2 F]
for {set i 0} {[lindex $cf $i]!=""} {incr i} {
BuildNamedShape D [set myLab]:[expr $i+1] PRIMITIVE [lindex $cf $i]
}
NextLabel myLab
NextLabel myNameLab
NameCut D $myLab c1 c2
Checking "Cut of two cylinders ( = = )"
#################### bug with MODIFUNTIL conceit: three cutted cylinders ####################
NameCylinder D $myLab 20 100 0 1
GetShape D $myLab c1
NextLabel myLab
NextLabel myNameLab
NameCylinder D $myLab 10 100 0 1
GetShape D $myLab c2
NextLabel myLab
NextLabel myNameLab
pcylinder c3 20 30
ttranslate c3 0 0 30
BuildNamedShape D $myLab PRIMITIVE c3
set cf [explode c3 F]
for {set i 0} {[lindex $cf $i]!=""} {incr i} {
BuildNamedShape D [set myLab]:[expr $i+1] PRIMITIVE [lindex $cf $i]
}
NextLabel myLab
NextLabel myNameLab
NameCut D $myLab c1 c2
GetShape D $myLab CutShape
NextLabel myLab
NextLabel myNameLab
NameCut D $myLab CutShape c3
#Checking "Cut of three cylinders ( 0=) 0=) )"
# mpv: BRepNaming_Fillet is not ready now for this test
#################### bug with FILTERBYNEIGHBOURGS confusion: cylinder, cutted by shpere + fillet ####################
#NameCylinder D $myLab 20 100 0 1
#GetShape D $myLab c1
#NextLabel myLab
#NextLabel myNameLab
#psphere s 20
#ttranslate s 30 20 50
#BuildNamedShape D $myLab PRIMITIVE s
#explode s F
##name only face of sphere: it's enoth for this example
#BuildNamedShape D [set myLab]:1 PRIMITIVE s_1
#NextLabel myLab
#NextLabel myNameLab
#NameCut D $myLab c1 s
#set CutLab $myLab
#GetShape D $myLab CutShape
#NextLabel myLab
#NextLabel myNameLab
#set se [explode CutShape E]
#set CutEdge CutShape_1
#set minX [lindex [CenterOfShape CutShape_1] 0]
#for {set i 1} {[lindex $se $i]!=""} {incr i} {
# set minC [lindex [CenterOfShape [lindex $se $i]] 0]
# if {$minC < $minX} {
# set minX $minC
# set CutEdge [lindex $se $i]
# }
#}
#SelectShape D $myLab $CutEdge CutShape
#set EdgeLab $myLab
#NextLabel myLab
#NextLabel myNameLab
#NameFillet D $myLab $CutLab $EdgeLab 10
#Checking "Fillet at cut cylinder by sphere ( \[( )"