Sfoglia il codice sorgente

first 15mm firework test

Thomas Buck 6 anni fa
parent
commit
86a44e53e2
2 ha cambiato i file con 18068 aggiunte e 0 eliminazioni
  1. 118
    0
      firework_15mm/firework_15mm.scad
  2. 17950
    0
      firework_15mm/firework_15mm.stl

+ 118
- 0
firework_15mm/firework_15mm.scad Vedi File

@@ -0,0 +1,118 @@
1
+
2
+charge_dia = 16.2;
3
+charge_height = 55.0;
4
+charge_wall = 2.5;
5
+
6
+ignite_dia = 6.8;
7
+ignite_height = 17.0;
8
+ignite_wall = 1.2;
9
+
10
+cable_dia = 5.0;
11
+
12
+base_width = 25;
13
+base_height = 10.0;
14
+base_wall = 3.0;
15
+
16
+hole_dia = 5.0;
17
+hole_len = 8.0;
18
+hole_angle = 45.0;
19
+hole_off = 2.0;
20
+hole_off2 = 5.0;
21
+
22
+$fn = 42;
23
+
24
+module charge() {
25
+    difference() {
26
+        cylinder(d = charge_dia + (2 * charge_wall), h = charge_height + charge_wall);
27
+        
28
+        translate([0, 0, charge_wall])
29
+        cylinder(d = charge_dia, h = charge_height + 1);
30
+        
31
+        translate([0, 0, -1])
32
+        cylinder(d = cable_dia, h = charge_wall + 2);
33
+        
34
+        translate([charge_dia / 2 + charge_wall + hole_off, 0, hole_off2])
35
+        rotate([0, -hole_angle, 0])
36
+        cylinder(d = hole_dia, h = hole_len);
37
+        
38
+        translate([-charge_dia / 2 - charge_wall - hole_off, 0, hole_off2])
39
+        rotate([0, hole_angle, 0])
40
+        cylinder(d = hole_dia, h = hole_len);
41
+        
42
+        translate([0, charge_dia / 2 + charge_wall + hole_off, hole_off2])
43
+        rotate([hole_angle, 0, 0])
44
+        cylinder(d = hole_dia, h = hole_len);
45
+        
46
+        translate([0, -charge_dia / 2 - charge_wall - hole_off, hole_off2])
47
+        rotate([-hole_angle, 0, 0])
48
+        cylinder(d = hole_dia, h = hole_len);
49
+    }
50
+}
51
+
52
+module ignite() {
53
+    difference() {
54
+        cylinder(d = ignite_dia + (2 * ignite_wall), h = ignite_height + ignite_wall);
55
+        
56
+        translate([0, 0, ignite_wall])
57
+        cylinder(d = ignite_dia, h = ignite_height + 1);
58
+        
59
+        translate([0, 0, -1])
60
+        cylinder(d = cable_dia, h = ignite_wall + 2);
61
+    }
62
+}
63
+
64
+module top() {
65
+    charge();
66
+
67
+    translate([0, 0, charge_wall])
68
+    ignite();
69
+}
70
+
71
+module pillars() {
72
+    hull() {
73
+        cube([base_wall, base_wall, base_wall]);
74
+        
75
+        translate([base_width / 2, base_width / 2, base_height + base_wall])
76
+        cylinder(d = charge_dia + (2 * charge_wall), h = 1);
77
+    }
78
+    
79
+    hull() {
80
+        translate([base_width - base_wall, 0, 0])
81
+        cube([base_wall, base_wall, base_wall]);
82
+        
83
+        translate([base_width / 2, base_width / 2, base_height + base_wall])
84
+        cylinder(d = charge_dia + (2 * charge_wall), h = 1);
85
+    }
86
+    
87
+    hull() {
88
+        translate([0, base_width - base_wall, 0])
89
+        cube([base_wall, base_wall, base_wall]);
90
+        
91
+        translate([base_width / 2, base_width / 2, base_height + base_wall])
92
+        cylinder(d = charge_dia + (2 * charge_wall), h = 1);
93
+    }
94
+    
95
+    hull() {
96
+        translate([base_width - base_wall, base_width - base_wall, 0])
97
+        cube([base_wall, base_wall, base_wall]);
98
+        
99
+        translate([base_width / 2, base_width / 2, base_height + base_wall])
100
+        cylinder(d = charge_dia + (2 * charge_wall), h = 1);
101
+    }
102
+}
103
+
104
+module base() {
105
+    cube([base_width, base_width, base_wall]);
106
+    
107
+    difference() {
108
+        pillars();
109
+        
110
+        translate([base_width / 2, base_width / 2, base_wall + 1])
111
+        cylinder(d = cable_dia, h = base_height + 2);
112
+    }
113
+    
114
+    translate([base_width / 2, base_width / 2, base_height + base_wall])
115
+    top();
116
+}
117
+
118
+base();

+ 17950
- 0
firework_15mm/firework_15mm.stl
File diff soppresso perché troppo grande
Vedi File


Loading…
Annulla
Salva