summaryrefslogtreecommitdiff
path: root/another.scad
Unidiff
Diffstat (limited to 'another.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad8
1 files changed, 4 insertions, 4 deletions
diff --git a/another.scad b/another.scad
index 9ed285d..7e7f22d 100644
--- a/another.scad
+++ b/another.scad
@@ -48,25 +48,25 @@ module the_extruder(
48 pulley_clearance=2, 48 pulley_clearance=2,
49 lever_v_clearance=.7, // vertical clearance for the lever 49 lever_v_clearance=.7, // vertical clearance for the lever
50 spring_d_clearance=1, 50 spring_d_clearance=1,
51 protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion 51 protrusion_tolerance_h=.5, // horizontal tolerance for the motor protrusion
52 protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion 52 protrusion_tolerance_v=.5, // vertical tolerance for the motor protrusion
53 mount_screw_d_tolerance=.4, 53 mount_screw_d_tolerance=.4,
54 idler_v_tolerance=.5, 54 idler_v_tolerance=.5,
55 knob_bore_d_tolerance=.6, 55 knob_bore_d_tolerance=.6,
56 56
57 what="lever", // lever|body|knob|springpad|* 57 what="lever", // lever|body|knob|springpad|*
58 left=false, 58 left=false,
59 vitamins = true, 59 vitamins = true,
60 supports = false, 60 supports = false, bridges = true,
61 tensioner = true, 61 tensioner = true,
62 debug = false 62 debug = false
63) { 63) {
64 fnd = 2*PI; fnr = 2*fnd; 64 fnd = 2*PI; fnr = 2*fnd;
65 65
66 lever_shell = mount_screwhead_h+0.5; 66 lever_shell = mount_screwhead_h+0.5;
67 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 67 lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
68 lsd = idler_d-idler_clearance*2; 68 lsd = idler_d-idler_clearance*2;
69 longwing=gearbox_d/2+spring_d/2+lsd/2; 69 longwing=gearbox_d/2+spring_d/2+lsd/2;
70 h_ = (pulley_d+idler_d)/(2*sqrt(2)); 70 h_ = (pulley_d+idler_d)/(2*sqrt(2));
71 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); 71 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) );
72 spring_dl = idler_travel*longwing/ri; 72 spring_dl = idler_travel*longwing/ri;
@@ -169,25 +169,25 @@ module the_extruder(
169 // lever end 169 // lever end
170 translate([mount_d/2,0,0]) rotate([0,90,0]) { 170 translate([mount_d/2,0,0]) rotate([0,90,0]) {
171 translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15); 171 translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15);
172 translate([0,-longwing,0]) 172 translate([0,-longwing,0])
173 mirror([0,0,1]) 173 mirror([0,0,1])
174 difference() { 174 difference() {
175 cylinder(d=spring_d+spring_d_clearance,h=lsd,$fn=fnd*(spring_d+spring_d_clearance)); 175 cylinder(d=spring_d+spring_d_clearance,h=lsd,$fn=fnd*(spring_d+spring_d_clearance));
176 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4); 176 sphere(d=spring_d*3/4,$fn=fnd*spring_d*3/4);
177 } 177 }
178 }//rotate-translate 178 }//rotate-translate
179 }//difference 179 }//difference
180 // bridging patch 180 // bridging patch
181 place_idler() 181 if(bridges) place_idler()
182 translate([0,0,lever_thickness/2-mount_screwhead_h]) 182 translate([0,0,lever_thickness/2-mount_screwhead_h])
183 mirror([0,0,1]) 183 mirror([0,0,1])
184 cylinder(d=mount_screwhead_d,h=layer_height); 184 cylinder(d=mount_screwhead_d,h=layer_height);
185 }//translate 185 }//translate
186 }//lever module 186 }//lever module
187 187
188 module body() { 188 module body() {
189 difference() { 189 difference() {
190 union() { 190 union() {
191 cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d); 191 cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d);
192 // finger and spring support 192 // finger and spring support
193 fsw = gearbox_d-(gearbox_d-mount_d)/2-spring_lc; 193 fsw = gearbox_d-(gearbox_d-mount_d)/2-spring_lc;
@@ -230,28 +230,28 @@ module the_extruder(
230 translate([0,0,filament_elevation]) 230 translate([0,0,filament_elevation])
231 rotate([0,0,45]) translate([pulley_d/2,0,0]) 231 rotate([0,0,45]) translate([pulley_d/2,0,0])
232 rotate([-90,0,0]) 232 rotate([-90,0,0])
233 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) 233 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/])
234 cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6); 234 cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6);
235 }//union (first child of difference) 235 }//union (first child of difference)
236 236
237 // protrusion 237 // protrusion
238 translate([0,0,-1]) 238 translate([0,0,-1])
239 cylinder(d=protrusion_d+protrusion_tolerance_h,h=protrusion_h+protrusion_tolerance_v+1,$fn=fnd*(protrusion_d+protrusion_tolerance_h)); 239 cylinder(d=protrusion_d+protrusion_tolerance_h,h=protrusion_h+protrusion_tolerance_v+1,$fn=fnd*(protrusion_d+protrusion_tolerance_h));
240 // mount screw holes 240 // mount screw holes
241 for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0]) { 241 for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0]) {
242 translate([0,0,mount_screw_l-mounthole_depth/2-layer_height-1]) 242 translate([0,0,mount_screw_l-mounthole_depth/2-(bridges?layer_height:-epsilon)])
243 mirror([0,0,1]) 243 mirror([0,0,1])
244 cylinder(d=mount_screw_d+mount_screw_d_tolerance, 244 cylinder(d=mount_screw_d+mount_screw_d_tolerance,
245 h=mount_screw_l-mounthole_depth/2-layer_height+1, 245 h=mount_screw_l-mounthole_depth/2+1,
246 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); 246 $fn=fnd*(mount_screw_d+mount_screw_d_tolerance));
247 translate([0,0,mount_screw_l-mounthole_depth/2]) 247 translate([0,0,mount_screw_l-mounthole_depth/2])
248 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); 248 cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d);
249 }//for 249 }//for
250 // pushfit 250 // pushfit
251 translate([0,0,filament_elevation]) 251 translate([0,0,filament_elevation])
252 rotate([0,0,45]) translate([pulley_d/2,0,0]) 252 rotate([0,0,45]) translate([pulley_d/2,0,0])
253 rotate([-90,0,0]) 253 rotate([-90,0,0])
254 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) 254 translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon])
255 rotate([0,0,180]) { 255 rotate([0,0,180]) {
256 pushfit(pf); 256 pushfit(pf);
257 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d); 257 cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=fnd*filament_guide_d);