aboutsummaryrefslogtreecommitdiff
path: root/candles
diff options
context:
space:
mode:
Diffstat (limited to 'candles')
-rw-r--r--candles/diamond.scad29
-rw-r--r--candles/diamond.stlbin0 -> 3584 bytes
-rw-r--r--candles/taper.scad28
-rw-r--r--candles/taper.stlbin0 -> 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
new file mode 100644
index 0000000..0fa58fb
--- /dev/null
+++ b/candles/diamond.stl
Binary files differ
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
new file mode 100644
index 0000000..c8029aa
--- /dev/null
+++ b/candles/taper.stl
Binary files differ