45 lines
1.3 KiB
OpenSCAD
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);
|
|
};
|
|
|