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
137 lines
3.1 KiB
Plaintext
137 lines
3.1 KiB
Plaintext
# =================== OCAF ======================
|
|
# Naming
|
|
#
|
|
# Testing purpose: Naming selection mechanism
|
|
#
|
|
# Test case: E7 (ShapeOrientation is not used)
|
|
# 1. Create box B2
|
|
# 2. Create prism Pr ($Prism)
|
|
# 3. Create full revolution R1
|
|
# 4. Translate R1 along XYZ
|
|
# 5. FS = Fuse (Pr, R1)
|
|
# 6. Create sectioned revolution R2
|
|
# 7. FS2 = Fuse (B2, R2)
|
|
# 8. FS3 = Fuse (B2, Prism)
|
|
# 9. Make selections for all sub-shapes
|
|
# 10. Modify B2
|
|
# 11. Recompute modeling functions
|
|
# 12. Recompute selections
|
|
# ===============================================
|
|
|
|
#pload FULL
|
|
erase
|
|
Close D
|
|
|
|
NewDocument D MDTV-Standard
|
|
|
|
#Drivers' nick-names:
|
|
#Box|Sph|Cyl|Cut|Fuse|Prism|SecRevol|FulRevol|PTxyz|PTALine|PRLine|PMirr|Fillet|Attach|XAttach
|
|
# order of functions recomputation should be defined out of the tool (by end user)
|
|
## Test of transformation functions
|
|
AddDriver D Box Attach PTxyz PTALine PRLine PMirr Sph Prism FulRevol SecRevol
|
|
|
|
#1 - create box using more flexible set of commands
|
|
NewCommand D
|
|
isos 12
|
|
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
|
|
ComputeFun D $F2; ## compute the function
|
|
GetShape D $F2:2 Box2; ## check result
|
|
fit
|
|
whatis Box2
|
|
GetReference D $B2; ## referes to result NS
|
|
|
|
|
|
#2 Prism (after step #1)
|
|
explode Box2 F
|
|
set Sel1 [AttachShape D Box2_1 ${B2} ${B2} 0]
|
|
set Prism [AddPrism D $Sel1 300 0]
|
|
ComputeFun D $Prism:1
|
|
GetShape D $Prism:1:2 Pr
|
|
|
|
PrismHeight D $Prism 500
|
|
ComputeFun D $Prism:1
|
|
GetShape D $Prism:1:2 Pr
|
|
fit
|
|
|
|
|
|
#3 Revol Full
|
|
explode Box2 F
|
|
explode Box2_3 E
|
|
set SBas1 [AttachShape D Box2_3 ${B2} ${B2} 0]
|
|
set SAx1 [AttachShape D Box2_3_3 ${B2} ${B2} 0]
|
|
set FRev [AddRevol D $SBas1 $SAx1]
|
|
ComputeFun D $FRev:1
|
|
GetShape D $FRev:1:2 R1
|
|
|
|
#4
|
|
NewCommand D
|
|
set FTr1 [PTranslateDXYZ D $FRev -250 0 0]
|
|
ComputeFun D $FTr1; ## function recomputation
|
|
GetShape D $FTr1:2 R1; ## get modified result
|
|
|
|
#5 => fuse
|
|
AddDriver D Fuse
|
|
set FS1 [AddFuse D $Prism $FRev]
|
|
ComputeFun D $FS1
|
|
GetShape D $FS1:2 Pr
|
|
|
|
|
|
|
|
#6 Revol Sectioned
|
|
GetShape D $F2:2 Box2;
|
|
explode Box2 F
|
|
explode Box2_2 E
|
|
set SBas2 [AttachShape D Box2_2 ${B2} ${B2} 0]
|
|
set SAx2 [AttachShape D Box2_2_3 ${B2} ${B2} 0]
|
|
set SRev [AddRevol D $SBas2 $SAx2 120 0]
|
|
ComputeFun D $SRev:1
|
|
GetShape D $SRev:1:2 R2
|
|
|
|
#7
|
|
set FS2 [AddFuse D $B2 $SRev]
|
|
ComputeFun D $FS2
|
|
GetShape D $FS2:2 Box2
|
|
|
|
#8
|
|
set FS3 [AddFuse D $B2 $Prism]
|
|
ComputeFun D $FS3
|
|
GetShape D $FS3:2 Box2
|
|
|
|
#9
|
|
NewCommand D
|
|
set SL [TestSingleSelection D $B2 0]
|
|
set SL2 [TestMultipleSelection D $B2 0]
|
|
# both have failed units!!!
|
|
|
|
#10
|
|
NewCommand D
|
|
BoxDZ D $B2 420
|
|
|
|
#11 order of recomputation
|
|
NewCommand D
|
|
InitLogBook D; ## to be initialized before any recomputation of impacted functions set (if attachments are presented)
|
|
ComputeFun D $F2;
|
|
ComputeFun D $Sel1:1
|
|
ComputeFun D $Prism:1
|
|
ComputeFun D $SBas1:1
|
|
ComputeFun D $SAx1:1
|
|
ComputeFun D $FRev:1
|
|
ComputeFun D $FTr1
|
|
ComputeFun D $FS1
|
|
ComputeFun D $SBas2:1
|
|
ComputeFun D $SAx2:1
|
|
ComputeFun D $SRev:1
|
|
ComputeFun D $FS2
|
|
ComputeFun D $FS3
|
|
GetShape D $FS3:2 Box2
|
|
|
|
#12
|
|
SolveFlatFrom D $SL
|
|
NewCommand D
|
|
|