From f673fc6d912327068edcf59340d5a074b391de9d Mon Sep 17 00:00:00 2001 From: Christian Hodgden Date: Sat, 12 Oct 2024 23:39:07 +0000 Subject: updated candlestick taper to print in 2 halves --- candlestick_molds/taper.scad | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 candlestick_molds/taper.scad (limited to 'candlestick_molds/taper.scad') diff --git a/candlestick_molds/taper.scad b/candlestick_molds/taper.scad new file mode 100644 index 0000000..97356dd --- /dev/null +++ b/candlestick_molds/taper.scad @@ -0,0 +1,37 @@ + +use <../lib/bezier.scad>; + +$fn = 100; +base_radius = (7/8)/2; +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.125, top_height/4], + [0.125, top_height/2], + [0.125, 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([0, 0, 0]) + stick(); + translate([-1.5, -1.5, -0.01]) + cube([3, 3, 5.01]); +}; -- cgit v1.2.3