From 3ced4dd888967be4f7feb258b1ac709c6983338a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 1 Oct 2022 17:20:13 +0100 Subject: [PATCH] fruit-bowl-stand: wip Signed-off-by: Ian Jackson --- fruit-bowl-stand.scad | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 fruit-bowl-stand.scad diff --git a/fruit-bowl-stand.scad b/fruit-bowl-stand.scad new file mode 100644 index 0000000..634f4d6 --- /dev/null +++ b/fruit-bowl-stand.scad @@ -0,0 +1,51 @@ +// -*- C -*- + +include + +across = 12.5; +r0 = 71; +h = 36; +feet = 5; + +// calculated + +r_eff_across = across/2 * cos(360/8/2); + +effective_corner = across/2 * [ sin(360/8/2), cos(360/8/2) ]; + +r_mid = r0 + effective_corner[0]; + +h_mid = h - effective_corner[1] - r_eff_across;; + +module XSection(){ + rotate(360/8/2) + circle(r= across/2, $fn=8); +} + +module Ring(){ + rotate_extrude($fa=1) + translate([r_mid, 0,0]) + XSection(); +} + +module Foot(){ + rotate([180,0,0]) + linear_extrude(h_mid) + XSection(); +} + +module Stand(){ + Ring(); + intersection(){ + for (a=[0:feet-1]) { + rotate([0,0, 360*a/feet]) + translate([-r_mid, 0,0]) + Foot(); + } + + linextr(-across - h, across) + circle(r= r_mid + r_eff_across, $fa=1); + } +} + +Stand(); -- 2.30.2