summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad9
1 files changed, 5 insertions, 4 deletions
diff --git a/another.scad b/another.scad
index 0d67286..8334b11 100644
--- a/another.scad
+++ b/another.scad
@@ -104,12 +104,14 @@ module the_extruder(
104 ls_z = filament_elevation; // leverspace mid-z 104 ls_z = filament_elevation; // leverspace mid-z
105 ls_h = lever_thickness+lever_v_clearance; // leverspace height 105 ls_h = lever_thickness+lever_v_clearance; // leverspace height
106 mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell); 106 mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell);
107 body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2); 107 body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2);
108 echo("mount depth",mount_depth); 108 echo("mount depth",mount_depth);
109 109
110 pf_offset = mount_d/sqrt(2)/2+mount_screw_d/2+min_xy_shell;
111
110 module teardrop(r,d,h,center=false,angle=45) { 112 module teardrop(r,d,h,center=false,angle=45) {
111 dd = d ? d : (2*r); 113 dd = d ? d : (2*r);
112 $fn = dd*fnd; 114 $fn = dd*fnd;
113 cylinder(d=dd,h=h,center=center); 115 cylinder(d=dd,h=h,center=center);
114 if(angle>0) translate([0,0,center?-h/2:0]) 116 if(angle>0) translate([0,0,center?-h/2:0])
115 rotate([0,0,angle]) 117 rotate([0,0,angle])
@@ -157,13 +159,13 @@ module the_extruder(
157 rotate([0,0,45]) { 159 rotate([0,0,45]) {
158 translate([pulley_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) { 160 translate([pulley_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) {
159 cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15); 161 cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15);
160 }//rotate translate 162 }//rotate translate
161 translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) { 163 translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) {
162 cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15); 164 cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15);
163 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d]) 165 translate([0,0,pf_offset])
164 pushfit(pf); 166 pushfit(pf);
165 }//rotate translate 167 }//rotate translate
166 }//rotate 168 }//rotate
167 }//translate teeth 169 }//translate teeth
168 }//translate pulley 170 }//translate pulley
169 }//translate protrusion 171 }//translate protrusion
@@ -251,13 +253,13 @@ module the_extruder(
251 }//hull translate 253 }//hull translate
252 254
253 // pushfit bracket 255 // pushfit bracket
254 translate([0,0,filament_elevation]) 256 translate([0,0,filament_elevation])
255 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) 257 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0])
256 rotate([-90,0,0]) 258 rotate([-90,0,0])
257 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) { 259 translate([0,0,pf_offset-gearbox_d/2/*TODO:*/]) {
258 pfbl = pf_h(pf)+gearbox_d/2; //TODO: 260 pfbl = pf_h(pf)+gearbox_d/2; //TODO:
259 pfbd = pf_d(pf)+2*pf_shell; 261 pfbd = pf_d(pf)+2*pf_shell;
260 hull() { 262 hull() {
261 cylinder(d=pfbd,h=pfbl,$fn=pfbd*fnd); 263 cylinder(d=pfbd,h=pfbl,$fn=pfbd*fnd);
262 translate([-epsilon/2,0,0]) { 264 translate([-epsilon/2,0,0]) {
263 cube(size=[epsilon,filament_elevation,pfbl-filament_elevation+pfbd/2]); 265 cube(size=[epsilon,filament_elevation,pfbl-filament_elevation+pfbd/2]);
@@ -279,13 +281,12 @@ module the_extruder(
279 h=mount_screw_l-mount_depth+1, 281 h=mount_screw_l-mount_depth+1,
280 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); 282 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance));
281 translate([0,0,mount_screw_l-mount_depth]) 283 translate([0,0,mount_screw_l-mount_depth])
282 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); 284 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d);
283 }//for 285 }//for
284 // pushfit 286 // pushfit
285 pf_offset = mount_d/sqrt(2)/2+mount_screw_d;
286 translate([0,0,filament_elevation]) 287 translate([0,0,filament_elevation])
287 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) 288 rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0])
288 rotate([-90,0,0]) 289 rotate([-90,0,0])
289 translate([0,0,pf_offset]) 290 translate([0,0,pf_offset])
290 rotate([0,0,180]) { 291 rotate([0,0,180]) {
291 pushfit(pf); 292 pushfit(pf);
@@ -318,13 +319,13 @@ module the_extruder(
318 } 319 }
319 320
320 // back side cutout 321 // back side cutout
321 // XXX: this is somewhat ugly and potentially bugged, 322 // XXX: this is somewhat ugly and potentially bugged,
322 // but I want to sleep. 323 // but I want to sleep.
323 a0_ = atan( 324 a0_ = atan(
324 (mount_d/sqrt(2)/2+mount_screw_d+pf_h(pf)+gearbox_d/2) 325 (pf_offset+pf_h(pf)+gearbox_d/2)
325 / 326 /
326 ( 327 (
327 pulley_d/2+filament_offset- 328 pulley_d/2+filament_offset-
328 (pf_d(pf)+2*pf_shell)/2/cos(30) 329 (pf_d(pf)+2*pf_shell)/2/cos(30)
329 ) 330 )
330 ); 331 );