From 3d3d066e3d7ef739606cc6f2b35e31ba27706551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?holm=20/=20Christian=20M=C3=BCller?= Date: Wed, 20 Mar 2024 21:34:24 +0100 Subject: [PATCH 1/3] Housekeeping --- x | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 x diff --git a/x b/x deleted file mode 100644 index e69de29..0000000 From a8eb5b14ba1da2c356c4bc134ad2f7be2eb6de55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?holm=20/=20Christian=20M=C3=BCller?= Date: Wed, 20 Mar 2024 22:04:48 +0100 Subject: [PATCH 2/3] Housekeeping --- Spangenzubehör.json | 14 +++ Spangenzubehör.scad | 204 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 Spangenzubehör.json create mode 100644 Spangenzubehör.scad diff --git a/Spangenzubehör.json b/Spangenzubehör.json new file mode 100644 index 0000000..07f53d1 --- /dev/null +++ b/Spangenzubehör.json @@ -0,0 +1,14 @@ +{ + "parameterSets": { + "Standardwerte des Designs": { + "deckelstaerke": "2", + "detailgrad": "45", + "rundung": "2", + "vollebreite": "75", + "vollehoehe": "17", + "vollelaenge": "25", + "wandstaerke": "2" + } + }, + "fileFormatVersion": "1" +} diff --git a/Spangenzubehör.scad b/Spangenzubehör.scad new file mode 100644 index 0000000..c8667e5 --- /dev/null +++ b/Spangenzubehör.scad @@ -0,0 +1,204 @@ +// Definitions +// ********************* + +detailgrad = 45; +wandstaerke = 5; +deckelstaerke = 2; +rundung = 4; +vollebreite = 60; +vollelaenge = 25; +vollehoehe = 20; + +// Prozessvariablen +{ + wall = wandstaerke; + $fn = detailgrad; + sphere = rundung; + breite = vollebreite-2*sphere; + laenge = vollelaenge-2*sphere; + hoehe = vollehoehe-sphere; +} + +difference() { + Box(); + Deckel(); +} + +scale([1,0.999,0.999]) +translate([0, vollelaenge+10,-vollehoehe+wall/2]) { + Deckel(griff=true,spiegel=true,kante=true); +} + +module Deckel(griff=false,spiegel=false,kante=false) { + translate([0,vollelaenge/2,0]) + difference() { + union() { + mirror_copy() + translate([0,-vollelaenge/2,0]) + Deckelhaelfte(kante,spiegel); + } + if(griff) { + scale([0.75,1.25,1]) + difference() { + translate([8,0,vollehoehe-0.3]) + color("red") + cylinder(h=0.5,r=6); + translate([10.5,0,vollehoehe-0.3]) + color("blue") + cylinder(h=1,r=5.5); + translate([7.5,0-6.5,vollehoehe-0.3]) + color("magenta") + cube([9,13,0.5]); + //cube(4,true); + } + scale([0.75,1.25,1]) + difference() { + translate([13,0,vollehoehe-0.3]) + color("red") + cylinder(h=1,r=6); + translate([15.5,0,vollehoehe-0.3]) + color("blue") + cylinder(h=1,r=5.5); + translate([12.5,0-6.5,vollehoehe-0.3]) + color("magenta") + cube([9,13,0.5]); + //cube(4,true); + } + } + } +} + +module Deckelhaelfte(kante=false,spiegel=false) { + difference() { + // Deckelplatte + translate([0,rundung/3,vollehoehe-wall/2]) + color("lime") + cube([vollebreite-rundung/3,(vollelaenge-2*rundung/3)/2,wall/2+.1]); + + // Winkel 1 + translate([-1,rundung/3,vollehoehe-wall/2]) + color("brown") + rotate([65,0,0]) + cube([vollebreite-rundung/3+2,wall,wall/2+1]); + + // Winkel 2 + translate([vollebreite-rundung/3*2,vollelaenge-2*rundung/3+wall,vollehoehe]) + color("brown") + rotate([-65,0,-90]) + cube([vollebreite-rundung/3+2,wall,wall/2+1]); + + // Winkel 3 + translate([vollebreite-rundung/3-wall/2-1,-2,vollehoehe-wall/2-1]) + color("red") + rotate([45,0,45]) + cube([10,wall,wall/2+1]); + + // Spiegel + if(spiegel) { + translate([11.5,5,vollehoehe-wall/2+1.5]) + color("lightblue") + cube([vollebreite-rundung/3-16,vollelaenge-17.5,wall/2+1]); + } + + // Kante + if(kante) { + translate([-1,-3.3,vollehoehe-wall/2]) + color("brown") + cube([vollebreite-rundung/3+2,wall,wall/2+1]); + + translate([vollebreite+3.3,0,vollehoehe-wall/2]) + color("brown") + rotate([0,0,90]) + cube([vollelaenge/2,wall,wall/2+1]); + + translate([0.5,0,vollehoehe-wall/2-1]) + color("brown") + rotate([0,0,90]) + cube([vollelaenge/2,wall,wall/2+2]); + } + } +} + +module Box() { +// Box + difference() { + // Box + translate([sphere,sphere,sphere]) + box(); + + // Obere harte Kante + translate([0,0,vollehoehe]) + color("blue",0.7) + cube([vollebreite,vollelaenge,sphere]); + } + + // Hauptsteg + difference() { + //Hauptsteg + translate([wall/2,vollelaenge*0.5,wall/2-0.5]) + color("yellow") + cube([vollebreite-wall+0.1,1,hoehe-0.7]); + + // Durchgriff + translate([vollebreite/2+3.55,vollelaenge*0.5+2.5,17]) + rotate([90,0,0]) + scale([2.25,1]) + cylinder(h=5,r=8.5); + } + // Quersteg 1 + difference() { + translate([13.5,wall/2,wall/2-0.5]) + color("magenta") + cube([1,(vollelaenge-wall)/2+0.1,hoehe-0.7]); + + // Durchgriff + translate([11,wall*1.2,10]) + rotate([0,90,0]) + cylinder(h=4,r=2);} + + // Zyl gebraucht 2/2 + translate([19,vollelaenge/2-4/2,wall/2-0.5]) + color("cyan") + cylinder(h=16.8, r1=3, r2=1.8); +} + +module grundbox() { + // Box + color("purple",0.7) + roundbox(breite,laenge,hoehe); + + // Halter + difference() { + translate([-5,laenge/2,-0.5]) + color("yellow") + cube([10,4,7],true); + rotate([270,0,0]) + translate([-6.75,0.6,laenge/2]) + color("green") + cylinder(h=7,d=4,center=true); + } +} + +module box() { + difference() { + grundbox(); + + // Innenausschnitt + translate([wall/2,wall/2,wall/2]) + color("red",0.7) + roundbox(breite-wall,laenge-wall,hoehe); + + } +} + +module roundbox(w,h,d) { + minkowski(){ + cube([w,h,d]); + sphere(sphere); + } +} + +module mirror_copy(v = [0, 1, 0]) { + children(); + mirror(v) children(); +} \ No newline at end of file From 8d81db39e25c08ee88bddd3c4fdddc2fc078b84a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?holm=20/=20Christian=20M=C3=BCller?= Date: Wed, 20 Mar 2024 22:05:30 +0100 Subject: [PATCH 3/3] Housekeeping --- SPangenzubehör.json | 14 --- SPangenzubehör.scad | 204 -------------------------------------------- 2 files changed, 218 deletions(-) delete mode 100644 SPangenzubehör.json delete mode 100644 SPangenzubehör.scad diff --git a/SPangenzubehör.json b/SPangenzubehör.json deleted file mode 100644 index 07f53d1..0000000 --- a/SPangenzubehör.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parameterSets": { - "Standardwerte des Designs": { - "deckelstaerke": "2", - "detailgrad": "45", - "rundung": "2", - "vollebreite": "75", - "vollehoehe": "17", - "vollelaenge": "25", - "wandstaerke": "2" - } - }, - "fileFormatVersion": "1" -} diff --git a/SPangenzubehör.scad b/SPangenzubehör.scad deleted file mode 100644 index c8667e5..0000000 --- a/SPangenzubehör.scad +++ /dev/null @@ -1,204 +0,0 @@ -// Definitions -// ********************* - -detailgrad = 45; -wandstaerke = 5; -deckelstaerke = 2; -rundung = 4; -vollebreite = 60; -vollelaenge = 25; -vollehoehe = 20; - -// Prozessvariablen -{ - wall = wandstaerke; - $fn = detailgrad; - sphere = rundung; - breite = vollebreite-2*sphere; - laenge = vollelaenge-2*sphere; - hoehe = vollehoehe-sphere; -} - -difference() { - Box(); - Deckel(); -} - -scale([1,0.999,0.999]) -translate([0, vollelaenge+10,-vollehoehe+wall/2]) { - Deckel(griff=true,spiegel=true,kante=true); -} - -module Deckel(griff=false,spiegel=false,kante=false) { - translate([0,vollelaenge/2,0]) - difference() { - union() { - mirror_copy() - translate([0,-vollelaenge/2,0]) - Deckelhaelfte(kante,spiegel); - } - if(griff) { - scale([0.75,1.25,1]) - difference() { - translate([8,0,vollehoehe-0.3]) - color("red") - cylinder(h=0.5,r=6); - translate([10.5,0,vollehoehe-0.3]) - color("blue") - cylinder(h=1,r=5.5); - translate([7.5,0-6.5,vollehoehe-0.3]) - color("magenta") - cube([9,13,0.5]); - //cube(4,true); - } - scale([0.75,1.25,1]) - difference() { - translate([13,0,vollehoehe-0.3]) - color("red") - cylinder(h=1,r=6); - translate([15.5,0,vollehoehe-0.3]) - color("blue") - cylinder(h=1,r=5.5); - translate([12.5,0-6.5,vollehoehe-0.3]) - color("magenta") - cube([9,13,0.5]); - //cube(4,true); - } - } - } -} - -module Deckelhaelfte(kante=false,spiegel=false) { - difference() { - // Deckelplatte - translate([0,rundung/3,vollehoehe-wall/2]) - color("lime") - cube([vollebreite-rundung/3,(vollelaenge-2*rundung/3)/2,wall/2+.1]); - - // Winkel 1 - translate([-1,rundung/3,vollehoehe-wall/2]) - color("brown") - rotate([65,0,0]) - cube([vollebreite-rundung/3+2,wall,wall/2+1]); - - // Winkel 2 - translate([vollebreite-rundung/3*2,vollelaenge-2*rundung/3+wall,vollehoehe]) - color("brown") - rotate([-65,0,-90]) - cube([vollebreite-rundung/3+2,wall,wall/2+1]); - - // Winkel 3 - translate([vollebreite-rundung/3-wall/2-1,-2,vollehoehe-wall/2-1]) - color("red") - rotate([45,0,45]) - cube([10,wall,wall/2+1]); - - // Spiegel - if(spiegel) { - translate([11.5,5,vollehoehe-wall/2+1.5]) - color("lightblue") - cube([vollebreite-rundung/3-16,vollelaenge-17.5,wall/2+1]); - } - - // Kante - if(kante) { - translate([-1,-3.3,vollehoehe-wall/2]) - color("brown") - cube([vollebreite-rundung/3+2,wall,wall/2+1]); - - translate([vollebreite+3.3,0,vollehoehe-wall/2]) - color("brown") - rotate([0,0,90]) - cube([vollelaenge/2,wall,wall/2+1]); - - translate([0.5,0,vollehoehe-wall/2-1]) - color("brown") - rotate([0,0,90]) - cube([vollelaenge/2,wall,wall/2+2]); - } - } -} - -module Box() { -// Box - difference() { - // Box - translate([sphere,sphere,sphere]) - box(); - - // Obere harte Kante - translate([0,0,vollehoehe]) - color("blue",0.7) - cube([vollebreite,vollelaenge,sphere]); - } - - // Hauptsteg - difference() { - //Hauptsteg - translate([wall/2,vollelaenge*0.5,wall/2-0.5]) - color("yellow") - cube([vollebreite-wall+0.1,1,hoehe-0.7]); - - // Durchgriff - translate([vollebreite/2+3.55,vollelaenge*0.5+2.5,17]) - rotate([90,0,0]) - scale([2.25,1]) - cylinder(h=5,r=8.5); - } - // Quersteg 1 - difference() { - translate([13.5,wall/2,wall/2-0.5]) - color("magenta") - cube([1,(vollelaenge-wall)/2+0.1,hoehe-0.7]); - - // Durchgriff - translate([11,wall*1.2,10]) - rotate([0,90,0]) - cylinder(h=4,r=2);} - - // Zyl gebraucht 2/2 - translate([19,vollelaenge/2-4/2,wall/2-0.5]) - color("cyan") - cylinder(h=16.8, r1=3, r2=1.8); -} - -module grundbox() { - // Box - color("purple",0.7) - roundbox(breite,laenge,hoehe); - - // Halter - difference() { - translate([-5,laenge/2,-0.5]) - color("yellow") - cube([10,4,7],true); - rotate([270,0,0]) - translate([-6.75,0.6,laenge/2]) - color("green") - cylinder(h=7,d=4,center=true); - } -} - -module box() { - difference() { - grundbox(); - - // Innenausschnitt - translate([wall/2,wall/2,wall/2]) - color("red",0.7) - roundbox(breite-wall,laenge-wall,hoehe); - - } -} - -module roundbox(w,h,d) { - minkowski(){ - cube([w,h,d]); - sphere(sphere); - } -} - -module mirror_copy(v = [0, 1, 0]) { - children(); - mirror(v) children(); -} \ No newline at end of file