CascadeStudio_3D_Manual

Форк
0
/
gherkin_profile_3.json 
332 строки · 14.2 Кб
1
{
2
  "settings": {
3
    "hasHeaders": true,
4
    "constrainDragToContainer": true,
5
    "reorderEnabled": true,
6
    "selectionEnabled": false,
7
    "popoutWholeStack": false,
8
    "blockedPopoutsThrowError": true,
9
    "closePopoutsOnUnload": true,
10
    "showPopoutIcon": false,
11
    "showMaximiseIcon": false,
12
    "showCloseIcon": false,
13
    "responsiveMode": "onload",
14
    "tabOverlapAllowance": 0,
15
    "reorderOnTabMenuClick": true,
16
    "tabControlOffset": 10
17
  },
18
  "dimensions": {
19
    "borderWidth": 5,
20
    "borderGrabWidth": 15,
21
    "minItemHeight": 10,
22
    "minItemWidth": 10,
23
    "headerHeight": 20,
24
    "dragProxyWidth": 300,
25
    "dragProxyHeight": 200
26
  },
27
  "labels": {
28
    "close": "close",
29
    "maximise": "maximise",
30
    "minimise": "minimise",
31
    "popout": "open in new window",
32
    "popin": "pop in",
33
    "tabDropdown": "additional tabs"
34
  },
35
  "content": [
36
    {
37
      "type": "row",
38
      "isClosable": true,
39
      "reorderEnabled": true,
40
      "title": "",
41
      "content": [
42
        {
43
          "type": "stack",
44
          "width": 50,
45
          "isClosable": true,
46
          "reorderEnabled": true,
47
          "title": "",
48
          "activeItemIndex": 0,
49
          "content": [
50
            {
51
              "type": "component",
52
              "componentName": "codeEditor",
53
              "title": "* gherkin_profile_3.json",
54
              "componentState": {
55
                "code": [
56
                  "function equationGherkin(x) ",
57
                  "{",
58
                  "    let pt1 = x*x - 144*x + 5184;",
59
                  "    let pt2 = pt1 / 11664;",
60
                  "    let pt3 = 1-pt2;",
61
                  "    let pt4 = Math.sqrt(pt3);",
62
                  "    let y   = 28.25 * pt4;",
63
                  "    return y",
64
                  "}",
65
                  "",
66
                  "// construct floors",
67
                  "// 44 floors, 4 meters each = 176 meter, ",
68
                  "// height of tower is 180 meters",
69
                  "",
70
                  "let h = 0;",
71
                  "let c0 = [equationGherkin(h),h];",
72
                  "let face = [];",
73
                  "let gherkin = [];",
74
                  "",
75
                  "// create each floor by revolving a face ",
76
                  "let sc=0.97",
77
                  "for (let hi = 0; hi <= 178; hi+=4)",
78
                  "{",
79
                  "    face[hi] = Polygon([[0,0,hi-1],[sc*equationGherkin(hi-1),0,hi-1],[sc*equationGherkin(hi),0, hi],[0,0,hi]],true)",
80
                  "    gherkin[hi] = Revolve(face[hi]);",
81
                  "}",
82
                  "",
83
                  "",
84
                  "// create inner construction",
85
                  "let innerConstruction = Cylinder(5,178,false)",
86
                  "",
87
                  "// create parallellograms on outside",
88
                  "//     each parallellogram covers 4 floors",
89
                  "let pgram=[];",
90
                  "",
91
                  "for (let hj = 0; hj <= 172; hj+=32)",
92
                  "{",
93
                  "        for ( let k = 0; k <= 16 ; k+= 2)",
94
                  "        {  ",
95
                  "            ",
96
                  "            let angle_ref    = Math.PI/8 * k",
97
                  "            let angle_aft    = Math.PI/8 * (k-0.5)",
98
                  "            let angle_front  = Math.PI/8 * (k+0.5)",
99
                  "            let xref   = Math.cos(angle_ref) * equationGherkin(hj)",
100
                  "            let xaft   = Math.cos(angle_aft) * equationGherkin(hj+8)",
101
                  "            let xfront = Math.cos(angle_front) * equationGherkin(hj+8)",
102
                  "            let xtop   = Math.cos(angle_ref) * equationGherkin(hj+16)",
103
                  "            let yref   = Math.sin(angle_ref) * equationGherkin(hj)",
104
                  "            let yaft   = Math.sin(angle_aft) * equationGherkin(hj+8)",
105
                  "            let yfront = Math.sin(angle_front) * equationGherkin(hj+8)",
106
                  "            let ytop   = Math.sin(angle_ref) * equationGherkin(hj+16)",
107
                  "",
108
                  "            let pp0    = [xref, yref, hj]",
109
                  "            let pp1    = [xaft, yaft, hj+8] ",
110
                  "            let pp2    = [xfront, yfront, hj+8]",
111
                  "            let pp3    = [xtop, ytop, hj+16]",
112
                  "",
113
                  "            // pgram[k] = Polygon([pp0, pp2, pp1],)",
114
                  "            Polygon([pp0, pp2, pp1])",
115
                  "            Polygon([pp1, pp2, pp3])",
116
                  "",
117
                  "        }    ",
118
                  "} ",
119
                  "",
120
                  "for (let hj = 16; hj <= 172; hj+=32)",
121
                  "{",
122
                  "        for ( let k = 1; k <= 17 ; k+= 2)",
123
                  "        {  ",
124
                  "            ",
125
                  "            let angle_ref    = Math.PI/8 * k",
126
                  "            let angle_aft    = Math.PI/8 * (k-0.5)",
127
                  "            let angle_front  = Math.PI/8 * (k+0.5)",
128
                  "            let xref   = Math.cos(angle_ref) * equationGherkin(hj)",
129
                  "            let xaft   = Math.cos(angle_aft) * equationGherkin(hj+8)",
130
                  "            let xfront = Math.cos(angle_front) * equationGherkin(hj+8)",
131
                  "            let xtop   = Math.cos(angle_ref) * equationGherkin(hj+16)",
132
                  "            let yref   = Math.sin(angle_ref) * equationGherkin(hj)",
133
                  "            let yaft   = Math.sin(angle_aft) * equationGherkin(hj+8)",
134
                  "            let yfront = Math.sin(angle_front) * equationGherkin(hj+8)",
135
                  "            let ytop   = Math.sin(angle_ref) * equationGherkin(hj+16)",
136
                  "",
137
                  "            let pp0    = [xref, yref, hj]",
138
                  "            let pp1    = [xaft, yaft, hj+8] ",
139
                  "            let pp2    = [xfront, yfront, hj+8]",
140
                  "            let pp3    = [xtop, ytop, hj+16]",
141
                  "",
142
                  "            // pgram[k] = Polygon([pp0, pp2, pp1],)",
143
                  "            Polygon([pp0, pp2, pp1])",
144
                  "            Polygon([pp1, pp2, pp3])",
145
                  "",
146
                  "        }    ",
147
                  "} ",
148
                  "",
149
                  "",
150
                  "",
151
                  "for (let hk = 8; hk <= 164; hk+=32)",
152
                  "{",
153
                  "        for ( let l = 0.5; l <= 16.5 ; l += 2)",
154
                  "        {  ",
155
                  "            ",
156
                  "            let angle_ref    = Math.PI/8 * l",
157
                  "            let angle_aft    = Math.PI/8 * (l-0.5)",
158
                  "            let angle_front  = Math.PI/8 * (l+0.5)",
159
                  "            let xref   = Math.cos(angle_ref) * equationGherkin(hk)",
160
                  "            let xaft   = Math.cos(angle_aft) * equationGherkin(hk+8)",
161
                  "            let xfront = Math.cos(angle_front) * equationGherkin(hk+8)",
162
                  "            let yref   = Math.sin(angle_ref) * equationGherkin(hk)",
163
                  "            let yaft   = Math.sin(angle_aft) * equationGherkin(hk+8)",
164
                  "            let yfront = Math.sin(angle_front) * equationGherkin(hk+8)",
165
                  "            let xtop   = Math.cos(angle_ref) * equationGherkin(hk+16)",
166
                  "            let ytop   = Math.sin(angle_ref) * equationGherkin(hk+16)",
167
                  "",
168
                  "            let pp0    = [xref, yref, hk]",
169
                  "            let pp1    = [xaft, yaft, hk+8] ",
170
                  "            let pp2    = [xfront, yfront, hk+8]",
171
                  "            let pp3    = [xtop, ytop, hk+16]",
172
                  "",
173
                  "            // pgram[k] = Polygon([pp0, pp2, pp1],)",
174
                  "            Polygon([pp0, pp2, pp1])",
175
                  "            Polygon([pp1, pp2, pp3])",
176
                  "",
177
                  "        }    ",
178
                  "} ",
179
                  "",
180
                  "for (let hk = 24; hk <= 164; hk+=32)",
181
                  "{",
182
                  "        for ( let l = 1.5; l <= 17.5 ; l += 2)",
183
                  "        {  ",
184
                  "            ",
185
                  "            let angle_ref    = Math.PI/8 * l",
186
                  "            let angle_aft    = Math.PI/8 * (l-0.5)",
187
                  "            let angle_front  = Math.PI/8 * (l+0.5)",
188
                  "            let xref   = Math.cos(angle_ref) * equationGherkin(hk)",
189
                  "            let xaft   = Math.cos(angle_aft) * equationGherkin(hk+8)",
190
                  "            let xfront = Math.cos(angle_front) * equationGherkin(hk+8)",
191
                  "            let yref   = Math.sin(angle_ref) * equationGherkin(hk)",
192
                  "            let yaft   = Math.sin(angle_aft) * equationGherkin(hk+8)",
193
                  "            let yfront = Math.sin(angle_front) * equationGherkin(hk+8)",
194
                  "            let xtop   = Math.cos(angle_ref) * equationGherkin(hk+16)",
195
                  "            let ytop   = Math.sin(angle_ref) * equationGherkin(hk+16)",
196
                  "",
197
                  "            let pp0    = [xref, yref, hk]",
198
                  "            let pp1    = [xaft, yaft, hk+8] ",
199
                  "            let pp2    = [xfront, yfront, hk+8]",
200
                  "            let pp3    = [xtop, ytop, hk+16]",
201
                  "",
202
                  "            // pgram[k] = Polygon([pp0, pp2, pp1],)",
203
                  "            Polygon([pp0, pp2, pp1])",
204
                  "            Polygon([pp1, pp2, pp3])",
205
                  "",
206
                  "        }    ",
207
                  "} ",
208
                  "",
209
                  "",
210
                  "for (let hk = 168; hk <= 172; hk+=8)",
211
                  "{",
212
                  "        for ( let l = 0.5; l <= 16.5 ; l +=1)",
213
                  "        {  ",
214
                  "            ",
215
                  "            let angle_ref    = Math.PI/8 * l",
216
                  "            let angle_aft    = Math.PI/8 * (l-0.5)",
217
                  "            let angle_front  = Math.PI/8 * (l+0.5)",
218
                  "            let xref   = Math.cos(angle_ref) * equationGherkin(hk)",
219
                  "            let xaft   = Math.cos(angle_aft) * equationGherkin(hk+8)",
220
                  "            let xfront = Math.cos(angle_front) * equationGherkin(hk+8)",
221
                  "            let yref   = Math.sin(angle_ref) * equationGherkin(hk)",
222
                  "            let yaft   = Math.sin(angle_aft) * equationGherkin(hk+8)",
223
                  "            let yfront = Math.sin(angle_front) * equationGherkin(hk+8)",
224
                  "            // let xtop   = Math.cos(angle_ref) * equationGherkin(hk+16)",
225
                  "            // let ytop   = Math.sin(angle_ref) * equationGherkin(hk+16)",
226
                  "",
227
                  "            let pp0    = [xref, yref, hk]",
228
                  "            let pp1    = [xaft, yaft, hk+8] ",
229
                  "            let pp2    = [xfront, yfront, hk+8]",
230
                  "            // let pp3    = [xtop, ytop, hk+16]",
231
                  "",
232
                  "            // pgram[k] = Polygon([pp0, pp2, pp1],)",
233
                  "            Polygon([pp0, pp2, pp1])",
234
                  "            // Polygon([pp1, pp2, pp3])",
235
                  "",
236
                  "        }    ",
237
                  "} ",
238
                  "",
239
                  "",
240
                  "",
241
                  "// using a spline with 4 points",
242
                  "let p0 = [.13 , 0   ]",
243
                  "let p1 = [.20 , .66 ]",
244
                  "let p2 = [.11 , .80 ]",
245
                  "let p3 = [.03 , 1 ]",
246
                  "let p4 = [ 0  , 1 ]",
247
                  "",
248
                  "let profileGherkin = new Sketch(p0)",
249
                  ".BezierTo([p1,p2,p3,p4])",
250
                  ".LineTo([0,0])",
251
                  ".LineTo(p0)",
252
                  ".End().Face(false)",
253
                  "",
254
                  "",
255
                  "Translate([100,0,0],Rotate([1,0,0],90,Revolve(Scale(180,profileGherkin),360,[0,1,0], false, false)))",
256
                  ""
257
                ]
258
              },
259
              "width": 50,
260
              "isClosable": false,
261
              "reorderEnabled": true
262
            }
263
          ]
264
        },
265
        {
266
          "type": "column",
267
          "isClosable": true,
268
          "reorderEnabled": true,
269
          "title": "",
270
          "width": 50,
271
          "content": [
272
            {
273
              "type": "stack",
274
              "height": 79.53995157384988,
275
              "isClosable": true,
276
              "reorderEnabled": true,
277
              "title": "",
278
              "activeItemIndex": 0,
279
              "content": [
280
                {
281
                  "type": "component",
282
                  "componentName": "cascadeView",
283
                  "title": "CAD View",
284
                  "componentState": {
285
                    "componentName": "cascadeView",
286
                    "MeshRes": 0.1,
287
                    "MeshResRange": [
288
                      0.01,
289
                      2
290
                    ],
291
                    "Cache?": false,
292
                    "Radius": 30,
293
                    "RadiusRange": [
294
                      20,
295
                      40
296
                    ]
297
                  },
298
                  "isClosable": false,
299
                  "reorderEnabled": true
300
                }
301
              ]
302
            },
303
            {
304
              "type": "stack",
305
              "height": 20.460048426150124,
306
              "isClosable": true,
307
              "reorderEnabled": true,
308
              "title": "",
309
              "activeItemIndex": 0,
310
              "content": [
311
                {
312
                  "type": "component",
313
                  "componentName": "console",
314
                  "title": "Console",
315
                  "componentState": {},
316
                  "height": 20,
317
                  "isClosable": false,
318
                  "reorderEnabled": true
319
                }
320
              ]
321
            }
322
          ]
323
        }
324
      ]
325
    }
326
  ],
327
  "isClosable": true,
328
  "reorderEnabled": true,
329
  "title": "",
330
  "openPopouts": [],
331
  "maximisedItemId": null
332
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.