diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f616fda..85a6f45 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,6 +9,7 @@ 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 artifacts: expire_in: 2 days paths: diff --git a/Holes.scad b/Holes.scad new file mode 100644 index 0000000..f432573 --- /dev/null +++ b/Holes.scad @@ -0,0 +1,10 @@ +M3HoleDiam = 3.4; +M4HoleDiam = 4.4; + +module M3Hole(thickness) { + rotate([0, 90, 0]) cylinder(h = thickness, d = M3HoleDiam); +} + +module M4Hole(thickness) { + rotate([0, 90, 0]) cylinder(h = thickness, d = M4HoleDiam); +} \ No newline at end of file diff --git a/Motorhalter.scad b/Motorhalter.scad index 23107f7..8aea98d 100644 --- a/Motorhalter.scad +++ b/Motorhalter.scad @@ -1,3 +1,5 @@ +use ; + $fn = 50; motorheight = 42.1; @@ -16,7 +18,7 @@ M3HeadDiam = 5.8; Motorhalter(); module Motorhalter() { - render() difference() { + difference() { mainbody(); translate([motorwidth, wanddickelinks, 0]) motorholes(wanddickemotor); leftholes(); @@ -39,13 +41,13 @@ module motorholes(thickness) { translate([0, motorheight / 2, motorheight / 2])rotate([0, 90, 0])cylinder(h = thickness, d = cylinderdiameter, $fn = 130); - translate([0, motorheight - motorholedistance, motorheight - motorholedistance]) MotorM3Hole(thickness); + translate([0, motorheight - motorholedistance, motorheight - motorholedistance]) M3Hole(thickness); - translate([0, motorheight - motorholedistance, motorholedistance]) MotorM3Hole(thickness); + translate([0, motorheight - motorholedistance, motorholedistance]) M3Hole(thickness); - translate([0, motorholedistance, motorheight - motorholedistance]) MotorM3Hole(thickness); + translate([0, motorholedistance, motorheight - motorholedistance]) M3Hole(thickness); - translate([0, motorholedistance, motorholedistance]) MotorM3Hole(thickness); + translate([0, motorholedistance, motorholedistance]) M3Hole(thickness); } module leftholes() { @@ -59,13 +61,10 @@ module leftholes() { translate([motorwidth - leftholedist, 0, motorwidth - leftholedist]) LeftM3Hole(); } - -module MotorM3Hole(thickness) { - rotate([0, 90, 0])cylinder(h = thickness, d = M3HoleDiam); -} - +// todo move this into Holes module LeftM3Hole() { - rotate([270, 0, 0])cylinder(h = wanddickelinks, d = M3HoleDiam); + // rotate([270, 0, 0])cylinder(h = wanddickelinks, d = M3HoleDiam); + rotate([270, 0, 90]) M3Hole(wanddickelinks); translate([0, wanddickelinks - 3, 0]) rotate([270, 0, 0])cylinder(h = 3, d = M3HeadDiam); } diff --git a/Slider.scad b/Slider.scad new file mode 100644 index 0000000..c784a76 --- /dev/null +++ b/Slider.scad @@ -0,0 +1,3 @@ +$fn=50; + +cube(); diff --git a/SliderLeft.scad b/SliderLeft.scad index 9ddf053..5b8e047 100644 --- a/SliderLeft.scad +++ b/SliderLeft.scad @@ -1,6 +1,5 @@ use ; - -M3HoleDiam = 3.4; +use ; MountSize = 40; BodyWidth = 55; @@ -45,16 +44,14 @@ module YRodHoles(){ translate([55, 30, -12.5]) rotate([0, 90, 0]) #cylinder(h = 6, d = 8); translate([55, 25, 10]) #union() { - cube([6,10,20]); - translate([0, 5, 0]) rotate([0, 90, 0]) cylinder(h = 6, d = 10); - translate([0, 5, 20]) rotate([0, 90, 0]) cylinder(h = 6, d = 10); + // create the ovale hole with the hull of two holes + hull() { + translate([0, 5, 0]) rotate([0, 90, 0]) cylinder(h = 6, d = 10); + translate([0, 5, 20]) rotate([0, 90, 0]) cylinder(h = 6, d = 10); + } } } -module M3Hole(thickness) { - rotate([0, 90, 0])cylinder(h = thickness, d = M3HoleDiam); -} - module MainBody() { // left mount plate translate([0,0,-5]) cube([5, MountSize, MountSize+10]); diff --git a/ZMotorHalter.scad b/ZMotorHalter.scad index f892d2e..39c469e 100644 --- a/ZMotorHalter.scad +++ b/ZMotorHalter.scad @@ -1,6 +1,7 @@ use ; +use ; + $fn = 50; -M4HoleDiam = 4.4; height = 42.1; thickness = 4; @@ -11,15 +12,11 @@ difference() { l = 47; r = 64; - translate([l, 6]) rotate([0, -90, -90]) #MotorM4Hole(thickness+1); - translate([l, height-5]) rotate([0, -90, -90]) #MotorM4Hole(thickness+1); + translate([l, 6]) rotate([0, -90, -90]) #M4Hole(thickness+1); + translate([l, height-5]) rotate([0, -90, -90]) #M4Hole(thickness+1); - translate([r, 6]) rotate([0, -90, -90]) #MotorM4Hole(thickness+1); - translate([r, height-5]) rotate([0, -90, -90]) #MotorM4Hole(thickness+1); + translate([r, 6]) rotate([0, -90, -90]) #M4Hole(thickness+1); + translate([r, height-5]) rotate([0, -90, -90]) #M4Hole(thickness+1); - translate([l+(r-l)/2, height/2]) rotate([0, -90, -90]) #MotorM4Hole(thickness+1); -} - -module MotorM4Hole(thickness) { - rotate([0, 90, 0])cylinder(h = thickness, d = M4HoleDiam); + translate([l+(r-l)/2, height/2]) rotate([0, -90, -90]) #M4Hole(thickness+1); } \ No newline at end of file