Direkt zum Hauptinhalt

OpenSCAD Schachfigur zeichnen

Eine Schachfigur zeichnen in 10 Schritten

OpenSCAD ist eine freie CAD-Software auf einer textbasierten Programmiersprache mit der 3D-Modelle erzeugt werden. Die Objekte bestehen aus einfachen geometrischen Grundkörpern und werden mit Transformationen und Modifikationen zu einem komplexen 3D-Modell vereinigt. Im folgenden Beispiel erstellen wir auf diesen Weg eine Schachfigur.

Schritt 1: Kugel
sphere(r = 20);

l1.png
Schritt 2: Kegel
cylinder(h = 30, r1 = 20, r2 = 0);

l2.png
Schritt 3: Kegel positionieren
union()
{
sphere(r = 20);
translate([0, 0, 10 ])
cylinder(h = 30, r1 = 17.3, r2 = 0);
}

l3.png
Schritt 4: Einschnitt
difference()
{
union()
{
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);
}
cube([40, 5, 40]);
}

l4.png
Schritt 5: Einschnitt positionieren
union()
{
// Kopf
translate([0, 0, 120])
difference()
{
union()
{
// Tropfenform
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);
}
//Einschnitt
translate([-20, 0, 0])
cube([40, 5, 40]);
}
}

l5.png
Schritt 6: Einschnitt im richtigen Winkel
union()
{
// Kopf
translate([0, 0, 120])
difference()
{
union()
{
// Tropfenform
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);
}
//Einschnitt
rotate([45, 0, 0])
translate([-20, 0, 0])
cube([40, 5, 40]);
}
}

l6.png
Schritt 7: Kugel an der Spitze
union()
{
// Kopf
translate([0, 0, 120])
difference()
{
union()
{
// Tropfenform
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);

// Kugel an der Spitze
translate([0, 0, 30 + 10])
sphere(r = 6);
}
//Einschnitt
rotate([45, 0, 0])
translate([-20, 0, 0])
cube([40, 5, 40]);
}
}

l7.png
Schritt 8: Körper
union()
{
// Kopf
translate([0, 0, 120])
difference()
{
union()
{
// Tropfenform
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);

// Kugel an der Spitze
translate([0, 0, 30 + 10])
sphere(r = 6);
}
//Einschnitt
rotate([45, 0, 0])
translate([-20, 0, 0])
cube([40, 5, 40]);
}
// Hals
cylinder(h = 120, r1 = 18, r2 = 12);
}

l8.png
Schritt 9: Sockel
union()
{
// Kopf
translate([0, 0, 120])
difference()
{
union()
{
// Tropfenform
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);

// Kugel an der Spitze
translate([0, 0, 30 + 10])
sphere(r = 6);
}
//Einschnitt
rotate([45, 0, 0])
translate([-20, 0, 0])
cube([40, 5, 40]);
}
// Hals
cylinder(h = 120, r1 = 18, r2 = 12);

// Sockel
cylinder(h = 20, r1 = 35, r2 = 25);
}

l9.png
Schritt 10: Kragen
$fn=60; // Rendern
union()
{
// Kopf
translate([0, 0, 120])
difference()
{
union()
{
// Tropfenform
sphere(r = 20);
translate([0, 0, 10])
cylinder(h = 30, r1 = 17.3, r2 = 0);

// Kugel an der Spitze
translate([0, 0, 30 + 10])
sphere(r = 6);
}
//Einschnitt
rotate([45, 0, 0])
translate([-20, 0, 0])
cube([40, 5, 40]);
}
// Hals
cylinder(h = 120, r1 = 18, r2 = 12);

// Sockel
cylinder(h = 20, r1 = 35, r2 = 25);

// Kragen
translate([0, 0, 90])
intersection()
//Erstellt den Schnittpunkt aller untergeordneten Knoten.
{
cylinder(h = 20, r1 = 20, r2 = 0);
translate([0, 0, 7])
mirror([0, 0, 1])
cylinder(h = 20, r1 = 20, r2 = 0);
}
}

l10.png