diff --git a/Distanzhülsen.scad b/Distanzhülsen.scad new file mode 100644 index 0000000..e3486bc --- /dev/null +++ b/Distanzhülsen.scad @@ -0,0 +1,23 @@ +$fn=100; + +difference(){ +union(){ +cylinder(h=3, d=14); +cylinder(h=7, d=9.9); +} + +cylinder(h=8, d=8.1); +} + +difference(){ +cylinder(h=2, d=30); + cylinder(h=2, d=26);} + + translate([30,0,0]) difference(){ +union(){ +cylinder(h=3, d=14); +cylinder(h=7, d=9.9); +} + +cylinder(h=8, d=8.1); +} \ No newline at end of file diff --git a/Gehause_Badlicht.scad b/Gehause_Badlicht.scad new file mode 100644 index 0000000..0a72e86 --- /dev/null +++ b/Gehause_Badlicht.scad @@ -0,0 +1,83 @@ + +module pfosten(){ + +difference(){ +cube([7,7,48]); +translate([3.5, 3.5, 41])cylinder(d=2.8, h=10); +}} + +// netzteil +*translate([37,0+33,26]) rotate([90,0,0]) +color("beige")hull(){ +cylinder(d=48, h=20); +translate([145 - 48,0,0])cylinder(d=48, h=20); +translate([0,-24,0]) cube([145 - 48,48, 33]); +} + + +// Platine +*color("blue") +translate([110,40,4]) rotate([0,0,90]) +cube([80,100,25]); + +//shelly +*color("white") +translate([120,50,4]) cube([34, 44, 7.2]); + +// Platte +difference(){ +minkowski(){ +translate([1, 34,47]) cube([158,90, 4 ]); +sphere(1); +} +union(){ +translate([0,0,0]) cube([160,125,2]); +difference(){ +translate([0, 33,0]) cube([160,92, 50 ]); +translate([1, 34,2]) cube([158,90, 50 ]); + + translate([-.10,50,18]) rotate ([0,90,0]) cylinder(d=9, h=3); + + translate([-.10,110,18]) rotate ([0,90,0]) cylinder(d=9, h=3); + translate([-.10,100,18]) rotate ([0,90,0]) cylinder(d=9, h=3); + translate([-.10,110-9,18+4.5]) rotate ([0,90,0]) cube([9,9,9]); + + translate([158.9,60,18]) rotate ([0,90,0]) cylinder(d=9, h=3); + translate([158.9,50,18]) rotate ([0,90,0]) cylinder(d=9, h=3); + translate([158.9,60-9,18+4.5]) rotate ([0,90,0]) cube([9,9,9]); +} +translate([1, 34, 0]) pfosten(); +translate([152, 34, 0]) pfosten(); +translate([1, 117, 0]) pfosten(); +translate([152, 117, 0]) pfosten(); +// befestigungslaschen + +translate([0,60,0]) difference(){ +union(){ +translate([-15, 0,0])cylinder(d=15, h=5); +translate([-15, -7.5,0])cube([15, 15,5]); +} +translate([-15, 0,-.1])cylinder(d=5, h=6); +} + + +translate([160,60,0]) rotate ([0,0,180])difference(){ +union(){ +translate([-15, 0,0])cylinder(d=15, h=5); +translate([-15, -7.5,0])cube([15, 15,5]); +} +translate([-15, 0,-.1])cylinder(d=5, h=6); +} +}} + +color("black") +translate([-15, 5, 2]) { + text("12V", font = "Liberation Sans", size = 10); +} + +color("black") +translate([150, 5, 2]) { + text("220V", size=10, font = "Liberation Sans"); +} + + diff --git a/HeckablageCorsa.scad b/HeckablageCorsa.scad new file mode 100644 index 0000000..505261a --- /dev/null +++ b/HeckablageCorsa.scad @@ -0,0 +1,69 @@ +// Heckablage für Opel Corsa + +// 9° abgeschrägt + +*difference(){ +intersection(){ +rotate([-9,0,0]) cube([56.5, 17.4, 10.3]); + + +cube([56.5, 20,7.4]); + +} + + + translate([ 56.5/2,15-(13.5/2),-2]) rotate([-9,0,0]) cylinder(d=13.5, h=20); + + translate([ 56.5/2 - 14.3/2,-10,-2]) +cube([14.3, 20, 20]); + + translate([ 8.1,12.3,-2]) rotate([-9,0,0]) cylinder(d=6, h=20); + + translate([ 56.5-8.1,12.3,-2]) rotate([-9,0,0]) cylinder(d=6, h=20); + } + + + intersection(){ + cube([100,100,14]); + + difference(){ + union(){ + difference(){ +union(){ + cube([56.5, 21.8, 2.7]); + + rotate([81,0,0]) translate([ 0,1,-2.5]) cube([56.5, 21.8, 2.7]); + + translate([ 8.1,15,0.5]) rotate([-9,0,0]) cylinder(d=5.8, h=14); + + translate([ 56.5-8.1,15,0.5]) rotate([-9,0,0]) cylinder(d=5.8, h=14); + + translate([ 56.5/2,15-(13.5/2),2]) rotate([-9,0,0]) cylinder(d=12.2, h=15); + +rotate([0,0,10])translate([56.5/2-3,-7,3]) cube([9.5,10,15]); + +rotate([0,0,-10])translate([56.5/2-7,3,3]) cube([ 9.5, 10,15]); +} + + translate([ 56.5/2,15-(13.5/2),-0.1]) cylinder(d=12.8, h=3.2); + translate([56.5/2-12.8/2,-5,-0.1]) cube([12.8, 12.8,3.2]); + + + +// +rotate([0,0,10])translate([56.5/2-3,-7,3]) cube([8.5,10,15]); +// +rotate([0,0,-10])translate([56.5/2-6,3,3]) cube([ 8.5, 10,15]); + + translate([ 56.5/2,15-(13.5/2),2]) rotate([-9,0,0]) cylinder(d=10.4, h=15); + + translate([ 21.9,0,2.7]) cube([12.8, 21.8, 2]); + } + + + } + + rotate([81,0,0]) translate([ 0,00,-0]) cube([56.5, 21.8, 7]); + +} +} \ No newline at end of file diff --git a/Oszi_DS0138-case.scad b/Oszi_DS0138-case.scad new file mode 100644 index 0000000..7d135bf --- /dev/null +++ b/Oszi_DS0138-case.scad @@ -0,0 +1,24 @@ +$fn=30; + +use + +radius = 3; +length = 135; +thick = 20; +width = 90; +rotate ([45,0,0]) + +hull(){ + translate ([radius, radius, radius]) sphere(r=radius); + translate ([length-radius, radius, radius]) sphere(r=radius); + translate ([radius, width-radius, radius]) sphere(r=radius); + translate ([length-radius, width-radius, radius]) sphere(r=radius); + + + translate ([radius, radius-thick, thick-radius]) sphere(r=radius); + translate ([length-radius, radius-thick, thick-radius]) sphere(r=radius); + translate ([radius, width-radius, thick-radius]) sphere(r=radius); + translate ([length-radius, width-radius, thick-radius]) sphere(r=radius); +} + +platine(cutout=true); \ No newline at end of file diff --git a/Oszi_DS0138.scad b/Oszi_DS0138.scad new file mode 100644 index 0000000..6f802c0 --- /dev/null +++ b/Oszi_DS0138.scad @@ -0,0 +1,78 @@ +$fn=30; + +positions = [ [96, 2.3, "Reset"], //linke untere Kante + [105.4, 13.9, "Sel"], + [105.4, 27.5, "-"], + [105.4, 40.2, "+"], + [105.4, 53.4, "OK"], + [6.4, 15, "X5 X2 X1"], + [6.4, 32.9, "OK"], + [6.4, 50.5, "OK"], + [5.2, 5.2, ""], // center des locks + [5.2, 71.8, ""], + [112, 5.2, ""], + [112, 71.8, ""], + + ]; + +module button(cutout){ + color("black") cube([6,6, 3.8]); + color("silver") translate([0,0,3.8]) cube([6,6,0.3]); + if (!cutout){ + color("black")translate([3,3,0]) cylinder(d=3.5, h=5); + }else{ + color("black")translate([3,3,0]) cylinder(d=8,h=25); + } +} + +module switch(cutout){ + color("silver") cube([13,7.4, 4.8]); + if (!cutout){ + color("black")translate([3.5,3,0]) cube([2.2,2.2, 11]); + }else{ + color("black")translate([2,0.4,0]) + cube([9.2,6.2, 25]); + + } + } + + module platine(cutout){ + // wenn cutout=true, dann wsind die Auschnitte gemeint +difference(){ + union(){ + color("red") cube([117, 77, 1.8]); + if (cutout) + translate([0,0,1.8]) color("darkred") cube([117, 77, 15]); + } + for (i=[8:11]){ + translate([ positions[i][0],positions[i][1],-0.1]) cylinder(d=3.3, h=2);} + + if (cutout){ + + for (i=[8:11]){ + translate([ positions[i][0],positions[i][1],1.8]) cylinder(d=10, h=15.1); + }} +} + for (i=[0:4]){ + translate([ positions[i][0],positions[i][1],1.8]) button(cutout);} + for (i=[5:7]){ + translate([ positions[i][0],positions[i][1],1.8]) switch(cutout);} + + + + translate([29.6, 9.2, 12.8]) union(){ +color("red") cube([71.5, 55, 1.8]); + color("black")translate([0,5.6,1.8]) cube([60, 43, 3]); + color("black")translate([65,2,-11]) cube([5, 51, 11]); + } + if (!cutout){ + color("silver")translate([15.35,69,5+1.8]) rotate([0,90,90]) cylinder(d=11, h=22);}else{ + color("silver")translate([15.35,77,5+1.8]) rotate([0,90,90]) cylinder(d=16, h=14); } + + color("black")translate([93,63.2,1.8])cube ([9,14, 10.8]); + + + } + + platine(true); + \ No newline at end of file diff --git a/Seilrolle.scad b/Seilrolle.scad new file mode 100644 index 0000000..6af3fa7 --- /dev/null +++ b/Seilrolle.scad @@ -0,0 +1,40 @@ +$fn=150; + + +wheel_width = 15; +wheel_dia=75; + +bearing_outer_dia = 30; +bearing_width=9; +bearing_shoulder = 1.5; +rope_dia = 8; +opening_angle = 8; +rounding_dia=3; + + +rotate_extrude(angle=360){ +difference(){ +translate([0,-wheel_width/2,0])square([wheel_dia/2 , wheel_width]); +translate([wheel_dia/2 - rope_dia/2,0,0])circle(d=rope_dia); + + + translate([wheel_dia/2- rope_dia/2,-rope_dia/2,0]) + rotate([0,0,opening_angle]) square([rope_dia, rope_dia]); + + translate([wheel_dia/2- rope_dia/2,-rope_dia/2,0]) + rotate([0,0,-opening_angle]) square([rope_dia, rope_dia]); + + translate([0,-bearing_width/2,0])square([bearing_outer_dia/2, bearing_width]); + translate([0,0,0])square([bearing_outer_dia/2, bearing_width]); + translate([0,-10,0])square([bearing_outer_dia/2 - bearing_shoulder, bearing_width]); + difference(){ +translate([wheel_dia/2-rounding_dia/2,wheel_width/2 - rounding_dia,0])square([rounding_dia/2 , rounding_dia]); +translate([wheel_dia/2-rounding_dia/2,wheel_width/2 - rounding_dia/2,0])circle(d=rounding_dia); +} + +difference(){ +translate([wheel_dia/2-rounding_dia/2,-wheel_width/2 ,0])square([rounding_dia/2 , rounding_dia]); +translate([wheel_dia/2-rounding_dia/2,-wheel_width/2 + rounding_dia/2,0])circle(d=rounding_dia); +} +} +} diff --git a/Seilzüge.scad b/Seilzüge.scad new file mode 100644 index 0000000..b2616dc --- /dev/null +++ b/Seilzüge.scad @@ -0,0 +1,58 @@ +cube([30,30,2000]); + + +translate([60,50,1940])rotate([90,0,0])cube([30,30,800]); +//Distanzblock vorne oben +translate([-30,-750,1940])cube([60,30,30]); + +//Hantel oben +color ("green") +translate([-150,-750,1640])cube([300,30,30]); + +// rolle hinten oben +translate ([30+7.5,7.5,1955]) rotate([0,90,0])cylinder(d=75, h=15); + +//rolle vorne oben +translate ([30+7.5,-800+75,1955]) rotate([0,90,0])cylinder(d=75, h=15); + +// rolle unten hinten +translate ([15,50,40]) rotate([90,0,0])cylinder(d=75, h=15); +translate ([15,70,40]) rotate([90,0,0])cylinder(d=75, h=15); + +// Schrägstütze +translate([-30,40,1940])rotate([90,0,-45])cube([30,30,350]); + +//rolle vordere Schrägstütze +translate ([-75,20,1955]) rotate([0,90,-45])cylinder(d=75, h=15); +translate ([-75-200,20-200,1955]) rotate([0,90,-45])cylinder(d=75, h=15); + +color("blue") +translate ([-10,-10,605]) cube([50,50,120]);color("blue") +translate ([43,10,665]) rotate([90,0,90])cylinder(d=75, h=15); +color("grey") +translate ([-30,10,665]) rotate([90,0,90])cylinder(d=55, h=25); + +//Schrauben +color("red") +translate([-15,-735,1940])cylinder(d=6, h=90); +color("red") +translate([75,-700,1940])cylinder(d=6, h=90); +color("red") +translate ([-240,-190,1940])cylinder(d=6, h=90); +color("red") +translate ([-70,-20,1940])cylinder(d=6, h=90); + +color("red") +translate ([15,90,1700])rotate([90,0,0]) cylinder(d=6, h=90); +color("red") +translate ([15,90,400])rotate([90,0,0]) cylinder(d=6, h=90); +//Hantel oben +color ("green") +translate([-150,-750,700])cube([300,30,30]); + +color("silver") +translate ([-240,-190,100])cylinder(d=300, h=40); +color("silver") +translate ([-240,-190,160])cylinder(d=250, h=40); +color("silver") +translate ([-240,-190,220])cylinder(d=250, h=40); diff --git a/garage_box.scad b/garage_box.scad new file mode 100644 index 0000000..3efe99b --- /dev/null +++ b/garage_box.scad @@ -0,0 +1,107 @@ +// 62.5 x 100, r 7.5 +$fn=50; + +module frame(width, length, radius, height){ + x_offset = (width-2*radius)/2; + y_offset = (length-2*radius)/2; + z_offset = radius; +hull(){ + translate ([x_offset,y_offset,0]) cylinder(r=radius, h=height); + translate ([-x_offset,y_offset,0]) cylinder(r=radius, h=height); + translate ([x_offset,-y_offset,0]) cylinder(r=radius, h=height); + translate ([-x_offset,-y_offset,0]) cylinder(r=radius, h=height); + + + translate ([x_offset,y_offset,z_offset]) sphere(r=radius); + translate ([-x_offset,y_offset,z_offset]) sphere(r=radius); + translate ([x_offset,-y_offset,z_offset]) sphere(r=radius); + translate ([-x_offset,-y_offset,z_offset]) sphere(r=radius); + } +} + +module loch(height, offset){ + translate([0,0,3.4+offset]) cylinder (h=height, d=4.4); + translate([0,0,height+3.4+offset]) cylinder (h=3.5, d1=4.4, d2=11); +} +// Halter nach oben +dicke= 5.7+7.5; +breite = 20; +innerebreite = 17; +achsendurchmesser = 8; +dia = 4.4; +top = 9.4 +dia/2; +right = 14 +dia/2; + +// +// beweglicher Arm + +*translate([0,-79.5,26.5])rotate ([0,180,0]) difference(){ +union(){ + translate([-breite/2,100+120+11,dicke]) rotate([0,90,0]) cylinder(r=dicke, h=breite); + + +translate([-breite/2,11,0]) cube([breite,120 +100,10]); + translate([0,0,2]) minkowski(){ + cylinder(d=30, h=4); + sphere(2); + } + } + // kabelkanal +translate([-4,-8,2]) cube([8,120 +120,7]); +translate([-11/2,-15/2,0.8]) cube([11,15,8]); +translate([-5,215,2]) cube([10,20,40]); +// Seitenscheiben +scheibendicke = (breite - innerebreite)/2 +.1; + +translate([-breite/2,100+120+11,dicke]) rotate([0,90,0]) cylinder(r=dicke+.1, h=scheibendicke); +translate([breite/2-scheibendicke,100+120+11,dicke]) rotate([0,90,0]) cylinder(r=dicke+.1, h=scheibendicke); +#translate([-breite/2,100+120+11,dicke]) rotate([0,90,0]) cylinder(d=achsendurchmesser, h=breite); +} + + + + +difference(){ +union(){ +frame(62.5, 100, 6.68, 4); +translate([0,0,-3.5])frame(58.5, 96, 3.4, 6); + + + +translate([-breite/2,45,0]) cube([breite,120, dicke]); +translate([-breite/2,45+120-dicke,dicke]) rotate([0,90,0]) cylinder(r=dicke, h=breite); +} +translate([-innerebreite/2,45+120-dicke,dicke]) rotate([0,90,0]) cylinder(r=dicke+0.5, h=innerebreite); +// die Achse +translate([-breite/2,45+120-dicke,dicke]) rotate([0,90,0]) cylinder(d=achsendurchmesser+0.1, h=breite); +// oberes und unteres Befestigungsloch +//x:11,8 y:6.5, d=4.4 + +translate([62.5/2- right, 100/2 - top,0.3]) loch(dicke, -6); +translate([-62.5/2+ right, -100/2 + top,0.3]) loch(dicke, -6); + +// innerer Ausschnitt +cube([ 53.5,90.5, 13], center=true); +// Stromversorgung Ausschnitt +translate([0,-55,3.5/2])rotate([0,90,90])cylinder(d=3.5, h=20); +translate([0,-45,-3])cube([3.5,20, 10], center = true); +// Kabelfürung für Taster +translate([-innerebreite/2,45,1]) cube([innerebreite,120, dicke*2/3]); +} + + + +*translate([-62.5/2+ right, -100/2 + top,0.3]) cube([6,6,30], center = true); + +*translate([-50,0, -21])cube([100, 50, 21]); +// elektronik-box +difference(){ +translate([0,-10, -6.5])cube([53.5,50, 29], center = true); +translate([0,-10, -6.5])cube([51.5,48, 29.1], center = true); + // Stromversorgung Ausschnitt +translate([0,-50,3.5/2])rotate([0,90,90])cylinder(d=3.5, h=20); +translate([0,-40,-13])cube([3.5,40, 30], center = true); + // Ausschnitt Sensor und Tasterkabel +translate([0,20,-7])cube([3.5,30, 30], center = true); + +} \ No newline at end of file diff --git a/garage_box_abdeckungen.scad b/garage_box_abdeckungen.scad new file mode 100644 index 0000000..4c7d645 --- /dev/null +++ b/garage_box_abdeckungen.scad @@ -0,0 +1,19 @@ +$fn=50; +translate([40,0,0]) union(){ +cylinder (d=8, h=3); +cylinder (d=7.8, h=4.8); +} + +translate([40,15,0]) union(){ +cylinder (d=8, h=3); +cylinder (d=7.8, h=4.8); +} + + +translate([55,5,3])difference(){ +cube([10.7, 14.8, 6], center = true); +translate([0,0,1])cube([9, 13, 5], center = true);} + +translate([0,0,12.5])difference(){ +cube([51.3, 47.7, 25], center = true); +translate([0,0,1])cube([54, 45.7, 25], center = true);} \ No newline at end of file diff --git a/nut_profil.scad b/nut_profil.scad new file mode 100644 index 0000000..6ca7b54 --- /dev/null +++ b/nut_profil.scad @@ -0,0 +1,71 @@ +$fn=50; + +//#cube([30,30,26], center=true); +nut=30; +Ra=3; +Ri=1.4; +Rc = 1; // Radius am Center +Wi=19.5; // innere weite +Wl = 8.2; // lichte weite +heigth=25; + +difference(){ +hull(){ +translate([-(nut/2-Ra), -(nut/2-Ra),0]) cylinder(r=Ra, h=heigth); +translate([-(nut/2-Ra), (nut/2-Ra),0]) cylinder(r=Ra, h=heigth); +translate([(nut/2-Ra), -(nut/2-Ra),0]) cylinder(r=Ra, h=heigth); +translate([(nut/2-Ra), (nut/2-Ra),0]) cylinder(r=Ra, h=heigth); +} + +cylinder(d=6.8, h=25); + +union(){ +translate([-8.2/2, -15,0]) cube([8.2, 2.1, heigth]); +hull(){ +translate([-Wi/2 + Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wi/2 - Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); + + +translate([-Wl/2 + Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wl/2 - Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +} +} +rotate([0,0,90]) +union(){ +translate([-8.2/2, -15,0]) cube([8.2, 2.1, heigth]);hull(){ +translate([-Wi/2 + Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wi/2 - Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); + + +translate([-Wl/2 + Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wl/2 - Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +} +} + + +rotate([0,0,270]) +union(){ +translate([-8.2/2, -15,0]) cube([8.2, 2.1, heigth]);hull(){ +translate([-Wi/2 + Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wi/2 - Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); + + +translate([-Wl/2 + Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wl/2 - Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +} +} + +rotate([0,0,180]) +union(){ +translate([-8.2/2, -15,0]) cube([8.2, 2.1, heigth]);hull(){ +translate([-Wi/2 + Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wi/2 - Ri, -(15-2-Ri) ,0]) cylinder(r=1.4, h=heigth); + + +translate([-Wl/2 + Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +translate([+Wl/2 - Rc, -(15-9.7+Rc) ,0]) cylinder(r=1.4, h=heigth); +} +} +} + + diff --git a/nut_profil_Abstandhalter-backup-JsgrcnxB.scad b/nut_profil_Abstandhalter-backup-JsgrcnxB.scad new file mode 100644 index 0000000..b10d97c --- /dev/null +++ b/nut_profil_Abstandhalter-backup-JsgrcnxB.scad @@ -0,0 +1,32 @@ +$fn=50; + +//#cube([30,30,26], center=true); +nut=30; +thick = 2; +Ra=3; +Ri=1.4; +Rc = 1; // Radius am Center +Wi=19.1; // innere weite +Wl = 8.2; // lichte weite +deep = 9.4; +heigth=25; + +difference(){ +union(){ +translate([-Wl/2, -15,0]) cube([Wl, thick+.1, heigth]); +hull(){ +translate([-Wi/2 + Ri, -(nut/2-thick-Ri) ,0]) cylinder(r=Ri, h=heigth); +translate([+Wi/2 - Ri, -(nut/2-thick-Ri) ,0]) cylinder(r=Ri, h=heigth); + + +translate([-Wl/2 + Rc, -(nut/2-deep+Rc) ,0]) cylinder(r=Ri, h=heigth); +translate([+Wl/2 - Rc, -(nut/2-deep+Rc) ,0]) cylinder(r=Ri, h=heigth); + + +} + // aussenplatte + translate([0,-nut/2,heigth/2]) rotate([90,0,0]) cylinder(d=heigth, h=2); +} +translate([0,0,heigth/2]) rotate([90,0,0])cylinder(d=8.1, h = heigth); + +} \ No newline at end of file diff --git a/nut_profil_Abstandhalter.scad b/nut_profil_Abstandhalter.scad new file mode 100644 index 0000000..4863bbb --- /dev/null +++ b/nut_profil_Abstandhalter.scad @@ -0,0 +1,52 @@ +$fn=50; + +//#cube([30,30,26], center=true); +nut=30; +thick = 2; +Ra=3; +Ri=1.4; +Rc = 1; // Radius am Center +Wi=19.1; // innere weite +Wl = 8.2; // lichte weite +deep = 9.4; +heigth=25; + +difference(){ +union(){ +translate([-Wl/2, -nut/2,0]) cube([Wl, thick+.1, heigth]); +hull(){ +translate([-Wi/2 + Ri, -(nut/2-thick-Ri) ,0]) cylinder(r=Ri, h=heigth); +translate([+Wi/2 - Ri, -(nut/2-thick-Ri) ,0]) cylinder(r=Ri, h=heigth); + + +translate([-Wl/2 + Rc, -(nut/2-deep+Rc) ,0]) cylinder(r=Ri, h=heigth); +translate([+Wl/2 - Rc, -(nut/2-deep+Rc) ,0]) cylinder(r=Ri, h=heigth); + + +} + // aussenplatte + translate([0,-nut/2,heigth/2]) rotate([90,0,0]) cylinder(d=heigth, h=2); +} +translate([0,0,heigth/2]) rotate([90,0,0])cylinder(d=8.1, h = heigth); + +} + +translate([20,10,0]) +difference(){ +union(){ +translate([-Wl/2, -nut/2,0]) cube([Wl, thick+.1, heigth]); +hull(){ +translate([-Wi/2 + Ri, -(nut/2-thick-Ri) ,0]) cylinder(r=Ri, h=heigth); +translate([+Wi/2 - Ri, -(nut/2-thick-Ri) ,0]) cylinder(r=Ri, h=heigth); + + +translate([-Wl/2 + Rc, -(nut/2-deep+Rc) ,0]) cylinder(r=Ri, h=heigth); +translate([+Wl/2 - Rc, -(nut/2-deep+Rc) ,0]) cylinder(r=Ri, h=heigth); + + +} + +} +translate([0,0,heigth/2]) rotate([90,0,0])cylinder(d=8.1, h = heigth); + +} \ No newline at end of file diff --git a/schleifbock.scad b/schleifbock.scad new file mode 100644 index 0000000..9e3daf7 --- /dev/null +++ b/schleifbock.scad @@ -0,0 +1,9 @@ +/// Schleifbock +difference(){ +union(){ +cylinder(d=50,h=7); +cylinder(d=14.3, h=20); +} + +cylinder(d=12.85, h=21); +} \ No newline at end of file diff --git a/schliesszylinder.scad b/schliesszylinder.scad new file mode 100644 index 0000000..abe4467 --- /dev/null +++ b/schliesszylinder.scad @@ -0,0 +1,7 @@ +$fn=50; +translate([0,33/2-17.1/2,0]) cylinder(d=17.1, h = 22); + +translate([0,-33/2+10.1/2,0]) cylinder(d=10.1, h=22); +translate([-10.1/2,-33/2+10.1/2,0]) cube([10.1, 20,22]); + +cube([25, 40, 1], center = true); \ No newline at end of file diff --git a/stl/Distanzhülsen.stl b/stl/Distanzhülsen.stl new file mode 100644 index 0000000..16932b5 Binary files /dev/null and b/stl/Distanzhülsen.stl differ diff --git a/stl/Gehause_Badlicht.stl b/stl/Gehause_Badlicht.stl new file mode 100644 index 0000000..62fdcdb Binary files /dev/null and b/stl/Gehause_Badlicht.stl differ diff --git a/stl/Gehause_Badlicht_deckel.stl b/stl/Gehause_Badlicht_deckel.stl new file mode 100644 index 0000000..73a30fe Binary files /dev/null and b/stl/Gehause_Badlicht_deckel.stl differ diff --git a/stl/HeckablageCorsa.stl b/stl/HeckablageCorsa.stl new file mode 100644 index 0000000..e252123 Binary files /dev/null and b/stl/HeckablageCorsa.stl differ diff --git a/stl/HeckablageCorsa2.stl b/stl/HeckablageCorsa2.stl new file mode 100644 index 0000000..8875659 Binary files /dev/null and b/stl/HeckablageCorsa2.stl differ diff --git a/stl/Laufrad.stl b/stl/Laufrad.stl new file mode 100644 index 0000000..49ef602 Binary files /dev/null and b/stl/Laufrad.stl differ diff --git a/stl/Seilrolle.stl b/stl/Seilrolle.stl new file mode 100644 index 0000000..2bd336d Binary files /dev/null and b/stl/Seilrolle.stl differ diff --git a/stl/garage_box.stl b/stl/garage_box.stl new file mode 100644 index 0000000..aacfbd1 Binary files /dev/null and b/stl/garage_box.stl differ diff --git a/stl/garage_box_abdeckungen.stl b/stl/garage_box_abdeckungen.stl new file mode 100644 index 0000000..537dc74 Binary files /dev/null and b/stl/garage_box_abdeckungen.stl differ diff --git a/stl/garage_box_arm.stl b/stl/garage_box_arm.stl new file mode 100644 index 0000000..b583193 Binary files /dev/null and b/stl/garage_box_arm.stl differ diff --git a/stl/nut_profil.stl b/stl/nut_profil.stl new file mode 100644 index 0000000..66a22bc Binary files /dev/null and b/stl/nut_profil.stl differ diff --git a/stl/nut_profil_Abstandhalter.stl b/stl/nut_profil_Abstandhalter.stl new file mode 100644 index 0000000..2feac58 Binary files /dev/null and b/stl/nut_profil_Abstandhalter.stl differ diff --git a/stl/nut_profil_Abstandhalter2.stl b/stl/nut_profil_Abstandhalter2.stl new file mode 100644 index 0000000..86949d4 Binary files /dev/null and b/stl/nut_profil_Abstandhalter2.stl differ diff --git a/stl/schleifbock.stl b/stl/schleifbock.stl new file mode 100644 index 0000000..51c5f5e Binary files /dev/null and b/stl/schleifbock.stl differ diff --git a/stl/schliesszylinder.stl b/stl/schliesszylinder.stl new file mode 100644 index 0000000..d8356e4 Binary files /dev/null and b/stl/schliesszylinder.stl differ diff --git a/stl/schlitzscheibe-Körper.stl b/stl/schlitzscheibe-Körper.stl new file mode 100644 index 0000000..2d006fd Binary files /dev/null and b/stl/schlitzscheibe-Körper.stl differ diff --git a/unsaved-backup-XyQItXmW.scad b/unsaved-backup-XyQItXmW.scad new file mode 100644 index 0000000..cb69233 --- /dev/null +++ b/unsaved-backup-XyQItXmW.scad @@ -0,0 +1,78 @@ +// 62.5 x 100, r 7.5 +$fn=50; + +module frame(width, length, radius, height){ + x_offset = (width-radius)/2; + y_offset = (length-radius)/2; + z_offset = radius; +hull(){ + translate ([x_offset,y_offset,0]) cylinder(r=radius, h=height); + translate ([-x_offset,y_offset,0]) cylinder(r=radius, h=height); + translate ([x_offset,-y_offset,0]) cylinder(r=radius, h=height); + translate ([-x_offset,-y_offset,0]) cylinder(r=radius, h=height); + + + translate ([x_offset,y_offset,z_offset]) sphere(r=radius); + translate ([-x_offset,y_offset,z_offset]) sphere(r=radius); + translate ([x_offset,-y_offset,z_offset]) sphere(r=radius); + translate ([-x_offset,-y_offset,z_offset]) sphere(r=radius); + } +} + +module loch(height){ + translate([0,0,0-3.4]) cylinder (h=height, d=4.4); + translate([0,0,height-3.4]) cylinder (h=3.5, d1=4.4, d2=11); +} + + +// +// beweglicher Arm + +difference(){ +union(){ + translate([-breite/2,100+120+11,dicke]) rotate([0,90,0]) cylinder(r=dicke, h=breite); + + +translate([-breite/2,11,0]) cube([breite,120 +100,10]); + translate([0,0,2]) minkowski(){ + cylinder(d=30, h=4); + sphere(2); + } + } + // kabelkanal +translate([-4,-8,2]) cube([8,120 +120,7]); +translate([-11/2,-15/2,0.8]) cube([11,15,8]); +translate([-5,215,2]) cube([10,20,40]); +// Seitenscheiben +scheibendicke = (breite - innerebreite)/2 +.1; + +translate([-breite/2,100+120+11,dicke]) rotate([0,90,0]) cylinder(r=dicke+.1, h=scheibendicke); +translate([breite/2-scheibendicke,100+120+11,dicke]) rotate([0,90,0]) cylinder(r=dicke+.1, h=scheibendicke); +#translate([-breite/2,100+120+11,dicke]) rotate([0,90,0]) cylinder(d=achsendurchmesser, h=breite); +} + + +// Halter nach oben +dicke= 5.7+7.5; +breite = 20; +innerebreite = 17; +achsendurchmesser = 8; +#cube([62.5, 100,30], center=true); +difference(){ +union(){ +frame(62.5, 100, 6.6, 4); +translate([0,0,-3.2])frame(58.5, 96, 3.5, 3.2); + + + +translate([-breite/2,45,0]) cube([breite,120, dicke]); +translate([-breite/2,45+120-dicke,dicke]) rotate([0,90,0]) cylinder(r=dicke, h=breite); +} +translate([-innerebreite/2,45+120-dicke,dicke]) rotate([0,90,0]) cylinder(r=dicke+0.5, h=innerebreite); +// die Achse +translate([-breite/2,45+120-dicke,dicke]) rotate([0,90,0]) cylinder(d=achsendurchmesser+0.1, h=breite); +// oberes und unteres Befestigungsloch +//x:11,8 y:6.5, d=4.4 + +#translate([-62.5/2,45,0]) loch(dicke); +} diff --git a/unsaved-backup-kOSMSqbF.scad b/unsaved-backup-kOSMSqbF.scad new file mode 100644 index 0000000..6f802c0 --- /dev/null +++ b/unsaved-backup-kOSMSqbF.scad @@ -0,0 +1,78 @@ +$fn=30; + +positions = [ [96, 2.3, "Reset"], //linke untere Kante + [105.4, 13.9, "Sel"], + [105.4, 27.5, "-"], + [105.4, 40.2, "+"], + [105.4, 53.4, "OK"], + [6.4, 15, "X5 X2 X1"], + [6.4, 32.9, "OK"], + [6.4, 50.5, "OK"], + [5.2, 5.2, ""], // center des locks + [5.2, 71.8, ""], + [112, 5.2, ""], + [112, 71.8, ""], + + ]; + +module button(cutout){ + color("black") cube([6,6, 3.8]); + color("silver") translate([0,0,3.8]) cube([6,6,0.3]); + if (!cutout){ + color("black")translate([3,3,0]) cylinder(d=3.5, h=5); + }else{ + color("black")translate([3,3,0]) cylinder(d=8,h=25); + } +} + +module switch(cutout){ + color("silver") cube([13,7.4, 4.8]); + if (!cutout){ + color("black")translate([3.5,3,0]) cube([2.2,2.2, 11]); + }else{ + color("black")translate([2,0.4,0]) + cube([9.2,6.2, 25]); + + } + } + + module platine(cutout){ + // wenn cutout=true, dann wsind die Auschnitte gemeint +difference(){ + union(){ + color("red") cube([117, 77, 1.8]); + if (cutout) + translate([0,0,1.8]) color("darkred") cube([117, 77, 15]); + } + for (i=[8:11]){ + translate([ positions[i][0],positions[i][1],-0.1]) cylinder(d=3.3, h=2);} + + if (cutout){ + + for (i=[8:11]){ + translate([ positions[i][0],positions[i][1],1.8]) cylinder(d=10, h=15.1); + }} +} + for (i=[0:4]){ + translate([ positions[i][0],positions[i][1],1.8]) button(cutout);} + for (i=[5:7]){ + translate([ positions[i][0],positions[i][1],1.8]) switch(cutout);} + + + + translate([29.6, 9.2, 12.8]) union(){ +color("red") cube([71.5, 55, 1.8]); + color("black")translate([0,5.6,1.8]) cube([60, 43, 3]); + color("black")translate([65,2,-11]) cube([5, 51, 11]); + } + if (!cutout){ + color("silver")translate([15.35,69,5+1.8]) rotate([0,90,90]) cylinder(d=11, h=22);}else{ + color("silver")translate([15.35,77,5+1.8]) rotate([0,90,90]) cylinder(d=16, h=14); } + + color("black")translate([93,63.2,1.8])cube ([9,14, 10.8]); + + + } + + platine(true); + \ No newline at end of file