OpenSCAD für Anfänger · Teil 8TutorialEinsteiger

OpenSCAD

OpenSCAD für Anfänger – Teil 8: Schnittmengen mit intersection()

Beschneide Grundkörper mit intersection() und kombiniere runde und gerade Begrenzungen zu parametrischen Formen.

Veröffentlicht am · Aktualisiert am

3 Minuten Lesezeit · 1 PDF-Download

Mit intersection() behältst du in OpenSCAD nur das gemeinsame Volumen mehrerer Körper. An Beispielen mit Quader, Kugel und Zylinder lernst du, Formen zu beschneiden und ihre Begrenzungen parametrisch zu steuern.

Voraussetzungen

Du brauchst OpenSCAD und die Grundlagen aus Teil 7 des Kurses.

In den letzten Lektionen haben wir bereits zwei boolesche Operationen kennengelernt:

union();
difference();

Mit union() können Körper vereinigt werden, mit difference() können wir Geometrie entfernen.

Die dritte grundlegende Operation lautet:

intersection();

intersection() behält ausschließlich den Bereich, in dem sich mehrere Körper überschneiden.

Lernziel:
Nach dieser Lektion kannst du geometrische Schnittmengen erzeugen und damit Formen beschneiden oder auf bestimmte Bereiche begrenzen.


OpenSCAD intersection(): Gemeinsames Volumen behalten

intersection() {

    cube(
        [30, 30, 30],
        center=true
    );

    sphere(
        d=40,
        $fn=64
    );
}

Von Würfel und Kugel bleibt nur die gemeinsame Schnittmenge erhalten.


Die drei booleschen Operationen im Vergleich

Operation Wirkung
union() Körper vereinigen
difference() Körper voneinander abziehen
intersection() nur gemeinsamen Bereich behalten

Schnittmenge verändern

Durch Verschieben eines Körpers verändert sich das Ergebnis:

intersection() {

    cube(
        [40, 40, 20],
        center=true
    );

    translate([15, 0, 0])
        sphere(
            d=40,
            $fn=64
        );
}

Zylinder und Quader kombinieren

intersection() {

    cube(
        [30, 30, 30],
        center=true
    );

    cylinder(
        h=50,
        d=40,
        center=true,
        $fn=64
    );
}

Auch hier bleibt ausschließlich das gemeinsame Volumen erhalten.


Typische Anwendungen

intersection() eignet sich unter anderem für:

  • geometrisches Beschneiden

  • Begrenzen komplexer Formen

  • spezielle Übergangsformen

  • Kombination runder und gerader Begrenzungen

  • Formexperimente


Parametrischer Formkörper

breite = 50;
tiefe = 30;
hoehe = 20;

kugel_d = 45;
scale_x = 1.4;

intersection() {

    cube(
        [breite, tiefe, hoehe],
        center=true
    );

    scale([scale_x, 1, 1])
        sphere(
            d=kugel_d,
            $fn=64
        );
}

Mehrere Körper schneiden

intersection() {

    cube([40, 40, 30], center=true);

    cylinder(
        h=50,
        d=45,
        center=true,
        $fn=64
    );

    sphere(
        d=50,
        $fn=64
    );
}

Das Ergebnis muss innerhalb aller drei Geometrien liegen.


Mitmach-Aufgabe

Erstelle einen Körper aus:

Parameter Wert
Quaderbreite 50 mm
Quadertiefe 40 mm
Quaderhöhe 20 mm
Kugeldurchmesser 50 mm
Skalierung X 1,5

Verwende:

intersection()
cube()
sphere()
scale()

Musterlösung

breite = 50;
tiefe = 40;
hoehe = 20;

kugel_d = 50;
scale_x = 1.5;

intersection() {

    cube(
        [breite, tiefe, hoehe],
        center=true
    );

    scale([scale_x, 1, 1])
        sphere(
            d=kugel_d,
            $fn=64
        );
}

Was haben wir gelernt?

Wir kennen jetzt die drei wichtigen booleschen Operationen:

union()
difference()
intersection()

Damit können wir:

  • Geometrien hinzufügen

  • Geometrien entfernen

  • Schnittmengen bilden

Diese drei Werkzeuge bilden eine der wichtigsten Grundlagen für das eigentliche Konstruieren in OpenSCAD.


Häufige Fragen

Was ist der Unterschied zwischen intersection() und difference()?

intersection() behält den Bereich, der in allen beteiligten Körpern liegt. difference() entfernt dagegen die nachfolgenden Körper vom ersten Grundkörper.

Warum zeigt intersection() kein Modell an?

Wenn die beteiligten Körper kein gemeinsames Volumen besitzen, bleibt kein dreidimensionales Bauteil übrig. Prüfe ihre Positionen, Abmessungen und die Einstellung center, damit sie sich räumlich überschneiden.

Passendes Cheatsheet

Im Cheatsheet „Boolesche Operationen“ findest du ergänzende Grundlagen zum Nachschlagen. Du kannst das Cheatsheet auch direkt als PDF herunterladen.

Weiterlernen