Finished gear covers. Identical for both axis
parent
4f840da610
commit
1cffd7e507
|
@ -23,13 +23,13 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
screwSize = 3; // M3, M4, etc (integers only)
|
screwSize = 3; // M3, M4, etc (integers only)
|
||||||
|
|
||||||
motorWallSeparation = 5;
|
motorWallSeparation = 5;
|
||||||
motorRotatedOffset = 10;
|
motorRotatedOffset = 5;
|
||||||
gearWallSeparation = 5;
|
gearWallSeparation = 5;
|
||||||
|
|
||||||
partThickness = X_frames_additional_thickness+screwSize*2;
|
partThickness = X_frames_additional_thickness+screwSize*2;
|
||||||
|
|
||||||
dimX = partThickness;
|
dimX = partThickness;
|
||||||
dimY = max(-axes_Xreference_posY,axes_Xsmooth_separation+axes_XgearSeparation*cos(motorRotatedOffset)+Xmotor_sideLen/2+2);
|
dimY = max(-axes_Xreference_posY,axes_Xsmooth_separation+axes_XgearSeparation*cos(motorRotatedOffset)+Xmotor_sideLen/2+1.6);
|
||||||
dimZ = axes_Yreference_height+axes_Xreference_height+axes_Xsmooth_separation;
|
dimZ = axes_Yreference_height+axes_Xreference_height+axes_Xsmooth_separation;
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,15 +44,18 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
|
|
||||||
module Cyclone_XsubPart_gearCover() {
|
module Cyclone_XsubPart_gearCover() {
|
||||||
margin = 4;
|
margin = 4;
|
||||||
rodGearAddedMargin = 1;
|
rodGearAddedMargin = 0;
|
||||||
|
effectiveXgearSeparation = axes_XgearSeparation+0.5;
|
||||||
wallThickness = 0.4*4;
|
wallThickness = 0.4*4;
|
||||||
screwHeadSpaceHeight = 4;
|
screwHeadSpaceHeight = 4;
|
||||||
screwHeadSpaceDiam = 7;
|
screwHeadSpaceDiam = 6;
|
||||||
coverHeight = 16;
|
coverHeight = 16;
|
||||||
coverExtraHeight = 5;
|
coverExtraHeight = 5;
|
||||||
coverExtraRadius = -7;
|
coverExtraRadius = -7;
|
||||||
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
||||||
|
|
||||||
|
truncationAngle = 10;
|
||||||
|
|
||||||
motorGearRadius = axes_XgearSeparation/(1+axes_XgearRatio)+margin;
|
motorGearRadius = axes_XgearSeparation/(1+axes_XgearRatio)+margin;
|
||||||
rodGearRadius = axes_XgearSeparation/(1+1/axes_XgearRatio)+margin+rodGearAddedMargin;
|
rodGearRadius = axes_XgearSeparation/(1+1/axes_XgearRatio)+margin+rodGearAddedMargin;
|
||||||
|
|
||||||
|
@ -66,7 +69,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
cylinder(r1=rodGearRadius+wallThickness, r2=rodGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
cylinder(r1=rodGearRadius+wallThickness, r2=rodGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
||||||
// Translate to motor position
|
// Translate to motor position
|
||||||
rotate([motorRotatedOffset,0,0]) {
|
rotate([motorRotatedOffset,0,0]) {
|
||||||
translate([0,axes_XgearSeparation,0])
|
translate([0,effectiveXgearSeparation,0])
|
||||||
rotate([-motorRotatedOffset,0,0]) {
|
rotate([-motorRotatedOffset,0,0]) {
|
||||||
// Cover for the motor gear
|
// Cover for the motor gear
|
||||||
rotate([0,90,0]) cylinder(r=motorGearRadius+wallThickness, h=coverHeight);
|
rotate([0,90,0]) cylinder(r=motorGearRadius+wallThickness, h=coverHeight);
|
||||||
|
@ -80,6 +83,9 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
}
|
}
|
||||||
translate([-0.02,0,0])
|
translate([-0.02,0,0])
|
||||||
union() {
|
union() {
|
||||||
|
// Truncation for avoiding collisions with Y carriage (needed for the Y gear cover)
|
||||||
|
translate([0,-rodGearRadius/2,-rodGearRadius-0.5])
|
||||||
|
rotate([0,90+truncationAngle,0]) cube(rodGearRadius);
|
||||||
// Hole for the rod gear
|
// Hole for the rod gear
|
||||||
rotate([0,90,0])
|
rotate([0,90,0])
|
||||||
cylinder(r=rodGearRadius, h=coverHeight);
|
cylinder(r=rodGearRadius, h=coverHeight);
|
||||||
|
@ -90,7 +96,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
cylinder(r=rodGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
cylinder(r=rodGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
||||||
// Translate to motor position
|
// Translate to motor position
|
||||||
rotate([motorRotatedOffset,0,0]) {
|
rotate([motorRotatedOffset,0,0]) {
|
||||||
translate([0,axes_XgearSeparation,0])
|
translate([0,effectiveXgearSeparation,0])
|
||||||
rotate([-motorRotatedOffset,0,0]) {
|
rotate([-motorRotatedOffset,0,0]) {
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
|
@ -101,7 +107,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
rotate([0,90,0]) cylinder(r=motorGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
rotate([0,90,0]) cylinder(r=motorGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
||||||
// Outer hole for the support screw
|
// Outer hole for the support screw
|
||||||
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=coverHeight+coverExtraHeight);
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=coverHeight+coverExtraHeight*2);
|
||||||
}
|
}
|
||||||
// Support screw holder
|
// Support screw holder
|
||||||
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
@ -110,11 +116,21 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
// Inner hole for the support screw
|
// Inner hole for the support screw
|
||||||
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
rotate([0,90,0]) cylinder(r=(screwSize+1)/2, h=coverHeight+0.1);
|
rotate([0,90,0]) cylinder(r=(screwSize+1)/2, h=coverHeight+0.1);
|
||||||
// Holes for the other two screws
|
// Holes for the other three screws
|
||||||
|
translate([0,nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight/2);
|
||||||
|
translate([screwHeadSpaceHeight/2,nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) sphere(r=screwHeadSpaceDiam/2);
|
||||||
|
|
||||||
translate([0,nema_screw_separation/2,-nema_screw_separation/2])
|
translate([0,nema_screw_separation/2,-nema_screw_separation/2])
|
||||||
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight);
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight/2);
|
||||||
|
translate([screwHeadSpaceHeight/2,nema_screw_separation/2,-nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) sphere(r=screwHeadSpaceDiam/2);
|
||||||
|
|
||||||
translate([0,-nema_screw_separation/2,-nema_screw_separation/2])
|
translate([0,-nema_screw_separation/2,-nema_screw_separation/2])
|
||||||
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight);
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight/2);
|
||||||
|
translate([screwHeadSpaceHeight/2,-nema_screw_separation/2,-nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) sphere(r=screwHeadSpaceDiam/2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,15 +48,18 @@ module Cyclone_Y_frontFrame() {
|
||||||
|
|
||||||
module Cyclone_YsubPart_gearCover() {
|
module Cyclone_YsubPart_gearCover() {
|
||||||
margin = 4;
|
margin = 4;
|
||||||
rodGearAddedMargin = 1;
|
rodGearAddedMargin = 0;
|
||||||
|
effectiveYgearSeparation = axes_YgearSeparation+0.5;
|
||||||
wallThickness = 0.4*4;
|
wallThickness = 0.4*4;
|
||||||
screwHeadSpaceHeight = 4;
|
screwHeadSpaceHeight = 4;
|
||||||
screwHeadSpaceDiam = 7;
|
screwHeadSpaceDiam = 6;
|
||||||
coverHeight = 16;
|
coverHeight = 16;
|
||||||
coverExtraHeight = 5;
|
coverExtraHeight = 5;
|
||||||
coverExtraRadius = -7;
|
coverExtraRadius = -7;
|
||||||
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
||||||
|
|
||||||
|
truncationAngle = 10;
|
||||||
|
|
||||||
motorGearRadius = axes_YgearSeparation/(1+axes_YgearRatio)+margin;
|
motorGearRadius = axes_YgearSeparation/(1+axes_YgearRatio)+margin;
|
||||||
rodGearRadius = axes_YgearSeparation/(1+1/axes_YgearRatio)+margin+rodGearAddedMargin;
|
rodGearRadius = axes_YgearSeparation/(1+1/axes_YgearRatio)+margin+rodGearAddedMargin;
|
||||||
|
|
||||||
|
@ -70,65 +73,70 @@ module Cyclone_Y_frontFrame() {
|
||||||
cylinder(r1=rodGearRadius+wallThickness, r2=rodGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
cylinder(r1=rodGearRadius+wallThickness, r2=rodGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
||||||
// Translate to motor position
|
// Translate to motor position
|
||||||
rotate([0,-motorRotatedOffset,0]) {
|
rotate([0,-motorRotatedOffset,0]) {
|
||||||
translate([-axes_YgearSeparation,0,0])
|
translate([-effectiveYgearSeparation,0,0])
|
||||||
rotate([0,motorRotatedOffset,0]) {
|
rotate([0,motorRotatedOffset,0]) {
|
||||||
// Cover for the motor gear
|
// Cover for the motor gear
|
||||||
rotate([90,0,0]) cylinder(r=motorGearRadius+wallThickness, h=coverHeight);
|
rotate([90,0,0]) cylinder(r=motorGearRadius+wallThickness, h=coverHeight);
|
||||||
translate([0,-coverHeight,0])
|
translate([0,-coverHeight,0])
|
||||||
rotate([90,0,0]) cylinder(r1=motorGearRadius+wallThickness, r2=motorGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
rotate([90,0,0]) cylinder(r1=motorGearRadius+wallThickness, r2=motorGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
||||||
// Cylinder for the support screw
|
// Cylinder for the support screw
|
||||||
translate([nema_screw_separation/2,0,nema_screw_separation/2])
|
translate([nema_screw_separation/2,0,-nema_screw_separation/2])
|
||||||
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2+wallThickness, h=coverHeight);
|
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2+wallThickness, h=coverHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
translate([0,0.01,0])
|
translate([0,0.01,0])
|
||||||
union() {
|
union() {
|
||||||
|
// Truncation for avoiding collisions with Y carriage
|
||||||
|
translate([-rodGearRadius/2,0,rodGearRadius+0.5])
|
||||||
|
rotate([90-truncationAngle,0,0]) cube(rodGearRadius);
|
||||||
|
rotate([90,0,0])
|
||||||
|
cylinder(r=rodGearRadius, h=coverHeight);
|
||||||
|
// Hole for the rod gear
|
||||||
|
rotate([90,0,0])
|
||||||
|
cylinder(r=rodGearRadius, h=coverHeight);
|
||||||
|
translate([0,-coverHeight+0.02,0])
|
||||||
|
rotate([90,0,0])
|
||||||
|
cylinder(r1=rodGearRadius, r2=rodGearRadius+coverExtraRadius, h=coverExtraHeight);
|
||||||
|
rotate([90,0,0])
|
||||||
|
cylinder(r=rodGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
||||||
// Translate to motor position
|
// Translate to motor position
|
||||||
rotate([0,-motorRotatedOffset,0]) {
|
rotate([0,-motorRotatedOffset,0]) {
|
||||||
translate([-axes_YgearSeparation,0,0])
|
translate([-effectiveYgearSeparation,0,0])
|
||||||
rotate([0,motorRotatedOffset,0]) {
|
rotate([0,motorRotatedOffset,0]) {
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
// Translate to the rod position
|
|
||||||
rotate([0,-motorRotatedOffset,0])
|
|
||||||
translate([+axes_YgearSeparation,0,0])
|
|
||||||
rotate([0,motorRotatedOffset,0]) {
|
|
||||||
rotate([90,0,0])
|
|
||||||
cylinder(r=rodGearRadius, h=coverHeight);
|
|
||||||
// Hole for the rod gear
|
|
||||||
rotate([90,0,0])
|
|
||||||
cylinder(r=rodGearRadius, h=coverHeight);
|
|
||||||
translate([0,-coverHeight+0.02,0])
|
|
||||||
rotate([90,0,0])
|
|
||||||
cylinder(r1=rodGearRadius, r2=rodGearRadius+coverExtraRadius, h=coverExtraHeight);
|
|
||||||
rotate([90,0,0])
|
|
||||||
cylinder(r=rodGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
|
||||||
}
|
|
||||||
// Hole for the motor gear
|
// Hole for the motor gear
|
||||||
rotate([90,0,0]) cylinder(r=motorGearRadius, h=coverHeight);
|
rotate([90,0,0]) cylinder(r=motorGearRadius, h=coverHeight);
|
||||||
translate([0,-coverHeight+0.02,0])
|
translate([0,-coverHeight+0.02,0])
|
||||||
rotate([90,0,0]) cylinder(r1=motorGearRadius, r2=motorGearRadius+coverExtraRadius, h=coverExtraHeight);
|
rotate([90,0,0]) cylinder(r1=motorGearRadius, r2=motorGearRadius+coverExtraRadius, h=coverExtraHeight);
|
||||||
rotate([90,0,0]) cylinder(r=motorGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
rotate([90,0,0]) cylinder(r=motorGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
||||||
// Outer hole for the support screw
|
// Outer hole for the support screw
|
||||||
translate([nema_screw_separation/2,0,nema_screw_separation/2])
|
translate([nema_screw_separation/2,0,-nema_screw_separation/2])
|
||||||
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=coverHeight+coverExtraHeight);
|
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=coverHeight+coverExtraHeight*2);
|
||||||
}
|
}
|
||||||
// Support screw holder
|
// Support screw holder
|
||||||
translate([nema_screw_separation/2,0,nema_screw_separation/2])
|
translate([nema_screw_separation/2,0,-nema_screw_separation/2])
|
||||||
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2+wallThickness, h=wallThickness);
|
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2+wallThickness, h=wallThickness);
|
||||||
}
|
}
|
||||||
// Inner hole for the support screw
|
// Inner hole for the support screw
|
||||||
translate([nema_screw_separation/2,0,nema_screw_separation/2])
|
|
||||||
rotate([90,0,0]) cylinder(r=(screwSize+1)/2, h=coverHeight+0.1);
|
|
||||||
// Holes for the other two screws
|
|
||||||
translate([nema_screw_separation/2,0,-nema_screw_separation/2])
|
translate([nema_screw_separation/2,0,-nema_screw_separation/2])
|
||||||
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight);
|
rotate([90,0,0]) cylinder(r=(screwSize+1)/2, h=coverHeight+0.1);
|
||||||
|
// Holes for the other three screws
|
||||||
|
translate([nema_screw_separation/2,0,nema_screw_separation/2])
|
||||||
|
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight/2);
|
||||||
|
translate([nema_screw_separation/2,-screwHeadSpaceHeight/2,nema_screw_separation/2])
|
||||||
|
rotate([90,0,0]) sphere(r=screwHeadSpaceDiam/2);
|
||||||
|
|
||||||
translate([-nema_screw_separation/2,0,-nema_screw_separation/2])
|
translate([-nema_screw_separation/2,0,-nema_screw_separation/2])
|
||||||
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight);
|
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight/2);
|
||||||
// Hole for the Y idler stand part
|
translate([-nema_screw_separation/2,-screwHeadSpaceHeight/2,-nema_screw_separation/2])
|
||||||
*translate([-10,-coverHeight-2,-5])
|
rotate([90,0,0]) sphere(r=screwHeadSpaceDiam/2);
|
||||||
scale(-1) cube([50,50,50]);
|
|
||||||
|
translate([-nema_screw_separation/2,0,nema_screw_separation/2])
|
||||||
|
rotate([90,0,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight/2);
|
||||||
|
translate([-nema_screw_separation/2,-screwHeadSpaceHeight/2,nema_screw_separation/2])
|
||||||
|
rotate([90,0,0]) sphere(r=screwHeadSpaceDiam/2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue