File: B1

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (165 lines) | stat: -rw-r--r-- 3,807 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
AddDriver D Box Cyl Sph Attach XAttach PTxyz PTALine PRLine PMirr Cut Fuse Prism FulRevol SecRevol Fillet

#1 Create Box
NewCommand D
set B2 [AddObject D];			## add object
set F2 [AddFunction D $B2 Box];		## add function
BoxDX D $B2 190;			## set argumets of this function
BoxDY D $B2 290
BoxDZ D $B2 390
InitLogBook D;				## initialize (clean) internal maps of labels
ComputeFun D $F2;			## compute the function
GetShape D $F2:2 Box2;			## check result
whatis Box2
GetReference D $B2

#2 Create Cylinder
NewCommand D
explode Box2 F
explode Box2_1 E
set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 1]; ## set attachment
## AddDriver D Attach Cyl
set Cyl [AddCyl D 50 515 ${Sel1}]
ComputeFun D $Cyl:1
GetShape D $Cyl:1:2 CylS

#3 Translate Cylinder
NewCommand D
set FTr1 [PTranslateDXYZ D $Cyl 100 0 0]
ComputeFun D $FTr1
GetShape D $Cyl:2:2 CylS

#4 Cut Box Cyl
NewCommand D
set CS [AddCut D $B2 $Cyl]
ComputeFun D $CS
erase
GetShape D $CS:2 S
don S
NewCommand D

#5 set attachments - vertexes
explode S V
set SPnt1 [AttachShape D S_1 ${B2} ${B2} 0]; ## set attachment
set SPnt2 [AttachShape D S_2 ${B2} ${B2} 0]; ## set attachment
#set SPnt5 [AttachShape D S_5 ${B2} ${B2} 0]; ## set attachment
#set SPnt6 [AttachShape D S_6 ${B2} ${B2} 0]; ## set attachment
#set SPnt7 [AttachShape D S_7 ${B2} ${B2} 0]; ## set attachment
set SPnt9 [AttachShape D S_9 ${B2} ${B2} 0]; ## set attachment
set SPnt11 [AttachShape D S_11 ${B2} ${B2} 0]; ## set attachment
#set SPnt12 [AttachShape D S_12 ${B2} ${B2} 0]; ## set attachment

#6 create 8 Spheres
set Sph1 [AddSphere D $SPnt1 15]
ComputeFun D $Sph1:1
GetShape D $Sph1:1:2 Sp1

set Sph2 [AddSphere D $SPnt2 15]
ComputeFun D $Sph2:1
GetShape D $Sph2:1:2 Sp2

#set Sph5 [AddSphere D $SPnt5 15]
#ComputeFun D $Sph5:1
#GetShape D $Sph5:1:2 Sp5

#set Sph6 [AddSphere D $SPnt6 15]
#ComputeFun D $Sph6:1
#GetShape D $Sph6:1:2 Sp6

#set Sph7 [AddSphere D $SPnt7 15]
#ComputeFun D $Sph7:1
#GetShape D $Sph7:1:2 Sp7

set Sph9 [AddSphere D $SPnt9 15]
ComputeFun D $Sph9:1
GetShape D $Sph9:1:2 Sp9

set Sph11 [AddSphere D $SPnt11 15]
ComputeFun D $Sph11:1
GetShape D $Sph11:1:2 Sp11

#set Sph12 [AddSphere D $SPnt12 15]
#ComputeFun D $Sph12:1
#GetShape D $Sph12:1:2 Sp12

explode Box2 E
set Sel61 [AttachShape D Box2_1 ${B2} ${B2} 0];
set FR1 [PRotateRoundLine D $Sph1 $Sel61 120]
ComputeFun D $FR1 
GetShape D $FR1:2 Sp1

set Sel62 [AttachShape D Box2_1 ${B2} ${B2} 0];
set FR2 [PRotateRoundLine D $Sph2 $Sel62 120]
ComputeFun D $FR2
GetShape D $FR2:2 Sp2

#7 Fuse spheres
set FS1 [AddFuse D $B2 $Sph1]
ComputeFun D $FS1
GetShape D $FS1:2 S

set FS2 [AddFuse D $B2 $Sph2]
ComputeFun D $FS2
GetShape D $FS2:2 S

#set FS5 [AddFuse D $B2 $Sph5]
#ComputeFun D $FS5            
## <=== it gives NOT VALID shape
#GetShape D $FS5:2 S

set FS9 [AddFuse D $B2 $Sph9]
ComputeFun D $FS9
GetShape D $FS9:2 S

set FS11 [AddFuse D $B2 $Sph11]
ComputeFun D $FS11
GetShape D $FS11:2 S


#5 test Naming
set SL [TestSingleSelection D $B2 0]    
set SL2 [TestMultipleSelection D $B2 0]

#6 Modification
NewCommand D
BoxDX D $B2 250
BoxDZ D $B2 310

#7 recompute
NewCommand D
InitLogBook D
ComputeFun D $F2
ComputeFun D $Sel1:1
ComputeFun D $Cyl:1
ComputeFun D $FTr1
ComputeFun D $CS
ComputeFun D $SPnt1:1
ComputeFun D $SPnt2:1
#ComputeFun D $SPnt5:1
#ComputeFun D $SPnt6:1
#ComputeFun D $SPnt7:1
ComputeFun D $SPnt9:1
ComputeFun D $SPnt11:1
#ComputeFun D $SPnt12:1
ComputeFun D $Sph1:1
ComputeFun D $Sph2:1
ComputeFun D $Sel61:1
ComputeFun D $FR1 
ComputeFun D $Sel62:1
ComputeFun D $FR2 
#ComputeFun D $Sph5:1 ## because 5,6,7,12 gives NOT VALID result
#ComputeFun D $Sph6:1
#ComputeFun D $Sph7:1
ComputeFun D $Sph9:1
ComputeFun D $Sph11:1
#ComputeFun D $Sph12:1
ComputeFun D $FS1
ComputeFun D $FS2
ComputeFun D $FS9
ComputeFun D $FS11
erase
GetShape D $FS11:2 S

SolveFlatFrom D $SL
NewCommand D