Work on the X carriage

pull/20/head
Carlos Garcia Saura 2014-07-28 02:13:32 +02:00
parent 9ed75a0d3b
commit 48117ba49d
5 changed files with 20536 additions and 10 deletions

View File

@ -55,7 +55,7 @@ axes_Zthreaded_rodD = 8.5+animatePart(4,dist=5);
// Z axis reference is the Z threaded rod, at the height of the Z nut, and relative to the X reference
axes_Yreference_height = 42+animatePart(5);
axes_Xreference_height = 70+animatePart(6); // relative to Y reference
axes_Zreference_height = -5+animatePart(7)+animatePart(9); // relative to X reference
axes_Zreference_height = -3+animatePart(7)+animatePart(9); // relative to X reference
axes_Xreference_posY = -80-animatePart(8)-animatePart(9); // relative to Y reference. Moves the X axis towards the front of the machine
axes_Zreference_posY = 14; // relative to X reference. Positions Z rods between the Y rods
@ -88,6 +88,8 @@ workbed_separation_from_Y_smooth_rod = 10;
axes_Xreference_posX = (axes_Ysmooth_separation-axes_Xsmooth_rodLen)/2; // relative to Y reference
axes_Y_smoothThreaded_verticalSeparation = axes_Yreference_height-axes_Y_threaded_height;
axes_ZthreadedReference_posY = axes_Xsmooth_separation-axes_Zreference_posY-axes_Zreference_posY; // Relative to X carriage reference
// Activate/Deactivate rendering auxiliary references (LCS axis, etc)
draw_references = true;
render_DXF_base = false;
@ -176,12 +178,12 @@ render_2D_or_3D() {
translate([axes_Xcarriage_pos,0,0]) {
if(draw_references) %frame();
//Cyclone_X_carriage();
Cyclone_X_carriage();
rotate([0,90,0]) linearBearing_single(model=linearBearingModel, echoPart=true);
rotate([0,-90,0]) linearBearing_single(model=linearBearingModel, echoPart=true);
// TRANSLATE REFERENCE POSITION to the Z axis origin (top of X carriage, right smooth rod)
// TRANSLATE REFERENCE POSITION to the Z axis origin (right smooth rod)
translate([-axes_Zsmooth_separation/2,axes_Zreference_posY,axes_Zreference_height]) {
if(draw_references) %frame();
@ -191,14 +193,14 @@ render_2D_or_3D() {
translate([axes_Zsmooth_separation,0,0])
rotate([90,0,0]) standard_rod(diam=axes_Zsmooth_rodD, length=axes_Zsmooth_rodLen, threaded=false, echoPart=true);
// Draw Z threaded rod
translate([axes_Zsmooth_separation/2,axes_Xsmooth_separation-axes_Zreference_posY-axes_Zreference_posY,0])
translate([axes_Zsmooth_separation/2,axes_ZthreadedReference_posY,0])
rotate([90,0,0]) standard_rod(diam=axes_Zthreaded_rodD, length=axes_Zthreaded_rodLen, threaded=true, echoPart=true);
// TRANSLATE REFERENCE POSITION to the Z axis reference
translate([0,0,axes_Zcarriage_pos]) {
if(draw_references) %frame();
Cyclone_Z_carriage();
//Cyclone_Z_carriage();
linearBearing_single(model=linearBearingModel, echoPart=true);
translate([axes_Zsmooth_separation,0,0])

View File

@ -4,9 +4,63 @@
// 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/
use <libs/linear_bearing.scad>
module Cyclone_X_carriage() {
color("lightblue") translate([-(axes_Zsmooth_separation+10)/2,-5,-5])
cube([axes_Zsmooth_separation+10,axes_Xsmooth_separation+10,axes_Zreference_height+5]);
linearBearingModel = "LM8UU";
linearBearingLength = linearBearing_L(linearBearingModel);
linearBearingDiameter = linearBearing_D(linearBearingModel);
linearBearingSeparation = 0;
sideExtensions = linearBearingDiameter/3;
ZrodHolderLength = 30;
linearBearingLengthExtension = 6+max(axes_Zsmooth_rodD+axes_Zsmooth_separation-2*linearBearingLength-linearBearingSeparation, linearBearingSeparation);
dimX = 2*linearBearingLength+linearBearingLengthExtension;
difference() {
// color("lightblue") translate([-(axes_Zsmooth_separation+10)/2,-5,-5])
// cube([axes_Zsmooth_separation+10,axes_Xsmooth_separation+10,axes_Zreference_height+5]);
*color("lightblue") translate([-dimX/2,-5,-sideExtensions])
cube([dimX,axes_Xsmooth_separation+10,ZrodHolderLength]);
hull() {
rotate([0,90,0])
bcube([linearBearingDiameter,linearBearingDiameter+sideExtensions, dimX], cr=3, cres=5);// cylinder(r=linearBearingDiameter/2, h=dimX, center=true);
translate([0,axes_Xsmooth_separation,axes_Xsmooth_separation])
rotate([0,90,0])
bcube([linearBearingDiameter+sideExtensions,linearBearingDiameter, dimX], cr=3, cres=5);// cylinder(r=linearBearingDiameter/2, h=dimX, center=true);
}
translate([-dimX/2-0.5,0,-sideExtensions+ZrodHolderLength])
cube([dimX+1,axes_Xsmooth_separation-axes_ZthreadedReference_posY,axes_Xsmooth_separation]);
// ----- Holes for the linear bearings ------
// Bottom right linear bearing
translate([-linearBearingLength/2-linearBearingSeparation/2,0,0])
rotate([0,0,90]) linearBearingHole(model=linearBearingModel, lateralExtension=sideExtensions*2, lengthExtension=linearBearingLengthExtension);
// Bottom left linear bearing
translate([linearBearingLength/2+linearBearingSeparation/2,0,0])
rotate([0,0,90]) linearBearingHole(model=linearBearingModel, lateralExtension=sideExtensions*2, lengthExtension=linearBearingLengthExtension);
// Top linear bearing
translate([0,axes_Xsmooth_separation,axes_Xsmooth_separation])
rotate([90,0,0]) rotate([0,0,90]) linearBearingHole(model=linearBearingModel, lateralExtension=sideExtensions*2, lengthExtension=linearBearingLength+linearBearingLengthExtension+linearBearingSeparation);
// ----- Holes for the rods ------
// TRANSLATE REFERENCE POSITION to the Z axis origin (right smooth rod)
translate([-axes_Zsmooth_separation/2,axes_Zreference_posY,axes_Zreference_height]) {
if(draw_references) %frame();
// Z smooth rod (right)
rotate([90,0,0]) standard_rod(diam=axes_Zsmooth_rodD, length=axes_Zsmooth_rodLen, threaded=false, renderPart=true);
// Z smooth rod (left)
translate([axes_Zsmooth_separation,0,0])
rotate([90,0,0]) standard_rod(diam=axes_Zsmooth_rodD, length=axes_Zsmooth_rodLen, threaded=false, renderPart=true);
// Z threaded rod
translate([axes_Zsmooth_separation/2,axes_ZthreadedReference_posY,0])
rotate([90,0,0]) standard_rod(diam=1.5*axes_Zthreaded_rodD, length=axes_Zthreaded_rodLen, threaded=true, renderPart=true);
}
}
}

View File

@ -70,7 +70,7 @@ module Cyclone_YsubPart_nutHolder() {
}
//use <libs/linear_bearing.scad>;
use <libs/linear_bearing.scad>
module Cyclone_YsubPart_singleLinearBearingHolder() {
linearBearingModel = "LM8UU";
linearBearingLength = linearBearing_L(linearBearingModel);

View File

@ -222,7 +222,7 @@ module washer_single(diam=15.8, thickness=1.6, tolerance=0, renderPart=false, ec
include <linear_bearing.scad>;
include <linear_bearing.scad>
module linearBearing_single(model="LM8UU", renderPart=false, echoPart=false) {
renderStandardPart(renderPart)

File diff suppressed because it is too large Load Diff