From 3a99837e240f580da6c4d9a194ec024785ca57a3 Mon Sep 17 00:00:00 2001 From: Remi Rampin Date: Wed, 27 Mar 2024 18:19:04 -0400 Subject: [PATCH] Print-in-place attempt --- powder-loader.scad | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/powder-loader.scad b/powder-loader.scad index a0cf90b..441451f 100644 --- a/powder-loader.scad +++ b/powder-loader.scad @@ -14,6 +14,8 @@ funnel_size = 1; part = 0; +part_sep = 0.2; + module _end_of_customizer() {} assert(part >= 0 && part <= 2); @@ -38,9 +40,16 @@ color("#777") overall_cylinder(); module bottom() { - for(i = [0:5]) { - rotate([0, 0, i / 6 * 360]) - bottom_part(); + difference() { + union() { + for(i = [0:5]) { + rotate([0, 0, i / 6 * 360]) + bottom_part(); + } + } + + translate([0, 0, bottom_height]) + connection(true); } } @@ -84,6 +93,8 @@ module top() { rotate([0, 0, i / 6 * 360]) top_part(); } + + connection(false); } module top_part() { @@ -118,9 +129,20 @@ module top_part_hollow() { if(part == 0 || part == 2) color("#4d48") -translate([0, 0, bottom_height]) +translate([0, 0, bottom_height + part_sep]) top(); +module connection(hole) { + sep_hole = hole?part_sep:0; + sep_screw = hole?0:part_sep; + + translate([0, 0, -1.5 - sep_screw * 2]) + cylinder(d = 4 + sep_hole, h = 1.5 + sep_screw * 2); + + translate([0, 0, -3 - sep_screw * 2]) + cylinder(d1 = 8 + sep_hole, d2 = 4 + sep_hole, h = 1.5); +} + if($preview && part == 1) color("#f008") for(i = [0:5]) {