diff options
author | Timothy Schmidt <timschmidt@gmail.com> | 2010-05-24 18:39:01 -0400 |
---|---|---|
committer | Timothy Schmidt <timschmidt@gmail.com> | 2010-05-24 18:39:01 -0400 |
commit | 92119728bcb42dad3a62d9ba6834df9995296359 (patch) | |
tree | afcecc31f14b28c149bd2a352e0df6d64a5c5517 | |
parent | a60d8667336abbaf383568a26e68642e63ec8763 (diff) | |
download | parameterized-mendel-92119728bcb42dad3a62d9ba6834df9995296359.tar.gz parameterized-mendel-92119728bcb42dad3a62d9ba6834df9995296359.zip |
added vik's DC extruder
-rw-r--r-- | mendel_dc_extruder2.scad | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/mendel_dc_extruder2.scad b/mendel_dc_extruder2.scad new file mode 100644 index 0000000..67ff727 --- /dev/null +++ b/mendel_dc_extruder2.scad @@ -0,0 +1,99 @@ +// Parametric Mendel DC Motor Extruder Mk2 in SCAD by Vik, +// vik@diamondage.co.nz, 2010-05-21 + +<mendel.conf> +<mendel.inc> + +bearing_clearance_rad=8; +filament_rad=1.6; // Includes some clearance. +ptfe_rad=9.2; // 18mm dia PTFE spacer (9.2). May well be 16mm rad for you (8.2) +extruder_thick=31; +filament_x_offset=26.497; +filament_inset=10; +extruder_axle_line=extruder_height*0.45; +extruder_width=62; +gear_separation=38; +pinch_axle_height=18; + +filament_oversize=0.5; // If your extruder is perfect this can be zero :) +module filament_cavity() { + union () { + cylinder(100,filament_rad+filament_oversize,filament_rad+filament_oversize,center=true); + translate ([0.7*filament_rad,0,0]) rotate ([0,0,45]) { + cube([filament_rad+filament_oversize,filament_rad+filament_oversize,100],center=true); + } + } +} + +motor_bracket_len=42; +motor_bracket_wid=17; +motor_bracket_height=43; + +module extruder_dc_body() { + difference () { + union () { + // Main block of the thing. + translate([extruder_width/2-2,extruder_thick/2,22])cube([extruder_width,extruder_thick,extruder_height], center = true); + // PTFE holder (for woodscrews instead of epoxy) + translate([filament_x_offset,extruder_thick/2,0])cube([22,extruder_thick,20], center = true); + // Chunk out the back to bolt the motor to + translate([motor_bracket_wid/2+18,extruder_thick+motor_bracket_len/2,motor_bracket_height/2+7]) + difference () { + box(motor_bracket_wid,motor_bracket_len,motor_bracket_height-12); + translate([0,0,-motor_bracket_height/2]) rotate ([20,0,0]) box(motor_bracket_wid+1,motor_bracket_len*2,motor_bracket_height-12); + } + } + union() + { + // Shoulders. + translate([53,extruder_thick,40])cube([17,extruder_thick*2.1,21],center=true); + translate([2.8,35,40])cube([13.399,80,21],center = true); + //Yer filament. + translate([filament_x_offset,filament_inset,21.635])rotate([0,0,90]) { + filament_cavity(); + cylinder(h=6,r1=filament_rad+filament_oversize,r2=(filament_rad+filament_oversize)*1.7,center=true); + } + // Nice & roomy place for the axle covered in nuts to go + translate ([filament_x_offset,filament_inset+2*filament_rad,pinch_axle_height]) { + rotate ([90,0,90]) { + scale(1.8) m8_hole_horiz(60); + translate([-bearing_608_rad_h,0,0]) cube([bearing_608_rad_h*2,bearing_608_rad_h*2,bearing_608_len*3],center=true); + translate([0,0,bearing_608_len]) hole_horiz(rad=bearing_608_rad_h,l=bearing_608_len+0.6); + translate([0,0,-bearing_608_len]) hole_horiz(rad=bearing_608_rad_h,l=bearing_608_len+0.6); + } + // Slot to drop axle in through. + translate([0,-10,0]) box(extruder_width+10,18,14); + + } + // M4 mounting holes + translate([4,extruder_thick-5,22.0])rotate([0,0,90]) m4_hole_horiz(extruder_height*1.1); + translate([4+extruder_mount_hole_spacing,extruder_thick-5.09,22])rotate([0,0,90]) + m4_hole_horiz(extruder_height*1.1); + // PTFE holder + translate([filament_x_offset,filament_inset,0]) rotate ([90,0,0]) rotate([90,90,0]) hole_horiz(ptfe_rad,23); + // 3mm holes for woodscrews + #translate([filament_x_offset-6.5,extruder_thick/2,-2.8]) rotate ([90,0,0]) cylinder(h=extruder_thick*2,r=2.5,center=true); + #translate([filament_x_offset+6.5,extruder_thick/2,-2.8]) rotate ([90,0,0]) cylinder(h=extruder_thick*2,r=2.5,center=true); + + + // Slot for motor screws + translate([extruder_width/2,filament_inset+gear_separation+4,pinch_axle_height+21]) + box(extruder_width,28,m3_clearance_rad*2); + } + // Idler retaining holes + translate([filament_x_offset,filament_inset+extruder_thick-15,pinch_axle_height]) { + // Optional hole for nut access + //translate ([0,8,ei_trans_spacing/2]) rotate ([90,0,90]) hole_horiz(4,300); + translate ([ei_cis_spacing/2,0,ei_trans_spacing/2]) rotate ([90,30,0]) m4_hole_vert_with_hex(100); + translate ([-ei_cis_spacing/2,0,ei_trans_spacing/2]) rotate ([90,30,0]) m4_hole_vert_with_hex(100); + translate ([ei_cis_spacing/2,0,-ei_trans_spacing/2]) rotate ([90,30,0]) m4_hole_vert_with_hex(100); + translate ([-ei_cis_spacing/2,0,-ei_trans_spacing/2]) rotate ([90,30,0]) m4_hole_vert_with_hex(100); + } + } +} + +rotate ([90,0,0]) + extruder_dc_body(); + + + |