1#1 - create Box using short-cut 2NewCommand D 3AddDriver D Box; ## add box driver to driver table 4set B1 [AddBox D 130 140 150]; ## add box 5ComputeFun D $B1:1; ## compute box1 function 6GetShape D $B1:1:2 Box1; ## check result 7whatis Box1 8# refers to result NS 9GetReference D $B1; ## check is reference set 10 11 12#2 - create 8 spheres 13AddDriver D Cyl Sph Attach XAttach PTxyz PTALine PRLine PMirr Cut Fuse Prism FulRevol SecRevol Fillet 14NewCommand D 15explode Box1 V 16set SPnt1 [AttachShape D Box1_1 ${B1} ${B1} 0]; ## set attachment 17set SPnt2 [AttachShape D Box1_2 ${B1} ${B1} 0]; ## set attachment 18set SPnt3 [AttachShape D Box1_3 ${B1} ${B1} 0]; ## set attachment 19set SPnt4 [AttachShape D Box1_4 ${B1} ${B1} 0]; ## set attachment 20 21set Sph1 [AddSphere D $SPnt1 25] 22ComputeFun D $Sph1:1 23GetShape D $Sph1:1:2 Sp1 24 25set Sph2 [AddSphere D $SPnt2 25] 26ComputeFun D $Sph2:1 27GetShape D $Sph2:1:2 Sp2 28 29set Sph3 [AddSphere D $SPnt3 25] 30ComputeFun D $Sph3:1 31GetShape D $Sph3:1:2 Sp3 32 33set Sph4 [AddSphere D $SPnt4 25] 34ComputeFun D $Sph4:1 35GetShape D $Sph4:1:2 Sp4 36NewCommand D 37 38#3 Rotate spheres 39explode Box1 E 40set Sel1 [AttachShape D Box1_1 ${B1} ${B1} 0]; 41set FR1 [PRotateRoundLine D $Sph1 $Sel1 120] 42ComputeFun D $FR1 43GetShape D $FR1:2 Sp1 44 45set Sel2 [AttachShape D Box1_1 ${B1} ${B1} 0]; 46set FR2 [PRotateRoundLine D $Sph2 $Sel2 120] 47ComputeFun D $FR2 48GetShape D $FR2:2 Sp2 49 50set Sel3 [AttachShape D Box1_3 ${B1} ${B1} 0]; 51set FR3 [PRotateRoundLine D $Sph3 $Sel3 120] 52ComputeFun D $FR3 53GetShape D $FR3:2 Sp3 54 55set Sel4 [AttachShape D Box1_3 ${B1} ${B1} 0]; 56set FR4 [PRotateRoundLine D $Sph4 $Sel4 120] 57ComputeFun D $FR4 58GetShape D $FR4:2 Sp4 59NewCommand D 60 61#4 Fuse spheres 62set FS1 [AddFuse D $B1 $Sph1] 63ComputeFun D $FS1 64GetShape D $FS1:2 Box1 65 66set FS2 [AddFuse D $B1 $Sph2] 67ComputeFun D $FS2 68GetShape D $FS2:2 Box1 69 70set FS3 [AddFuse D $B1 $Sph3] 71ComputeFun D $FS3 72GetShape D $FS3:2 Box1 73 74set FS4 [AddFuse D $B1 $Sph4] 75ComputeFun D $FS4 76GetShape D $FS4:2 Box1 77 78 79#5 test selection 80NewCommand D 81set SL [TestSingleSelection D $B1 0] 82set SL2 [TestMultipleSelection D $B1 0] 83 84#6 modification 85NewCommand D 86BoxDX D $B1 210 87BoxDZ D $B1 270 88 89#7 recomputation 90NewCommand D 91InitLogBook D; ## to be initialized before any recomputation of impacted functions set (if attachments are presented) 92ComputeFun D $B1:1 93ComputeFun D $SPnt1:1 94ComputeFun D $SPnt2:1 95ComputeFun D $SPnt3:1 96ComputeFun D $SPnt4:1 97ComputeFun D $Sph1:1 98ComputeFun D $Sph2:1 99ComputeFun D $Sph3:1 100ComputeFun D $Sph4:1 101ComputeFun D $Sel1:1 102ComputeFun D $Sel2:1 103ComputeFun D $Sel3:1 104ComputeFun D $Sel4:1 105ComputeFun D $FR1 106ComputeFun D $FR2 107ComputeFun D $FR3 108ComputeFun D $FR4 109ComputeFun D $FS1 110ComputeFun D $FS2 111ComputeFun D $FS3 112ComputeFun D $FS4 113erase 114GetShape D $FS4:2 Box1 115 116 117#recomputation of entities of the TestSelection commands 118SolveFlatFrom D $SL 119NewCommand D 120 121