diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 85a6f45..40313bd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,8 @@ Build_STL: - openscad -o horizontal_angle_bracket.stl horizontal_angle_bracket.scad - openscad -o ZMotorHalter.stl ZMotorHalter.scad - openscad -o SliderRight.stl SliderRight.scad - - openscad -o Slider.stl Slider.scad + - openscad -o Slider_back.stl Slider_back.scad + - openscad -o Slider_front.stl Slider_front.scad artifacts: expire_in: 2 days paths: diff --git a/Slider.scad b/Slider_back.scad similarity index 81% rename from Slider.scad rename to Slider_back.scad index 77cf372..d169aac 100644 --- a/Slider.scad +++ b/Slider_back.scad @@ -1,30 +1,13 @@ use ; +include ; -$fn=75; - -// distance between two rods -holeDist=65; - -// diameter of rod sticks -rodDiameter=8; - -// overall height -heightMain=90; - -width=60; -depth=10; - -bearingLength=24; -bearingDiam=15; - -twoRodSize=2.2; -middleCylinderRad=2.5; -middleCylinderOuterRad=4; - -rollWithRodDist=13.6; // rolle mit rod drauf difference() { - body(); + union() { + body(); + zcube(); + } + dist=(heightMain-holeDist)/2; translate([0,0,dist]) bearingHalfHole(); @@ -47,12 +30,15 @@ module body() { cube([width-edgeRound*2, depth/2, heightMain-edgeRound*2]); rotate([-90, 0, 0]) cylinder(r=edgeRound,h=depth/2); } - +} + +// add the offset cube with the triangle to have space for the belts in it +module zcube() { cubez=heightMain/2-rollWithRodDist; translate([0, -5, cubez]) cube([width, 5, rollWithRodDist]); // the bottom triangle - translate([0, 0, cubez]) rotate([-90,0,-90]) linear_extrude(width) #polygon([[0,0],[5,0],[0,5]]); + translate([0, 0, cubez]) rotate([-90,0,-90]) linear_extrude(width) #polygon([[0,0],[5,0],[0,5]]); } module bearingHalfHole() { @@ -79,22 +65,22 @@ module beltHolder() { } module MountHoles() { - translate([10,0,65]) { + translate([holeLeftRightMargin,0,holeTop]) { rotate([0,0,90]) #M3Hole(10); translate([0,5,0]) rotate([0,0,90]) M3Nut(5); } - translate([width-10,0,65]) { + translate([width-holeLeftRightMargin,0,holeTop]) { rotate([0,0,90]) #M3Hole(10); translate([0,5,0]) rotate([0,0,90]) M3Nut(5); } - translate([10,0,30]) { + translate([holeLeftRightMargin,0,holeBottom]) { translate([0,-5,0]) rotate([0,0,90]) #M3Hole(15); translate([0,5,0]) rotate([0,0,90]) M3Nut(10); } - translate([width-10,0,30]) { + translate([width-holeLeftRightMargin,0,holeBottom]) { translate([0,-5,0]) rotate([0,0,90]) #M3Hole(15); translate([0,5,0]) rotate([0,0,90]) M3Nut(10); } diff --git a/Slider_dims.scad b/Slider_dims.scad new file mode 100644 index 0000000..2614130 --- /dev/null +++ b/Slider_dims.scad @@ -0,0 +1,28 @@ +$fn=75; + +// distance between two rods +holeDist=65; + +// diameter of rod sticks +rodDiameter=8; + +// overall height +heightMain=90; + +width=60; +depth=10; + +bearingLength=24; +bearingDiam=15; + +twoRodSize=2.2; +middleCylinderRad=2.5; +middleCylinderOuterRad=4; + +rollWithRodDist=13.6; // rolle mit rod drauf + + +// hole positions +holeLeftRightMargin=10; +holeBottom=30; +holeTop=65; \ No newline at end of file diff --git a/Slider_front.scad b/Slider_front.scad new file mode 100644 index 0000000..5522485 --- /dev/null +++ b/Slider_front.scad @@ -0,0 +1,29 @@ +use +use +include + +difference() { + translate([0,-10,0]) body(); + + dist=(heightMain-holeDist)/2; + translate([0,0,dist]) bearingHalfHole(); + translate([0,0,dist+holeDist]) bearingHalfHole(); + + zcube(); + + cubecenter=heightMain/2-rollWithRodDist/2; + translate([0, -5, heightMain/2]) cube([width, 5, rollWithRodDist]); + + // add the 4 mountholes + translate([0, -5, 0]) MountHolesFront(); +} + +// Similar function from Slider_back without the hexagonal holes +module MountHolesFront() { + translate([holeLeftRightMargin,-5,holeTop]) rotate([0,0,90]) #M3Hole(10); + translate([width-holeLeftRightMargin,-5,holeTop]) rotate([0,0,90]) #M3Hole(10); + + + translate([holeLeftRightMargin,-5,holeBottom]) rotate([0,0,90]) #M3Hole(10); + translate([width-holeLeftRightMargin,-5,holeBottom]) rotate([0,0,90]) #M3Hole(10); +} \ No newline at end of file