Added Y nut holder

pull/20/head
Carlos Garcia 2014-07-22 16:48:58 +02:00
parent 8ed71ddc4c
commit 136d1d56d6
6 changed files with 70823 additions and 15 deletions

View File

@ -66,7 +66,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
rotate([0,90,0]) rotate([0,90,0])
rodHolder(rodD=axes_Xsmooth_rodD, screwSize=screwSize, negative=true); rodHolder(rodD=axes_Xsmooth_rodD, screwSize=screwSize, negative=true);
// TRANSLATE REFERENCE POSITION to the threaded rod // TRANSLATE REFERENCE POSITION to the threaded rod
translate([0,axes_Xsmooth_separation,0]) { translate([+0.01,axes_Xsmooth_separation,0]) {
translate([0,-15,-40]) rotate([0,-90,0]) cylinder(r=15,h=partThickness*2); translate([0,-15,-40]) rotate([0,-90,0]) cylinder(r=15,h=partThickness*2);
translate([0,30,-40]) rotate([0,-90,0]) cylinder(r=15,h=partThickness*2); translate([0,30,-40]) rotate([0,-90,0]) cylinder(r=15,h=partThickness*2);
translate([0,-15,-80]) rotate([0,-90,0]) cylinder(r=15,h=partThickness*2); translate([0,-15,-80]) rotate([0,-90,0]) cylinder(r=15,h=partThickness*2);

View File

@ -4,28 +4,68 @@
// License: CC BY-SA 4.0 (Attribution-ShareAlike 4.0 International, http://creativecommons.org/licenses/by-sa/4.0/) // 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/ // Designed with http://www.openscad.org/
include <MCAD/nuts_and_bolts.scad>
module Cyclone_YsubPart_nutHolder() { module Cyclone_YsubPart_nutHolder() {
workbed_separation_from_Y_threaded_rod = axes_Y_smoothThreaded_verticalSeparation+workbed_separation_from_Y_smooth_rod+axes_Ysmooth_rodD/2; workbed_separation_from_Y_threaded_rod = axes_Y_smoothThreaded_verticalSeparation+workbed_separation_from_Y_smooth_rod+axes_Ysmooth_rodD/2;
footThickness = 10; footThickness = 10;
screwSeparation = 14; screwSeparation = 16;
dimX = 15; rod_nut_len = 0.8*axes_Ythreaded_rodD;
dimY = screwSeparation*2; dimX = axes_Ythreaded_rodD*2+5;
dimZ = workbed_separation_from_Y_threaded_rod+10; dimY = screwSeparation+10;
#translate([-10,-dimY/2,-10]) dimZ = workbed_separation_from_Y_threaded_rod;
cube([dimX,dimY,dimZ]); holderExtension = 10;
translate([0,-screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness]) rodTolerance = 0.5;
rotate([90,0,0]) rodSize = 8; // M3, M4, etc (integers only)
hole_for_screw(size=3,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0); washer_D = 15.8;
translate([0,+screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness]) washer_thickness = 1.6;
rotate([90,0,0])
hole_for_screw(size=3,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0); difference() {
// Main shape
translate([0,0,dimZ/2-holderExtension/2])
bcube([dimX,dimY,dimZ+holderExtension],cr=3,cres=10);
// Hole for the rod
hull() {
standard_rod(diam=axes_Ythreaded_rodD+rodTolerance, length=dimY*4, threaded=true, renderPart=true, center=true);
translate([0,0,-holderExtension*2])
standard_rod(diam=axes_Ythreaded_rodD+rodTolerance, length=dimY*4, threaded=true, renderPart=true, center=true);
}
// Hole for the main nut
translate([0,dimY/2+0.01,0])
hull() {
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=0,captiveLen=0,tolerance=0.1);
translate([0,0,-holderExtension*2])
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=0,captiveLen=0,tolerance=0.1);
}
translate([0,dimY/2+0.01-rod_nut_len-3,0]) {
// Hole for the sliding nut
hull() {
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=dimY,captiveLen=0,tolerance=0.5);
translate([0,0,-holderExtension*2])
rotate([0,90,0]) hole_for_nut(size=rodSize,nutAddedLen=dimY,captiveLen=0,tolerance=0.5);
}
// Hole for the washer
hull() {
washer_single(diam=washer_D, thickness=washer_thickness, renderPart=true);
translate([0,0,-holderExtension*2])
washer_single(diam=washer_D, thickness=washer_thickness, renderPart=true);
}
}
// Holes for the supporting screws
translate([0,-screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness])
rotate([90,0,0])
hole_for_screw(size=3,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0);
translate([0,+screwSeparation/2,workbed_separation_from_Y_threaded_rod+workbed_thickness])
rotate([90,0,0])
hole_for_screw(size=3,length=workbed_thickness+footThickness,nutDepth=-dimZ,nutAddedLen=dimZ,captiveLen=0);
}
translate([0,dimY/2,0]) rotate([0,90,0]) rotate([90,0,0]) nut(size=8, echoPart=true);
} }
module Cyclone_Y_carriage() { module Cyclone_Y_carriage() {
baseHeight = workbed_separation_from_Y_smooth_rod-1; baseHeight = workbed_separation_from_Y_smooth_rod-1;
Cyclone_YsubPart_nutHolder();
color("lightgreen") { color("lightgreen") {
Cyclone_YsubPart_nutHolder();
translate([0,0,axes_Y_smoothThreaded_verticalSeparation+baseHeight/2]) { translate([0,0,axes_Y_smoothThreaded_verticalSeparation+baseHeight/2]) {
translate([axes_Ysmooth_separation/2,Ycarriage_linearBearingSeparation/2]) translate([axes_Ysmooth_separation/2,Ycarriage_linearBearingSeparation/2])
cube([10,10,10+baseHeight], center=true); cube([10,10,10+baseHeight], center=true);

View File

@ -115,6 +115,21 @@ module nut(size=8, chamfer=false, renderPart=false, echoPart=false) {
} }
} }
module hole_for_nut(size=3,nutAddedLen=0,captiveLen=0,tolerance=0.35) {
radius = METRIC_NUT_AC_WIDTHS[size]/2+tolerance;
height = METRIC_NUT_THICKNESS[size]+tolerance;
translate([0,height+nutAddedLen+nutDepth-0.01,0])
scale([1,(height+nutAddedLen)/height,1])
rotate([90,0,0])
hull() {
nutHole(size=size, tolerance=tolerance, proj=-1);
translate([0,captiveLen,0])
nutHole(size=size, tolerance=tolerance, proj=-1);
}
}
module screw_single(size=3,length=10,tolerance=0, renderPart=false, echoPart=false) { module screw_single(size=3,length=10,tolerance=0, renderPart=false, echoPart=false) {
height = METRIC_NUT_THICKNESS[size]+tolerance; height = METRIC_NUT_THICKNESS[size]+tolerance;
color(BlackPaint) color(BlackPaint)
@ -188,10 +203,17 @@ module bearingHole(depth=3, thickness=10, model=608, tolerance=1) {
} }
} }
module radialBearing(model=608,renderPart=false, echoPart=false) { module radialBearing(model=608, renderPart=false, echoPart=false) {
renderStandardPart(renderPart) renderStandardPart(renderPart)
bearing(model=model, outline=false); bearing(model=model, outline=false);
if(echoPart) echo(str("BOM: Radial bearing. Model ",model)); if(echoPart) echo(str("BOM: Radial bearing. Model ",model));
} }
module washer_single(diam=15.8, thickness=1.6, tolerance=0.1, renderPart=false, echoPart=false) {
renderStandardPart(renderPart)
color(steel)
rotate([90,0,0]) translate([0,0,-tolerance]) cylinder(r=diam/2+tolerance, h=thickness+2*tolerance);
if(echoPart) echo(str("BOM: Washer. Diameter ", diam, "mm. Thickness ", thickness, "mm"));
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB