From db9a82bdfa4bfddd5dff479b44c9cc8e4b0368b8 Mon Sep 17 00:00:00 2001 From: Christian Hodgden Date: Tue, 1 Oct 2024 01:10:47 +0000 Subject: Added candlestick_molds/taper. --- candlestick_molds/taper.scad | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 candlestick_molds/taper.scad diff --git a/candlestick_molds/taper.scad b/candlestick_molds/taper.scad new file mode 100644 index 0000000..3d4a73e --- /dev/null +++ b/candlestick_molds/taper.scad @@ -0,0 +1,39 @@ + +use <../lib/bezier.scad>; + +$fn = 100; +base_radius = 7/8; +top_radius = base_radius * 0.75; +top_height = top_radius * 2; +total_height = 10; +stem_height = total_height - top_height; + +module stick() { + cylinder(stem_height, base_radius, top_radius); + + control_points = [ + [top_radius, 0], + [0.25, 0.5], + [0.4, top_height], + [0, top_height] + ]; + // adjust curve_facets for low & odd $fn values + curve_facets = $fn/2; + head_curve = bezier_curve(control_points, $fn=curve_facets); + top_curve = concat(head_curve, [[0, 0]]); + + translate([0, 0, stem_height]) + rotate_extrude() + polygon(top_curve); +}; + +difference() { + translate([-1.5, -1.5, 0.01]) + cube([6, 6, total_height]); + + translate([0, 0, 0]) stick(); + translate([3, 0, 0]) stick(); + translate([0, 3, 0]) stick(); + translate([3, 3, 0]) stick(); +}; + -- cgit v1.2.3