Position render fix and little code cleanup

pull/38/head^2
Arne Durr 2014-12-09 14:19:35 +01:00
parent 7778a206d1
commit 689f49f2ad
7 changed files with 91 additions and 95 deletions

View File

@ -252,26 +252,20 @@ module Cyclone_X_carriage() {
nut(size=8, echoPart=true);
translate([-dimX/2,axes_effective_Xsmooth_separation,0]) rotate([-135,0,0]){
//translate([0,dimY/2+rod_nut_len/2,0])
// rotate([0,90,0]) rotate([90,0,0])
//translate([0,-rod_nut_len-3-washer_thickness/2,0])
translate([-rod_nut_len/2+1,0,0]) rotate([90,90,90])
nut(size=8, echoPart=true);
//translate([0,-dimY/2,0])
// rotate([0,90,0]) rotate([-90,0,0])
translate([rod_nut_len/2+3+1+holderExtension,0,0]) rotate([90,90,90])
nut(size=8, echoPart=true);
//translate([0,dimY/2+0.01-rod_nut_len/2-3,0])
translate([rod_nut_len/2+3+1,0,0]) rotate([0,0,-90]) rotate([180,0,0])
washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
translate([-rod_nut_len/2+1,0,0]) rotate([90,90,90])
nut(size=8, echoPart=true);
translate([rod_nut_len/2+3+1+holderExtension,0,0]) rotate([90,90,90])
nut(size=8, echoPart=true);
translate([rod_nut_len/2+3+1,0,0]) rotate([0,0,-90]) rotate([180,0,0])
washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
}
translate([-linearBearingLength/2-X_linearBearingSeparation/2,-screwLength/2-screwAditionalLength/2,-linearBearingDiameter/2-screwExtension/2])
rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0);
rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
// Bottom left screw
translate([linearBearingLength/2+X_linearBearingSeparation/2,-screwLength/2-screwAditionalLength/2,-linearBearingDiameter/2-screwExtension/2])
rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0);
rotate([0,0,180]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
// Top screw
translate([0,axes_effective_Xsmooth_separation+screwExtension/2+linearBearingDiameter/2,axes_effective_Xsmooth_separation+screwLength/2+screwAditionalLength/2])
rotate([90,0,0]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0);
rotate([90,0,0]) screw_and_nut(size=screwSize,length=screwLength+screwAditionalLength,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
}

View File

@ -32,11 +32,13 @@ module Cyclone_X_rightFrame(isLeft=false) {
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;
footSeparation = footScrewSize*3;
footWidth = dimX+2*footSeparation;
rod_nut_len = 0.8*axes_Xthreaded_rodD;
rodNutSize = X_threaded_rodNutSize;
rod_nut_len = METRIC_NUT_THICKNESS[rodNutSize];
nut_separation = rod_nut_len/2;
//rod_nut_len = 0.8*axes_Xthreaded_rodD;
module Cyclone_XsubPart_gearCover() {
margin = gearCover_margin;
@ -232,7 +234,7 @@ module Cyclone_X_rightFrame(isLeft=false) {
translate([+0.01,axes_Xsmooth_separation,0]) {
// Rod radial bearing hole
rotate([0,-90,0]) bearingHole(depth=X_threaded_rod_bearingDepth, thickness=partThickness);
rotate([0,-90,0]) bearingHole(depth=X_threaded_rod_bearingDepth, thickness=partThickness, model=X_threaded_rodBearingModel);
// Translate to motor position
if(!isLeft)
@ -280,15 +282,19 @@ module Cyclone_X_rightFrame(isLeft=false) {
if(draw_references) color("green") %frame(20);
translate([-X_threaded_rod_bearingDepth,0,0]) rotate([0,90,0])
radialBearing(echoPart=true);
translate([14-X_threaded_rod_bearingDepth-0.5,0,0]) rotate([0,-90,0]){ // replace 14 with bearing hight - X_threaded_rod_bearingDepth
nut(size=rodNutSize, echoPart=true);
if(isLeft) {
translate([0,0,-rod_nut_len])
rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
}
}
if(!isLeft) {
translate([X_gear_thickness*2+axes_Xthreaded_rodD-7,0,0])
rotate([0,-90,0])
rotate([0,0,45]) nut(size=axes_Xthreaded_rodD, chamfer=true, echoPart=true);
translate([axes_Xthreaded_rodD,0,0]){
rotate([0,-90,0])
nut(size=axes_Xthreaded_rodD, echoPart=true);
translate([X_threaded_rod_bearingDepth+(2*rod_nut_len)-(nut_separation/2)-2,0,0]) {
translate([X_gear_thickness+(nut_separation/2),0,0])
rotate([0,-90,0])
rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
if(Render_X_rodGear) {
translate([axes_Xthreaded_rodD-7,0,0])
rotate([0,-90,0]) color(color_movingPart)
cyclone_rod_gear(Gear_N_Teeth=X_rodGearRatio,gearHeight=X_gear_thickness,nutSize=8,tolerance=0);
}
@ -300,16 +306,16 @@ module Cyclone_X_rightFrame(isLeft=false) {
translate([-motorWallSeparation,0,0]) rotate([0,90,0])
stepperMotor(screwHeight=motorWallSeparation, echoPart=true);
if(Render_X_motorGear) {
translate([axes_Xthreaded_rodD+1.5,0,0])
translate([X_threaded_rod_bearingDepth+(2*rod_nut_len)-(nut_separation/2)-2,0,0])
rotate([0,-90,0]) color(color_movingPart)
cyclone_motor_gear(Gear_N_Teeth=X_motorGearRatio,gearHeight=X_gear_thickness,tolerance=0);
}
}
}
if(Render_Y_gearCover) {
// Draw the X gear cover
translate([0.1,0,0])
color(color_stillPart) Cyclone_XsubPart_gearCover();
// Draw the X gear cover
translate([0.1,0,0])
color(color_stillPart) Cyclone_XsubPart_gearCover();
}
}
translate([0,0,axes_Xsmooth_separation])
@ -320,15 +326,15 @@ module Cyclone_X_rightFrame(isLeft=false) {
translate([-axes_Xreference_posX-dimX-footSeparation,axes_Xreference_posY+footSeparation,-axes_Yreference_height+footThickness]) {
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
translate([0,dimY/2,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
translate([0,dimY-2*footSeparation,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
}
}
@ -371,9 +377,9 @@ module rodHolder(rodD=8.5, screwSize=3, height=0, sideLen=0, thickness=5, space=
// Draw screws
translate([screwSize+screwAditionalDistance,-dimY/2,dimZ+0.01])
rotate([90,0,0])
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, echoPart=true);
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,rot=90,echoPart=true);
translate([-screwSize-screwAditionalDistance,-dimY/2,dimZ+0.01])
rotate([90,0,0])
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, echoPart=true);
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0,rot=90,echoPart=true);
}
}

View File

@ -62,15 +62,15 @@ module Cyclone_YsubPart_nutHolder() {
hole_for_screw(size=screwSize,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0,tolerance=screwHoleTolerance);
}
translate([0,dimY/2+rod_nut_len/2,0])
rotate([0,90,0]) rotate([90,0,0]) nut(size=8, echoPart=true);
rotate([0,90,0]) rotate([90,0,0]) nut(size=rodNutSize, echoPart=true);
translate([0,-dimY/2,0])
rotate([0,90,0]) rotate([-90,0,0]) nut(size=8, echoPart=true);
rotate([0,90,0]) rotate([-90,0,0]) nut(size=rodNutSize, echoPart=true);
translate([0,dimY/2+0.01-rod_nut_len/2-3,0])
washer_single(diam=washer_D, thickness=washer_thickness, echoPart=true);
translate([0,-screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness+screwSize])
rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0);
rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
translate([0,+screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness+screwSize])
rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0);
rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_thickness+footThickness+screwSize,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
}
use <libs/linear_bearing.scad>
@ -98,7 +98,7 @@ module Cyclone_YsubPart_singleLinearBearingHolder(onlyScrews=false) {
translate([dimX/2+footSeparation,0,dimZ+workbed_thickness+workbed_screws_aditional_length])
rotate([90,0,0]) hole_for_screw(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance);
translate([dimX/2+footSeparation,0,dimZ+workbed_thickness+workbed_screws_aditional_length])
rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
rotate([90,0,0]) screw_and_nut(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,echoPart=true);
} else {
difference() {
// Main part
@ -223,12 +223,12 @@ module Cyclone_YsubPart_PCBholder() {
translate([0,0,holderL_thickness+(holderL_thickness+holderL_thickness_btm)/2]) {
for (x = [-1,1], y=[-1,0,1]) {
translate([x*(PCB_dimX/2+screwSeparation),y*PCB_dimY/4,PCBholder_height+screwSize])
rotate([0,0,x*-90]) rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
rotate([0,0,x*-90]) rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0,echoPart=true);
}
translate([PCB_dimX/2-holderArmLength/2,PCB_dimY/2+screwSeparation,PCBholder_height+screwSize])
rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0,echoPart=true);
scale([-1,-1,1]) translate([PCB_dimX/2-holderArmLength/2,PCB_dimY/2+screwSeparation,PCBholder_height+screwSize])
rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+screwSize,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0,echoPart=true);
}
}

View File

@ -27,8 +27,9 @@ module Cyclone_Y_frontFrame() {
gearWallSeparation = Y_gearWallSeparation;
motor_YgearSeparation_projected = axes_YgearSeparation*cos(-motorRotatedOffset);
rod_nut_len = 0.8*axes_Ythreaded_rodD;
rod_nut_len = METRIC_NUT_THICKNESS[Y_threaded_rodNutSize];
nut_separation = rod_nut_len/2;
gear_thickness = Y_gear_thickness;
bearing_width = bearingWidth(Y_threaded_rodBearingModel);
bearing_diam = bearingOuterDiameter(Y_threaded_rodBearingModel);
@ -43,6 +44,8 @@ module Cyclone_Y_frontFrame() {
foot_additional_separation = Y_foot_additional_separation;
footThickness = Y_frame_footThickness;
rodNutSize = Y_threaded_rodNutSize;
module Cyclone_YsubPart_gearCover() {
margin = gearCover_margin;
@ -140,7 +143,7 @@ module Cyclone_Y_frontFrame() {
}
}
translate([0,2*rod_nut_len+gear_thickness,0]) {
translate([0,2*rod_nut_len+gear_thickness-nut_separation,0]) {
translate([0,bearing_width-bearingDepth,0]) {
if(draw_references) color("blue") %frame(20);
difference() {
@ -179,7 +182,7 @@ module Cyclone_Y_frontFrame() {
}
translate([0,-0.01,0])
rotate([-90,0,0])
bearingHole(depth=bearingDepth, thickness=partThickness);
bearingHole(depth=bearingDepth, thickness=partThickness, model=Y_threaded_rodBearingModel);
translate([0,dimY/2,-dimZ+footThickness]) {
translate([footSeparation+dimX/2,0,0])
rotate([0,90,0])
@ -210,15 +213,15 @@ module Cyclone_Y_frontFrame() {
translate([footSeparation+dimX/2,0,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
translate([dimX/3,dimY/2+footSeparation+foot_additional_separation,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
translate([-footSeparation-foot_additional_separation-motor_YgearSeparation_projected-Ymotor_sideLen/2,0,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
}
// Translate to motor position
rotate([0,-motorRotatedOffset,0]) {
@ -228,39 +231,39 @@ module Cyclone_Y_frontFrame() {
rotate([90,0,0])
stepperMotor(screwHeight=motorWallSeparation, echoPart=true);
if(Render_Y_motorGear) {
translate([0,-rod_nut_len-gear_thickness,0])
translate([0,-(bearing_width-bearingDepth)-motorWallSeparation-nut_separation,0])
rotate([-90,180,0]) color(color_movingPart)
cyclone_motor_gear(Gear_N_Teeth=Y_motorGearRatio,gearHeight=gear_thickness,tolerance=0);
}
}
}
if(Render_Y_gearCover) {
// Draw the Y gear cover
translate([0,-0.1,0])
color(color_stillPart) Cyclone_YsubPart_gearCover();
// Draw the Y gear cover
translate([0,-0.1,0])
color(color_stillPart) Cyclone_YsubPart_gearCover();
}
}
rotate([-90,0,0])
radialBearing(echoPart=true);
}
translate([0,-METRIC_NUT_THICKNESS[axes_Ythreaded_rodD]/2,0])
rotate([-90,0,0])
rotate([0,0,45]) nut(size=axes_Ythreaded_rodD, chamfer=true, echoPart=true);
translate([0,rod_nut_len+gear_thickness,0])
rotate([-90,0,0])
nut(size=axes_Ythreaded_rodD, echoPart=true);
translate([0,0.1,0])
rotate([-90,0,0]) rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
if(Render_Y_rodGear) {
translate([0,METRIC_NUT_THICKNESS[axes_Ythreaded_rodD]/4+rod_nut_len,0])
translate([0,2*rod_nut_len-(nut_separation/2),0])
rotate([-90,0,0]) color(color_movingPart)
cyclone_rod_gear(Gear_N_Teeth=Y_rodGearRatio,gearHeight=gear_thickness,nutSize=8,tolerance=0);
cyclone_rod_gear(Gear_N_Teeth=Y_rodGearRatio,gearHeight=gear_thickness,nutSize=Y_threaded_rodNutSize,tolerance=0);
}
translate([0,rod_nut_len+gear_thickness-nut_separation,0])
rotate([-90,0,0]) nut(size=rodNutSize, echoPart=true);
}
module Cyclone_Y_backFrame() {
screwSize = Y_backFrame_footScrewSize;
rod_nut_len = 0.8*axes_Ythreaded_rodD;
rodNutSize = Y_threaded_rodNutSize;
//rod_nut_len = 0.8*axes_Ythreaded_rodD;
rod_nut_len = METRIC_NUT_THICKNESS[rodNutSize];
bearing_width = bearingWidth(Y_threaded_rodBearingModel);
bearing_diam = bearingOuterDiameter(Y_threaded_rodBearingModel);
bearingDepth = Y_threaded_rodBearingDepth;
@ -306,7 +309,7 @@ module Cyclone_Y_backFrame() {
translate([0,0.01,0])
rotate([90,0,0])
bearingHole(depth=bearingDepth, thickness=partThickness);
bearingHole(depth=bearingDepth, thickness=partThickness, model=Y_threaded_rodBearingModel);
translate([0,-dimY/2,-axes_Y_threaded_height+footThickness]) {
translate([-footSeparation-dimX/2,0,0])
rotate([0,90,0])
@ -328,15 +331,15 @@ module Cyclone_Y_backFrame() {
translate([-footSeparation-dimX/2,0,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
translate([footSeparation+dimX/2,0,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
translate([0,dimY/2+footSeparation+foot_additional_separation,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, invert=true, autoNutOffset=true, echoPart=true);
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,rot=90,invert=true,autoNutOffset=true,echoPart=true);
}
}
rotate([90,0,0])
@ -344,10 +347,10 @@ module Cyclone_Y_backFrame() {
}
translate([0,0.01,0])
rotate([90,0,0])
rotate([0,0,45]) nut(size=axes_Ythreaded_rodD, chamfer=true, echoPart=true);
rotate([0,0,45]) nut(size=rodNutSize, chamfer=true, echoPart=true);
translate([0,-rod_nut_len,0])
rotate([90,0,0])
nut(size=axes_Ythreaded_rodD, echoPart=true);
nut(size=rodNutSize, echoPart=true);
}
module Cyclone_logo(sizemm = 30, thickness = 10, mirrorLogo = false) {
@ -428,20 +431,20 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
translate([2.5+holderOuterRadius,dimY/2,holderOuterRadius])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=rodScrewSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, rot=90, echoPart=true);
screw_and_nut(size=rodScrewSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=0,rot=90,echoPart=true);
translate([0,dimY/2,-axes_Yreference_height+footThickness]) {
translate([-holderOuterRadius-footSeparation,0,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, rot=90, invert=true, echoPart=true);
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,autoNutOffset=true,rot=90,invert=true,echoPart=true);
translate([holderOuterRadius*2+footSeparation,0,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, rot=90, invert=true, echoPart=true);
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,autoNutOffset=true,rot=90,invert=true,echoPart=true);
translate([holderOuterRadius/2,dimY/2+footSeparation,0])
rotate([0,90,0])
rotate([0,0,90])
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, rot=90, invert=true, echoPart=true);
screw_and_nut(size=footScrewSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0,autoNutOffset=true,rot=90,invert=true,echoPart=true);
}
}

View File

@ -47,6 +47,8 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
Z_threaded_pos = motor_width/2+axis_distance+axes_Xsmooth_separation;
spindle_front_offset = 10+ZthreadedOffset;
rodNutSize = Z_threaded_rodNutSize;
module dummySpindle(length=0) {
translate([0,0,-length]) {
translate([0,0,spindle_motor_length-5]) color([0.95,0.95,0.95]) cylinder(r=26,h=30);
@ -73,7 +75,7 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
translate([0,-4,-0.01]) cube([90,4,length+2]);
translate ([spindiam/2+15,15,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
translate ([spindiam/2+15,-10.5,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
translate ([spindiam/2+15,10.5,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, autoNutOffset=true, echoPart=true);
translate ([spindiam/2+15,10.5,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,autoNutOffset=true,echoPart=true);
}
}
else
@ -83,7 +85,7 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
translate([0,0,-0.01]) cube([90,4,length+2]);
translate ([spindiam/2+15,20,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
translate ([spindiam/2+15,15,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
translate ([spindiam/2+15,17,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,tolerance=screwHoleTolerance, invert=true, autoNutOffset=true, echoPart=true);
translate ([spindiam/2+15,17,length/2]) rotate([0,0,0]) screw_and_nut(size=spindle_holder_screwSize,length=25,nutDepth=4,nutAddedLen=0,captiveLen=0,invert=true,autoNutOffset=true,echoPart=true);
}
}
}
@ -119,7 +121,7 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
// Bearing holes
translate([0,axis_distance,0]) {
bearingHole(depth=Z_bearing_width, thickness=partThickness);
bearingHole(depth=Z_bearing_width, thickness=partThickness, model=Z_threaded_rodBearingModel);
hull() {
cylinder(r=(axes_Zsmooth_rodD*2)/2,h=10*wall_thickness,center=true);
@ -254,9 +256,9 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
// Nuts
translate([0,axes_Xsmooth_separation,spindle_holder_distance+1.5-wall_thickness/2-Z_bearing_width*2])
nut(size=axes_Zthreaded_rodD, echoPart=true);
nut(size=rodNutSize, echoPart=true);
translate([0,axes_Xsmooth_separation,spindle_holder_distance+1.5-wall_thickness/2-Z_bearing_width*2-gear_thickness*1.4])
nut(size=axes_Zthreaded_rodD, chamfer=true, echoPart=true);
nut(size=rodNutSize, chamfer=true, echoPart=true);
// Dremel tool
translate([0,-40,-40]) {
@ -270,8 +272,4 @@ module Cyclone_Z_carriage(z_thread_rod_length=120, with_extra_parts=false, explo
translate([0,0,-20-20])
color([0.9,0.9,0.9]) %cylinder(r1=0.5/2, r2=3/2, h=20);
}
//if(z_thread_rod_length)
// translate([-axes_Xsmooth_separation,0,-z_thread_rod_length/2+spindle_holder_distance]) rotate([90,0,0])
// %rod(len=z_thread_rod_length, threaded=true);
}

View File

@ -97,11 +97,12 @@
Y_linearBearingModel = "LM8UU";
X_linearBearingModel = "LM8UU";
X_linearBearingSeparation = 0;
X_threaded_rod_bearingDepth = 3;
Z_linearBearingModel = "LM8UU";
Z_threaded_rodBearingModel = 608;
Y_threaded_rodBearingModel = 608;
Y_threaded_rodBearingDepth = 3;
X_threaded_rodBearingModel = 608;
X_threaded_rod_bearingDepth = 3;
// --- Steppers ---
//Y_motorModel = Nema17;
@ -147,7 +148,7 @@
axes_YgearSeparation = 37;
Y_rodGearRatio = 21; // Number of tooth
Y_motorGearRatio = 21; // Number of tooth
Y_gear_thickness = 5;
Y_gear_thickness = 10;
// --- Gear Cover ---
gearCover_margin = 4;

View File

@ -197,15 +197,8 @@ motor_rod_diam = 5/2+tolerance;
//shaft
cylinder( r=9, h=8);
//captive nut and grub holes
translate( [0, 19.5, 3.5] ) rotate( [90, 0, 0] ) union() {
//enterance
translate( [0, -3, 14.5] ) cube( [6, 6, 2.8], center=true );
//nut
translate( [0, 0, 14.5] ) rotate( [0, 0, 30] )
cylinder( r=6/2+0.5, h=2.8, $fn=6, center=true);
//grub hole
translate( [0, 0, 9] ) cylinder( r=3.3/2, h=10);
}
translate( [0, 13, 3.5] ) //rotate([90,0,0]) union() {
rotate([0,180,0]) hole_for_screw(size=3,length=14,nutDepth=4.5,nutAddedLen=0,captiveLen=10, rot=90);
}
}
@ -218,12 +211,13 @@ motor_rod_diam = 5/2+tolerance;
//shaft hole
translate( [0, 0, -6] ) cylinder( r=motor_rod_diam, h=20);
}
translate( [0, 13, 12-3.5]) //rotate([180,0,180])
screw_and_nut(size=3,length=8,nutDepth=1,nutAddedLen=0,autoNutOffset=true,invert=false,rot=90,echoPart=true);
}
module cyclone_rod_gear(Gear_N_Teeth = 21, gearHeight=10, nutSize = 8, saveMaterial=false, tolerance=0) {
rod_diam = COURSE_METRIC_BOLT_MAJOR_THREAD_DIAMETERS[nutSize]+tolerance;
nut_separation = METRIC_NUT_THICKNESS[nutSize]/2+tolerance;
nut_radius = METRIC_NUT_AC_WIDTHS[nutSize]/2+tolerance;
// Rod Gear
difference() {
union() {
@ -238,7 +232,7 @@ nut_radius = METRIC_NUT_AC_WIDTHS[nutSize]/2+tolerance;
cylinder( r=holes_diam/2, h=11, center=true);
translate( [0, 0, (nut_separation/2)] )
cylinder(r=nut_radius,h=7,$fn=6);
rotate([-90,0,0]) hole_for_nut(size=nutSize);
}
}
@ -318,7 +312,7 @@ module control_board(plasticColor="green") {
translate([15,0]) {
difference() {
translate([-15,-12.5])
cube([102.5,64.5,1.6]);
color("green") cube([102.5,64.5,1.6]);
translate([0,0,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);
translate([82.5,0,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);
translate([0,48.5,5]) rotate([90,0,0]) hole_for_screw(size=3,length=10,nutDepth=0,nutAddedLen=0,captiveLen=0);