Improved linear bearing holder. Work on the XZ axis
parent
c9f42a2f8c
commit
9ed75a0d3b
|
@ -55,16 +55,16 @@ 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
|
// 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_Yreference_height = 42+animatePart(5);
|
||||||
axes_Xreference_height = 70+animatePart(6); // relative to Y reference
|
axes_Xreference_height = 70+animatePart(6); // relative to Y reference
|
||||||
axes_Zreference_height = 45+animatePart(7)+animatePart(9); // relative to X reference
|
axes_Zreference_height = -5+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_Xreference_posY = -80-animatePart(8)-animatePart(9); // relative to Y reference. Moves the X axis towards the front of the machine
|
||||||
axes_Zreference_posY = 15; // relative to X reference. Positions Z nut between the Y rods
|
axes_Zreference_posY = 14; // relative to X reference. Positions Z rods between the Y rods
|
||||||
|
|
||||||
axes_Y_threaded_height = 30+animatePart(5);
|
axes_Y_threaded_height = 30+animatePart(5);
|
||||||
|
|
||||||
axes_Ysmooth_separation = 165+animatePart(1,overlap=0);
|
axes_Ysmooth_separation = 165+animatePart(1,overlap=0);
|
||||||
axes_Xsmooth_separation = 40+animatePart(9);
|
axes_Xsmooth_separation = 40+animatePart(9);
|
||||||
axes_Zsmooth_separation = 35+animatePart(10,overlap=0);
|
axes_Zsmooth_separation = 40+animatePart(10,overlap=0);
|
||||||
|
|
||||||
|
|
||||||
// Carriage positions (for rendering)
|
// Carriage positions (for rendering)
|
||||||
|
@ -172,13 +172,15 @@ render_2D_or_3D() {
|
||||||
rotate([0,0,-90]) standard_rod(diam=axes_Xsmooth_rodD, length=axes_Xsmooth_rodLen, threaded=false, echoPart=true);
|
rotate([0,0,-90]) standard_rod(diam=axes_Xsmooth_rodD, length=axes_Xsmooth_rodLen, threaded=false, echoPart=true);
|
||||||
|
|
||||||
|
|
||||||
// TRANSLATE REFERENCE POSITION to the X carriage (centered)
|
// TRANSLATE REFERENCE POSITION to the X carriage (centered), X lower smooth rod
|
||||||
translate([axes_Xcarriage_pos,0,0]) {
|
translate([axes_Xcarriage_pos,0,0]) {
|
||||||
if(draw_references) %frame();
|
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 (top of X carriage, right smooth rod)
|
||||||
translate([-axes_Zsmooth_separation/2,axes_Zreference_posY,axes_Zreference_height]) {
|
translate([-axes_Zsmooth_separation/2,axes_Zreference_posY,axes_Zreference_height]) {
|
||||||
if(draw_references) %frame();
|
if(draw_references) %frame();
|
||||||
|
@ -189,15 +191,18 @@ render_2D_or_3D() {
|
||||||
translate([axes_Zsmooth_separation,0,0])
|
translate([axes_Zsmooth_separation,0,0])
|
||||||
rotate([90,0,0]) standard_rod(diam=axes_Zsmooth_rodD, length=axes_Zsmooth_rodLen, threaded=false, echoPart=true);
|
rotate([90,0,0]) standard_rod(diam=axes_Zsmooth_rodD, length=axes_Zsmooth_rodLen, threaded=false, echoPart=true);
|
||||||
// Draw Z threaded rod
|
// Draw Z threaded rod
|
||||||
translate([axes_Zsmooth_separation/2,0,0])
|
translate([axes_Zsmooth_separation/2,axes_Xsmooth_separation-axes_Zreference_posY-axes_Zreference_posY,0])
|
||||||
rotate([90,0,0]) standard_rod(diam=axes_Zthreaded_rodD, length=axes_Zthreaded_rodLen, threaded=true, echoPart=true);
|
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 REFERENCE POSITION to the Z axis reference
|
||||||
translate([0,0,axes_Zcarriage_pos]) {
|
translate([0,0,axes_Zcarriage_pos]) {
|
||||||
if(draw_references) %frame();
|
if(draw_references) %frame();
|
||||||
|
|
||||||
Cyclone_Z_carriage();
|
Cyclone_Z_carriage();
|
||||||
|
|
||||||
|
linearBearing_single(model=linearBearingModel, echoPart=true);
|
||||||
|
translate([axes_Zsmooth_separation,0,0])
|
||||||
|
linearBearing_single(model=linearBearingModel, echoPart=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,25 +109,8 @@ module Cyclone_YsubPart_singleLinearBearingHolder() {
|
||||||
bcube([dimX,dimY,holderExtension], cr=3, cres=0);
|
bcube([dimX,dimY,holderExtension], cr=3, cres=0);
|
||||||
}
|
}
|
||||||
// Hole for linear bearing
|
// Hole for linear bearing
|
||||||
translate([0,linearBearingLength/2,0])
|
linearBearingHole(model=linearBearingModel, lateralExtension=holderExtension, lengthExtension=2*plasticHolderLength, holderLength=plasticHolderLength/2);
|
||||||
rotate([90,0,0]) linearBearingHole(model=linearBearingModel, renderPart=true);
|
//linearBearingHole(model=linearBearingModel);
|
||||||
// Slot for inserting the bearing
|
|
||||||
translate([0,0,-holderExtension/2])
|
|
||||||
cube([linearBearingDiameter-linearBearing_pressureFitTolerance*2,dimY+0.01,holderExtension+0.01], center=true);
|
|
||||||
// Plastic holders to keep the bearing in place
|
|
||||||
translate([0,dimY/2,0])
|
|
||||||
hull() {
|
|
||||||
translate([0,-plasticHolderLength,0])
|
|
||||||
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2, h=0.01, center=true);
|
|
||||||
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2-2*linearBearing_pressureFitTolerance, h=0.01, center=true);
|
|
||||||
}
|
|
||||||
scale([1,-1,1]) translate([0,dimY/2,0])
|
|
||||||
hull() {
|
|
||||||
translate([0,-plasticHolderLength,0])
|
|
||||||
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2, h=0.01, center=true);
|
|
||||||
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2-2*linearBearing_pressureFitTolerance, h=0.01, center=true);
|
|
||||||
}
|
|
||||||
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2-linearBearing_pressureFitTolerance, h=dimY+1, center=true);//linearBearingHole(model=linearBearingModel, renderPart=true);
|
|
||||||
// Hole for the screw and nut
|
// Hole for the screw and nut
|
||||||
translate([dimX/2+footSeparation,0,dimZ+workbed_thickness+workbed_screws_aditional_length])
|
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);
|
rotate([90,0,0]) hole_for_screw(size=screwSize,length=workbed_screws_aditional_length+footThickness+workbed_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||||
|
|
|
@ -230,9 +230,34 @@ module linearBearing_single(model="LM8UU", renderPart=false, echoPart=false) {
|
||||||
if(echoPart) echo(str("BOM: Linear bearing. Model ", model));
|
if(echoPart) echo(str("BOM: Linear bearing. Model ", model));
|
||||||
}
|
}
|
||||||
|
|
||||||
module linearBearingHole(model="LM8UU", tolerance=0.1) {
|
module linearBearingHole(model="LM8UU", lateralExtension=10, pressureFitTolerance=0.5, lengthExtension=6, holderLength=1.5, tolerance=0.1) {
|
||||||
translate([0,0,-tolerance])
|
linearBearingLength = linearBearing_L(model);
|
||||||
cylinder(r=linearBearing_D(model)/2+tolerance, h=linearBearing_L(model)+2*tolerance);
|
linearBearingDiameter = linearBearing_D(model);
|
||||||
|
|
||||||
|
dimY = linearBearingLength+lengthExtension;
|
||||||
|
|
||||||
|
// Hole for linear bearing
|
||||||
|
translate([0,linearBearingLength/2,0])
|
||||||
|
rotate([90,0,0])
|
||||||
|
translate([0,0,-tolerance])
|
||||||
|
cylinder(r=linearBearingDiameter/2+tolerance, h=linearBearingLength+2*tolerance);
|
||||||
|
// Slot for inserting the bearing
|
||||||
|
translate([0,0,-lateralExtension/2])
|
||||||
|
cube([linearBearingDiameter-pressureFitTolerance*2,dimY+0.01,lateralExtension+0.01], center=true);
|
||||||
|
// Plastic holders to keep the bearing in place
|
||||||
|
translate([0,linearBearingLength/2,0])
|
||||||
|
hull() {
|
||||||
|
translate([0,holderLength,0])
|
||||||
|
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2-pressureFitTolerance, h=0.01, center=true);
|
||||||
|
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2, h=0.01, center=true);
|
||||||
|
}
|
||||||
|
scale([1,-1,1]) translate([0,linearBearingLength/2,0])
|
||||||
|
hull() {
|
||||||
|
translate([0,holderLength,0])
|
||||||
|
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2-pressureFitTolerance, h=0.01, center=true);
|
||||||
|
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2, h=0.01, center=true);
|
||||||
|
}
|
||||||
|
rotate([90,0,0]) cylinder(r=linearBearingDiameter/2-pressureFitTolerance, h=dimY+1, center=true);//linearBearingHole(model=linearBearingModel, renderPart=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue