summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-08-22 10:47:08 (UTC)
committer Michael Krelin <hacker@klever.net>2018-08-22 10:47:08 (UTC)
commit4bb6687a7d733a947943b67cf77c3963041c6fb0 (patch) (unidiff)
tree67e1e7b383c289ad41865ccfcc85f0ce9e95717e
parent2bb1330fffd3b2c7d83361f536eb155640e4c867 (diff)
downloadextrudery-4bb6687a7d733a947943b67cf77c3963041c6fb0.zip
extrudery-4bb6687a7d733a947943b67cf77c3963041c6fb0.tar.gz
extrudery-4bb6687a7d733a947943b67cf77c3963041c6fb0.tar.bz2
teardrop module
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad33
1 files changed, 18 insertions, 15 deletions
diff --git a/another.scad b/another.scad
index f4e8904..23243d9 100644
--- a/another.scad
+++ b/another.scad
@@ -92,6 +92,15 @@ module the_extruder(
92 body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2); 92 body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2);
93 echo("mount depth",mount_depth); 93 echo("mount depth",mount_depth);
94 94
95 module teardrop(r,d,h,center=false,angle=45) {
96 dd = d ? d : (2*r);
97 $fn = dd*fnd;
98 cylinder(d=dd,h=h,center=center);
99 if(angle>0) translate([0,0,center?-h/2:0])
100 rotate([0,0,angle])
101 cube(size=[d/2,d/2,h]);
102 }
103
95 module mirrorleft() { 104 module mirrorleft() {
96 mirror([left?0:1,0,0]) children(); 105 mirror([left?0:1,0,0]) children();
97 } 106 }
@@ -164,14 +173,11 @@ module the_extruder(
164 }//union 173 }//union
165 174
166 // filament path 175 // filament path
167 place_idler() { 176 place_idler()
168 translate([-idler_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) { 177 translate([-idler_d/2-idler_filament_offset,0,0])
169 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30); 178 rotate([90,0,0]) {
170 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45]) 179 mirror([0,1,0])
171 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true); 180 teardrop(d=filament_path_d,h=3*gearbox_d,center=true);
172 }//rotate translate
173 translate([-idler_d/2-idler_filament_offset,0,0])
174 rotate([90,0,0])
175 translate([0,0, 181 translate([0,0,
176 sqrt(2)*(mount_d-pulley_d+lsd)/2 182 sqrt(2)*(mount_d-pulley_d+lsd)/2
177 ]) { 183 ]) {
@@ -179,9 +185,9 @@ module the_extruder(
179 h=filament_path_d,$fn=2*filament_path_d*fnd); 185 h=filament_path_d,$fn=2*filament_path_d*fnd);
180 translate([0,0,filament_path_d-epsilon]) 186 translate([0,0,filament_path_d-epsilon])
181 cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd); 187 cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd);
182 } 188 }//translate
183 }//place_idler 189 }//rotate translate place_idler
184 190
185 // idler space and mounting hole 191 // idler space and mounting hole
186 place_idler() { 192 place_idler() {
187 difference() { 193 difference() {
@@ -310,10 +316,7 @@ module the_extruder(
310 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) 316 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon])
311 rotate([0,0,180]) { 317 rotate([0,0,180]) {
312 pushfit(pf); 318 pushfit(pf);
313 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d); 319 mirror([0,1,0]) teardrop(d=filament_guide_d,h=gearbox_d,center=true);
314 translate([0,-filament_guide_d/2/sqrt(2),0])
315 rotate([0,0,45])
316 cube(size=[filament_guide_d/2,filament_guide_d/2,gearbox_d],center=true);
317 }//rotate translate rotate translate rotate translate 320 }//rotate translate rotate translate rotate translate
318 // pulley 321 // pulley
319 cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); 322 cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance));