1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
AddDriver D Box Cyl Sph Attach XAttach PTxyz PTALine PRLine PMirr Cut Fuse Prism FulRevol SecRevol Fillet
#1 Create Box
NewCommand D
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
whatis Box2
GetReference D $B2
#2 Create Cylinder
NewCommand D
explode Box2 F
explode Box2_1 E
set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 1]; ## set attachment
## AddDriver D Attach Cyl
set Cyl [AddCyl D 70 515 ${Sel1}]
ComputeFun D $Cyl:1
GetShape D $Cyl:1:2 CylS
#3 Translate Cylinder
NewCommand D
set FTr1 [PTranslateDXYZ D $Cyl 100 0 0]
ComputeFun D $FTr1
GetShape D $Cyl:2:2 CylS
#4 Cut Box Cyl
NewCommand D
set CS [AddCut D $B2 $Cyl]
ComputeFun D $CS
erase
GetShape D $CS:2 S
don S
NewCommand D
#5 test Naming
set SL [TestSingleSelection D $B2 0]
set SL2 [TestMultipleSelection D $B2 0]
#6 Modification
NewCommand D
BoxDX D $B2 250
#7 recompute
NewCommand D
InitLogBook D
ComputeFun D $F2
ComputeFun D $Sel1:1
ComputeFun D $Cyl:1
ComputeFun D $FTr1
ComputeFun D $CS
erase
GetShape D $CS:2 S
don S
SolveFlatFrom D $SL
NewCommand D
|