From 4419c007137e369a1148a10dac7abb625f845111 Mon Sep 17 00:00:00 2001 From: lukas Date: Sun, 19 Dec 2021 19:20:46 +0100 Subject: [PATCH] add mid-part from z-holder --- Slider_back.scad | 19 ++++++++---- ZSlider_holder.scad | 72 +++++++++++++++++++++++++++++++++++++++++++++ ZSlider_holer.scad | 35 ---------------------- ZSlider_mid.scad | 58 ++++++++++++++++++++++++++++++++++++ helpers/Holes.scad | 10 ++++++- 5 files changed, 152 insertions(+), 42 deletions(-) create mode 100644 ZSlider_holder.scad delete mode 100644 ZSlider_holer.scad create mode 100644 ZSlider_mid.scad diff --git a/Slider_back.scad b/Slider_back.scad index c77dce2..a8ada70 100644 --- a/Slider_back.scad +++ b/Slider_back.scad @@ -11,8 +11,8 @@ module Slider_back() { dist=(heightMain-holeDist)/2; - translate([0,0,dist]) bearingHalfHole(); - translate([0,0,dist+holeDist]) bearingHalfHole(); + translate([0,0,dist]) bearingHalfHoles(); + translate([0,0,dist+holeDist]) bearingHalfHoles(); cubecenter=heightMain/2-rollWithRodDist/2; translate([0, 0, heightMain/2]) cube([width, 5, rollWithRodDist]); @@ -44,12 +44,19 @@ module zcube() { translate([0, 0, cubez]) rotate([-90,0,-90]) linear_extrude(width) #polygon([[0,0],[5,0],[0,5]]); } -module bearingHalfHole() { +function getBearingLength() = bearingLength; + +module bearingHalfHoles() { sideDist=3; - rotate([0, 90, 0]) cylinder(h = width, d = 8+2); // we are defining +1mm to fit the rod in the hole... - translate([sideDist,0,0]) rotate([0, 90, 0]) cylinder(h = bearingLength, d = bearingDiam); - translate([width-bearingLength-sideDist,0,0]) rotate([0, 90, 0]) cylinder(h = bearingLength, d = bearingDiam); + //rotate([0, 90, 0]) cylinder(h = width, d = 8+2); // we are defining +1mm to fit the rod in the hole... + translate([sideDist,0,0]) bearingHalfHole(); + translate([width-bearingLength-sideDist,0,0]) bearingHalfHole(); +} + +module bearingHalfHole(rodln=bearingLength+10) { + #translate([(bearingLength - rodln)/2,0,0]) rotate([0, 90, 0]) cylinder(h = rodln, d = 8+2); + rotate([0, 90, 0]) cylinder(h = bearingLength, d = bearingDiam); } module beltHolder() { diff --git a/ZSlider_holder.scad b/ZSlider_holder.scad new file mode 100644 index 0000000..cc0ca07 --- /dev/null +++ b/ZSlider_holder.scad @@ -0,0 +1,72 @@ +use ; +use ; + +$fn=75; + +width = 30; +length= 40; +height = 10; + +module body() { + edgeRound=5; + + translate([edgeRound, edgeRound, 0]) minkowski() { + cube([width-edgeRound*2,length-edgeRound*2,height/2]); + rotate([0, 0, 0]) cylinder(r=edgeRound,h=height/2); + } +} + +main(); +module main() { + difference() { + body(); + #translate([(width-getBearingLength())/2,20,height]) bearingHalfHole(); + #holes(11); + } +} +// the four mount holes +module holes(h,nuts=true,head=false) { + translate([7.5,7.5,0]) { + rotate([0,-90,0]) M3Hole(h); + if (nuts) { + rotate([0,-90,0]) M3Nut(5); + } + + if (head) { + translate([0,0,h-5]) rotate([0,-90,0]) M3Head(5); + } + } + + translate([22.5,7.5,0]) { + rotate([0,-90,0]) M3Hole(h); + if (nuts) { + rotate([0,-90,0]) M3Nut(5); + } + + if (head) { + translate([0,0,h-5]) rotate([0,-90,0]) M3Head(5); + } + } + + translate([7.5,32.5,0]) { + rotate([0,-90,0]) M3Hole(h); + if (nuts) { + rotate([0,-90,0]) M3Nut(5); + } + + if (head) { + translate([0,0,h-5]) rotate([0,-90,0]) M3Head(5); + } + } + + translate([22.5,32.5,0]) { + rotate([0,-90,0]) M3Hole(h); + if (nuts) { + rotate([0,-90,0]) M3Nut(5); + } + + if (head) { + translate([0,0,h-5]) rotate([0,-90,0]) M3Head(5); + } + } +} diff --git a/ZSlider_holer.scad b/ZSlider_holer.scad deleted file mode 100644 index dac7ef0..0000000 --- a/ZSlider_holer.scad +++ /dev/null @@ -1,35 +0,0 @@ -use ; -use ; - -$fn=75; - -main(); -module main() { - difference() { - cube([30,40,10]); - translate([0,20,10]) bearingHalfHole(); - holes(); - } -} -// the four mount holes -module holes() { - translate([7.5,7.5,0]) { - rotate([0,-90,0]) M3Hole(10); - rotate([0,-90,0]) M3Nut(5); - } - - translate([22.5,7.5,0]) { - rotate([0,-90,0]) M3Hole(10); - rotate([0,-90,0]) M3Nut(5); - } - - translate([7.5,32.5,0]) { - rotate([0,-90,0]) M3Hole(10); - rotate([0,-90,0]) M3Nut(5); - } - - translate([22.5,32.5,0]) { - rotate([0,-90,0]) M3Hole(10); - rotate([0,-90,0]) M3Nut(5); - } -} diff --git a/ZSlider_mid.scad b/ZSlider_mid.scad new file mode 100644 index 0000000..7c1e0ef --- /dev/null +++ b/ZSlider_mid.scad @@ -0,0 +1,58 @@ +use ; +use ; +use ; + +$fn=75; + +module roundcube(x,y,z,rad=5) { + hull() { + translate([rad,rad,0]) cylinder(r=rad,h=z); + translate([x-rad,rad,0]) cylinder(r=rad,h=z); + translate([x-rad,y-rad,0]) cylinder(r=rad,h=z); + translate([rad,y-rad,0]) cylinder(r=rad,h=z); + } + +} + +module body() { + //cube([49,40,10]); + difference(){ + roundcube(49,40,20); + translate([4.5,0,10]) cube([40.3,40,11]); + } + +} + +difference() { + body(); + #translate([(30 - getBearingLength())/2,20,0]) bearingHalfHole(80); + hholes(); + bigholes(); +} + +use ; +translate([0,0,-10]) main(); + +module hholes() { + holes(11,false, true); +} + +module bigholes() { + translate([15,7.5,0]) rotate([0,-90,0]) { + M4Hole(11); + M4Head(5); + }; + translate([15,32.5,0]) rotate([0,-90,0]) { + M4Hole(11); + M4Head(5); + }; + + translate([49-15,7.5,0]) rotate([0,-90,0]) { + M4Hole(11); + M4Head(5); + }; + translate([49-15,32.5,0]) rotate([0,-90,0]) { + M4Hole(11); + M4Head(5); + }; +} \ No newline at end of file diff --git a/helpers/Holes.scad b/helpers/Holes.scad index 29996a3..e441e57 100644 --- a/helpers/Holes.scad +++ b/helpers/Holes.scad @@ -1,9 +1,13 @@ +//https://de.wikipedia.org/wiki/Durchgangsbohrung + M3HoleDiam = 3.4; M4HoleDiam = 4.4; M3NutDiam=6.01+.4; -M3HeadDiam = 5.8; +_printoffset=.3; +M3HeadDiam = 5.5+_printoffset; +M4HeadDiam = 7+_printoffset; module M3Hole(thickness) { rotate([0, 90, 0]) cylinder(h = thickness, d = M3HoleDiam); @@ -19,4 +23,8 @@ module M3Nut(thickness) { module M3Head(thickness) { rotate([0, 90, 0]) cylinder(h = thickness, d = M3HeadDiam); +} + +module M4Head(thickness) { + rotate([0, 90, 0]) cylinder(h = thickness, d = M4HeadDiam); } \ No newline at end of file