format all files

add 3dprinter.scad where to simulate the whole 3dprinter should look like
This commit is contained in:
lukas 2021-01-04 19:08:21 +01:00
parent 77607f2ecc
commit b26be99f4e
5 changed files with 212 additions and 130 deletions

62
3dprinter.scad Normal file
View File

@ -0,0 +1,62 @@
use <angle_bracket.scad>;
use <horizontal_angle_bracket.scad>;
use <Motorhalter.scad>;
use <YRollHolder.scad>;
bottmoutline();
bottomAngleBrackets();
horizontalProfile();
YAxis();
module bottmoutline() {
// draw alu profiles
translate([0, - 40, 0]) aluProfile(400);
translate([0, 400, 0]) aluProfile(400);
translate([0, - 40, 0]) rotate([0, 0, 90]) aluProfile(480);
translate([440, - 40, 0]) rotate([0, 0, 90]) aluProfile(480);
}
module bottomAngleBrackets() {
// draw angle bracktes
angle_bracket();
translate([400, 0, 0]) rotate([0, 0, 90]) angle_bracket();
translate([400, 400, 0]) rotate([0, 0, 180]) angle_bracket();
translate([0, 400, 0]) rotate([0, 0, 270]) angle_bracket();
}
module horizontalProfile() {
height = 600;
translate([- 40, 180, 0]) rotate([0, - 90, 0]) halfAluProfile(height);
translate([460, 180, 0]) rotate([0, - 90, 0]) halfAluProfile(height);
// upper part
translate([- 60, 180, height]) halfAluProfile(520);
// add the horitzontal angle bracktes
translate([- 40, 135, 0]) rotate([0, 0, 90]) horizontal_angle_bracket();
translate([440, 265, 0]) rotate([0, 0, 270]) horizontal_angle_bracket();
// angle brackets up
translate([- 40, 220, height]) rotate([90, 90, 0]) angle_bracket();
translate([440, 180, height]) rotate([-90, 90, 0]) angle_bracket();
}
module YAxis() {
translate([160, 0, 0]) Motorhalter();
translate([214, 400, 0]) rotate([0, 0, 180]) YRollHolder();
}
// -- MODULES -- //
module aluProfile(length) {
color("#dddddd") cube([length, 40, 40]);
}
module halfAluProfile(length) {
color("#dddddd") cube([length, 40, 20]);
}

View File

@ -1,64 +1,71 @@
$fn=50; $fn = 50;
motorheight=42.1; motorheight = 42.1;
motorwidth=40.5; motorwidth = 40.5;
wanddickemotor=3; wanddickemotor = 3;
wanddickelinks=5.5; wanddickelinks = 5.5;
cylinderdiameter=22.2; cylinderdiameter = 22.2;
motorholedistance=(motorheight-31) /2; motorholedistance = (motorheight - 31) / 2;
leftholedist=7; leftholedist = 7;
M3HoleDiam=3.4; M3HoleDiam = 3.4;
M3HeadDiam=5.8; M3HeadDiam = 5.8;
render() difference() { Motorhalter();
mainbody();
translate([motorwidth,wanddickelinks,0]) motorholes(); module Motorhalter() {
leftholes(); render() difference() {
mainbody();
translate([motorwidth, wanddickelinks, 0]) motorholes();
leftholes();
}
} }
//modules //modules
module mainbody(){ module mainbody() {
cube([motorwidth + wanddickemotor, wanddickelinks ,motorheight]); cube([motorwidth + wanddickemotor, wanddickelinks, motorheight]);
translate([motorwidth,wanddickelinks,0])cube([wanddickemotor, motorheight, motorheight]); translate([motorwidth, wanddickelinks, 0])cube([wanddickemotor, motorheight, motorheight]);
translate([motorwidth + wanddickemotor,motorheight * 2 /3,motorheight]) rotate([0,0,180]) linear_extrude(3) polygon([[0,0], [0, motorheight * 2 /3], [motorwidth * 2 /3, motorheight* 2 /3]]); translate([motorwidth + wanddickemotor, motorheight * 2 / 3, motorheight]) rotate([0, 0, 180]) linear_extrude(3)
polygon([[0, 0], [0, motorheight * 2 / 3], [motorwidth * 2 / 3, motorheight * 2 / 3]]);
} }
module motorholes(){ module motorholes() {
translate([0,motorheight/2,motorheight/2])rotate([0,90,0])cylinder(h=wanddickemotor, d=cylinderdiameter, $fn=130); translate([0, motorheight / 2, motorheight / 2])rotate([0, 90, 0])cylinder(h = wanddickemotor, d = cylinderdiameter,
$fn = 130);
translate([0,motorheight - motorholedistance,motorheight - motorholedistance]) MotorM3Hole();
translate([0, motorheight - motorholedistance, motorheight - motorholedistance]) MotorM3Hole();
translate([0,motorheight - motorholedistance, motorholedistance]) MotorM3Hole();
translate([0, motorheight - motorholedistance, motorholedistance]) MotorM3Hole();
translate([0,motorholedistance,motorheight - motorholedistance]) MotorM3Hole();
translate([0, motorholedistance, motorheight - motorholedistance]) MotorM3Hole();
translate([0,motorholedistance, motorholedistance]) MotorM3Hole();
translate([0, motorholedistance, motorholedistance]) MotorM3Hole();
} }
module leftholes() { module leftholes() {
// bottom left // bottom left
translate([leftholedist,0,leftholedist]) LeftM3Hole(); translate([leftholedist, 0, leftholedist]) LeftM3Hole();
//bottom right //bottom right
translate([motorwidth - leftholedist,0,leftholedist]) LeftM3Hole(); translate([motorwidth - leftholedist, 0, leftholedist]) LeftM3Hole();
// upper left // upper left
translate([leftholedist,0,motorwidth - leftholedist]) LeftM3Hole(); translate([leftholedist, 0, motorwidth - leftholedist]) LeftM3Hole();
// upper right // upper right
translate([motorwidth - leftholedist,0,motorwidth - leftholedist]) LeftM3Hole(); translate([motorwidth - leftholedist, 0, motorwidth - leftholedist]) LeftM3Hole();
} }
module MotorM3Hole() { module MotorM3Hole() {
rotate([0,90,0])cylinder(h=wanddickemotor, d=M3HoleDiam); rotate([0, 90, 0])cylinder(h = wanddickemotor, d = M3HoleDiam);
} }
module LeftM3Hole() { module LeftM3Hole() {
rotate([270,0,0])cylinder(h=wanddickelinks, d=M3HoleDiam); rotate([270, 0, 0])cylinder(h = wanddickelinks, d = M3HoleDiam);
translate([0,wanddickelinks-3,0]) rotate([270,0,0])cylinder(h=3, d=M3HeadDiam); translate([0, wanddickelinks - 3, 0]) rotate([270, 0, 0])cylinder(h = 3, d = M3HeadDiam);
} }

View File

@ -1,41 +1,45 @@
$fn=33; $fn = 33;
M3HoleDiam=3.4; M3HoleDiam = 3.4;
height=40; height = 40;
thickness=3; thickness = 3;
length=30; length = 30;
// cambelt has 6mm width // cambelt has 6mm width
innerspace=8; innerspace = 8;
render() difference() { // call main
frame(); YRollHolder();
holes();
module YRollHolder() {
render() difference() {
frame();
holes();
}
} }
module frame() { module frame() {
cube([innerspace + 2 * thickness,thickness,height]); cube([innerspace + 2 * thickness, thickness, height]);
translate([0, thickness, 0]) cube([thickness, length, height]); translate([0, thickness, 0]) cube([thickness, length, height]);
translate([innerspace + thickness, thickness, 0]) cube([thickness, length, height]); translate([innerspace + thickness, thickness, 0]) cube([thickness, length, height]);
} }
module holes(){ module holes() {
// two inner holes // two inner holes
translate([innerspace / 2 + thickness, 0, height / 4]) M3Hole(); translate([innerspace / 2 + thickness, 0, height / 4]) M3Hole();
translate([innerspace / 2 + thickness, 0, height / 4 * 3]) M3Hole(); translate([innerspace / 2 + thickness, 0, height / 4 * 3]) M3Hole();
translate([0, length / 4 *3, height / 2]) SideM3Hole(); translate([0, length / 4 * 3, height / 2]) SideM3Hole();
translate([innerspace + thickness, length / 4 * 3, height / 2]) SideM3Hole(); translate([innerspace + thickness, length / 4 * 3, height / 2]) SideM3Hole();
} }
module M3Hole() { module M3Hole() {
rotate([0,90,90])cylinder(h=thickness, d=M3HoleDiam); rotate([0, 90, 90])cylinder(h = thickness, d = M3HoleDiam);
} }
module SideM3Hole() { module SideM3Hole() {
rotate([0,90,0])cylinder(h=thickness, d=M3HoleDiam); rotate([0, 90, 0])cylinder(h = thickness, d = M3HoleDiam);
} }

View File

@ -1,55 +1,59 @@
$fn=33; $fn = 33;
height=40; height = 40;
width=60; width = 60;
b=3; b = 3;
triagleheight=5; triagleheight = 5;
M4HoleDiam=4.4; M4HoleDiam = 4.4;
holedistance=10; holedistance = 10;
// main call
angle_bracket();
difference() { module angle_bracket() {
frame(); render() difference() {
holes(); frame();
holes();
}
} }
module frame() { module frame() {
// x plate // x plate
cube([width,b,height]); cube([width, b, height]);
// y plate // y plate
translate([b, 0,0]) rotate([0,0,90]) cube([width,b,height]); translate([b, 0, 0]) rotate([0, 0, 90]) cube([width, b, height]);
//bottom triangle //bottom triangle
translate([b,b,0]) stabilizetriangle(); translate([b, b, 0]) stabilizetriangle();
// upper triangle // upper triangle
translate([b,b,height-triagleheight]) stabilizetriangle(); translate([b, b, height - triagleheight]) stabilizetriangle();
} }
module holes() { module holes() {
// y holes // y holes
translate([0,holedistance,height-holedistance]) YM3Hole(); translate([0, holedistance, height - holedistance]) YM3Hole();
translate([0,width-holedistance,height-holedistance]) YM3Hole(); translate([0, width - holedistance, height - holedistance]) YM3Hole();
translate([0,holedistance,holedistance]) YM3Hole(); translate([0, holedistance, holedistance]) YM3Hole();
translate([0,width-holedistance,holedistance]) YM3Hole(); translate([0, width - holedistance, holedistance]) YM3Hole();
translate([holedistance,0,height-holedistance]) XM3Hole(); translate([holedistance, 0, height - holedistance]) XM3Hole();
translate([width-holedistance,0,height-holedistance]) XM3Hole(); translate([width - holedistance, 0, height - holedistance]) XM3Hole();
translate([holedistance,0,holedistance]) XM3Hole(); translate([holedistance, 0, holedistance]) XM3Hole();
translate([width-holedistance,0,holedistance]) XM3Hole(); translate([width - holedistance, 0, holedistance]) XM3Hole();
} }
module stabilizetriangle() { module stabilizetriangle() {
linear_extrude(triagleheight) polygon([[0,0], [0, width-b], [width-b, 0]]); linear_extrude(triagleheight) polygon([[0, 0], [0, width - b], [width - b, 0]]);
} }
module YM3Hole() { module YM3Hole() {
rotate([0,90,0])cylinder(h=b, d=M4HoleDiam); rotate([0, 90, 0])cylinder(h = b, d = M4HoleDiam);
} }
module XM3Hole() { module XM3Hole() {
rotate([270,0,0])cylinder(h=b, d=M4HoleDiam); rotate([270, 0, 0])cylinder(h = b, d = M4HoleDiam);
} }

View File

@ -1,74 +1,79 @@
$fn=33; $fn = 33;
height=40; height = 40;
hwidth=40; hwidth = 40;
thickness=5; thickness = 5;
vthickness=20; vthickness = 20;
vwidth=40.3; vwidth = 40.3;
vheight=80; vheight = 80;
//https://de.wikipedia.org/wiki/Durchgangsbohrung //https://de.wikipedia.org/wiki/Durchgangsbohrung
M4HoleDiam=4.4; M4HoleDiam = 4.4;
holedistance=10; holedistance = 10;
horizontalcenterholes=true; horizontalcenterholes = true;
difference() { // calling main
frame(); horizontal_angle_bracket();
holes();
module horizontal_angle_bracket() {
render() difference() {
frame();
holes();
}
} }
module frame(){ module frame() {
// left tile // left tile
cube([hwidth,thickness,height]); cube([hwidth, thickness, height]);
translate([0,thickness,0]) sidetriangle(); translate([0, thickness, 0]) sidetriangle();
translate([0,thickness,height - thickness]) sidetriangle(); translate([0, thickness, height - thickness]) sidetriangle();
// left to back tile // left to back tile
translate([hwidth,0,0]) cube([thickness, vthickness, height]); translate([hwidth, 0, 0]) cube([thickness, vthickness, height]);
// left triangle // left triangle
translate([hwidth,0,height]) rotate([90, 0, 90]) middletriangle(); translate([hwidth, 0, height]) rotate([90, 0, 90]) middletriangle();
// covers upper edge of above // covers upper edge of above
translate([hwidth, vthickness, 0]) cube([vwidth + thickness * 2, thickness, vheight]); translate([hwidth, vthickness, 0]) cube([vwidth + thickness * 2, thickness, vheight]);
// right to back tile // right to back tile
translate([hwidth + vwidth + thickness,0,0]) cube([thickness, vthickness, height]); translate([hwidth + vwidth + thickness, 0, 0]) cube([thickness, vthickness, height]);
// right triangle // right triangle
translate([hwidth + vwidth + thickness,0,height]) rotate([90, 0, 90]) middletriangle(); translate([hwidth + vwidth + thickness, 0, height]) rotate([90, 0, 90]) middletriangle();
// right tile
translate([hwidth + vwidth + thickness * 2, 0, 0]) cube([hwidth, thickness, height]);
translate([hwidth * 2 + vwidth + thickness * 2, thickness, thickness]) rotate([0, 180, 0]) sidetriangle();
translate([hwidth * 2 + vwidth + thickness * 2, thickness, height]) rotate([0, 180, 0]) sidetriangle();
// right tile
translate([hwidth + vwidth + thickness * 2, 0, 0]) cube([hwidth,thickness,height]);
translate([hwidth * 2 + vwidth + thickness * 2,thickness,thickness]) rotate([0, 180,0 ]) sidetriangle();
translate([hwidth * 2 + vwidth + thickness * 2,thickness,height]) rotate([0, 180,0 ]) sidetriangle();
} }
module middletriangle(){ module middletriangle() {
linear_extrude(thickness) polygon([[0,0], [vthickness, 0], [vthickness, vheight-height]]); linear_extrude(thickness) polygon([[0, 0], [vthickness, 0], [vthickness, vheight - height]]);
} }
module sidetriangle() { module sidetriangle() {
linear_extrude(5) polygon([[0,0], [hwidth, 0], [hwidth, vthickness]]); linear_extrude(5) polygon([[0, 0], [hwidth, 0], [hwidth, vthickness]]);
} }
module holes() { module holes() {
// left holes // left holes
leftholes(); leftholes();
// right holes // right holes
translate([hwidth + vwidth + thickness * 2,0,0]) leftholes(); translate([hwidth + vwidth + thickness * 2, 0, 0]) leftholes();
// center holes // center holes
translate([hwidth + thickness,vthickness,0]) centerholes(); translate([hwidth + thickness, vthickness, 0]) centerholes();
} }
module leftholes(){ module leftholes() {
translate([holedistance, 0, holedistance]) XM3Hole(); translate([holedistance, 0, holedistance]) XM3Hole();
translate([hwidth - holedistance, 0, holedistance]) XM3Hole(); translate([hwidth - holedistance, 0, holedistance]) XM3Hole();
translate([holedistance, 0, height - holedistance]) XM3Hole(); translate([holedistance, 0, height - holedistance]) XM3Hole();
@ -80,14 +85,14 @@ module centerholes() {
translate([vwidth - holedistance, 0, holedistance]) XM3Hole(); translate([vwidth - holedistance, 0, holedistance]) XM3Hole();
translate([holedistance, 0, vheight - holedistance]) XM3Hole(); translate([holedistance, 0, vheight - holedistance]) XM3Hole();
translate([vwidth - holedistance, 0, vheight - holedistance]) XM3Hole(); translate([vwidth - holedistance, 0, vheight - holedistance]) XM3Hole();
if(horizontalcenterholes){ if (horizontalcenterholes) {
// center holes // center holes
translate([vwidth - holedistance, 0, vheight / 2]) XM3Hole(); translate([vwidth - holedistance, 0, vheight / 2]) XM3Hole();
translate([holedistance, 0, vheight / 2]) XM3Hole(); translate([holedistance, 0, vheight / 2]) XM3Hole();
} }
} }
module XM3Hole() { module XM3Hole() {
rotate([270,0,0])cylinder(h=thickness, d=M4HoleDiam); rotate([270, 0, 0])cylinder(h = thickness, d = M4HoleDiam);
} }