0023119: TNaming_Selector::Solve() fails (changes from single face to compound of...
[occt.git] / tests / caf / named_shape / E2
1 # =================== OCAF ======================
2 # Naming
3 #
4 # Testing purpose: Naming selection mechanism 
5 #
6 # Test case: E2 (ShapeOrientation is used only for SingleSelection)
7 # 1. Create Box B2
8 # 2. Translate B2 along XYZ
9 # 3. Translate B2 along Line (edge of B2)
10 # 4. Rotate B2 around Line (edge of translated B2)
11 # 5. Mirror B2 relative face of just rotated B2
12 # 6. Make fillet on B2
13 # 7. Make selection for all sub-shapes
14 # 8. Recompute modeling functions
15 # 9. Recompute selections
16 # ===============================================
17
18 #pload FULL
19 erase
20 Close D
21 unset D
22 NewDocument D MDTV-Standard
23
24 #Drivers' nick-names:
25 #Box|Sph|Cyl|Cut|Fuse|Prism|Revol|PTxyz|PTALine|PRLine|PMirr|Fillet|Attach|XAttach
26 # order of functions recomputation should be defined out of the tool (by end user)
27
28 ## Test of transformation functions
29 AddDriver D Box Attach PTxyz PTALine PRLine PMirr Sph
30
31 #1 - create box using more flexible set of commands
32 NewCommand D
33 set B2 [AddObject D];                   ## add object
34 set F2 [AddFunction D $B2 Box];         ## add function
35 BoxDX D $B2 190;                        ## set argumets of this function
36 BoxDY D $B2 290
37 BoxDZ D $B2 390
38 InitLogBook D;                          ## initialize (clean) internal maps of labels
39 ComputeFun D $F2;                       ## compute the function
40 GetShape D $F2:2 Box2;                  ## check result
41 whatis Box2
42 GetReference D $B2;                     ## referes to result NS
43
44
45 #2
46 NewCommand D
47 set FTr1 [PTranslateDXYZ D $B2 150 40 90]
48 ComputeFun D $FTr1;                     ## function recomputation
49 GetShape D $FTr1:2 Box2;                ## get modified result
50
51 #3 
52 NewCommand D
53 explode Box2 F
54 explode Box2_1 E
55 set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 1]; ## set attachment
56 set FTr2 [PTranslateAlongLine D $B2  $Sel1 210]
57 ComputeFun D $FTr2
58 GetShape D $FTr2:2 Box3
59
60 #4
61 NewCommand D
62 explode Box3 F
63 explode Box3_1 E
64 set Sel4 [AttachShape D Box3_1_3 ${B2} ${B2} 1];
65 set FR1 [PRotateRoundLine D $B2 $Sel4 120]
66 ComputeFun D $FR1 
67 GetShape D $FR1:2 Box4
68
69 #5
70 NewCommand D
71 explode Box4 F
72 set Sel5 [AttachShape D Box4_3 ${B2} ${B2} 1];
73 set FM [PMirror D $B2 $Sel5]
74 ComputeFun D $FM 
75 GetShape D $FM:2 Box5
76
77 #6
78 NewCommand D
79 explode Box5 F
80 explode Box5_1 E
81 set Sel6 [AttachShape D Box5_1_3 ${B2} ${B2} 1];
82 AddDriver D Fillet
83 set Fill [AddFillet D $B2 25 $Sel6 0]
84 ComputeFun D $Fill
85 GetShape D $Fill:2 SF
86
87 #7
88 NewCommand D 
89 set SL [TestSingleSelection D $B2 1]
90 set SL2 [TestMultipleSelection D $B2 0]
91
92 #7 modification
93 NewCommand D
94 BoxDX D $B2 290
95
96 #8 order of recomputation
97 NewCommand D
98 InitLogBook D;          ## to be initialized before any recomputation of impacted functions set (if attachments are presented)
99 ComputeFun D $F2;       
100 ComputeFun D $FTr1;
101 ComputeFun D $Sel1:1
102 ComputeFun D $FTr2
103 ComputeFun D $Sel4:1
104 ComputeFun D $FR1 
105 ComputeFun D $Sel5:1
106 ComputeFun D $FM 
107 ComputeFun D $Sel6:1
108 ComputeFun D $Fill
109 GetShape D $Fill:2 SF-new
110
111 #9 Recompute selections
112 SolveFlatFrom D $SL
113
114 NewCommand D