diff options
author | Christian Hodgden <chrhodgden@gmail.com> | 2024-10-01 18:01:10 -0500 |
---|---|---|
committer | Christian Hodgden <chrhodgden@gmail.com> | 2024-10-01 18:01:10 -0500 |
commit | 24b854b8a8dcde8945903449dd27990a4fd49005 (patch) | |
tree | 1efb96ab2566adef817b8efd6351e9f755c5aad8 | |
parent | db9a82bdfa4bfddd5dff479b44c9cc8e4b0368b8 (diff) |
candlestick taper > cut mold block
-rw-r--r-- | candlestick_molds/taper.scad | 94 | ||||
-rwxr-xr-x | lib/measure_stl.py | 3 | ||||
-rw-r--r-- | lib/view_stl.scad | 2 |
3 files changed, 58 insertions, 41 deletions
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]); + + +}; + diff --git a/lib/measure_stl.py b/lib/measure_stl.py index f76cd88..8abd81b 100755 --- a/lib/measure_stl.py +++ b/lib/measure_stl.py @@ -8,7 +8,8 @@ from stl import mesh -file_path = './dummy13/src/frame-waist-v6.stl' +file_path = './dummy13/src/armor-crotch-v12.stl' +#file_path = './dummy13/src/armor-waist-v30.stl' #file_path = './dummy13/src/frame-hips-v3.stl' mesh = mesh.Mesh.from_file(file_path) diff --git a/lib/view_stl.scad b/lib/view_stl.scad index 9fa795d..f4aac61 100644 --- a/lib/view_stl.scad +++ b/lib/view_stl.scad @@ -1,2 +1,2 @@ -import ("../dummy13/frame_sample_sizes.stl"); +import ("../dummy13/armor_sample_sizes.stl"); |