summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-08-12 21:20:15 (UTC)
committer Michael Krelin <hacker@klever.net>2018-08-12 21:20:15 (UTC)
commitf123d3acb5e918b6a21af0a65bba4dc0395c73f3 (patch) (unidiff)
treeac940d2b2c28ce486eee0b34872345d92e789901
parent6c61457ea7bfaf0edc28f9e771bf608e2a9bc405 (diff)
downloadextrudery-f123d3acb5e918b6a21af0a65bba4dc0395c73f3.zip
extrudery-f123d3acb5e918b6a21af0a65bba4dc0395c73f3.tar.gz
extrudery-f123d3acb5e918b6a21af0a65bba4dc0395c73f3.tar.bz2
finetune filament offset relative to the pulley
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad13
1 files changed, 7 insertions, 6 deletions
diff --git a/another.scad b/another.scad
index b80d0d0..a93d21a 100644
--- a/another.scad
+++ b/another.scad
@@ -15,12 +15,13 @@ module the_extruder(
15 bore_d = 8, bore_l = 17.6, 15 bore_d = 8, bore_l = 17.6,
16 bore_dd = 7, 16 bore_dd = 7,
17 // pulley properties 17 // pulley properties
18 pulley_d = 11.5, pulley_h=10, 18 pulley_d = 11.5, pulley_h=10,
19 pulley_elevation = 1, // pulley elevation above the protrusion 19 pulley_elevation = 1, // pulley elevation above the protrusion
20 teeth_elevation = 7.5, // distance from the bottom of the pulley to its teeth 20 teeth_elevation = 7.5, // distance from the bottom of the pulley to its teeth
21 filament_offset = (8.25-(3.0+3.5)/2) - 11.5/2 + 1.75/2,
21 // idler properties 22 // idler properties
22 idler_d = 9.5, idler_h = 4, idler_id = 3,// idler dimensions: outer and inner diameters and height 23 idler_d = 9.5, idler_h = 4, idler_id = 3,// idler dimensions: outer and inner diameters and height
23 // spring properties 24 // spring properties
24 spring_d = 10, spring_lc = 9.6, // spring diameter and compressed length 25 spring_d = 10, spring_lc = 9.6, // spring diameter and compressed length
25 // filament path properties 26 // filament path properties
26 filament_d = 1.75, 27 filament_d = 1.75,
@@ -118,13 +119,13 @@ module the_extruder(
118 translate([0,0,teeth_elevation]) { 119 translate([0,0,teeth_elevation]) {
119 place_idler() { 120 place_idler() {
120 cylinder(d=idler_d,h=idler_h,center=true,$fn=30); 121 cylinder(d=idler_d,h=idler_h,center=true,$fn=30);
121 cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30); 122 cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30);
122 }//place idler 123 }//place idler
123 // filament path 124 // filament path
124 rotate([0,0,45]) translate([pulley_d/2,0,0]) { 125 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) {
125 rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15); 126 rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15);
126 rotate([-90,0,0]) 127 rotate([-90,0,0])
127 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d]) 128 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d])
128 pushfit(pf); 129 pushfit(pf);
129 } 130 }
130 }//translate teeth 131 }//translate teeth
@@ -149,18 +150,18 @@ module the_extruder(
149 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60); 150 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60);
150 }//hull 151 }//hull
151 }//union 152 }//union
152 153
153 // filament path 154 // filament path
154 place_idler() { 155 place_idler() {
155 translate([-idler_d/2,0,0]) rotate([90,0,0]) { 156 translate([-idler_d/2+filament_offset,0,0]) rotate([90,0,0]) {
156 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30); 157 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30);
157 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45]) 158 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45])
158 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true); 159 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true);
159 }//rotate translate 160 }//rotate translate
160 translate([-idler_d/2,0,0]) 161 translate([-idler_d/2+filament_offset,0,0])
161 rotate([90,0,0]) 162 rotate([90,0,0])
162 translate([0,0, 163 translate([0,0,
163 sqrt(2)*(mount_d-pulley_d+lsd)/2 164 sqrt(2)*(mount_d-pulley_d+lsd)/2
164 ]) { 165 ]) {
165 cylinder(d1=filament_path_d,d2=2*filament_path_d, 166 cylinder(d1=filament_path_d,d2=2*filament_path_d,
166 h=filament_path_d,$fn=2*filament_path_d*fnd); 167 h=filament_path_d,$fn=2*filament_path_d*fnd);
@@ -243,13 +244,13 @@ module the_extruder(
243 } 244 }
244 } 245 }
245 } // translate 246 } // translate
246 247
247 // pushfit bracket 248 // pushfit bracket
248 translate([0,0,filament_elevation]) 249 translate([0,0,filament_elevation])
249 rotate([0,0,45]) translate([pulley_d/2,0,0]) 250 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0])
250 rotate([-90,0,0]) 251 rotate([-90,0,0])
251 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) { 252 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) {
252 pfbl = pf_h(pf)+gearbox_d/2; //TODO: 253 pfbl = pf_h(pf)+gearbox_d/2; //TODO:
253 if(pf_smooth) { 254 if(pf_smooth) {
254 pfbd = pf_d(pf)+2*pf_shell; 255 pfbd = pf_d(pf)+2*pf_shell;
255 hull() { 256 hull() {
@@ -289,13 +290,13 @@ module the_extruder(
289 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); 290 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance));
290 translate([0,0,mount_screw_l-mounthole_depth/2]) 291 translate([0,0,mount_screw_l-mounthole_depth/2])
291 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); 292 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d);
292 }//for 293 }//for
293 // pushfit 294 // pushfit
294 translate([0,0,filament_elevation]) 295 translate([0,0,filament_elevation])
295 rotate([0,0,45]) translate([pulley_d/2,0,0]) 296 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0])
296 rotate([-90,0,0]) 297 rotate([-90,0,0])
297 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) 298 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon])
298 rotate([0,0,180]) { 299 rotate([0,0,180]) {
299 pushfit(pf); 300 pushfit(pf);
300 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d); 301 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d);
301 translate([0,-filament_guide_d/2/sqrt(2),0]) 302 translate([0,-filament_guide_d/2/sqrt(2),0])
@@ -325,13 +326,13 @@ module the_extruder(
325 // XXX: this is somewhat ugly and potentially bugged, 326 // XXX: this is somewhat ugly and potentially bugged,
326 // but I want to sleep. 327 // but I want to sleep.
327 a0_ = atan( 328 a0_ = atan(
328 (mount_d/sqrt(2)/2+mount_screw_d+pf_h(pf)+gearbox_d/2) 329 (mount_d/sqrt(2)/2+mount_screw_d+pf_h(pf)+gearbox_d/2)
329 / 330 /
330 ( 331 (
331 pulley_d/2- 332 pulley_d/2+filament_offset-
332 (pf_d(pf)+2*pf_shell)/2/cos(30) 333 (pf_d(pf)+2*pf_shell)/2/cos(30)
333 ) 334 )
334 ); 335 );
335 a0 = -135 + ( (a0_>0) ? a0_ : 180+a0_ ); 336 a0 = -135 + ( (a0_>0) ? a0_ : 180+a0_ );
336 a1 = atan((longwing-lever_thickness/2)/(gearbox_d/2)); 337 a1 = atan((longwing-lever_thickness/2)/(gearbox_d/2));
337 translate([0,0,ls_z]) difference() { 338 translate([0,0,ls_z]) difference() {