0024927: Getting rid of "Persistent" functionality -- Tests
[occt.git] / tests / caf / named_shape / E5
1 # =================== OCAF ======================
2 # Naming
3 #
4 # Testing purpose: Naming selection mechanism 
5 #
6 # Test case: E5 (ShapeOrientation is not  used)
7 # 1. Create box B2
8 # 2. Create cylinder Cyl
9 # 3. Translate Cyl along XYZ
10 # 4. CS = Cut (B2, Cyl)
11 # 5. Make single selection for all sub-shapes
12 # 6. Modify B2
13 # 7. Recompute modeling functions
14 # 8. Recompute selections
15 # ===============================================
16 #pload FULL
17
18 erase 
19 Close D 
20
21 NewDocument D BinOcaf
22
23 AddDriver D Box Cyl Sph Attach XAttach PTxyz PTALine PRLine PMirr Cut Fuse Prism FulRevol SecRevol Fillet
24
25 #1 Create Box
26 NewCommand D
27 set B2 [AddObject D];                   ## add object
28 set F2 [AddFunction D $B2 Box];         ## add function
29 BoxDX D $B2 190;                        ## set argumets of this function
30 BoxDY D $B2 290
31 BoxDZ D $B2 390
32 InitLogBook D;                          ## initialize (clean) internal maps of labels
33 ComputeFun D $F2;                       ## compute the function
34 GetShape D $F2:2 Box2;                  ## check result
35 whatis Box2
36 GetReference D $B2
37
38 #2 Create Cylinder
39 NewCommand D
40 explode Box2 F
41 explode Box2_1 E
42 set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 1]; ## set attachment
43 ## AddDriver D Attach Cyl
44 set Cyl [AddCyl D 70 275 ${Sel1}]
45 ComputeFun D $Cyl:1
46 GetShape D $Cyl:1:2 CylS
47
48 #3 Transalte Cylinder
49 NewCommand D
50 set FTr1 [PTranslateDXYZ D $Cyl 100 0 0]
51 ComputeFun D $FTr1
52 GetShape D $Cyl:2:2 CylS
53
54 #4 Cut Box Cylinder
55 NewCommand D
56 set CS [AddCut D $B2 $Cyl]
57 ComputeFun D $CS
58 erase
59 GetShape D $CS:2 S
60 don S
61 NewCommand D
62
63 #5 test Naming
64 set SL [TestSingleSelection D $B2 0]
65 # 28 selections fail  (total 124 selections)
66 # it seems gives FilterByNeighbours gives Compound  (edges:  2*2, vertexes: 4, but duplicated -4*2 + 2*2 + 4*2 + 2*2 => 24)
67 # Naming should be corrected to process the case : to be returned Compound without failure!)
68
69 #6 Modification
70 NewCommand D
71 BoxDX D $B2 220
72
73 #7 recompute
74 NewCommand D
75 InitLogBook D
76 ComputeFun D $F2
77 ComputeFun D $Sel1:1
78 ComputeFun D $Cyl:1
79 ComputeFun D $FTr1
80 ComputeFun D $CS
81 erase
82 GetShape D $CS:2 S
83 don S
84
85 #8 Recompute selections
86 SolveFlatFrom D $SL
87 NewCommand D
88
89