chiark / gitweb /
air-hockey-puck: wip
[reprap-play.git] / fruit-bowl-stand.scad
1 // -*- C -*-
2
3 include <utils.scad>
4
5 across = 12.5;
6 r0 = 71;
7 h = 36;
8 feet = 5;
9
10 // calculated
11
12 r_eff_across = across/2 * cos(360/8/2);
13
14 effective_corner = across/2 * [ sin(360/8/2), cos(360/8/2) ];
15
16 r_mid = r0 + effective_corner[0];
17
18 h_mid = h - effective_corner[1] - r_eff_across;;
19
20 module XSection(){
21   rotate(360/8/2)
22     circle(r= across/2, $fn=8);
23 }
24
25 module Ring(){
26   rotate_extrude($fa=1)
27     translate([r_mid, 0,0])
28     XSection();
29 }
30
31 module Foot(){
32   rotate([180,0,0])
33     linear_extrude(h_mid)
34     XSection();
35 }
36
37 module Stand(){
38   Ring();
39   intersection(){
40     for (a=[0:feet-1]) {
41       rotate([0,0, 360*a/feet])
42         translate([-r_mid, 0,0])
43         Foot();
44     }
45
46     linextr(-across - h, across)
47       circle(r= r_mid + r_eff_across, $fa=1);
48   }
49 }
50
51 Stand();