0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[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 erase 
21 Close D 
22
23 NewDocument D BinOcaf
24 isos 12
25
26 #1 - create 4 Pnts
27 NewCommand D
28 AddDriver D PntXYZ PntRLT Line3D Attach;
29 set Pnt1 [AddPoint D 0 0 0];            ## add point1
30 ComputeFun D $Pnt1:1;                   ## compute function
31 GetShape D $Pnt1:1:2 P1;                ## check result
32 whatis P1
33 # refers to result NS
34 GetReference D $Pnt1;                   ## check is reference set 
35
36 set Pnt2 [AddPoint D 0 200 0];
37 ComputeFun D $Pnt2:1;
38 set Pnt3 [AddPoint D 200 200 0];
39 ComputeFun D $Pnt3:1;
40 set Pnt4 [AddPoint D 200 0 0];
41 ComputeFun D $Pnt4:1;
42 GetShape D $Pnt2:1:2 P2;
43 GetShape D $Pnt3:1:2 P3;
44 GetShape D $Pnt4:1:2 P4;
45
46 #2 create closed Lin2
47 NewCommand D
48 set Lin2 [ AddLine3D D 1 $Pnt1 $Pnt2 $Pnt3 $Pnt4]
49 ComputeFun D $Lin2:1;
50 GetShape D $Lin2:1:2 L1;
51
52 #3 Prism 
53 NewCommand D
54 AddDriver D Prism
55 set Prism [AddPrism D $Lin2 300 0]
56 ComputeFun D $Prism:1
57 GetShape D $Prism:1:2 Pr
58 GetReference D $Prism;                  ## check is reference set 
59
60 #4 create two prisms
61 NewCommand D
62 explode Pr F
63 set Bas1 [AttachShape D Pr_1 ${Prism} ${Prism} 1]
64 set Bas2 [AttachShape D Pr_4 ${Prism} ${Prism} 1]
65
66 set Prism2 [AddPrism D $Bas1 300 0]
67 ComputeFun D $Prism2:1
68 GetShape D $Prism2:1:2 Pr2
69
70
71 set Prism3 [AddPrism D $Bas2 500 0]
72 ComputeFun D $Prism3:1
73 GetShape D $Prism3:1:2 Pr3
74
75 #5 => fuse
76 NewCommand D
77 AddDriver D Fuse Sph Cut
78 set FS1 [AddFuse D $Prism $Prism2]
79 ComputeFun D $FS1
80 GetShape D $FS1:2 Pr
81
82 set FS2 [AddFuse D $Prism $Prism3]
83 ComputeFun D $FS2
84 GetShape D $FS2:2 Pr
85
86 #6
87 set Sph [AddSphere D $Pnt3 150]
88 NewCommand D
89 ComputeFun D $Sph:1
90 GetShape D $Sph:1:2 Sp
91
92 #7 Cut sphere
93 NewCommand D
94 set Cut1 [AddCut D $Prism $Sph]
95 ComputeFun D $Cut1
96 GetShape D $Cut1:2 Pr
97 don Pr
98
99 #8 test selection
100 NewCommand D
101 set SL  [TestSingleSelection   D $Prism 0]
102 set SL2 [TestMultipleSelection D $Prism 0]
103
104
105
106 #9 modify
107 PntOffset D $Pnt1  50 30 skip
108
109 #10 recompute
110 NewCommand D
111 ComputeFun D $Pnt1:1
112 ComputeFun D $Lin2:1
113 ComputeFun D $Prism:1
114 ComputeFun D $Bas1:1
115 ComputeFun D $Bas2:1
116 ComputeFun D $Prism2:1
117 ComputeFun D $Prism3:1
118 ComputeFun D $FS1
119 ComputeFun D $FS2
120 ComputeFun D $Sph:1
121 ComputeFun D $Cut1
122 erase
123 GetShape D $Cut1:2 Pr
124 #GetShape D $Prism:1:2 Pr
125 #GetShape D $Prism2:1:2 Pr2
126 #GetShape D $Prism3:1:2 Pr3
127
128 #11 recomputation of entities of the TestSelection commands
129 SolveFlatFrom D $SL
130 NewCommand D
131