diff options
Diffstat (limited to 'candles')
-rw-r--r-- | candles/diamond.scad | 29 | ||||
-rw-r--r-- | candles/diamond.stl | bin | 0 -> 3584 bytes | |||
-rw-r--r-- | candles/taper.scad | 28 | ||||
-rw-r--r-- | candles/taper.stl | bin | 0 -> 480784 bytes |
4 files changed, 57 insertions, 0 deletions
diff --git a/candles/diamond.scad b/candles/diamond.scad new file mode 100644 index 0000000..ba8aabb --- /dev/null +++ b/candles/diamond.scad @@ -0,0 +1,29 @@ + +face_diagonal = sqrt(2); +cube_diagonal = sqrt((face_diagonal^2)+1); +angle = asin(face_diagonal/cube_diagonal); +point_height_1 = cos(angle); +point_height_2 = (cube_diagonal-(2*point_height_1)); + +module diamond(vertical_position=0) { + rotate([0, 0, vertical_position*60]) + scale([1, 1, 2]) + translate([0, 0, vertical_position * point_height_2]) + translate([0, 0, -point_height_1]) + rotate(angle, [1, -1, 0]) + cube(); +} + +difference() { + diamond(0); + translate([-2, -2, -2]) + cube([4, 4, 2]); +} +diamond(1); +diamond(2); +diamond(3); +diamond(4); +diamond(5); +diamond(6); +diamond(7); + diff --git a/candles/diamond.stl b/candles/diamond.stl Binary files differnew file mode 100644 index 0000000..0fa58fb --- /dev/null +++ b/candles/diamond.stl 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); + diff --git a/candles/taper.stl b/candles/taper.stl Binary files differnew file mode 100644 index 0000000..c8029aa --- /dev/null +++ b/candles/taper.stl |