diff options
author | Christian Hodgden <chrhodgden@gmail.com> | 2024-10-02 17:37:37 -0500 |
---|---|---|
committer | Christian Hodgden <chrhodgden@gmail.com> | 2024-10-02 17:37:37 -0500 |
commit | af591782f036c5558ba4b116d8fe47b2e9f392d8 (patch) | |
tree | a83407be288e3e6d7e5baa1d79d9c65faf73df84 /candlestick_molds/taper_block.scad | |
parent | 24b854b8a8dcde8945903449dd27990a4fd49005 (diff) |
candlestick molds > taper block: renamed and sized wick hole
Diffstat (limited to 'candlestick_molds/taper_block.scad')
-rw-r--r-- | candlestick_molds/taper_block.scad | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/candlestick_molds/taper_block.scad b/candlestick_molds/taper_block.scad new file mode 100644 index 0000000..28f455a --- /dev/null +++ b/candlestick_molds/taper_block.scad @@ -0,0 +1,51 @@ + +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 + 0.01, 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); + + translate([0, 0, total_height-0.5]) + cylinder(r = 0.03); +}; + +difference() { + // Base Mold Block + translate([-1.5, -1.5, 0.01]) + cube([6, 6, total_height]); + + // Mold of each stick + translate([0, 0, 0]) stick(); + translate([3, 0, 0]) stick(); + translate([0, 3, 0]) stick(); + translate([3, 3, 0]) stick(); + + // Cut Molds in half + // Print 2 of these to form full mold + translate([-1.51, -1.51, 0]) + cube([6.02, 1.51, total_height + 0.02]); + translate([-1.51, 3, 0]) + cube([6.02, 1.51, total_height + 0.02]); +}; + |