Finished X gears cover
parent
fa4309f6d7
commit
04d1cee218
|
@ -41,17 +41,99 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
|
|
||||||
corner_radius = 10;
|
corner_radius = 10;
|
||||||
|
|
||||||
|
|
||||||
module Cyclone_XsubPart_gearCover() {
|
module Cyclone_XsubPart_gearCover() {
|
||||||
margin = 4;
|
margin = 4;
|
||||||
wallThickness = 2;
|
rodGearAddedMargin = 1;
|
||||||
|
wallThickness = 0.4*4;
|
||||||
|
screwHeadSpaceHeight = 4;
|
||||||
|
screwHeadSpaceDiam = 7;
|
||||||
|
coverHeight = 16;
|
||||||
|
coverExtraHeight = 5;
|
||||||
|
coverExtraRadius = -7;
|
||||||
|
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
||||||
|
|
||||||
|
motorGearRadius = axes_XgearSeparation/(1+axes_XgearRatio)+margin;
|
||||||
|
rodGearRadius = axes_XgearSeparation/(1+1/axes_XgearRatio)+margin+rodGearAddedMargin;
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
// Cover for the rod gear
|
||||||
|
rotate([0,90,0])
|
||||||
|
cylinder(r=rodGearRadius+wallThickness, h=coverHeight);
|
||||||
|
translate([coverHeight,0,0])
|
||||||
|
rotate([0,90,0])
|
||||||
|
cylinder(r1=rodGearRadius+wallThickness, r2=rodGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
||||||
|
// Translate to motor position
|
||||||
|
rotate([motorRotatedOffset,0,0]) {
|
||||||
|
translate([0,axes_XgearSeparation,0])
|
||||||
|
rotate([-motorRotatedOffset,0,0]) {
|
||||||
|
// Cover for the motor gear
|
||||||
|
rotate([0,90,0]) cylinder(r=motorGearRadius+wallThickness, h=coverHeight);
|
||||||
|
translate([coverHeight,0,0])
|
||||||
|
rotate([0,90,0]) cylinder(r1=motorGearRadius+wallThickness, r2=motorGearRadius+wallThickness+coverExtraRadius, h=coverExtraHeight+wallThickness);
|
||||||
|
// Cylinder for the support screw
|
||||||
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2+wallThickness, h=coverHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([-0.02,0,0])
|
||||||
|
union() {
|
||||||
|
// Hole for the rod gear
|
||||||
|
rotate([0,90,0])
|
||||||
|
cylinder(r=rodGearRadius, h=coverHeight);
|
||||||
|
translate([coverHeight-0.02,0,0])
|
||||||
|
rotate([0,90,0])
|
||||||
|
cylinder(r1=rodGearRadius, r2=rodGearRadius+coverExtraRadius, h=coverExtraHeight);
|
||||||
|
rotate([0,90,0])
|
||||||
|
cylinder(r=rodGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
||||||
|
// Translate to motor position
|
||||||
|
rotate([motorRotatedOffset,0,0]) {
|
||||||
|
translate([0,axes_XgearSeparation,0])
|
||||||
|
rotate([-motorRotatedOffset,0,0]) {
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
// Hole for the motor gear
|
||||||
|
rotate([0,90,0]) cylinder(r=motorGearRadius, h=coverHeight);
|
||||||
|
translate([coverHeight-0.02,0,0])
|
||||||
|
rotate([0,90,0]) cylinder(r1=motorGearRadius, r2=motorGearRadius+coverExtraRadius, h=coverExtraHeight);
|
||||||
|
rotate([0,90,0]) cylinder(r=motorGearRadius+coverExtraRadius, h=coverHeight+coverExtraHeight+wallThickness+0.1);
|
||||||
|
// Outer hole for the support screw
|
||||||
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=coverHeight+coverExtraHeight);
|
||||||
|
}
|
||||||
|
// Support screw holder
|
||||||
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2+wallThickness, h=wallThickness);
|
||||||
|
}
|
||||||
|
// Inner hole for the support screw
|
||||||
|
translate([0,-nema_screw_separation/2,nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=(screwSize+1)/2, h=coverHeight+0.1);
|
||||||
|
// Holes for the other two screws
|
||||||
|
translate([0,nema_screw_separation/2,-nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight);
|
||||||
|
translate([0,-nema_screw_separation/2,-nema_screw_separation/2])
|
||||||
|
rotate([0,90,0]) cylinder(r=screwHeadSpaceDiam/2, h=screwHeadSpaceHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module Cyclone_XsubPart_gearCover_OLD() {
|
||||||
|
margin = 4;
|
||||||
|
rodGearAddedMargin = 1;
|
||||||
|
wallThickness = 0.4*4;
|
||||||
screwHeadSpaceHeight = 4;
|
screwHeadSpaceHeight = 4;
|
||||||
screwHeadSpaceDiam = 7;
|
screwHeadSpaceDiam = 7;
|
||||||
coverHeight = gearWallSeparation+axes_XgearThickness+wallThickness+margin;
|
coverHeight = gearWallSeparation+axes_XgearThickness+wallThickness+margin;
|
||||||
|
coverExtraHeight = 5;
|
||||||
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
rotate([0,90,0])
|
rotate([0,90,0])
|
||||||
cylinder(r=axes_XgearSeparation/(1+1/axes_XgearRatio)+wallThickness+margin, h=coverHeight);
|
cylinder(r=axes_XgearSeparation/(1+1/axes_XgearRatio)+wallThickness+margin+rodGearAddedMargin, h=coverHeight);
|
||||||
// Translate to motor position
|
// Translate to motor position
|
||||||
rotate([motorRotatedOffset,0,0]) {
|
rotate([motorRotatedOffset,0,0]) {
|
||||||
translate([0,axes_XgearSeparation,0])
|
translate([0,axes_XgearSeparation,0])
|
||||||
|
@ -67,7 +149,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
translate([-0.01,0,0])
|
translate([-0.01,0,0])
|
||||||
union() {
|
union() {
|
||||||
rotate([0,90,0])
|
rotate([0,90,0])
|
||||||
cylinder(r=axes_XgearSeparation/(1+1/axes_XgearRatio)+margin, h=gearWallSeparation+axes_XgearThickness+margin);
|
cylinder(r=axes_XgearSeparation/(1+1/axes_XgearRatio)+margin+rodGearAddedMargin, h=gearWallSeparation+axes_XgearThickness+margin);
|
||||||
rotate([0,90,0]) cylinder(r=20/2-1.5, h=30);
|
rotate([0,90,0]) cylinder(r=20/2-1.5, h=30);
|
||||||
// Translate to motor position
|
// Translate to motor position
|
||||||
rotate([motorRotatedOffset,0,0]) {
|
rotate([motorRotatedOffset,0,0]) {
|
||||||
|
@ -196,6 +278,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
||||||
translate([gearWallSeparation,0,0]) rotate([0,90,0]) motorGear(r=axes_XgearSeparation/(1+axes_XgearRatio), h=axes_XgearThickness, echoPart=true);
|
translate([gearWallSeparation,0,0]) rotate([0,90,0]) motorGear(r=axes_XgearSeparation/(1+axes_XgearRatio), h=axes_XgearThickness, echoPart=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
translate([0.1,0,0])
|
||||||
Cyclone_XsubPart_gearCover();
|
Cyclone_XsubPart_gearCover();
|
||||||
}
|
}
|
||||||
translate([0,0,axes_Xsmooth_separation])
|
translate([0,0,axes_Xsmooth_separation])
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 61 KiB |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue