summaryrefslogtreecommitdiff
path: root/another.scad
Unidiff
Diffstat (limited to 'another.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad4
1 files changed, 2 insertions, 2 deletions
diff --git a/another.scad b/another.scad
index a3f5dc9..74b7ffa 100644
--- a/another.scad
+++ b/another.scad
@@ -78,24 +78,26 @@ module the_extruder(
78 78
79 idler_filament_offset = filament_path_d/2; // -filament_offset; 79 idler_filament_offset = filament_path_d/2; // -filament_offset;
80 lever_shell = mount_screwhead_h+0.5; 80 lever_shell = mount_screwhead_h+0.5;
81 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 81 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
82 lsd = idler_d-idler_clearance*2; 82 lsd = idler_d-idler_clearance*2;
83 longwing=gearbox_d/2+spring_d/2+lsd/2; 83 longwing=gearbox_d/2+spring_d/2+lsd/2;
84 shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) 84 shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2))
85 sqrt(c*c+pow(a-c,2)); 85 sqrt(c*c+pow(a-c,2));
86 longwing_travel = idler_travel*longwing/shortwing; 86 longwing_travel = idler_travel*longwing/shortwing;
87 h_ = (pulley_d+idler_d)/(2*sqrt(2)); 87 h_ = (pulley_d+idler_d)/(2*sqrt(2));
88 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); 88 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) );
89 spring_dl = idler_travel*longwing/ri; 89 spring_dl = idler_travel*longwing/ri;
90 // finger and spring support
91 fsw = gearbox_d-(gearbox_d-mount_d)/2-max(spring_lc,longwing_travel+(gearbox_d-mount_d)/2);
90 92
91 mount_min_depth = mounthole_min_depth ? mounthole_min_depth : mounthole_depth-1; 93 mount_min_depth = mounthole_min_depth ? mounthole_min_depth : mounthole_depth-1;
92 mount_max_depth = mounthole_max_depth ? mounthole_max_depth : mounthole_depth+1; 94 mount_max_depth = mounthole_max_depth ? mounthole_max_depth : mounthole_depth+1;
93 filament_elevation=protrusion_h+pulley_elevation+teeth_elevation; 95 filament_elevation=protrusion_h+pulley_elevation+teeth_elevation;
94 ls_z = filament_elevation; // leverspace mid-z 96 ls_z = filament_elevation; // leverspace mid-z
95 ls_h = lever_thickness+lever_v_clearance; // leverspace height 97 ls_h = lever_thickness+lever_v_clearance; // leverspace height
96 mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell); 98 mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell);
97 body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2); 99 body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2);
98 echo("mount depth",mount_depth); 100 echo("mount depth",mount_depth);
99 101
100 module teardrop(r,d,h,center=false,angle=45) { 102 module teardrop(r,d,h,center=false,angle=45) {
101 dd = d ? d : (2*r); 103 dd = d ? d : (2*r);
@@ -223,26 +225,24 @@ module the_extruder(
223 // bridging patch 225 // bridging patch
224 if(bridges) place_idler() 226 if(bridges) place_idler()
225 translate([0,0,lever_thickness/2-mount_screwhead_h]) 227 translate([0,0,lever_thickness/2-mount_screwhead_h])
226 mirror([0,0,1]) 228 mirror([0,0,1])
227 cylinder(d=mount_screwhead_d,h=layer_height); 229 cylinder(d=mount_screwhead_d,h=layer_height);
228 }//translate 230 }//translate
229 }//lever module 231 }//lever module
230 232
231 module body() { 233 module body() {
232 difference() { 234 difference() {
233 union() { 235 union() {
234 cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d); 236 cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d);
235 // finger and spring support
236 fsw = gearbox_d-(gearbox_d-mount_d)/2-max(spring_lc,longwing_travel+(gearbox_d-mount_d)/2);
237 translate([-gearbox_d/2,0,0]) difference() { 237 translate([-gearbox_d/2,0,0]) difference() {
238 union() { 238 union() {
239 hull() { 239 hull() {
240 translate([0,-longwing,ls_z]) 240 translate([0,-longwing,ls_z])
241 rotate([0,90,0]) 241 rotate([0,90,0])
242 cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); 242 cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness);
243 hh=body_h-ls_z; 243 hh=body_h-ls_z;
244 translate([0,0,ls_z]) 244 translate([0,0,ls_z])
245 mirror([0,1,0]) cube(size=[fsw,longwing+(st_thinshell+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]); 245 mirror([0,1,0]) cube(size=[fsw,longwing+(st_thinshell+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]);
246 hhh=ls_z; 246 hhh=ls_z;
247 translate([0,0,0]) 247 translate([0,0,0])
248 mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); 248 mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]);