diff --git a/3d-model.scad b/3d-model.scad index 74dcdc3..344850e 100644 --- a/3d-model.scad +++ b/3d-model.scad @@ -1,20 +1,25 @@ +// Alle Längen in Millimeter! + +h_0 = 6.0; // Höhe, Hauptteil +h_1 = 11.0; // Höhe, vorne b_0 = 4.8; // unten, am Zylinderansatz b_1 = 3.8; // unten, vorne -b_2 = 4.0; // oben, am Zylinderansatz -b_3 = 3.0; // oben (mittlere Höhe), vorne -h = 6.0; // Höhe +b_2 = 4.0*(h_0/h_1); // oben, am Zylinderansatz +b_3 = 3.0*(h_0/h_1); // oben (mittlere Höhe), vorne l_0 = 32; // Länge, unten l_1 = 31.5; // Länge, oben +l_2 = 13; // Länge der Fahne CubePoints = [ -[-b_0/2,0,0], // 0 checked -[-b_1/2,l_0,0], // 1 checked -[b_1/2,l_0,0], // 2 checked -[b_0/2,0,0], // 3 checked -[-b_2/2,0,h], // 4 checked -[-b_3/2,l_1,h], // 5 checked -[b_3/2,l_1,h], // 6 checked -[b_2/2,0,h]]; // 7 checked +[-b_0/2,0,0], // 0 +[-b_1/2,l_0,0], // 1 +[b_1/2,l_0,0], // 2 +[b_0/2,0,0], // 3 +[-b_2/2,0,h_1], // 4 +[-b_3/2,l_1,h_1], // 5 +[b_3/2,l_1,h_1], // 6 +[b_2/2,0,h_1] // 7 +]; CubeFaces = [ [0,3,2,1], // bottom @@ -23,22 +28,34 @@ CubeFaces = [ [0,4,7,3], // back [6,5,1,2], // front [6,7,4,5] // top - ]; - // Die Punkte der Flächen müssen von außen - // betrachtet gegen den Uhrzeigersinn gelistet werden! - // Siehe https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids - // insb.: https://en.wikibooks.org/wiki/File:Cube_numbers.jpg +]; - // Debugging: Ansicht auf "Kombinierte Anzeige F12" (engl. "Thrown Together F12") stellen - // Dann: "Vorschau F5" --> Die seite der Fläche, die außen sein sollte - // ist gelb, die die innen sein sollte ist magenta. - - // Wenn das Polyhedron nicht ordentlich erstellt ist, wird es zwar - // einzeln angezeigt, die Union() schlägt aber fehl! - - union() -{ - cylinder(h=6, r1=10/2, r2=9.65/2); - polyhedron(points=CubePoints, faces=CubeFaces); -}; +// Die Punkte der Flächen müssen von außen +// betrachtet gegen den Uhrzeigersinn gelistet werden! +// Siehe https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids +// insb.: https://en.wikibooks.org/wiki/File:Cube_numbers.jpg +// Debugging: Ansicht auf "Kombinierte Anzeige F12" (engl. "Thrown Together F12") stellen +// Dann: "Vorschau F5" --> Die seite der Fläche, die außen sein sollte +// ist gelb, die die innen sein sollte ist magenta. + +// Wenn das Polyhedron nicht ordentlich erstellt ist, wird es zwar +// einzeln angezeigt, die Union() schlägt aber fehl! + +difference() +{ + union() + { + cylinder(h=6, r1=10/2, r2=9.65/2); + polyhedron(points=CubePoints, faces=CubeFaces); + }; + union() + { + translate([-b_0/2,l_1-l_2-(h_1-h_0),h_1]) + rotate([90,0,90]) + cylinder(h=b_0, r1=h_1-h_0, r2=h_1-h_0); + + translate([-b_0/2, 0, h_0]) + cube([b_0, l_1-l_2-(h_1-h_0), h_1-h_0]); + } +} diff --git a/Vorschau.png b/Vorschau.png new file mode 100644 index 0000000..fe69f98 Binary files /dev/null and b/Vorschau.png differ