diff --git a/Motorhalter.scad b/Motorhalter.scad index 1b16259..23107f7 100644 --- a/Motorhalter.scad +++ b/Motorhalter.scad @@ -18,7 +18,7 @@ Motorhalter(); module Motorhalter() { render() difference() { mainbody(); - translate([motorwidth, wanddickelinks, 0]) motorholes(); + translate([motorwidth, wanddickelinks, 0]) motorholes(wanddickemotor); leftholes(); } } @@ -35,17 +35,17 @@ module mainbody() { polygon([[0, 0], [0, motorheight * 2 / 3], [motorwidth * 2 / 3, motorheight * 2 / 3]]); } -module motorholes() { - translate([0, motorheight / 2, motorheight / 2])rotate([0, 90, 0])cylinder(h = wanddickemotor, d = cylinderdiameter, +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(); + translate([0, motorheight - motorholedistance, motorheight - motorholedistance]) MotorM3Hole(thickness); - translate([0, motorheight - motorholedistance, motorholedistance]) MotorM3Hole(); + translate([0, motorheight - motorholedistance, motorholedistance]) MotorM3Hole(thickness); - translate([0, motorholedistance, motorheight - motorholedistance]) MotorM3Hole(); + translate([0, motorholedistance, motorheight - motorholedistance]) MotorM3Hole(thickness); - translate([0, motorholedistance, motorholedistance]) MotorM3Hole(); + translate([0, motorholedistance, motorholedistance]) MotorM3Hole(thickness); } module leftholes() { @@ -60,8 +60,8 @@ module leftholes() { } -module MotorM3Hole() { - rotate([0, 90, 0])cylinder(h = wanddickemotor, d = M3HoleDiam); +module MotorM3Hole(thickness) { + rotate([0, 90, 0])cylinder(h = thickness, d = M3HoleDiam); } module LeftM3Hole() { diff --git a/SliderLeft.scad b/SliderLeft.scad new file mode 100644 index 0000000..637830a --- /dev/null +++ b/SliderLeft.scad @@ -0,0 +1,71 @@ +use ; + +M3HoleDiam = 3.4; + +MountSize = 40; +BodyWidth = 55; + +$fn = 100; + +difference() { + MainBody(); + M3MountHoles(); + BottomZRodHoles(); + YRodHoles(); + + translate([10, 45, 0]) rotate([0, 0, -90]) #motorholes(6); +} + +module M3MountHoles(){ + edgeDistance = (MountSize-20)/2; + + translate([0, edgeDistance, edgeDistance]) #M3Hole(6); + translate([0, MountSize-edgeDistance, edgeDistance]) #M3Hole(6); + translate([0, edgeDistance, MountSize-edgeDistance]) #M3Hole(6); + translate([0, MountSize-edgeDistance, MountSize-edgeDistance]) #M3Hole(6); +} + +module BottomZRodHoles(){ + xcenter = 49; + ycenter = MountSize/2 - 10; + holedistance = 10.6; + + translate([xcenter + holedistance/2, ycenter + holedistance/2, -5]) rotate([0,270,0]) #M3Hole(6); + translate([xcenter - holedistance/2, ycenter + holedistance/2, -5]) rotate([0,270,0]) #M3Hole(6); + translate([xcenter + holedistance/2, ycenter - holedistance/2, -5]) rotate([0,270,0]) #M3Hole(6); + translate([xcenter - holedistance/2, ycenter - holedistance/2, -5]) rotate([0,270,0]) #M3Hole(6); + + // center hole + translate([xcenter, ycenter, -5]) rotate([0,0,0]) #cylinder(h = 6, d = 10.1); +} + +module YRodHoles(){ + translate([55, 30, 52.5]) rotate([0, 90, 0]) #cylinder(h = 6, d = 8); + 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); + } +} + +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]); + + // bottom frame plate + translate([5, 0,-5 ]) cube([BodyWidth, MountSize, 5]); + // up frame plate + translate([5, 20,40 ]) cube([BodyWidth, 20, 3]); + + // motorholder plate + translate([0, MountSize,-5 ]) cube([40+20, 5, 50]); + + // rod holder + translate([BodyWidth, 20,-20 ]) cube([5, 25, 80]); +}