mead-horn: first attempt at a mini mead horn for solstice gathering
[clinton/3d-models.git] / mead-horn / mead-horn.scad
1 // 2021
2
3 // Single person mead horn, for winter solstice 2021 since sharing
4 // mead from the real horn is probably still unsafe.
5
6 // https://openhome.cc/eGossip/OpenSCAD/lib3x-golden_spiral_extrude.html
7 use <dotscad/shape_circle.scad>;
8 use <dotscad/golden_spiral_extrude.scad>;
9 use <dotscad/helix_extrude.scad>;
10
11 bottom_radius = 4;
12 top_radius = 30;
13 horn_length = 135;
14
15 module helix_horn () {
16 helix_levels = 1/6;
17
18 arc_measure = (360 * helix_levels) * (3.13 / 180) ;
19 arc_length = horn_length;
20
21 helix_radius = (arc_length / arc_measure);
22 echo (helix_radius);
23
24
25 translate ([helix_radius, 0, 0]) scale ([1, 1/2, 1]) intersection () {
26 sphere (r = bottom_radius);
27 rotate ([90, 0, 0]) cylinder (h = bottom_radius, r = bottom_radius, center=false);
28 }
29
30 shape_pts = shape_circle (radius = bottom_radius);
31
32 helix_extrude(shape_pts,
33 radius = helix_radius,
34 scale = top_radius/bottom_radius,
35 levels = helix_levels,
36 level_dist = top_radius * 5,
37 vt_dir = "SPI_UP"
38 );
39 }
40
41 helix_horn ($fs = 0.3, $fa = 1);
42
43
44
45 //linear_extrude (height = 120, scale = top_radius/bottom_radius, twist = 500) {
46 // circle (r = bottom_radius, $fn=5);
47 //}
48
49
50 /*
51 $fn = 64;
52 //shape_pts = concat(
53 // shape_circle(radius = 3),
54 // shape_circle(radius = 2.5)
55 //);
56 shape_pts = shape_circle(radius = 2);
57
58 golden_spiral_extrude(
59 shape_pts,
60 from = 7,
61 to = 10,
62 point_distance = 1,
63 scale = 10,
64 triangles = "SOLID"
65 );
66 */