CascadeStudio_3D_Manual

Форк
0
198 строк · 6.9 Кб
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": "* hairdryer2.json",
54
              "componentState": {
55
                "code": [
56
                  "// Model of a hair dryer, loosely based on Braun model from 70'",
57
                  "// ============================================================",
58
                  "",
59
                  "// parameters",
60
                  "let fanRadius       = 30;",
61
                  "let fanThickness    = 30;",
62
                  "let fanCutoutRadius = 20;",
63
                  "let fanCutoutDepth  = 5 ; ",
64
                  "let fanRounding     = 10;",
65
                  "let lidRadius       = 19;",
66
                  "let lidThickness    = 3; ",
67
                  "let lidRounding     = 2;",
68
                  "",
69
                  "// fanhousing",
70
                  "let fanhousing = Cylinder(fanRadius,fanThickness)",
71
                  "fanhousing = FilletEdges(fanhousing,fanRounding,[0,2],false);",
72
                  "let cutout = Translate([0,0,fanThickness-fanCutoutDepth],Cylinder(fanCutoutRadius,fanCutoutDepth+10));",
73
                  "fanhousing = Difference(fanhousing,[cutout],false);",
74
                  "let fanhousing_inner = Offset(fanhousing,-1.5,0.01,true);",
75
                  "",
76
                  "// lid on cutout /airintake",
77
                  "// let lid = Translate([0,0,fanThickness-lidThickness],Cylinder(lidRadius,lidThickness))",
78
                  "// lid = FilletEdges(lid,lidRounding,[0]);",
79
                  "",
80
                  "// outlet",
81
                  "let outlet = Translate([-2,0,6], Box(30,60,18) )",
82
                  "outlet = FilletEdges(outlet,5,[1,3,5,7]);",
83
                  "let outlet_inner = Offset(outlet, -1.5, 0.01, true)",
84
                  "outlet_in = Translate([0,3,0],outlet_inner)",
85
                  "",
86
                  "// handle",
87
                  "let handle = Translate([0,-30,7],Box(-80,25,16))",
88
                  "handle = FilletEdges(handle,5,[11,10,9,8,]);",
89
                  "button_cut = Translate([-50,-10,10],Box(10,20,10))",
90
                  "button_cut= FilletEdges(button_cut,2,[1,5,7,3])",
91
                  "",
92
                  "// buttons",
93
                  "let button = Translate([-49,-10,11],Box(3,6,8))",
94
                  "button = FilletEdges(button,1.4,[1,3,5,7]);",
95
                  "button2 = Translate([5,0,0],button,true);",
96
                  "handle = Difference(handle,[button_cut]);",
97
                  "",
98
                  "let handle_inner = Offset(handle,-1,0.01,true)",
99
                  "",
100
                  "// creating hollow shape",
101
                  "let dryer_solid = Union([fanhousing,outlet,handle],false);",
102
                  "// dryer_solid = RemoveInternalEdges(dryer_solid);",
103
                  "dryer_solid = FilletEdges(dryer_solid,5,[49]);",
104
                  "dryer_solid = FilletEdges(dryer_solid,2,[39]);",
105
                  "dryer_solid = FilletEdges(dryer_solid,2,[70]);",
106
                  "",
107
                  "dryer_inner = Union([fanhousing_inner,outlet_in,handle_inner])",
108
                  "dryer_hollow = Difference(dryer_solid,[dryer_inner])",
109
                  "",
110
                  "// vanes",
111
                  "let vane = Translate([2,46,7.5],Box(1,15,15))",
112
                  "vane = ChamferEdges(vane,2,[10,11],false)",
113
                  "let vanes = []",
114
                  "for (j=0;j<=3;j++)",
115
                  "{",
116
                  "    vanes[j] = Translate([5*(j+1),0,0],vane,true)",
117
                  "}",
118
                  "",
119
                  "// creating a cut-away",
120
                  "cutter = Translate([-100,-75,15],Box(150,150,25))",
121
                  "cutaway = Difference(dryer_hollow,[cutter]);",
122
                  ""
123
                ]
124
              },
125
              "width": 50,
126
              "isClosable": false,
127
              "reorderEnabled": true
128
            }
129
          ]
130
        },
131
        {
132
          "type": "column",
133
          "isClosable": true,
134
          "reorderEnabled": true,
135
          "title": "",
136
          "width": 50,
137
          "content": [
138
            {
139
              "type": "stack",
140
              "height": 86.0381861575179,
141
              "isClosable": true,
142
              "reorderEnabled": true,
143
              "title": "",
144
              "activeItemIndex": 0,
145
              "content": [
146
                {
147
                  "type": "component",
148
                  "componentName": "cascadeView",
149
                  "title": "CAD View",
150
                  "componentState": {
151
                    "componentName": "cascadeView",
152
                    "MeshRes": 0.1,
153
                    "MeshResRange": [
154
                      0.01,
155
                      2
156
                    ],
157
                    "Cache?": true,
158
                    "Radius": 30,
159
                    "RadiusRange": [
160
                      20,
161
                      40
162
                    ]
163
                  },
164
                  "isClosable": false,
165
                  "reorderEnabled": true
166
                }
167
              ]
168
            },
169
            {
170
              "type": "stack",
171
              "height": 13.961813842482096,
172
              "isClosable": true,
173
              "reorderEnabled": true,
174
              "title": "",
175
              "activeItemIndex": 0,
176
              "content": [
177
                {
178
                  "type": "component",
179
                  "componentName": "console",
180
                  "title": "Console",
181
                  "componentState": {},
182
                  "height": 20,
183
                  "isClosable": false,
184
                  "reorderEnabled": true
185
                }
186
              ]
187
            }
188
          ]
189
        }
190
      ]
191
    }
192
  ],
193
  "isClosable": true,
194
  "reorderEnabled": true,
195
  "title": "",
196
  "openPopouts": [],
197
  "maximisedItemId": null
198
}

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

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

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

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