mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
136 lines
3.1 KiB
Plaintext
Executable File
136 lines
3.1 KiB
Plaintext
Executable File
# =================== 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
|
|
# ===============================================
|
|
|
|
erase
|
|
Close D
|
|
|
|
NewDocument D BinOcaf
|
|
|
|
#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 arguments 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; ## refers 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
|
|
|