-rw-r--r-- | another.scad | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/another.scad b/another.scad index 4c7b1b7..f77fa7a 100644 --- a/another.scad +++ b/another.scad | |||
@@ -143,97 +143,97 @@ module the_extruder( | |||
143 | 143 | ||
144 | // idler space and mounting hole | 144 | // idler space and mounting hole |
145 | place_idler() { | 145 | place_idler() { |
146 | difference() { | 146 | difference() { |
147 | cylinder(d=idler_d+idler_clearance*2,h=idler_h+idler_v_tolerance,center=true,$fn=60); | 147 | cylinder(d=idler_d+idler_clearance*2,h=idler_h+idler_v_tolerance,center=true,$fn=60); |
148 | // supports | 148 | // supports |
149 | for(y=[-lsd/2+extrusion_width:(lsd-2*extrusion_width)/3:lsd/2-extrusion_width]) | 149 | for(y=[-lsd/2+extrusion_width:(lsd-2*extrusion_width)/3:lsd/2-extrusion_width]) |
150 | translate([-lsd/2-1,y-extrusion_width/2,-idler_h/2-idler_v_tolerance/2-1]) | 150 | translate([-lsd/2-1,y-extrusion_width/2,-idler_h/2-idler_v_tolerance/2-1]) |
151 | cube(size=[lsd+2,extrusion_width,idler_h+idler_v_tolerance+2]); | 151 | cube(size=[lsd+2,extrusion_width,idler_h+idler_v_tolerance+2]); |
152 | } | 152 | } |
153 | cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=30); | 153 | cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=30); |
154 | translate([0,0,lever_thickness/2-mount_screwhead_h]) | 154 | translate([0,0,lever_thickness/2-mount_screwhead_h]) |
155 | cylinder(d=mount_screwhead_d,h=mount_screwhead_h+1,$fn=2*PI*mount_screwhead_d); | 155 | cylinder(d=mount_screwhead_d,h=mount_screwhead_h+1,$fn=2*PI*mount_screwhead_d); |
156 | } | 156 | } |
157 | // mounting screw hole | 157 | // mounting screw hole |
158 | translate([mount_d/2,0,0]) | 158 | translate([mount_d/2,0,0]) |
159 | cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=2*PI*mount_screw_d); | 159 | cylinder(d=mount_screw_d+mount_screw_d_tolerance,h=lever_thickness+2,center=true,$fn=2*PI*mount_screw_d); |
160 | 160 | ||
161 | // lever end | 161 | // lever end |
162 | translate([mount_d/2,0,0]) rotate([0,90,0]) { | 162 | translate([mount_d/2,0,0]) rotate([0,90,0]) { |
163 | translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15); | 163 | translate([0,-longwing,lsd/2]) finger_indent(d=lever_thickness-1,r=15); |
164 | translate([0,-longwing,0]) | 164 | translate([0,-longwing,0]) |
165 | mirror([0,0,1]) | 165 | mirror([0,0,1]) |
166 | difference() { | 166 | difference() { |
167 | cylinder(d=spring_d+spring_d_clearance,h=lsd,$fn=2*PI*spring_d); | 167 | cylinder(d=spring_d+spring_d_clearance,h=lsd,$fn=2*PI*spring_d); |
168 | sphere(d=spring_d*3/4,$fn=PI*spring_d); | 168 | sphere(d=spring_d*3/4,$fn=PI*spring_d); |
169 | } | 169 | } |
170 | }//rotate-translate | 170 | }//rotate-translate |
171 | }//difference | 171 | }//difference |
172 | // bridging patch | 172 | // bridging patch |
173 | place_idler() | 173 | place_idler() |
174 | translate([0,0,lever_thickness/2-mount_screwhead_h]) | 174 | translate([0,0,lever_thickness/2-mount_screwhead_h]) |
175 | mirror([0,0,1]) | 175 | mirror([0,0,1]) |
176 | cylinder(d=mount_screwhead_d,h=layer_height); | 176 | cylinder(d=mount_screwhead_d,h=layer_height); |
177 | }//translate | 177 | }//translate |
178 | }//lever module | 178 | }//lever module |
179 | 179 | ||
180 | module body() { | 180 | module body() { |
181 | difference() { | 181 | difference() { |
182 | union() { | 182 | union() { |
183 | cylinder(d=gearbox_d,h=body_h,$fn=2*PI*gearbox_d); | 183 | cylinder(d=gearbox_d,h=body_h,$fn=2*PI*gearbox_d); |
184 | // finger and spring support | 184 | // finger and spring support |
185 | fsw = gearbox_d/2+mount_screwhead_d/2; | 185 | fsw = gearbox_d/2+mount_screwhead_d/2; |
186 | translate([-gearbox_d/2,0,0]) difference() { | 186 | translate([-gearbox_d/2,0,0]) difference() { |
187 | union() { | 187 | union() { |
188 | hull() { | 188 | hull() { |
189 | translate([0,-longwing,ls_z]) | 189 | translate([0,-longwing,ls_z]) |
190 | rotate([0,90,0]) | 190 | rotate([0,90,0]) |
191 | cylinder(d=lever_thickness,h=fsw,$fn=2*PI*lever_thickness); | 191 | cylinder(d=max(lever_thickness,spring_d+spring_d_clearance+2*extrusion_width),h=fsw,$fn=2*PI*lever_thickness); |
192 | hh=body_h-ls_z; | 192 | hh=body_h-ls_z; |
193 | translate([0,0,ls_z-lever_thickness/2]) | 193 | translate([0,0,ls_z-lever_thickness/2]) |
194 | mirror([0,1,0]) cube(size=[fsw,longwing-hh+lever_thickness/sqrt(2),hh+lever_thickness/2]); | 194 | mirror([0,1,0]) cube(size=[fsw,longwing-hh+lever_thickness/sqrt(2),hh+lever_thickness/2]); |
195 | hhh=ls_z; | 195 | hhh=ls_z; |
196 | translate([0,0,0]) | 196 | translate([0,0,0]) |
197 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); | 197 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); |
198 | } | 198 | } |
199 | } | 199 | } |
200 | translate([0,-longwing,ls_z]) rotate([0,-90,0]) | 200 | translate([0,-longwing,ls_z]) rotate([0,-90,0]) |
201 | finger_indent(d=lever_thickness-1,r=15); | 201 | finger_indent(d=lever_thickness-1,r=15); |
202 | } // translate | 202 | } // translate |
203 | 203 | ||
204 | // pushfit bracket | 204 | // pushfit bracket |
205 | translate([0,0,filament_elevation]) | 205 | translate([0,0,filament_elevation]) |
206 | rotate([0,0,45]) translate([pulley_d/2,0,0]) | 206 | rotate([0,0,45]) translate([pulley_d/2,0,0]) |
207 | rotate([-90,0,0]) | 207 | rotate([-90,0,0]) |
208 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) | 208 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) |
209 | cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6); | 209 | cylinder(r=min(body_h-filament_elevation,filament_elevation)/sin(60)-epsilon,h=pf_h(pf)+gearbox_d/2/*TODO:*/,$fn=6); |
210 | }//union (first child of difference) | 210 | }//union (first child of difference) |
211 | // protrusion | 211 | // protrusion |
212 | translate([0,0,-1]) | 212 | translate([0,0,-1]) |
213 | cylinder(d=protrusion_d+protrusion_tolerance_h,h=protrusion_h+protrusion_tolerance_v+1,$fn=2*PI*protrusion_d); | 213 | cylinder(d=protrusion_d+protrusion_tolerance_h,h=protrusion_h+protrusion_tolerance_v+1,$fn=2*PI*protrusion_d); |
214 | // mount screw holes | 214 | // mount screw holes |
215 | for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0]) { | 215 | for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0]) { |
216 | translate([0,0,mount_screw_l-mounthole_depth/2-layer_height-1]) | 216 | translate([0,0,mount_screw_l-mounthole_depth/2-layer_height-1]) |
217 | mirror([0,0,1]) | 217 | mirror([0,0,1]) |
218 | cylinder(d=mount_screw_d+mount_screw_d_tolerance, | 218 | cylinder(d=mount_screw_d+mount_screw_d_tolerance, |
219 | h=mount_screw_l-mounthole_depth/2-layer_height+1, | 219 | h=mount_screw_l-mounthole_depth/2-layer_height+1, |
220 | $fn=2*PI*mount_screw_d); | 220 | $fn=2*PI*mount_screw_d); |
221 | translate([0,0,mount_screw_l-mounthole_depth/2]) | 221 | translate([0,0,mount_screw_l-mounthole_depth/2]) |
222 | cylinder(d=mount_screwhead_d,h=body_h+1,$fn=2*PI*mount_screwhead_d); | 222 | cylinder(d=mount_screwhead_d,h=body_h+1,$fn=2*PI*mount_screwhead_d); |
223 | }//for | 223 | }//for |
224 | // pushfit threads | 224 | // pushfit threads |
225 | translate([0,0,filament_elevation]) | 225 | translate([0,0,filament_elevation]) |
226 | rotate([0,0,45]) translate([pulley_d/2,0,0]) | 226 | rotate([0,0,45]) translate([pulley_d/2,0,0]) |
227 | rotate([-90,0,0]) | 227 | rotate([-90,0,0]) |
228 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) | 228 | translate([0,0,mount_d/sqrt(2)/2+mount_screw_d+epsilon]) |
229 | rotate([0,0,180]) { | 229 | rotate([0,0,180]) { |
230 | pushfit(pf); | 230 | pushfit(pf); |
231 | cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=2*PI*filament_guide_d); | 231 | cylinder(d=filament_guide_d,h=gearbox_d,center=true,$fn=2*PI*filament_guide_d); |
232 | translate([0,-filament_guide_d/2/sqrt(2),0]) | 232 | translate([0,-filament_guide_d/2/sqrt(2),0]) |
233 | rotate([0,0,45]) | 233 | rotate([0,0,45]) |
234 | cube(size=[filament_guide_d/2,filament_guide_d/2,gearbox_d],center=true); | 234 | cube(size=[filament_guide_d/2,filament_guide_d/2,gearbox_d],center=true); |
235 | } | 235 | } |
236 | // pulley | 236 | // pulley |
237 | cylinder(d=pulley_d+pulley_clearance,h=body_h+1,$fn=2*PI*(pulley_d+pulley_clearance)); | 237 | cylinder(d=pulley_d+pulley_clearance,h=body_h+1,$fn=2*PI*(pulley_d+pulley_clearance)); |
238 | // leverspace | 238 | // leverspace |
239 | hull() for(x=[0,gearbox_d]) | 239 | hull() for(x=[0,gearbox_d]) |