efd4b232 |
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 | |
40093367 |
20 | #pload FULL |
40093367 |
21 | erase |
22 | Close D |
24de79c3 |
23 | |
40093367 |
24 | NewDocument D MDTV-Standard |
25 | isos 12 |
efd4b232 |
26 | |
40093367 |
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 | |
efd4b232 |
47 | #2 create closed Lin2 |
40093367 |
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 | |
efd4b232 |
53 | #3 Prism |
40093367 |
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 | |
efd4b232 |
61 | #4 create two prisms |
40093367 |
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 | |
efd4b232 |
76 | #5 => fuse |
40093367 |
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 | |
efd4b232 |
87 | #6 |
40093367 |
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 | |
efd4b232 |
129 | #11 recomputation of entities of the TestSelection commands |
40093367 |
130 | SolveFlatFrom D $SL |
131 | NewCommand D |
132 | |