summaryrefslogtreecommitdiff
path: root/another.scad
authorMichael Krelin <hacker@klever.net>2018-08-02 09:55:19 (UTC)
committer Michael Krelin <hacker@klever.net>2018-08-02 09:55:19 (UTC)
commit5457897c14fd5bff296bdfed4a2744655585a3ab (patch) (unidiff)
tree9934fc3a2109052cca73b8291c8c53c829e1481a /another.scad
parent55b454eb6933ea66efb998d2ccb1d6eebaab214e (diff)
downloadextrudery-5457897c14fd5bff296bdfed4a2744655585a3ab.zip
extrudery-5457897c14fd5bff296bdfed4a2744655585a3ab.tar.gz
extrudery-5457897c14fd5bff296bdfed4a2744655585a3ab.tar.bz2
change of no importance
Diffstat (limited to 'another.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad2
1 files changed, 1 insertions, 1 deletions
diff --git a/another.scad b/another.scad
index f77fa7a..85715db 100644
--- a/another.scad
+++ b/another.scad
@@ -128,193 +128,193 @@ module the_extruder(
128 }//hull 128 }//hull
129 hull() { 129 hull() {
130 translate([mount_d/2,0,0]) 130 translate([mount_d/2,0,0])
131 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); 131 cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
132 translate([mount_d/2,-longwing,0]) rotate([0,90,0]) 132 translate([mount_d/2,-longwing,0]) rotate([0,90,0])
133 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60); 133 cylinder(d=lever_thickness,h=lsd,center=true,$fn=60);
134 }//hull 134 }//hull
135 }//union 135 }//union
136 136
137 // filament path 137 // filament path
138 place_idler() translate([-(idler_d+filament_path_d)/2,0,0]) rotate([90,0,0]) { 138 place_idler() translate([-(idler_d+filament_path_d)/2,0,0]) rotate([90,0,0]) {
139 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30); 139 cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30);
140 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45]) 140 translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45])
141 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true); 141 cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true);
142 } 142 }
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=max(lever_thickness,spring_d+spring_d_clearance+2*extrusion_width),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
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])
240 rotate([0,0,45]) 240 rotate([0,0,45])
241 translate([x,0,ls_z-ls_h/2]) 241 translate([x,0,ls_z-ls_h/2])
242 cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=2*PI*idler_d); 242 cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=2*PI*idler_d);
243 243
244 a=cos(45)*(pulley_d+idler_d)/2; 244 a=cos(45)*(pulley_d+idler_d)/2;
245 b=mount_d/2-a; 245 b=mount_d/2-a;
246 x=sqrt(pow(a,2)+pow(b,2)); 246 x=sqrt(pow(a,2)+pow(b,2));
247 translate([mount_d/2,0,ls_z]) 247 translate([mount_d/2,0,ls_z])
248 intersection() { 248 intersection() {
249 r = x+idler_d/2+1;/* TODO: */ 249 r = x+idler_d/2+1;/* TODO: */
250 cylinder(r=r,h=ls_h,center=true); 250 cylinder(r=r,h=ls_h,center=true);
251 translate([-r-1,0,-1]) cube(size=[2*r+2,r+1,ls_h+2]); 251 translate([-r-1,0,-1]) cube(size=[2*r+2,r+1,ls_h+2]);
252 } 252 }
253 253
254 rotate([0,0,-45]) 254 rotate([0,0,-45])
255 translate([0,0,ls_z-ls_h/2]) 255 translate([0,0,ls_z-ls_h/2])
256 cube(size=[gearbox_d,gearbox_d,lever_thickness+lever_v_clearance]); 256 cube(size=[gearbox_d,gearbox_d,lever_thickness+lever_v_clearance]);
257 translate([0,0,ls_z-ls_h/2]) { 257 translate([0,0,ls_z-ls_h/2]) {
258 translate([mount_screwhead_d/2,0,0]) 258 translate([mount_screwhead_d/2,0,0])
259 mirror([0,1,0]) 259 mirror([0,1,0])
260 cube(size=[gearbox_d,gearbox_d/2+1,lever_thickness+lever_v_clearance]); 260 cube(size=[gearbox_d,gearbox_d/2+1,lever_thickness+lever_v_clearance]);
261 } 261 }
262 //translate([-mount_d/2,-longwing,filament_elevation]) 262 //translate([-mount_d/2,-longwing,filament_elevation])
263 translate([mount_d/2,-longwing,filament_elevation]) 263 translate([mount_d/2,-longwing,filament_elevation])
264 rotate([0,-90,0]) difference() { 264 rotate([0,-90,0]) difference() {
265 cylinder(d=spring_d+spring_d_clearance,h=spring_lc+spring_dl,$fn=PI*spring_d); 265 cylinder(d=spring_d+spring_d_clearance,h=spring_lc+spring_dl,$fn=PI*spring_d);
266 translate([0,0,spring_lc+spring_dl]) sphere(d=spring_d*3/4,$fn=PI*spring_d); 266 translate([0,0,spring_lc+spring_dl]) sphere(d=spring_d*3/4,$fn=PI*spring_d);
267 } 267 }
268 //sphere(d=spring_d*3/4,$fn=PI*spring_d); 268 //sphere(d=spring_d*3/4,$fn=PI*spring_d);
269 *difference() { 269 *difference() {
270 // spring support 270 // spring support
271 translate([0,-longwing,filament_elevation]) 271 translate([0,-longwing,filament_elevation])
272 sphere(d=spring_d*3/4,$fn=PI*spring_d); 272 sphere(d=spring_d*3/4,$fn=PI*spring_d);
273 } 273 }
274 274
275 }//difference 275 }//difference
276 276
277 intersection() { 277 intersection() {
278 difference() { 278 difference() {
279 translate([0,0,ls_z-ls_h/2-epsilon]) 279 translate([0,0,ls_z-ls_h/2-epsilon])
280 cylinder(d=gearbox_d,h=ls_h+2*epsilon,$fn=2*PI*gearbox_d); 280 cylinder(d=gearbox_d,h=ls_h+2*epsilon,$fn=2*PI*gearbox_d);
281 cylinder(d=pulley_d+pulley_clearance,h=body_h+1,$fn=2*PI*(pulley_d+pulley_clearance)); 281 cylinder(d=pulley_d+pulley_clearance,h=body_h+1,$fn=2*PI*(pulley_d+pulley_clearance));
282 } 282 }
283 // supports 283 // supports
284 // TODO: hardcoded stuff below… 284 // TODO: hardcoded stuff below…
285 if(false) { // parallel 285 if(false) { // parallel
286 for(y=[-gearbox_d:4:gearbox_d]) 286 for(y=[-gearbox_d:4:gearbox_d])
287 translate([0,y-extrusion_width/2,0]) 287 translate([0,y-extrusion_width/2,0])
288 cube(size=[gearbox_d,extrusion_width,body_h]); 288 cube(size=[gearbox_d,extrusion_width,body_h]);
289 }else{ // radial 289 }else{ // radial
290 for(zr=[-65:(65+50)/7:50]) 290 for(zr=[-65:(65+50)/7:50])
291 rotate([0,0,zr]) translate([0,-extrusion_width/2,0]) 291 rotate([0,0,zr]) translate([0,-extrusion_width/2,0])
292 cube(size=[gearbox_d,extrusion_width,body_h]); 292 cube(size=[gearbox_d,extrusion_width,body_h]);
293 } 293 }
294 } 294 }
295 295
296 }//body module 296 }//body module
297 297
298 module knob() { 298 module knob() {
299 ch = knob_indent_d/2; 299 ch = knob_indent_d/2;
300 translate([0,0,body_h+epsilon]) { 300 translate([0,0,body_h+epsilon]) {
301 mirror([0,0,1]) translate([0,0,-epsilon]) { 301 mirror([0,0,1]) translate([0,0,-epsilon]) {
302 difference() { 302 difference() {
303 cylinder(d=pulley_d,h=knob_bore_l,$fn=pulley_d*PI*2); 303 cylinder(d=pulley_d,h=knob_bore_l,$fn=pulley_d*PI*2);
304 translate([0,0,-1]) difference() { 304 translate([0,0,-1]) difference() {
305 cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2); 305 cylinder(d=bore_d+knob_bore_d_tolerance,h=knob_bore_l+2);
306 translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1]) 306 translate([-bore_d/2-1,bore_dd-bore_d/2+knob_bore_d_tolerance/2,-1])
307 cube([bore_d+2,bore_d/2,knob_bore_l+4]); 307 cube([bore_d+2,bore_d/2,knob_bore_l+4]);
308 } 308 }
309 } 309 }
310 } 310 }
311 difference() { 311 difference() {
312 union() { 312 union() {
313 cylinder(d1=gearbox_d-2*ch,d2=gearbox_d,h=ch+epsilon,$fn=PI*gearbox_d*2); 313 cylinder(d1=gearbox_d-2*ch,d2=gearbox_d,h=ch+epsilon,$fn=PI*gearbox_d*2);
314 translate([0,0,ch]) 314 translate([0,0,ch])
315 cylinder(d=gearbox_d,h=knob_h-2*ch+epsilon,$fn=PI*gearbox_d*2); 315 cylinder(d=gearbox_d,h=knob_h-2*ch+epsilon,$fn=PI*gearbox_d*2);
316 translate([0,0,knob_h-ch]) 316 translate([0,0,knob_h-ch])
317 cylinder(d1=gearbox_d,d2=gearbox_d-2*ch,h=ch,$fn=PI*gearbox_d*2); 317 cylinder(d1=gearbox_d,d2=gearbox_d-2*ch,h=ch,$fn=PI*gearbox_d*2);
318 } 318 }
319 for(a=[0:360/knob_indents:359]) rotate([0,0,a]) 319 for(a=[0:360/knob_indents:359]) rotate([0,0,a])
320 translate([0,gearbox_d/2,-1]) 320 translate([0,gearbox_d/2,-1])