Finished X gears cover

pull/20/head
Carlos Garcia 2014-09-10 17:03:07 +02:00
parent fa4309f6d7
commit 04d1cee218
4 changed files with 174462 additions and 126051 deletions

View File

@ -41,17 +41,99 @@ module Cyclone_X_leftFrame(isLeft=true) {
corner_radius = 10;
module Cyclone_XsubPart_gearCover() {
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;
screwHeadSpaceDiam = 7;
coverHeight = gearWallSeparation+axes_XgearThickness+wallThickness+margin;
coverExtraHeight = 5;
nema_screw_separation = lookup(NemaDistanceBetweenMountingHoles, Nema17);
difference() {
union() {
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
rotate([motorRotatedOffset,0,0]) {
translate([0,axes_XgearSeparation,0])
@ -67,7 +149,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
translate([-0.01,0,0])
union() {
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);
// Translate to motor position
rotate([motorRotatedOffset,0,0]) {
@ -196,7 +278,8 @@ 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);
}
}
Cyclone_XsubPart_gearCover();
translate([0.1,0,0])
Cyclone_XsubPart_gearCover();
}
translate([0,0,axes_Xsmooth_separation])
rotate([0,0,-90])

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