Added endstop holder for the Y axis, inverted base screws
parent
424bf0d11f
commit
83173f4e3c
|
@ -36,7 +36,7 @@ base_size_Y = 261.62+animatePart(2);
|
|||
base_thickness = 8;
|
||||
base_corner_radius = 20;
|
||||
base_corner_res = 0;
|
||||
foot_offset = 40;
|
||||
foot_offset = 25;
|
||||
|
||||
|
||||
// Parameters for the axes sizes
|
||||
|
|
|
@ -119,7 +119,7 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
|||
rotate([motorRotatedOffset,0,0])
|
||||
translate([0,axes_XgearSeparation,0])
|
||||
rotate([-motorRotatedOffset,0,0])
|
||||
rotate([0,90,0]) stepperMotor_mount(motorWallSeparation, slide_distance=5, sideLen=Xmotor_sideLen, slideOut=true);
|
||||
rotate([0,90,0]) stepperMotor_mount(motorWallSeparation, sideLen=Xmotor_sideLen, slideOut=true);
|
||||
translate([0,0,axes_Xsmooth_separation]) {
|
||||
rotate([0,0,90]) standard_rod(diam=axes_Xsmooth_rodD, length=partThickness*4, threaded=false, renderPart=true, center=true);
|
||||
rotate([0,0,-90])
|
||||
|
@ -131,15 +131,15 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
|||
translate([-axes_Xreference_posX-dimX-footSeparation,axes_Xreference_posY+footSeparation,-axes_Yreference_height+footThickness]) {
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, invert=true);
|
||||
translate([0,dimY/2,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, invert=true);
|
||||
translate([0,dimY-2*footSeparation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, invert=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -176,15 +176,15 @@ module Cyclone_X_leftFrame(isLeft=true) {
|
|||
translate([-axes_Xreference_posX-dimX-footSeparation,axes_Xreference_posY+footSeparation,-axes_Yreference_height+footThickness]) {
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, invert=true, autoNutOffset=true, echoPart=true);
|
||||
translate([0,dimY/2,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, invert=true, autoNutOffset=true, echoPart=true);
|
||||
translate([0,dimY-2*footSeparation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, invert=true, autoNutOffset=true, echoPart=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -205,11 +205,11 @@ module rodHolder(rodD=8.5, screwSize=3, height=0, sideLen=0, thickness=5, space=
|
|||
translate([screwSize+screwAditionalDistance,-dimY/2,dimZ])
|
||||
rotate([-90,0,0])
|
||||
rotate([0,0,180])
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10);
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10, rot=90);
|
||||
translate([-screwSize-screwAditionalDistance,-dimY/2,dimZ])
|
||||
rotate([-90,0,0])
|
||||
rotate([0,0,180])
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10);
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10, rot=90);
|
||||
} else {
|
||||
difference() {
|
||||
union() {
|
||||
|
@ -222,11 +222,11 @@ module rodHolder(rodD=8.5, screwSize=3, height=0, sideLen=0, thickness=5, space=
|
|||
translate([screwSize+screwAditionalDistance,-dimY/2,dimZ])
|
||||
rotate([-90,0,0])
|
||||
rotate([0,0,180])
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10);
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10, rot=90);
|
||||
translate([-screwSize-screwAditionalDistance,-dimY/2,dimZ])
|
||||
rotate([-90,0,0])
|
||||
rotate([0,0,180])
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10);
|
||||
hole_for_screw(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=10, rot=90);
|
||||
standard_rod(diam=rodD, length=dimY*4, threaded=false, renderPart=true, center=true);
|
||||
rodHolder(rodD=rodD, screwSize=screwSize, negative=true);
|
||||
}
|
||||
|
@ -234,11 +234,11 @@ module rodHolder(rodD=8.5, screwSize=3, height=0, sideLen=0, thickness=5, space=
|
|||
translate([screwSize+screwAditionalDistance,-dimY/2,dimZ+0.01])
|
||||
rotate([-90,0,0])
|
||||
rotate([0,0,180])
|
||||
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0, rot=90, echoPart=true);
|
||||
translate([-screwSize-screwAditionalDistance,-dimY/2,dimZ+0.01])
|
||||
rotate([-90,0,0])
|
||||
rotate([0,0,180])
|
||||
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=dimZ+15,nutDepth=5,nutAddedLen=0,captiveLen=0, rot=90, echoPart=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -93,22 +93,22 @@ module Cyclone_Y_frontFrame() {
|
|||
translate([footSeparation+dimX/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
translate([dimX/3,dimY/2+footSeparation+foot_additional_separation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
translate([-footSeparation-foot_additional_separation-motor_YgearSeparation_projected-Ymotor_sideLen/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
}
|
||||
// Translate to motor axis position
|
||||
rotate([0,-motorRotatedOffset,0]) {
|
||||
translate([-axes_XgearSeparation,0,0])
|
||||
rotate([0,motorRotatedOffset,0]) {
|
||||
translate([0,motorWallSeparation-0.01,0])
|
||||
rotate([0,0,90]) rotate([0,-90,0]) stepperMotor_mount(motorWallSeparation, slide_distance=5, sideLen=Ymotor_sideLen, slideOut=false);
|
||||
rotate([0,0,90]) rotate([0,-90,0]) stepperMotor_mount(motorWallSeparation, sideLen=Ymotor_sideLen, slideOut=false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -118,15 +118,15 @@ module Cyclone_Y_frontFrame() {
|
|||
translate([footSeparation+dimX/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true, autoNutOffset=true, echoPart=true);
|
||||
translate([dimX/3,dimY/2+footSeparation+foot_additional_separation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true, autoNutOffset=true, echoPart=true);
|
||||
translate([-footSeparation-foot_additional_separation-motor_YgearSeparation_projected-Ymotor_sideLen/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true, autoNutOffset=true, echoPart=true);
|
||||
}
|
||||
// Translate to motor position
|
||||
rotate([0,-motorRotatedOffset,0]) {
|
||||
|
@ -158,6 +158,8 @@ module Cyclone_Y_frontFrame() {
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
module Cyclone_Y_backFrame() {
|
||||
|
||||
screwSize = 3; // M3, M4, etc (integers only)
|
||||
|
@ -193,7 +195,13 @@ module Cyclone_Y_backFrame() {
|
|||
translate([0,dimY/2+footSeparation+foot_additional_separation,0])
|
||||
cylinder(r=dimY/2,h=footThickness);
|
||||
}
|
||||
translate([0,-dimY-0.01,dimX/2])
|
||||
endstop_holder(holes=false);
|
||||
}
|
||||
|
||||
translate([0,-dimY-0.01,dimX/2])
|
||||
endstop_holder(holes=true);
|
||||
|
||||
translate([0,0.01,0])
|
||||
rotate([90,0,0])
|
||||
bearingHole(depth=bearingDepth, thickness=partThickness);
|
||||
|
@ -201,15 +209,15 @@ module Cyclone_Y_backFrame() {
|
|||
translate([-footSeparation-dimX/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
translate([footSeparation+dimX/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
translate([0,dimY/2+footSeparation+foot_additional_separation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -218,15 +226,15 @@ module Cyclone_Y_backFrame() {
|
|||
translate([-footSeparation-dimX/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true, autoNutOffset=true, echoPart=true);
|
||||
translate([footSeparation+dimX/2,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true, autoNutOffset=true, echoPart=true);
|
||||
translate([0,dimY/2+footSeparation+foot_additional_separation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true, autoNutOffset=true, echoPart=true);
|
||||
}
|
||||
}
|
||||
rotate([90,0,0])
|
||||
|
@ -303,7 +311,7 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
|
|||
translate([2.5+holderOuterRadius,dimY/2,holderOuterRadius])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=10);
|
||||
hole_for_screw(size=screwSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=10, rot=90);
|
||||
translate([dimX/2,dimY/2,0])
|
||||
cube([dimX+1,dimY+1,slotHeight],center=true);
|
||||
translate([(dimX-holderOuterRadius)/2,-0.1,-(dimZ+axes_Ysmooth_rodD/2)/2])
|
||||
|
@ -314,15 +322,15 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
|
|||
translate([-holderOuterRadius-footSeparation,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
translate([holderOuterRadius*2+footSeparation,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
translate([holderOuterRadius/2,dimY/2+footSeparation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0);
|
||||
hole_for_screw(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, rot=90, invert=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -330,20 +338,20 @@ module Cyclone_Y_rightSmoothRodIdler(mirrorLogo = false) {
|
|||
translate([2.5+holderOuterRadius,dimY/2,holderOuterRadius])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=0, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=screwLength+10,nutDepth=10,nutAddedLen=0,captiveLen=0, rot=90, echoPart=true);
|
||||
translate([0,dimY/2,-axes_Yreference_height+footThickness]) {
|
||||
translate([-holderOuterRadius-footSeparation,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, rot=90, invert=true, echoPart=true);
|
||||
translate([holderOuterRadius*2+footSeparation,0,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, rot=90, invert=true, echoPart=true);
|
||||
translate([holderOuterRadius/2,dimY/2+footSeparation,0])
|
||||
rotate([0,90,0])
|
||||
rotate([0,0,90])
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, echoPart=true);
|
||||
screw_and_nut(size=screwSize,length=footThickness+base_thickness,nutDepth=0,nutAddedLen=0,captiveLen=0, autoNutOffset=true, rot=90, invert=true, echoPart=true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -68,10 +68,11 @@ module beveledBase(size=[100,200,10], radius=10, res=15, renderPart=false, echoP
|
|||
|
||||
include <MCAD/nuts_and_bolts.scad>
|
||||
|
||||
module hole_for_screw(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=0.45,rot=0, echoPart=false) {
|
||||
module hole_for_screw(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=0.45,rot=0,invert=false, echoPart=false) {
|
||||
radius = METRIC_NUT_AC_WIDTHS[size]/2+tolerance;
|
||||
height = METRIC_NUT_THICKNESS[size]+tolerance;
|
||||
translate([0,-length/2,0]) {
|
||||
rotate([0,0,invert ? 180 : 0])
|
||||
translate([0,invert ? length/2 : -length/2,0]) {
|
||||
translate([0,-length/2+height+nutAddedLen+nutDepth-0.01,0])
|
||||
scale([1,(height+nutAddedLen)/height,1])
|
||||
rotate([90,0,0])
|
||||
|
@ -88,14 +89,15 @@ module hole_for_screw(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tol
|
|||
if(echoPart) echo(str("BOM: Nut. M", size, "."));
|
||||
}
|
||||
|
||||
module screw_and_nut(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=0, autoNutOffset=false, renderPart=false, echoPart=false) {
|
||||
module screw_and_nut(size=3,length=20,nutDepth=5,nutAddedLen=0,captiveLen=0,tolerance=0, autoNutOffset=false, rot=0, invert=false, renderPart=false, echoPart=false) {
|
||||
renderStandardPart(renderPart)
|
||||
color(BlackPaint)
|
||||
difference() {
|
||||
if(autoNutOffset)
|
||||
hole_for_screw(size,length+METRIC_NUT_THICKNESS[size],nutDepth,nutAddedLen,captiveLen,tolerance, echoPart=echoPart);
|
||||
hole_for_screw(size,length+METRIC_NUT_THICKNESS[size],nutDepth,nutAddedLen,captiveLen,tolerance,rot,invert, echoPart);
|
||||
else
|
||||
hole_for_screw(size,length,nutDepth,nutAddedLen,captiveLen,tolerance, echoPart=echoPart);
|
||||
hole_for_screw(size,length,nutDepth,nutAddedLen,captiveLen,tolerance,rot,invert, echoPart);
|
||||
translate([0,invert ? -length-METRIC_NUT_THICKNESS[size] : 0,0])
|
||||
rotate([0,45,0]) {
|
||||
cube([1,1,10],center=true);
|
||||
cube([10,1,1],center=true);
|
||||
|
@ -149,7 +151,7 @@ module screw_single(size=3,length=10,tolerance=0, renderPart=false, echoPart=fal
|
|||
|
||||
use <MCAD/motors.scad>
|
||||
include <MCAD/stepper.scad>
|
||||
module stepperMotor_mount(height, tolerance=0.15, slide_distance=5, sideLen=42.20, slideOut=false, renderPart=false) {
|
||||
module stepperMotor_mount(height, tolerance=0.15, slide_distance=6, sideLen=42.20, slideOut=false, renderPart=false) {
|
||||
render() union() {
|
||||
linear_extrude(height=height) offset(delta = tolerance, join_type = "round") union() {
|
||||
stepper_motor_mount(nema_standard=17, slide_distance=slide_distance, mochup=false);
|
||||
|
@ -277,3 +279,56 @@ module control_board() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
module endstop_holder(holes=false) {
|
||||
boardX = 39.53;
|
||||
boardY = 16.05;
|
||||
boardZ = 1.62;
|
||||
|
||||
holderX = 29;
|
||||
holderY = 8;
|
||||
holderZ = 6;
|
||||
|
||||
screwWallSep = 2.75;
|
||||
|
||||
if(holes) {
|
||||
translate([0,0,-boardZ]) {
|
||||
// PCB
|
||||
cube([boardX,boardY,boardZ]);
|
||||
// Endstop pins
|
||||
translate([6.2,6.5,-3])
|
||||
cube([13.5,5,3]);
|
||||
// Connector pins
|
||||
translate([26.7,3.5,-3])
|
||||
cube([3,7.8,3]);
|
||||
}
|
||||
translate([0,screwWallSep,3]) {
|
||||
translate([3.7,0,0])
|
||||
rotate([90,0,0])
|
||||
hole_for_screw(size=3,length=15,nutDepth=0,nutAddedLen=5,captiveLen=10,rot=90);
|
||||
translate([22.7,0,0])
|
||||
rotate([90,0,0])
|
||||
hole_for_screw(size=3,length=15,nutDepth=0,nutAddedLen=5,captiveLen=10,rot=90);
|
||||
}
|
||||
} else {
|
||||
translate([holderX/2,holderY/2,-holderZ/2-boardZ])
|
||||
bcube([holderX,holderY,holderZ], cr=2, cres=4);
|
||||
// PCB
|
||||
color("lightgrey") translate([0,0,-boardZ])
|
||||
%cube([boardX,boardY,boardZ]);
|
||||
// Endstop
|
||||
color("grey") translate([6.8,0,0])
|
||||
%cube([12.8,6.5,6.3]);
|
||||
// Screws
|
||||
translate([0,screwWallSep,3]) {
|
||||
translate([3.7,0,0])
|
||||
rotate([90,0,0])
|
||||
screw_and_nut(size=3,length=10,nutDepth=0, rot=90, echoPart=true);
|
||||
translate([22.7,0,0])
|
||||
rotate([90,0,0])
|
||||
screw_and_nut(size=3,length=10,nutDepth=0, rot=90, echoPart=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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: 53 KiB After Width: | Height: | Size: 47 KiB |
Loading…
Reference in New Issue