Dual-Hebel/3d-model.scad

45 lines
1.3 KiB
OpenSCAD

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
l_0 = 32; // Länge, unten
l_1 = 31.5; // Länge, oben
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
CubeFaces = [
[0,3,2,1], // bottom
[0,1,5,4], // right
[2,3,7,6], // left
[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);
};