summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2017-02-06 21:19:20 (UTC)
committer Michael Krelin <hacker@klever.net>2017-02-06 21:19:20 (UTC)
commitd481811cad040ab887ffb9dca6b41616e842e0ca (patch) (side-by-side diff)
tree133c43736e214ede19cfa01e4d8b9a2900249ab4
parent25836f14f59bdeb216a6fb189b6c4720db518c0d (diff)
downloadextrudery-d481811cad040ab887ffb9dca6b41616e842e0ca.zip
extrudery-d481811cad040ab887ffb9dca6b41616e842e0ca.tar.gz
extrudery-d481811cad040ab887ffb9dca6b41616e842e0ca.tar.bz2
bore shape as it is
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad10
1 files changed, 7 insertions, 3 deletions
diff --git a/another.scad b/another.scad
index f78d1b0..d4a3f90 100644
--- a/another.scad
+++ b/another.scad
@@ -10,24 +10,25 @@ module pushfit_thread(h=10) {
if(draft) cylinder(d=thr*25.4,h=h);
else english_thread(diameter=thr,threads_per_inch=28,length=h/25.4,internal=true);
translate([-2,-slit,0]) cube([4,2*slit,h]);
}
module the_extruder(
// motor properties
gearbox_d = 36,
mount_d = 28, // the distance between opposite mounting holes
mounthole_depth = 5,
protrusion_d = 22, protrusion_h = 2.2, // the dimensions of the protrusion on top of gearbox
bore_d = 8, bore_l = 17.6,
+ bore_dd = 7,
// pulley properties
pulley_d = 11.5, pulley_h=10,
pulley_elevation = 1, // pulley elevation above the protrusion
teeth_elevation = 7.5, // distance from the bottom of the pulley to its teeth
// idler properties
idler_d = 9.5, idler_h = 4, idler_id = 3, // idler dimensions: outer and inner diameters and height
// spring properties
spring_d = 10, spring_lc = 9.6, // spring diameter and compressed length
// filament path properties
filament_d = 1.75,
filament_path_d = 2,
filament_guide_d = 4, // PTFE filament guide diameter
@@ -69,50 +70,53 @@ module the_extruder(
}
module finger_indent(d=lever_thickness,depth/*=1*/,r/*=15*/) {
if(depth) {
hh = (-4*pow(depth,2)+pow(d,2))/(8*depth);
rr = depth+hh;
translate([0,0,hh]) sphere(r=rr,$fn=2*PI*rr);
}else if(r) {
hh=sqrt(pow(r,2)-pow(d,2)/4);
translate([0,0,hh]) sphere(r=r,$fn=2*PI*r);
}
}
- // vitamins
% if(vitamins) mirrorleft() {
translate([0,0,-epsilon]) mirror([0,0,1]) cylinder(d=gearbox_d,h=1,$fn=60);
for(zr=[0:90:359]) rotate([0,0,zr]) translate([mount_d/2,0,0])
cylinder(d=mount_screw_d,h=20,$fn=30);
translate([0,0,-epsilon]) cylinder(d=protrusion_d,h=protrusion_h,$fn=30);
translate([0,0,protrusion_h]) {
- cylinder(d=bore_d,h=bore_l,$fn=30);
+ difference() {
+ cylinder(d=bore_d,h=bore_l,$fn=30);
+ translate([-bore_d/2-1,bore_dd-bore_d/2,-1])
+ cube([bore_d+2,bore_d/2,bore_l+2]);
+ }
translate([0,0,pulley_elevation]) {
cylinder(d=pulley_d,h=pulley_h,$fn=30);
translate([0,0,teeth_elevation]) {
place_idler() {
cylinder(d=idler_d,h=idler_h,center=true,$fn=30);
cylinder(d=idler_id,h=lever_thickness+2,center=true,$fn=30);
}//place idler
// filament path
rotate([0,0,45]) translate([(pulley_d-filament_path_d)/2,0,0]) {
rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15);
rotate([-90,0,0])
translate([0,0,mount_d/sqrt(2)/2+mount_screw_d])
pushfit_thread();
}
}//translate teeth
}//translate pulley
}//translate protrusion
- }// vitamins to let
+ }//vitamins
module lever() {
translate([0,0,protrusion_h+pulley_elevation+teeth_elevation]) {
difference() {
union() {
hull() {
place_idler()
cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
translate([mount_d/2,0,0])
cylinder(d=lsd,h=lever_thickness,center=true,$fn=60);
}//hull
hull() {