mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-26 10:19:45 +03:00
Added destructor for TDocStd_Document which performs destruction of document in logical order in order to avoid exception when Undo and Redo fields are destructed after THF_Data field. Added removing name of closed document from tcl variables in the DRAW in order to avoid exception during use the same name for new document. Modification to avoid compilation error class ViewerTest Minor correction in test caf basic G3
120 lines
2.7 KiB
Plaintext
120 lines
2.7 KiB
Plaintext
# =================== OCAF ======================
|
|
# Naming
|
|
#
|
|
# Testing purpose: Naming selection mechanism
|
|
#
|
|
# Test case: E6 (ShapeOrientation is not used)
|
|
# 1. Create box B1
|
|
# 2. Create box B2
|
|
# 3. Translate B1 along XYZ
|
|
# 4. FS = B2 (B2, B1)
|
|
# 5. Create cylinder Cyl
|
|
# 6. CS = Cut (B1, Cyl)
|
|
# 7. Make fillet
|
|
# 8. Make selections for all sub-shapes
|
|
# 9. Modify B2
|
|
# 10. Recompute modeling functions
|
|
# 11. Recompute selections
|
|
# ===============================================
|
|
|
|
#pload FULL
|
|
|
|
erase
|
|
Close D
|
|
|
|
NewDocument D MDTV-Standard
|
|
|
|
#1 - create Box using short-cut
|
|
NewCommand D
|
|
AddDriver D Box; ## add box driver to driver table
|
|
set B1 [AddBox D 130 140 150]; ## add box
|
|
ComputeFun D $B1:1; ## compute box1 function
|
|
GetShape D $B1:1:2 Box1; ## check result
|
|
whatis Box1
|
|
# referes to result NS
|
|
GetReference D $B1; ## check is reference set
|
|
|
|
#2 - create box using more flexible set of commands
|
|
NewCommand D
|
|
set B2 [AddObject D]; ## add object
|
|
set F2 [AddFunction D $B2 Box]; ## add function
|
|
BoxDX D $B2 190; ## set argumets of this function
|
|
BoxDY D $B2 290
|
|
BoxDZ D $B2 390
|
|
InitLogBook D; ## initialize (clean) internal maps of labels
|
|
AddDriver D Box Attach Cyl
|
|
ComputeFun D $F2; ## compute the function
|
|
GetShape D $F2:2 Box2; ## check result
|
|
whatis Box2
|
|
GetReference D $B2; ## referes to result NS
|
|
|
|
#3
|
|
NewCommand D
|
|
AddDriver D PTxyz PTALine PRLine
|
|
set FTr1 [PTranslateDXYZ D $B1 110 130 270]
|
|
ComputeFun D $FTr1; ## translation function recomputation
|
|
GetShape D $FTr1:2 Box1; ## get modified result
|
|
|
|
#4 => fuse
|
|
AddDriver D Fuse
|
|
set FS [AddFuse D $B2 $B1]
|
|
ComputeFun D $FS
|
|
GetShape D $FS:2 Box2
|
|
|
|
#5
|
|
NewCommand D
|
|
explode Box2 F
|
|
explode Box2_1 E
|
|
set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 0]; ## set attachment
|
|
AddDriver D Attach Cyl
|
|
set Cyl [AddCyl D 30 315 ${Sel1}]
|
|
ComputeFun D $Cyl:1
|
|
GetShape D $Cyl:1:2 S
|
|
|
|
#6 => cut
|
|
NewCommand D
|
|
AddDriver D Cut
|
|
set CS [AddCut D $B2 $Cyl]
|
|
ComputeFun D $CS
|
|
GetShape D $CS:2 S
|
|
|
|
#7 => Fillet
|
|
NewCommand D
|
|
explode S F
|
|
explode S_3 E
|
|
set Sel2 [AttachShape D S_3_6 ${B2} ${B2} 0]; ## set attachment for using in Fillet
|
|
AddDriver D Fillet
|
|
set Fill [AddFillet D $B2 25 $Sel2 0]
|
|
ComputeFun D $Fill
|
|
GetShape D $Fill:2 S
|
|
|
|
|
|
#8 test selection
|
|
NewCommand D
|
|
set SL [TestSingleSelection D $B2 0]
|
|
set SL2 [TestMultipleSelection D $B2 0]
|
|
|
|
#9 modification
|
|
NewCommand D
|
|
BoxDX D $B2 210
|
|
|
|
#10 recomputation
|
|
NewCommand D
|
|
InitLogBook D; ## to be initialized before any recomputation of impacted functions set (if attachments are presented)
|
|
ComputeFun D $F2;
|
|
ComputeFun D $B1:1
|
|
ComputeFun D $FTr1
|
|
ComputeFun D $FS
|
|
ComputeFun D $Sel1:1
|
|
ComputeFun D $Cyl:1
|
|
ComputeFun D $CS
|
|
ComputeFun D $Sel2:1
|
|
ComputeFun D $Fill
|
|
GetShape D $Fill:2 S
|
|
don S
|
|
|
|
#11 recomputation of entities of the TestSelection commands
|
|
SolveFlatFrom D $SL
|
|
NewCommand D
|
|
|