From 24b854b8a8dcde8945903449dd27990a4fd49005 Mon Sep 17 00:00:00 2001
From: Christian Hodgden <chrhodgden@gmail.com>
Date: Tue, 1 Oct 2024 18:01:10 -0500
Subject: candlestick taper > cut mold block

---
 candlestick_molds/taper.scad | 94 ++++++++++++++++++++++++++------------------
 1 file changed, 55 insertions(+), 39 deletions(-)

(limited to 'candlestick_molds/taper.scad')

diff --git a/candlestick_molds/taper.scad b/candlestick_molds/taper.scad
index 3d4a73e..cabc2cc 100644
--- a/candlestick_molds/taper.scad
+++ b/candlestick_molds/taper.scad
@@ -1,39 +1,55 @@
-
-use <../lib/bezier.scad>;
-
-$fn = 100;
-base_radius = 7/8;
-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.25, 0.5],
-		[0.4, 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([-1.5, -1.5, 0.01])
-    	cube([6, 6, total_height]);
-
-	translate([0, 0, 0]) stick();
-	translate([3, 0, 0]) stick();
-	translate([0, 3, 0]) stick();
-	translate([3, 3, 0]) stick();
-};
-
+
+use <../lib/bezier.scad>;
+
+$fn = 100;
+base_radius = 7/8;
+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.25, 0.5],
+		[0.4, 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);
+
+	translate([0, 0, total_height-0.01])
+		cylinder(2, 0.05);
+};
+
+difference() {
+	difference() {
+		// Base Mold Block
+		translate([-1.5, -1.5, 0.01])
+			cube([6, 6, total_height]);
+		
+		// Mold of each stick
+		translate([0, 0, 0]) stick();
+		translate([3, 0, 0]) stick();
+		translate([0, 3, 0]) stick();
+		translate([3, 3, 0]) stick();
+	};
+	
+	// Cut Molds in half
+	// Print 2 of these to form full mold
+	translate([-1.51, -1.51, 0])
+		cube([6.02, 1.51, total_height + 0.02]);
+	translate([-1.51, 3, 0])
+		cube([6.02, 1.51, total_height + 0.02]);
+	
+	
+};
+
-- 
cgit v1.2.3