diff options
author | Christian Hodgden <chrhodgden@gmail.com> | 2024-10-12 23:39:07 +0000 |
---|---|---|
committer | Christian Hodgden <chrhodgden@gmail.com> | 2024-10-12 23:39:07 +0000 |
commit | f673fc6d912327068edcf59340d5a074b391de9d (patch) | |
tree | a5c84da41cf590dbb11b8c7ed0546e0d17e2efcf /candlestick_molds/taper.scad | |
parent | 4911733a831aae8a33638e175290c740a43f81e3 (diff) |
updated candlestick taper to print in 2 halves
Diffstat (limited to 'candlestick_molds/taper.scad')
-rw-r--r-- | candlestick_molds/taper.scad | 37 |
1 files changed, 37 insertions, 0 deletions
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]);
+};
|