author | Michael Krelin <hacker@klever.net> | 2018-08-06 11:32:37 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-08-06 11:32:37 (UTC) |
commit | 94730f0a772dab12295fbf71ba436e9e06efd00a (patch) (unidiff) | |
tree | fdba7f0d93bf990d0b3e3bf2ac22265e35dc7dff | |
parent | 62c1ffcff93a1880b26829bd5cd5fed9c3eb6293 (diff) | |
download | extrudery-94730f0a772dab12295fbf71ba436e9e06efd00a.zip extrudery-94730f0a772dab12295fbf71ba436e9e06efd00a.tar.gz extrudery-94730f0a772dab12295fbf71ba436e9e06efd00a.tar.bz2 |
another: conditional bridging patches
-rw-r--r-- | another.scad | 8 |
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); |