0024927: Getting rid of "Persistent" functionality -- Tests
[occt.git] / tests / caf / named_shape / F6
1 # =================== OCAF ======================
2 # Naming
3 #
4 # Testing purpose: Naming selection mechanism 
5 #
6 # Test case: F6 (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.  Addbox $B1
11 # 5.  Translate box $B1 along XYZ
12 # 6.  $Com1 = Common ($Prism, $B1)
13 # 7.  Add cylinder $Cyl
14 # 8.  Translate cylinder $Cyl along XYZ
15 # 9.  Cut $Cut1 = Cut ($Prism, $Cyl)
16 # 10. Make  selections for all sub-shapes
17 # 11. Modify $Pnt1
18 # 12. Recompute modeling functions
19 # 13. Recompute selections
20 # ===============================================
21
22 #pload FULL
23 erase 
24 Close D 
25
26 NewDocument D BinOcaf
27 isos 12
28
29 #1 - create 4 Pnts
30 NewCommand D
31 AddDriver D PntXYZ PntRLT Line3D Attach;
32 set Pnt1 [AddPoint D 0 0 0];            ## add point1
33 ComputeFun D $Pnt1:1;                   ## compute function
34 GetShape D $Pnt1:1:2 P1;                ## check result
35 whatis P1
36 # referes to result NS
37 GetReference D $Pnt1;                   ## check is reference set 
38
39 set Pnt2 [AddPoint D 0 200 0];
40 ComputeFun D $Pnt2:1;
41 set Pnt3 [AddPoint D 200 200 0];
42 ComputeFun D $Pnt3:1;
43 set Pnt4 [AddPoint D 200 0 0];
44 ComputeFun D $Pnt4:1;
45 GetShape D $Pnt2:1:2 P2;
46 GetShape D $Pnt3:1:2 P3;
47 GetShape D $Pnt4:1:2 P4;
48
49
50 #2 create closed Lin2
51 NewCommand D
52 set Lin2 [ AddLine3D D 1 $Pnt1 $Pnt2 $Pnt3 $Pnt4]
53 ComputeFun D $Lin2:1;
54 GetShape D $Lin2:1:2 L1;
55
56 #3 Prism  
57 NewCommand D
58 AddDriver D Prism Box PTxyz
59 set Prism [AddPrism D $Lin2 300 1]
60 ComputeFun D $Prism:1
61 GetShape D $Prism:1:2 Pr
62 GetReference D $Prism;                  ## check is reference set 
63
64 #4 Add Box
65 NewCommand D
66 set B1 [AddBox D 400 140 600];
67 ComputeFun D $B1:1;
68 GetShape D $B1:1:2 Box;
69
70 #5 Translate Box1
71 NewCommand D
72 set FTr1 [PTranslateDXYZ D $B1 -100 -20 -100]
73 ComputeFun D $FTr1
74 GetShape D $B1:2:2 Box
75
76 #6 add Common
77 NewCommand D
78 AddDriver D Comm Cut Fuse
79 set Com1 [AddCommon D $Prism $B1]
80 ComputeFun D $Com1
81 GetShape D $Com1:2 Pr
82
83 #7 add Cylinder
84 NewCommand D
85 explode Pr E
86 AddDriver D Attach Cyl
87 set Sel1 [AttachShape D Pr_6 ${Prism} ${Prism} 0]; ## set attachment
88 set Cyl [AddCyl D 70 515 ${Sel1}]
89 ComputeFun D $Cyl:1
90 GetShape D $Cyl:1:2 CylS
91
92 #8 Translate Cylinder
93 NewCommand D
94 set FTr1 [PTranslateDXYZ D $Cyl -100 200 170]
95 ComputeFun D $FTr1
96 GetShape D $Cyl:2:2 CylS
97
98 #9 Cut Prism by Cylinder
99 set Cut1 [AddCut D $Prism $Cyl]
100 ComputeFun D $Cut1
101 GetShape D $Cut1:2 Pr
102 don Pr
103
104 #10 test selection
105 NewCommand D
106 set SL  [TestSingleSelection   D $Prism 0]
107 set SL2 [TestMultipleSelection D $Prism 0]
108
109
110
111 #11 modify
112 NewCommand D
113 PntOffset D $Pnt1  20 25 skip
114
115 #12 recompute
116 NewCommand D
117 ComputeFun D $Pnt1:1
118 ComputeFun D $Lin2:1
119 ComputeFun D $Prism:1
120 ComputeFun D $Com1
121 ComputeFun D $Sel1:1                                    
122 ComputeFun D $Cyl:1
123 ComputeFun D $FTr1
124 ComputeFun D $Cut1
125 erase
126 GetShape D $Cut1:2 Pr
127
128
129 #13 recomputation of entities of the TestSelection commands
130 SolveFlatFrom D $SL
131 NewCommand D
132