diff options
Diffstat (limited to 'candles/taper.scad')
-rw-r--r-- | candles/taper.scad | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/candles/taper.scad b/candles/taper.scad new file mode 100644 index 0000000..5d8fff5 --- /dev/null +++ b/candles/taper.scad @@ -0,0 +1,28 @@ + +use <../lib/bezier.scad>; + +$fn = 100; +base_radius = 3/8; +top_radius = base_radius * 0.75; +top_height = top_radius * 2; +total_height = 7.5; +stem_height = total_height - top_height; + +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); + |