0024927: Getting rid of "Persistent" functionality -- Tests
[occt.git] / tests / caf / named_shape / F1
1 # ============= OCAF ============================
2 # Naming
3 #
4 # Testing purpose: Naming selection mechanism 
5 #
6 # Test case: F1 (ShapeOrientation is not used)
7 #
8 # 1.  Create Box B2
9 # 2.  Create cylinder $Cyl
10 # 3.  Translate $Cyl along XYZ
11 # 4.  $CS = Cut ($B2, $Cyl)
12 # 5.  Create 4 points as attachments of box $B2
13 # 6.  Create 4 spheres ($Sph1, $Sph2, $Sph9, $Sph11)
14 # 7.  Rotate spheres $Sph1, $Sph2 around line
15 # 8.  Fuse all spheres with box B2
16 # 9.  Make selection for all sub-shapes
17 # 10. Modify B2
18 # 11. Recompute modeling functions
19 # 12. Recompute selections
20 # ===============================================
21
22 #pload FULL
23 erase 
24 Close D 
25
26 NewDocument D BinOcaf
27 AddDriver D Box Cyl Sph Attach XAttach PTxyz PTALine PRLine PMirr Cut Fuse Prism FulRevol SecRevol Fillet
28
29 #1 Create Box
30 NewCommand D
31 set B2 [AddObject D];                   ## add object
32 set F2 [AddFunction D $B2 Box];         ## add function
33 BoxDX D $B2 190;                        ## set argumets of this function
34 BoxDY D $B2 290
35 BoxDZ D $B2 390
36 InitLogBook D;                          ## initialize (clean) internal maps of labels
37 ComputeFun D $F2;                       ## compute the function
38 GetShape D $F2:2 Box2;                  ## check result
39 whatis Box2
40 GetReference D $B2
41
42 #2 Create Cylinder
43 NewCommand D
44 explode Box2 F
45 explode Box2_1 E
46 set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 1]; ## set attachment
47 ## AddDriver D Attach Cyl
48 set Cyl [AddCyl D 50 515 ${Sel1}]
49 ComputeFun D $Cyl:1
50 GetShape D $Cyl:1:2 CylS
51
52 #3 Translate Cylinder
53 NewCommand D
54 set FTr1 [PTranslateDXYZ D $Cyl 100 0 0]
55 ComputeFun D $FTr1
56 GetShape D $Cyl:2:2 CylS
57
58 #4 Cut Box Cyl
59 NewCommand D
60 set CS [AddCut D $B2 $Cyl]
61 ComputeFun D $CS
62 erase
63 GetShape D $CS:2 S
64 don S
65 NewCommand D
66
67 #5 set attachments - vertexes
68 explode S V
69 set SPnt1 [AttachShape D S_1 ${B2} ${B2} 0]; ## set attachment
70 set SPnt2 [AttachShape D S_2 ${B2} ${B2} 0]; ## set attachment
71 set SPnt9 [AttachShape D S_9 ${B2} ${B2} 0]; ## set attachment
72 set SPnt11 [AttachShape D S_11 ${B2} ${B2} 0]; ## set attachment
73
74
75 #6 create 4 Spheres
76 set Sph1 [AddSphere D $SPnt1 15]
77 ComputeFun D $Sph1:1
78 GetShape D $Sph1:1:2 Sp1
79
80 set Sph2 [AddSphere D $SPnt2 15]
81 ComputeFun D $Sph2:1
82 GetShape D $Sph2:1:2 Sp2
83
84 set Sph9 [AddSphere D $SPnt9 15]
85 ComputeFun D $Sph9:1
86 GetShape D $Sph9:1:2 Sp9
87
88 set Sph11 [AddSphere D $SPnt11 15]
89 ComputeFun D $Sph11:1
90 GetShape D $Sph11:1:2 Sp11
91
92 #7
93 explode Box2 E
94 set Sel61 [AttachShape D Box2_1 ${B2} ${B2} 0];
95 set FR1 [PRotateRoundLine D $Sph1 $Sel61 120]
96 ComputeFun D $FR1 
97 GetShape D $FR1:2 Sp1
98
99 set Sel62 [AttachShape D Box2_1 ${B2} ${B2} 0];
100 set FR2 [PRotateRoundLine D $Sph2 $Sel62 120]
101 ComputeFun D $FR2
102 GetShape D $FR2:2 Sp2
103
104 #8 Fuse 4 spheres
105 set FS1 [AddFuse D $B2 $Sph1]
106 ComputeFun D $FS1
107 GetShape D $FS1:2 S
108
109 set FS2 [AddFuse D $B2 $Sph2]
110 ComputeFun D $FS2
111 GetShape D $FS2:2 S
112
113
114 set FS9 [AddFuse D $B2 $Sph9]
115 ComputeFun D $FS9
116 GetShape D $FS9:2 S
117
118 set FS11 [AddFuse D $B2 $Sph11]
119 ComputeFun D $FS11
120 GetShape D $FS11:2 S
121
122
123 #9 test Naming
124 set SL [TestSingleSelection D $B2 0]    
125 set SL2 [TestMultipleSelection D $B2 0]
126
127 #10 Modification
128 NewCommand D
129 BoxDX D $B2 250
130 BoxDZ D $B2 310
131
132 #11 recompute
133 NewCommand D
134 InitLogBook D
135 ComputeFun D $F2
136 ComputeFun D $Sel1:1
137 ComputeFun D $Cyl:1
138 ComputeFun D $FTr1
139 ComputeFun D $CS
140 ComputeFun D $SPnt1:1
141 ComputeFun D $SPnt2:1
142 #ComputeFun D $SPnt5:1
143 #ComputeFun D $SPnt6:1
144 #ComputeFun D $SPnt7:1
145 ComputeFun D $SPnt9:1
146 ComputeFun D $SPnt11:1
147 #ComputeFun D $SPnt12:1
148 ComputeFun D $Sph1:1
149 ComputeFun D $Sph2:1
150 ComputeFun D $Sel61:1
151 ComputeFun D $FR1 
152 ComputeFun D $Sel62:1
153 ComputeFun D $FR2 
154 #ComputeFun D $Sph5:1 ## because 5,6,7,12 gives NOT VALID result
155 #ComputeFun D $Sph6:1
156 #ComputeFun D $Sph7:1
157 ComputeFun D $Sph9:1
158 ComputeFun D $Sph11:1
159 #ComputeFun D $Sph12:1
160 ComputeFun D $FS1
161 ComputeFun D $FS2
162 ComputeFun D $FS9
163 ComputeFun D $FS11
164 erase
165 GetShape D $FS11:2 S
166
167 #12
168 SolveFlatFrom D $SL
169 NewCommand D
170