1 #1 - create Box using short-cut
3 AddDriver D Box; ## add box driver to driver table
4 set B1 [AddBox D 130 140 150]; ## add box
5 ComputeFun D $B1:1; ## compute box1 function
6 GetShape D $B1:1:2 Box1; ## check result
9 GetReference D $B1; ## check is reference set
12 #2 - create main sphere
13 AddDriver D Cyl Sph Attach XAttach PTxyz PTALine PRLine PMirr Cut Fuse Prism FulRevol SecRevol Fillet
16 set SPnt1 [AttachShape D Box1_1 ${B1} ${B1} 0]; ## set attachment
19 set Sph0 [AddSphere D $SPnt1 250]
21 GetShape D $Sph0:1:2 Sp0
25 set Sph1 [AddSphere D $SPnt1 30]
27 GetShape D $Sph1:1:2 Sp1
30 set FTr1 [PTranslateDXYZ D $Sph1 0 -251 0]
32 GetShape D $Sph1:2:2 Sp1
36 set Sph2 [AddSphere D $SPnt1 30]
38 GetShape D $Sph2:1:2 Sp2
40 set FTr2 [PTranslateDXYZ D $Sph2 0 251 0]
42 GetShape D $Sph2:2:2 Sp2
46 set Sph3 [AddSphere D $SPnt1 30]
48 GetShape D $Sph3:1:2 Sp3
51 set Sel3 [AttachShape D Box1_1 ${B1} ${B1} 0];
52 set FR3 [PRotateRoundLine D $Sph3 $Sel3 120]
56 set FTr3 [PTranslateDXYZ D $Sph3 -251 0 0]
58 GetShape D $Sph3:3:2 Sp3
62 set Sph4 [AddSphere D $SPnt1 30]
64 GetShape D $Sph4:1:2 Sp4
66 set FTr4 [PTranslateDXYZ D $Sph4 251 -40 0]
68 GetShape D $Sph4:2:2 Sp4
71 set Cut1 [AddCut D $Sph0 $Sph1]
73 GetShape D $Cut1:2 Sp0
75 set Cut2 [AddCut D $Sph0 $Sph2]
77 GetShape D $Cut2:2 Sp0
79 set Cut3 [AddCut D $Sph0 $Sph3]
81 GetShape D $Cut3:2 Sp0
83 set Cut4 [AddCut D $Sph0 $Sph4]
85 GetShape D $Cut4:2 Sp0
90 set SL [TestSingleSelection D $Sph0 0]
91 set SL2 [TestMultipleSelection D $Sph0 0]
99 InitLogBook D; ## to be initialized before any recomputation of impacted functions set (if attachments are presented)
101 ComputeFun D $SPnt1:1
118 GetShape D $Cut4:2 Sp0
121 #recomputation of entities of the TestSelection commands