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
|
||||
axes_Yreference_height = 42+animatePart(5);
|
||||
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_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_Ysmooth_separation = 165+animatePart(1,overlap=0);
|
||||
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)
|
||||
|
@ -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);
|
||||
|
||||
|
||||
// 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]) {
|
||||
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([-axes_Zsmooth_separation/2,axes_Zreference_posY,axes_Zreference_height]) {
|
||||
if(draw_references) %frame();
|
||||
|
@ -189,15 +191,18 @@ 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,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);
|
||||
|
||||
|
||||
|
||||
// TRANSLATE REFERENCE POSITION to the Z axis reference
|
||||
translate([0,0,axes_Zcarriage_pos]) {
|
||||
if(draw_references) %frame();
|
||||
|
||||
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);
|
||||
}
|
||||
// Hole for linear bearing
|
||||
translate([0,linearBearingLength/2,0])
|
||||
rotate([90,0,0]) linearBearingHole(model=linearBearingModel, renderPart=true);
|
||||
// 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);
|
||||
linearBearingHole(model=linearBearingModel, lateralExtension=holderExtension, lengthExtension=2*plasticHolderLength, holderLength=plasticHolderLength/2);
|
||||
//linearBearingHole(model=linearBearingModel);
|
||||
// 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);
|
||||
|
|
|
@ -230,9 +230,34 @@ module linearBearing_single(model="LM8UU", renderPart=false, echoPart=false) {
|
|||
if(echoPart) echo(str("BOM: Linear bearing. Model ", model));
|
||||
}
|
||||
|
||||
module linearBearingHole(model="LM8UU", tolerance=0.1) {
|
||||
translate([0,0,-tolerance])
|
||||
cylinder(r=linearBearing_D(model)/2+tolerance, h=linearBearing_L(model)+2*tolerance);
|
||||
module linearBearingHole(model="LM8UU", lateralExtension=10, pressureFitTolerance=0.5, lengthExtension=6, holderLength=1.5, tolerance=0.1) {
|
||||
linearBearingLength = linearBearing_L(model);
|
||||
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