CascadeStudio_3D_Manual

Форк
0
66 строк · 2.1 Кб
1
// Model of a hair dryer, loosely based on Braun model from 70'
2
// ============================================================
3

4
// parameters
5
let fanRadius       = 30;
6
let fanThickness    = 30;
7
let fanCutoutRadius = 20;
8
let fanCutoutDepth  = 5 ;
9
let fanRounding     = 10;
10
let lidRadius       = 19;
11
let lidThickness    = 3;
12
let lidRounding     = 2;
13

14
// fanhousing
15
let fanhousing = Cylinder(fanRadius,fanThickness)
16
fanhousing = FilletEdges(fanhousing,fanRounding,[0,2],false);
17
let cutout = Translate([0,0,fanThickness-fanCutoutDepth],Cylinder(fanCutoutRadius,fanCutoutDepth+10));
18
fanhousing = Difference(fanhousing,[cutout],false);
19
let fanhousing_inner = Offset(fanhousing,-1.5,0.01,true);
20

21
// lid on cutout /airintake
22
// let lid = Translate([0,0,fanThickness-lidThickness],Cylinder(lidRadius,lidThickness))
23
// lid = FilletEdges(lid,lidRounding,[0]);
24

25
// outlet
26
let outlet = Translate([-2,0,6], Box(30,60,18) )
27
outlet = FilletEdges(outlet,5,[1,3,5,7]);
28
let outlet_inner = Offset(outlet, -1.5, 0.01, true)
29
outlet_in = Translate([0,3,0],outlet_inner)
30

31
// handle
32
let handle = Translate([0,-30,7],Box(-80,25,16))
33
handle = FilletEdges(handle,5,[11,10,9,8,]);
34
button_cut = Translate([-50,-10,10],Box(10,20,10))
35
button_cut= FilletEdges(button_cut,2,[1,5,7,3])
36

37
// buttons
38
let button = Translate([-49,-10,11],Box(3,6,8))
39
button = FilletEdges(button,1.4,[1,3,5,7]);
40
button2 = Translate([5,0,0],button,true);
41
handle = Difference(handle,[button_cut]);
42

43
let handle_inner = Offset(handle,-1,0.01,true)
44

45
// creating hollow shape
46
let dryer_solid = Union([fanhousing,outlet,handle],false);
47
// dryer_solid = RemoveInternalEdges(dryer_solid);
48
dryer_solid = FilletEdges(dryer_solid,5,[49]);
49
dryer_solid = FilletEdges(dryer_solid,2,[39]);
50
dryer_solid = FilletEdges(dryer_solid,2,[70]);
51

52
dryer_inner = Union([fanhousing_inner,outlet_in,handle_inner])
53
dryer_hollow = Difference(dryer_solid,[dryer_inner])
54

55
// vanes
56
let vane = Translate([2,46,7.5],Box(1,15,15))
57
vane = ChamferEdges(vane,2,[10,11],false)
58
let vanes = []
59
for (j=0;j<=3;j++)
60
{
61
    vanes[j] = Translate([5*(j+1),0,0],vane,true)
62
}
63

64
// creating a cut-away
65
cutter = Translate([-100,-75,15],Box(150,150,25))
66
cutaway = Difference(dryer_hollow,[cutter]);
67

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

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

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

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