Added nuts and bolds

pull/26/head
Arne Durr 2014-12-08 21:28:16 +01:00
parent b518654a31
commit 529e583aad
2 changed files with 49 additions and 9 deletions

View File

@ -4,8 +4,13 @@
// License: CC BY-SA 4.0 (Attribution-ShareAlike 4.0 International, http://creativecommons.org/licenses/by-sa/4.0/)
// Designed with http://www.openscad.org/
rod_nut_len = 0.8*axes_Xthreaded_rodD;
washer_D = X_backlash_washer_D;
washer_thickness = X_backlash_washer_thickness;
holderExtension = 10;
use <libs/linear_bearing.scad>
use <libs/standard_parts.scad>
module Cyclone_X_carriage() {
linearBearingLength = linearBearing_L(X_linearBearingModel);
linearBearingDiameter = linearBearing_D(X_linearBearingModel);
@ -28,7 +33,6 @@ module Cyclone_X_carriage() {
dimX = 2*linearBearingLength+linearBearingLengthExtension;
module Cyclone_XsubPart_ZnutHolder(holes=false) {
rod_nut_len = 0.8*axes_Zthreaded_rodD;
rodTolerance = X_threaded_rod_Tolerance;
rodSize = Z_threaded_rodNutSize; // M3, M4, etc (integers only)
dimZ = rod_nut_len+3; // Nut holder thickness
@ -51,12 +55,7 @@ module Cyclone_X_carriage() {
}
module Cyclone_XsubPart_XnutHolder(holes=false) {
rod_nut_len = 0.8*axes_Xthreaded_rodD;
rodSize = X_threaded_rodNutSize; // M3, M4, etc (integers only)
washer_D = X_backlash_washer_D;
washer_thickness = X_backlash_washer_thickness;
holderExtension = 10;
armWidth = axes_Xthreaded_rodD*2+6;
@ -116,7 +115,7 @@ module Cyclone_X_carriage() {
}
module Cyclone_XsubPart_XnutHolder_SINGLE_NUT(holes=false) {
rod_nut_len = 0.8*axes_Xthreaded_rodD;
rodSize = X_threaded_rodNutSize; // M3, M4, etc (integers only)
washer_D = X_backlash_washer_D;
@ -246,4 +245,33 @@ module Cyclone_X_carriage() {
rotate([0,-90,0]) linearBearing_single(model=X_linearBearingModel, echoPart=true);
translate([linearBearingLength/2,axes_effective_Xsmooth_separation,axes_effective_Xsmooth_separation])
rotate([0,-90,0]) linearBearing_single(model=X_linearBearingModel, echoPart=true);
// Draw nuts and screws
translate([0,axes_Zreference_posY+axes_ZthreadedReference_posY,axes_effective_Xsmooth_separation+(linearBearingDiameter+sideExtensions)/2])
rotate([180,0,0])
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([-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);
// 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);
// 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);
}

View File

@ -93,6 +93,8 @@ module Cyclone_YsubPart_singleLinearBearingHolder(onlyScrews=false) {
// Hole for the screw and nut
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);
} else {
difference() {
// Main part
@ -212,6 +214,16 @@ module Cyclone_YsubPart_PCBholder() {
}
}
}
// Add the screws and nuts
for (x = [-1,1], y=[-1,0,1]) {
translate([x*(PCB_dimX/2+screwSeparation),y*PCB_dimY/4,PCBholder_height+(2*screwSize)])
rotate([0,0,x*-90]) rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+3,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
}
translate([PCB_dimX/2-holderArmLength/2,PCB_dimY/2+screwSeparation,PCBholder_height+(2*screwSize)])
rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+3,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
scale([-1,-1,1]) translate([PCB_dimX/2-holderArmLength/2,PCB_dimY/2+screwSeparation,PCBholder_height+(2*screwSize)])
rotate([90,0,90]) screw_and_nut(size=screwSize,length=PCBholder_height+3,nutDepth=4.5-screwSize,nutAddedLen=0,captiveLen=0);
}
module Cyclone_Y_carriage() {