From 001c3aa7035a8ef675b53c7f2a8d80148b71ae2b Mon Sep 17 00:00:00 2001
From: Christian Hodgden <chrhodgden@gmail.com>
Date: Sun, 13 Oct 2024 20:59:36 -0500
Subject: Updated Candles

1. Adjusted heights. 2. Regenerated stls. 3. Renamed direcory to candles.
---
 candles/diamond.scad |  29 +++++++++++++++++++++++++++++
 candles/diamond.stl  | Bin 0 -> 3584 bytes
 candles/taper.scad   |  28 ++++++++++++++++++++++++++++
 candles/taper.stl    | Bin 0 -> 480784 bytes
 4 files changed, 57 insertions(+)
 create mode 100644 candles/diamond.scad
 create mode 100644 candles/diamond.stl
 create mode 100644 candles/taper.scad
 create mode 100644 candles/taper.stl

(limited to 'candles')

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
Binary files /dev/null and b/candles/diamond.stl 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
Binary files /dev/null and b/candles/taper.stl differ
-- 
cgit v1.2.3