include <syringePumpConstants.scad>
/* === Model-specific Constants === */
cube containing rods and syringe barrel stop mountXSize = 20; mountZSize = syringeCenterHeight; slot parameters
plungerDiameter = 26.5;
barrelSlotThickness = 2.5;
barrelSlotOffset = mountXSize/2 - barrelSlotThickness/2;
barrelSlotHeight = 36;
/* === Model === */
main cube, holds the two axes difference(){ cube(size=[mountXSize,baseSizeY,mountZSize]); 608 bearing for threaded rod
translate([-floatCorrection,centerY,threadedAxisHeight]){
rotate(a=[0,90,0]){
nutWell();
}
}
//bore hole for threaded rod
translate([-floatCorrection,centerY,threadedAxisHeight]){
rotate(a=[0,90,0]){
cylinder(h=mountXSize+floatCorrection2, r=smoothRodRadius);
}
}
//hole for smooth rod (needs to fit fairly tight)
translate([-floatCorrection,centerY,smoothAxisHeight]){
rotate(a=[0,90,0]){
cylinder(h=mountXSize+floatCorrection2, r=smoothRodRadius);
}
}
//hole for syringe barrel top to go in
translate([barrelSlotOffset,centerY,syringeCenterHeight]){
translate([0,-baseSizeY/2,-barrelSlotHeight/2]){
cube(size=[barrelSlotThickness, baseSizeY, barrelSlotHeight]);
}
}
translate([-floatCorrection,centerY,syringeCenterHeight]){
rotate(a=[0,90,0]){
cylinder(h=mountXSize+floatCorrection2, r=plungerDiameter/2);
}
translate([0,-plungerInnerDiameter/2,0]){
cube(size=[barrelSlotThickness+floatCorrection2,plungerInnerDiameter,mountZSize]);
}
}
}
80/20 screw plate difference(){ translate([-screwPlateSize,0,0]){ cube(size=[screwPlateSize,baseSizeY,mountPlateHeight]); } translate([-screwPlateSize/2,baseSizeY/4,0]){ cylinder(h=mountPlateHeight, r=screwRadius); } translate([-screwPlateSize/2,3*baseSizeY/4,0]){ cylinder(h=mountPlateHeight, r=screwRadius); } } module bearing608(){ cylinder(h=bearing608Height, r=bearing608Diameter/2); }