0024927: Getting rid of "Persistent" functionality -- Tests
[occt.git] / tests / caf / named_shape / F5
1 # =================== OCAF ======================
2 # Naming
3 #
4 # Testing purpose: Naming selection mechanism 
5 #
6 # Test case: F5 (ShapeOrientation is not  used)
7 # 1.  Create 4 points: $Pnt1 - $Pnt4
8 # 2.  Create closed line $Lin2
9 # 3.  Create prism Pr ($Prism)
10 # 4.  Create 2 prisms $Prism1, $Prism2
11 # 5.  $FS1 = Fuse ($Prism1, $Prism2); $FS2 = Fuse ($Prism1, $Prism3)
12 # 6.  Create sphere $Sph
13 # 7.  Cut sphere $Cut1 = Cut ($Prism, $Sph)
14 # 8.  Make  selections for all sub-shapes
15 # 9.  Modify $Pnt1
16 # 10. Recompute modeling functions
17 # 11. Recompute selections
18 # ===============================================
19
20 #pload FULL
21 erase 
22 Close D 
23
24 NewDocument D BinOcaf
25 isos 12
26
27 #1 - create 4 Pnts
28 NewCommand D
29 AddDriver D PntXYZ PntRLT Line3D Attach;
30 set Pnt1 [AddPoint D 0 0 0];            ## add point1
31 ComputeFun D $Pnt1:1;                   ## compute function
32 GetShape D $Pnt1:1:2 P1;                ## check result
33 whatis P1
34 # referes to result NS
35 GetReference D $Pnt1;                   ## check is reference set 
36
37 set Pnt2 [AddPoint D 0 200 0];
38 ComputeFun D $Pnt2:1;
39 set Pnt3 [AddPoint D 200 200 0];
40 ComputeFun D $Pnt3:1;
41 set Pnt4 [AddPoint D 200 0 0];
42 ComputeFun D $Pnt4:1;
43 GetShape D $Pnt2:1:2 P2;
44 GetShape D $Pnt3:1:2 P3;
45 GetShape D $Pnt4:1:2 P4;
46
47 #2 create closed Lin2
48 NewCommand D
49 set Lin2 [ AddLine3D D 1 $Pnt1 $Pnt2 $Pnt3 $Pnt4]
50 ComputeFun D $Lin2:1;
51 GetShape D $Lin2:1:2 L1;
52
53 #3 Prism 
54 NewCommand D
55 AddDriver D Prism
56 set Prism [AddPrism D $Lin2 300 0]
57 ComputeFun D $Prism:1
58 GetShape D $Prism:1:2 Pr
59 GetReference D $Prism;                  ## check is reference set 
60
61 #4 create two prisms
62 NewCommand D
63 explode Pr F
64 set Bas1 [AttachShape D Pr_1 ${Prism} ${Prism} 1]
65 set Bas2 [AttachShape D Pr_4 ${Prism} ${Prism} 1]
66
67 set Prism2 [AddPrism D $Bas1 300 0]
68 ComputeFun D $Prism2:1
69 GetShape D $Prism2:1:2 Pr2
70
71
72 set Prism3 [AddPrism D $Bas2 500 0]
73 ComputeFun D $Prism3:1
74 GetShape D $Prism3:1:2 Pr3
75
76 #5 => fuse
77 NewCommand D
78 AddDriver D Fuse Sph Cut
79 set FS1 [AddFuse D $Prism $Prism2]
80 ComputeFun D $FS1
81 GetShape D $FS1:2 Pr
82
83 set FS2 [AddFuse D $Prism $Prism3]
84 ComputeFun D $FS2
85 GetShape D $FS2:2 Pr
86
87 #6
88 set Sph [AddSphere D $Pnt3 150]
89 NewCommand D
90 ComputeFun D $Sph:1
91 GetShape D $Sph:1:2 Sp
92
93 #7 Cut sphere
94 NewCommand D
95 set Cut1 [AddCut D $Prism $Sph]
96 ComputeFun D $Cut1
97 GetShape D $Cut1:2 Pr
98 don Pr
99
100 #8 test selection
101 NewCommand D
102 set SL  [TestSingleSelection   D $Prism 0]
103 set SL2 [TestMultipleSelection D $Prism 0]
104
105
106
107 #9 modify
108 PntOffset D $Pnt1  50 30 skip
109
110 #10 recompute
111 NewCommand D
112 ComputeFun D $Pnt1:1
113 ComputeFun D $Lin2:1
114 ComputeFun D $Prism:1
115 ComputeFun D $Bas1:1
116 ComputeFun D $Bas2:1
117 ComputeFun D $Prism2:1
118 ComputeFun D $Prism3:1
119 ComputeFun D $FS1
120 ComputeFun D $FS2
121 ComputeFun D $Sph:1
122 ComputeFun D $Cut1
123 erase
124 GetShape D $Cut1:2 Pr
125 #GetShape D $Prism:1:2 Pr
126 #GetShape D $Prism2:1:2 Pr2
127 #GetShape D $Prism3:1:2 Pr3
128
129 #11 recomputation of entities of the TestSelection commands
130 SolveFlatFrom D $SL
131 NewCommand D
132