author | Michael Krelin <hacker@klever.net> | 2018-08-22 10:48:07 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-08-22 10:48:07 (UTC) |
commit | 55fdf941a3514b04e7c49d4428b6cd141e087783 (patch) (unidiff) | |
tree | 9898f9590f369b5279aa97c87b18ad2dfab42986 | |
parent | 4bb6687a7d733a947943b67cf77c3963041c6fb0 (diff) | |
download | extrudery-55fdf941a3514b04e7c49d4428b6cd141e087783.zip extrudery-55fdf941a3514b04e7c49d4428b6cd141e087783.tar.gz extrudery-55fdf941a3514b04e7c49d4428b6cd141e087783.tar.bz2 |
WIP: funnel to catch filament after driving
-rw-r--r-- | another.scad | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/another.scad b/another.scad index 23243d9..4a9fc01 100644 --- a/another.scad +++ b/another.scad | |||
@@ -38,24 +38,25 @@ module the_extruder( | |||
38 | st_screw_d = 5, | 38 | st_screw_d = 5, |
39 | st_thickshell = 8*extrusion_width, st_thinshell = 4*extrusion_width, | 39 | st_thickshell = 8*extrusion_width, st_thinshell = 4*extrusion_width, |
40 | 40 | ||
41 | // screw it | 41 | // screw it |
42 | mount_screw_d = 3.1, mount_screw_l = 20, | 42 | mount_screw_d = 3.1, mount_screw_l = 20, |
43 | mount_screwhead_d=6, mount_screwhead_h=3, | 43 | mount_screwhead_d=6, mount_screwhead_h=3, |
44 | idler_screw_d = 3, | 44 | idler_screw_d = 3, |
45 | idler_screwhead_d=6, idler_screwhead_h=3, | 45 | idler_screwhead_d=6, idler_screwhead_h=3, |
46 | 46 | ||
47 | pf = pushfit_embeddest, | 47 | pf = pushfit_embeddest, |
48 | pf_shell = max(3*layer_height,3*extrusion_width), | 48 | pf_shell = max(3*layer_height,3*extrusion_width), |
49 | pf_smooth = true, | 49 | pf_smooth = true, |
50 | pf_guidelen = 3, // the length of ptfe guide before pushfit | ||
50 | 51 | ||
51 | // empty spaces | 52 | // empty spaces |
52 | idler_travel = 3, // how far should idler travel when pressed | 53 | idler_travel = 3, // how far should idler travel when pressed |
53 | idler_clearance=1, | 54 | idler_clearance=1, |
54 | pulley_d_clearance=2, | 55 | pulley_d_clearance=2, |
55 | lever_v_clearance=.7, // vertical clearance for the lever | 56 | lever_v_clearance=.7, // vertical clearance for the lever |
56 | spring_d_clearance=1, | 57 | spring_d_clearance=1, |
57 | protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion | 58 | protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion |
58 | protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion | 59 | protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion |
59 | mount_screw_d_tolerance=.4, | 60 | mount_screw_d_tolerance=.4, |
60 | idler_v_tolerance=.5, | 61 | idler_v_tolerance=.5, |
61 | knob_bore_d_tolerance=.6, | 62 | knob_bore_d_tolerance=.6, |
@@ -307,25 +308,38 @@ module the_extruder( | |||
307 | h=mount_screw_l-mount_depth+1, | 308 | h=mount_screw_l-mount_depth+1, |
308 | $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); | 309 | $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); |
309 | translate([0,0,mount_screw_l-mount_depth]) | 310 | translate([0,0,mount_screw_l-mount_depth]) |
310 | cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); | 311 | cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); |
311 | }//for | 312 | }//for |
312 | // pushfit | 313 | // pushfit |
313 | translate([0,0,filament_elevation]) | 314 | translate([0,0,filament_elevation]) |
314 | rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) | 315 | rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) |
315 | rotate([-90,0,0]) | 316 | rotate([-90,0,0]) |
316 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) | 317 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) |
317 | rotate([0,0,180]) { | 318 | rotate([0,0,180]) { |
318 | pushfit(pf); | 319 | pushfit(pf); |
319 | mirror([0,1,0]) teardrop(d=filament_guide_d,h=gearbox_d,center=true); | 320 | mirror([0,0,1]) { |
321 | translate([0,0,-epsilon]) | ||
322 | teardrop(d=filament_guide_d,h=pf_guidelen+epsilon,angle=225); | ||
323 | nl = 3.5; /* TODO: */ | ||
324 | translate([0,0,pf_guidelen-1]) | ||
325 | teardrop(d=filament_path_d,h=nl+2,angle=-225); | ||
326 | fh = (filament_guide_d-filament_path_d)/2; | ||
327 | union() { | ||
328 | translate([0,0,pf_guidelen+nl]) | ||
329 | cylinder(d1=filament_path_d,d2=filament_guide_d,h=fh,$fn=fnd*filament_guide_d); | ||
330 | translate([0,0,pf_guidelen+nl+fh-epsilon]) | ||
331 | teardrop(d=filament_guide_d,h=gearbox_d/2,angle=225); | ||
332 | } | ||
333 | } | ||
320 | }//rotate translate rotate translate rotate translate | 334 | }//rotate translate rotate translate rotate translate |
321 | // pulley | 335 | // pulley |
322 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); | 336 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); |
323 | // leverspace | 337 | // leverspace |
324 | hull() for(x=[0,gearbox_d]) | 338 | hull() for(x=[0,gearbox_d]) |
325 | rotate([0,0,45]) | 339 | rotate([0,0,45]) |
326 | translate([x,0,ls_z-ls_h/2]) | 340 | translate([x,0,ls_z-ls_h/2]) |
327 | cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=fnd*(idler_d+idler_clearance)); | 341 | cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=fnd*(idler_d+idler_clearance)); |
328 | 342 | ||
329 | // idler clearance | 343 | // idler clearance |
330 | a=cos(45)*(pulley_d+idler_d)/2; | 344 | a=cos(45)*(pulley_d+idler_d)/2; |
331 | b=mount_d/2-a; | 345 | b=mount_d/2-a; |