summaryrefslogtreecommitdiff
path: root/another.scad
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 /another.scad
parent6c61457ea7bfaf0edc28f9e771bf608e2a9bc405 (diff)
downloadextrudery-f123d3acb5e918b6a21af0a65bba4dc0395c73f3.zip
extrudery-f123d3acb5e918b6a21af0a65bba4dc0395c73f3.tar.gz
extrudery-f123d3acb5e918b6a21af0a65bba4dc0395c73f3.tar.bz2
finetune filament offset relative to the pulley
Diffstat (limited to 'another.scad') (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
@@ -17,8 +17,9 @@ module the_extruder(
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
@@ -120,9 +121,9 @@ module the_extruder(
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);
@@ -151,14 +152,14 @@ module the_extruder(
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 ]) {
@@ -245,9 +246,9 @@ module the_extruder(
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) {
@@ -291,9 +292,9 @@ module the_extruder(
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);
@@ -327,9 +328,9 @@ module the_extruder(
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_ );