summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-08-11 14:09:22 (UTC)
committer Michael Krelin <hacker@klever.net>2018-08-11 14:09:22 (UTC)
commit495bcda94c4b32b13044cfa9e97c8ea25b32cdfb (patch) (unidiff)
treee2c9f50fe09a5b279bd6c84ad8a419e8fd2b8fa3
parent83611090e9424595714c8fe041a1b8a4d2d36925 (diff)
downloadextrudery-495bcda94c4b32b13044cfa9e97c8ea25b32cdfb.zip
extrudery-495bcda94c4b32b13044cfa9e97c8ea25b32cdfb.tar.gz
extrudery-495bcda94c4b32b13044cfa9e97c8ea25b32cdfb.tar.bz2
smaller and nicer pushfit compartment
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad22
1 files changed, 18 insertions, 4 deletions
diff --git a/another.scad b/another.scad
index 342d70c..2ea5417 100644
--- a/another.scad
+++ b/another.scad
@@ -40,12 +40,13 @@ module the_extruder(
40 mount_screw_d = 3.1, mount_screw_l = 20, 40 mount_screw_d = 3.1, mount_screw_l = 20,
41 mount_screwhead_d=6, mount_screwhead_h=3, 41 mount_screwhead_d=6, mount_screwhead_h=3,
42 idler_screw_d = 3, 42 idler_screw_d = 3,
43 idler_screwhead_d=6, idler_screwhead_h=3, 43 idler_screwhead_d=6, idler_screwhead_h=3,
44 44
45 pf = pushfit_embeddest, 45 pf = pushfit_embeddest,
46 pf_shell = max(3*layer_height,3*extrusion_width),
46 47
47 // empty spaces 48 // empty spaces
48 idler_travel = 3, // how far should idler travel when pressed 49 idler_travel = 3, // how far should idler travel when pressed
49 idler_clearance=1, 50 idler_clearance=1,
50 pulley_clearance=2, 51 pulley_clearance=2,
51 lever_v_clearance=.7, // vertical clearance for the lever 52 lever_v_clearance=.7, // vertical clearance for the lever
@@ -241,16 +242,29 @@ module the_extruder(
241 } 242 }
242 } 243 }
243 } // translate 244 } // translate
244 245
245 // pushfit bracket 246 // pushfit bracket
246 translate([0,0,filament_elevation]) 247 translate([0,0,filament_elevation])
247 rotate([0,0,45]) translate([pulley_d/2,0,0]) 248 rotate([0,0,45]) translate([(pulley_d-filament_path_d)/2,0,0])
248 rotate([-90,0,0]) 249 rotate([-90,0,0])
249 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) 250 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) {
250 cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6); 251 pfb2a = pf_d(pf)+2*pf_shell; pfba = pfb2a/2;
252 pfbd = pfb2a/cos(30);
253 pfbs = pfb2a*tan(30);
254 pfbl = pf_h(pf)+gearbox_d/2/*TODO:*/;
255 cylinder(d=pfbd,h=pfbl,$fn=6);
256 translate([-pfbs/2,0,0]) {
257 hull() {
258 translate([0,-pfba,0]) cube(size=[pfbs,pfb2a,pfbl]);
259 cube(size=[pfbs,filament_elevation,pfbl-filament_elevation+pfba]);
260 mirror([0,1,0])
261 cube(size=[pfbs,body_h-filament_elevation,pfbl-body_h+filament_elevation+pfba]);
262 }
263 }
264 }
251 }//union (first child of difference) 265 }//union (first child of difference)
252 266
253 // protrusion 267 // protrusion
254 translate([0,0,-1]) 268 translate([0,0,-1])
255 cylinder(d=protrusion_d+protrusion_tolerance_h,h=protrusion_h+protrusion_tolerance_v+1,$fn=fnd*(protrusion_d+protrusion_tolerance_h)); 269 cylinder(d=protrusion_d+protrusion_tolerance_h,h=protrusion_h+protrusion_tolerance_v+1,$fn=fnd*(protrusion_d+protrusion_tolerance_h));
256 // mount screw holes 270 // mount screw holes
@@ -262,13 +276,13 @@ module the_extruder(
262 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); 276 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance));
263 translate([0,0,mount_screw_l-mounthole_depth/2]) 277 translate([0,0,mount_screw_l-mounthole_depth/2])
264 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); 278 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d);
265 }//for 279 }//for
266 // pushfit 280 // pushfit
267 translate([0,0,filament_elevation]) 281 translate([0,0,filament_elevation])
268 rotate([0,0,45]) translate([pulley_d/2,0,0]) 282 rotate([0,0,45]) translate([(pulley_d-filament_path_d)/2,0,0])
269 rotate([-90,0,0]) 283 rotate([-90,0,0])
270 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) 284 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon])
271 rotate([0,0,180]) { 285 rotate([0,0,180]) {
272 pushfit(pf); 286 pushfit(pf);
273 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d); 287 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d);
274 translate([0,-filament_guide_d/2/sqrt(2),0]) 288 translate([0,-filament_guide_d/2/sqrt(2),0])