Jump to content

Handbuch: Herkömmliche Modellierung, der CSG Weg

From FreeCAD Documentation
This is the approved revision of this page, as well as being the most recent.

CSG steht für Constructive Solid Geometry und beschreibt die grundlegende Arbeitsweise mit dreidimensionaler Festkörpergeometrie. Dabei werden komplexe Objekte erstellt, indem mithilfe von Booleschen Operationen wie Vereinigung, Subtraktion oder Schnittmenge Teile zu Festkörpern hinzugefügt oder entfernt werden.

Wie bereits früher in diesem Handbuch erläutert, unterstützt FreeCAD verschiedene Geometriearten. Die bevorzugte und praktischste Art für das Entwerfen realer 3D-Objekte in FreeCAD ist jedoch die BREP-Festkörpergeometrie, die hauptsächlich vom Arbeitsbereich Part verarbeitet wird. BREP legt 3D-Objekte fest, indem ihre räumlichen Grenzen (boundary representations) beschrieben werden. Die wichtigsten Aspekte von BREP beinhalten: Flächen, die Oberflächenelemente des Objekts, Kanten, die Grenzlinien, an denen zwei Flächen aufeinandertreffen, und Knotenpunkte, die Punkte, an denen Kanten zusammenlaufen.

BREP bietet mehrere Vorteile. Erstens definiert es Oberflächen mithilfe mathematischer Gleichungen und ermöglicht so eine präzise und genaue Modellierung. Diese Präzision ist für technische Anwendungen, bei denen genaue Abmessungen erforderlich sind, von entscheidender Bedeutung. Darüber hinaus stellt BREP glatte und detaillierte Oberflächen bereit, anders als Polygonnetze, die gekrümmte Oberflächen mit Facetten annähern. Dies ist vergleichbar mit dem Unterschied zwischen Vektorbildern, die ohne Qualitätsverlust skaliert werden können, und Bitmap-Bildern, die bei Vergrößerung pixelig erscheinen können. BREP behält umfassende topologische Informationen über das Objekt bei, einschließlich der Beziehungen zwischen Flächen, Kanten und Knotenpunkten, was für komplexe Operationen wie boolesche Berechnungen und Abrundungen unerlässlich ist.

Links eine Netzdarstellung und rechts eine BREP-Darstellung

Polygonnetze bestehen aus Knotenpunkten, Kanten und Flächen, die Dreiecke oder Vierecke bilden. Netze sind einfacher und schneller zu rendern, weisen jedoch keine hohe Präzision auf. Beim Vergrößern oder Drucken in großem Maßstab zeigen Netze facettierte Oberflächen statt glatter Kurven. Im Gegensatz dazu verwendet BREP mathematisch definierte Kurven und Oberflächen und stellt so überragend genaue und glatte Geometrie bereit. BREP-Modelle sind für CAD-Anwendungen vorzuziehen, bei denen Präzision erforderlich ist.

In FreeCAD wird BREP-basierte Geometrie von OpenCasCade verwaltet, einer Open-Source-Softwarebibliothek. Die primäre Schnittstelle zwischen FreeCAD und dem OpenCasCade-Kernel ist der Arbeitsbereich Part, der als Grundlage für die meisten anderen Arbeitsbereiche dient und grundlegende Werkzeuge zum Erstellen und Bearbeiten von BREP-Objekten bereitstellt. Der Arbeitsbereich Part enthält Werkzeuge zum Erstellen von Grundelementen, wie z. B. die Grundformen Quader, Zylinder und Kugel. Er enthält auch Werkzeuge zum Ausführen der booleschen Verknüpfungen Vereinigen, Schneiden und Differenz an Formen sowie Werkzeuge zum Verschieben, Drehen, Skalieren und Klonen von Objekten.

Während andere FreeCAD-Arbeitsbereiche, wie z. B. die Arbeitsbereiche PartDesign und Surface, fortgeschrittenere Werkzeuge zum Erstellen und Bearbeiten von Geometrie bereitstellen, sind diese auf den zugrundeliegenden Arbeitsbereich Part angewiesen. Es ist von Vorteil, wenn man versteht, wie Part-Objekte intern funktionieren, und mit den grundlegenden Part-Werkzeugen vertraut ist. Oft können diese einfacheren Werkzeuge Probleme lösen, die komplexere Werkzeuge möglicherweise nicht effektiv bewältigen können.

Um die Verwendung des Arbeitsbereichs Part zu veranschaulichen, modellieren wir diesen Tisch, wobei wir ausschließlich CSG-Operationen verwenden (mit Ausnahme der Schrauben, für die wir eines der Addons verwenden, und der Abmessungen, die wir im nächsten Kapitel sehen werden):

Erstellen wir ein neues Dokument (Strg+N oder Menü Datei → Neu) für den Entwurf unseres Tisches. Das Dokument wird zunächst auf der Registerkarte „Modell“ im Bedienfeld „Combo-Ansicht“ als „unbenannt“ bezeichnet. Sobald das Dokument als "table.FCStd" gespeichert wird (Strg+Umschalt+S oder Menü Datei → Speichern unter), wird das Dokument in „table“ umbenannt, was das Projekt deutlicher identifiziert. Wir werden Millimeter (mm) als Längeneinheit verwenden. Einheiten können nach Belieben den eigenen Vorlieben angepasst werden, indem das Menü in der unteren rechten Ecke verwendet wird.

Jetzt können wir zum Arbeitsbereich Part wechseln und unser erstes Tischbeins erstellen.

  • Die Schaltfläche Quader drücken
  • Den Würfel auswählen und dann die folgenden Eigenschaften festlegen (auf der Registerkarte Daten):
    • Länge: 80 mm
    • Breite: 80 mm
    • Höhe: 750 mm
  • Den Würfel duplizieren, indem Strg+C und dann Strg+V gedrückt wird (oder die Menüeinträge Bearbeiten → Kopieren und Einfügen ausgewählt werden). In der 3D-Ansicht ist keine Änderung sichtbar, da das zweite Objekt das erste überlagert. Dass ein neuer Würfel eingefügt wurde, erkennt man daran, dass in der Baumansicht ein neues Objektmit dem Namen "Cube001" angezeigt wird.
  • Cube001 in der Baumansicht auswählen.
  • Die Position von Cube001 anpassen, indem seine Eigenschaft Placement unter dem Reiter Daten bearbeitet wird (zum Ausklappen auf den Pfeil neben Position klicken):
    • Position x: 8 mm
    • Position y: 8 mm

Jetzt sollten zwei hohe Quader zu sehen sein, der eine um 8 mm sowohl in X- als auch in Y-Richtung vom anderen versetzt:

  • Jetzt können wir den einen Quader vom anderen abziehen, um unser L-förmiges Tischbein zu erhalten: Den ursprünglichen Quader auswählen, von dem nach der Differenz-Verknüpfung Anteile übrig bleiben.Danach mit gedrückter Strg-Taste Cube001 auswählen, der von dem ersten abgezogen wird. Man beachte, dass die Auswahlreihenfolge das Ergebnis der Differenz-Verknüpfung bestimmt. Die Schaltfläche Differenz drücken:

Das neu erzeugte Objekt, "Cut" genannt, enthält noch die beiden Quader, die wir als Operanden benutzt haben. Tatsächlich sind die beiden Quader weiterhin im Dokument und wurden lediglich ausgeblendet und in der Baumansicht unterhalb des Cut-Objekts angeordnet. Sie können weiterhin ausgewählt werden, indem der Pfeil neben dem Cut-Objekt ausgeklappt wird. Wenn gewünscht können sie wieder eigeblendet werden, indem die Augensymbole neben ihren Benennungen angeklickt werden, durch Auswahl in ihren Rechts-Klick-Menüs oder durch Ändern ihrer Eigenschaften.

Differenz und andere boolesche Verknüpfungen können auch mit dem Werkzeug Boolesche Verknüpfung ausgeführt werden.

  • Erstellen wir nun die drei anderen Tischbeine, indem wir unseren Basisquader weitere 6 Mal kopieren. Da er sich immer noch als Kopie in der Zwischenablage befindet, können wir ihn einfach 6 Mal einfügen (Strg+V). Die Position jedes neu erstellten Quaders wie folgt ändern:
    • Cube002: x: 0, y: 800 mm
    • Cube003: x: 8 mm, y: 792 mm
    • Cube004: x: 1200 mm, y: 0
    • Cube005: x: 1192 mm, y: 8 mm
    • Cube006: x: 1200 mm, y: 800 mm
    • Cube007: x: 1192 mm, y: 792 mm
  • Nun führen wir die drei weitere Beschnittvorgänge aus, indem wir zuerst den „Host“-Quader auswählen und dann den Quader, der (aus ihm) herausgeschnitten werden soll. Wir haben jetzt vier Cut-Objekte:

Anstatt den Basiswürfel sechsmal zu duplizieren, hätten wir das gesamte Bein dreimal duplizieren können, indem das oben erstellte Cut-Objekt aus den ersten beiden Quadern kopiert, eingefügt und jedes ausgeschnittene Bein in die richtige Ausrichtung gedreht wird. In FreeCAD gib es oft mehrere Möglichkeiten, das gleiche Ergebnis zu erzielen. Dies sollte man sich merken, da man es oft als einfacher oder effizienter empfindet, verschiedene Techniken in unterschiedlichen Zusammenhängen einzusetzen.

  • Wir werden jetzt mit derselben Beschnittoperation (Differenz) Löcher für die Schrauben bohren. Da wir 8 Löcher brauchen (zwei in jedem Bein), könnten wir 8 abzuziehende Objekte erstellen. Wir können aber auch einen anderen Weg ausprobieren. Wir können 4 Zylinder erstellen, die jeweils ein Paar Beine durchdringt. Erstellen wir sie mit dem Werkzeug Zylinder. Wir können einen Zylinder erstellen und ihn dreimal duplizieren. Jeder Zylinder erhält einen Radius von 6 mm. Dieses Mal müssen wir die Zylinder drehen und dazu die Eigenschaft Placement unter der Registerkarte Daten verwenden (Hinweis: Die Eigenschaft Axis ändern, bevor der Winkel festgelegt wird, sonst wird die Drehung nicht ausgeführt):
    • Zylinder: Höhe: 1300 mm, Winkel: 90°, Achse: x: 0, y: 1, z: 0, Position: x: -10 mm, y: 40 mm, z: 720 mm
    • Zylinder001: Höhe: 1300 mm, Winkel: 90°, Achse: x: 0, y: 1, z: 0, Position: x: -10 mm, y: 840 m, z: 720 mm
    • Zylinder002: Höhe: 900 mm, Winkel: 90°, Achse: x: -1, y: 0, z: 0, Position: x: 40 mm, y: -10 mm, z: 700 m
    • Zylinder003: Höhe: 900 mm, Winkel: 90°, Achse: x: -1, y: 0, z: 0, Position: x: 1240 mm, y: -10 mm, z: 700 mm

Wir stellen fest, dass die Zylinder über die Tischbeine hinausragen. Der Grund ist, dass, wie in allen auf Festkörpern basierenden 3D-Applikationen, boolesche Verknüpfungen in FreeCAD manchmal fehlschlagen, wenn Flächen von Objekten komplanar verlaufen. Wir können potentielle Fehler vermeiden, indem die Enden der Zylinder außerhalb der Beinoberflächen liegen.

  • Jetzt führen wir die Subtraktionen durch, um die Löcher in den Tischbeinen zu erstellen. Das erste Bein auswählen, dann mit gedrückter Strg-Taste einen der Zylinder auswählen, der es kreuz, und die Schaltfläche Differenz drücken. Das Loch wird im Bein erstellt und der Zylinder wird ausgeblendet. Wir können ihn finden, wenn wir dass neue Cut-Objekt des Beines in der Baumansicht ausklappen.
  • Das andere Bein auswählen, durch das der ausgeblendete Zylinder verläuft, und den Vorgang wiederholen. Dieses Mal den Zylinder in der Baumansicht auswählen, da er in der 3D-Ansicht ausgeblendet ist. (Alternativ können wir ihn wieder sichtbar machen und in der 3D-Ansicht auswählen). Diesen Vorgang für die anderen Beine wiederholen, bis jedes von ihnen zwei Löcher hat:

Wie man sieht, wird jetzt jedes Bein von einer Folge mehrerer Operationen beschrieben, die in der Baumansicht eingebettet sind. Die gesamte Geometrie, die wir erstellt haben, bleibt parametrisch und wir können jederzeit jeden Parameter in jeder der älteren Operationen ändern. In FreeCAD bezeichnen wir diese Folge als "Modell-Historie" (modeling history), da sie die komplette Geschichte der durchgeführten Operationen aufzeichnet.

Eine weitere Eigentümlichkeit von FreeCAD ist, dass das Konzept von 3D-Objekten und das Konzept von 3D-Operationen dazu neigen, zu einem zu vermischen. "Cut" bezeichnet (im Englischen) zur gleichen Zeit eine Operation (boolesche Differenz) und auch das aus dieser Operation resultierende 3D-Objekt. In FreeCAD wird dies manchmal eher als "Formelement" bezeichnet, anstatt als "Objekt" oder "Operation".

Jetzt modellieren wir die Tischplatte. Es wird ein einfaches rechteckiges Prisma sein Holzblock sein, daher starten wir es mit einem weiteren Quader und ändern seine Abmaße auf der Registerkarte Daten wie folgt:

  • Box: Länge: 1260 mm, Breite: 860 mm, Höhe: 80 mm, Position: x: 10 mm, y: 10 mm, z: 670 mm.

Auf der Registerkarte Ansicht kann ihr eine bräunliche, holzähnliche Farbe zugeordnet werden, indem ihre Eigenschaft Shape Appearance angepasst wird:

Nachdem unsere fünf Teile nun fertig sind, ist es ein guter Zeitpunkt, ihnen bessere Bezeichnungen zu geben als "Cut015". Mit einen Rechtklick in der Baumansicht (oder durch Drücken von F2, wenn ein Objekt ausgewählt ist) kann jedes Objekt umbenannt werden und so eine aussagekräftige Bezeichnung erhalten. Eine sinnvolle Benennung von Objekten kann genauso wichtig sein, wie die die Weise, wie es modelliert wird.

  • Wir werden nun ein paar Schrauben mit einem Addon (Erweiterung) einsetzen. Fasteners ist ein extrem nützliches Addon, das von einem Mitglied der FreeCAD-Gemeinschaft entwickelt wurde. Man findet es in der FreeCAD-Addons-Datenablage. Addons zu installieren ist einfach! Siehe Addon-Manager für weitere Informationen.
  • Sobald der Arbeitsbereich Fasteners installiert und FreeCAD erneut gestartet wurde, wird er in der Ausklappliste der Arbeitsbereiche ausgewählt. Wir werden jetzt einem der oben erstellten Löcher eine Schraube hinzufügen. Zuerst die kreisförmige Kante eines Loches in einem unserer Tischbeine auswählen.

  • Dann eine der Schrauben auswählen, die im Arbeitsbereich Fasteners bereitgestellt werden. Für diese Übung verwenden wir die EN 1665 Sechskantschraube mit Flansch, schwere Reihe. Die Schraube wird in unserem Loch eingesetzt und an ihm ausgerichtet; und der Durchmesser wird automatisch passend zur Größe unseres Loches ausgewählt. Manchmal muss die Ausrichtung der Schraube über ihrer Eigenschaft Invert umgekehrt werden.

  • Wiederhole dies für die anderen sieben Löcher und unser Tisch ist fertig!

Wie bereits erwähnt, kann dasselbe Ergebnis erzielt werden, auch wenn man unterschiedliche Schritte ausführst. Um dies zu zeigen, erstellen wir denselben Tisch mit einer anderen Methode. Nicht vergessen, es gibt keinen richtigen oder falschen Weg - nur individuelle Kreativität.

Wir beginnen auf ähnliche Weise, indem wir einen Quader mit den folgenden Abmessungen erstellen: Länge 80 mm, Breite 8 mm und Höhe 750 mm

  • Einen Würfel erstellen, indem wir die Schaltfläche Quader auswählen und die folgenden Eigenschaften festlegen (auf der Registerkarte Daten):
    • Länge: 80 mm
    • Breite: 8 mm
    • Höhe: 750 mm
  • Als Nächstes erstellen wir einen Zylinder mit den folgenden Eigenschaften:
    • Radius: 6 mm, Höhe: 100 mm, Winkel: 90°, Achse: x: 1, y: 0, z: 0, Position: x: 40 mm, y: 40 mm, z: 720 mm
  • Als Nächstes wenden wir das Beschnittwerkzeug (Differenz) an. Den Würfel auswählen, dann die Strg-Taste gedrückt halten und den Zylinder auswählen. Man beachte, dass die Reihenfolge wichtig ist, um festzulegen, welches erhalten bleibt. Dann die Schaltfläche Differenz drücken.
  • Das ausgeschnittene Objekt (cut object) kopieren und einfügen, indem wir Strg+C und dann Strg+V drücken (oder die Menüeinträge Bearbeiten → Kopieren und Einfügen auswählen):
    • Winkel: 90°, Achse: x: 0, y: 0, z: -1, Position: x: 8 mm
  • Die beiden Objekte auswählen und das Werkzeug Vereinigung anwenden. Jetzt sind die beiden Objekte verschmolzen und wir haben ein L-förmiges Tischbein.
  • Das verschmolzene Bein kopieren, einsetzen und wie folgt positionieren:
    • Winkel: 90°, Achse: x: 0, y: 0, z: 1, Position y: 800 mm.
  • Die beiden Beine auswählen und einen Verbund erstellen.
  • Den Verbund kopieren, einsetzen und wie folgt positionieren:
    • Winkel: 180°, Achse: x:0, y:0, z:1, Position x: 1200 mm, y: 800 mm. Wir haben unsere Beine.

Lasst uns die Tischplatte erstellen.

  • Einen Quader erstellen und seine Eigenschaften folgendermaßen anpassen:
    • Länge: 1184 mm
    • Breite: 784 mm
    • Höhe: 80 mm
    • Position x: 8 mm, y: 8 mm, z: 670 mm.

Nun machen wir weiter, indem wir Schrauben im Arbeitsbereich Fasteners auswählen und hinzufügen.

Die interne Struktur von Teilobjekten

Wie wir oben gesehen haben, ist es in FreeCAD möglich, nicht nur ganze Objekte, sondern auch Teile davon auszuwählen, z.B. die kreisförmige Kante unseres Schraubenlochs. Dies ist ein guter Zeitpunkt, um einen kurzen Blick darauf zu werfen, wie Part-Objekte intern konstruiert werden. Jeder Arbeitsbereich, der Part-Geometrie erzeugt, basiert auf Folgendem:

  • Knotenpunkte (kurz Knoten): Dies sind Punkte (normalerweise Endpunkte), auf denen alles andere aufbaut. Eine Linie hat beispielsweise zwei Knoten (engl. vertices).
  • Kanten: Die Kanten sind linienförmige Geometrien wie Linien, Bögen, Ellipsen oder NURBS-Kurven. Ein Kantenzug hat normalerweise zwei Knoten, aber einige Sonderfälle haben nur einen (z. B. ein geschlossener Kreis).
  • Kantenzüge: Ein Kantenzug ist eine Folge von Kanten, die durch ihre Endpunkte (Knoten) verbunden sind. Er kann Kanten beliebigen Typs enthalten und geschlossen sein oder nicht.
  • Flächen: Flächen können eben oder gekrümmt sein. Sie können durch einen geschlossenen Kantenzug festgelegt werden, der den Rand der Fläche bildet, oder durch mehrere, wenn die Fläche Löcher hat.
  • Schalen: Schalen sind Gruppen von Flächen, die durch ihre Kanten verbunden sind. Sie können offen oder geschlossen sein.
  • Festkörper: Eine geschlossene Schale kann in einen Festkörper gewandelt werden. Festkörper beinhalten die Vorstellung von innen und außen. Viele Arbeitsbereiche verlassen sich darauf, um sicherzustellen, dass die von ihnen erstellten Objekte in der realen Welt gebaut werden können.
  • Verbundobjekte: Verbundobjekte kombinieren andere Formen einer oder mehrerer Arten zu einem einzigen Objekt.

In der 3D-Ansicht können die einzelnen Knotenpunkte, Kanten oder Flächen ausgewählt werden. Wird eins dieser Elemente ausgewählt, wird gleichzeitig das gesamte Objekt ausgewählt, zu dem es gehört.

Eine Anmerkung zu geteiltem Design

Wir sehen uns den Tisch oben an und denken vielleicht, dass sein Design nicht besonders gut ist. Die Beine scheinen nicht sehr sicher mit der Tischplatte verbunden zu sein! Vielleicht sollten wir Verstärkungselemente hinzufügen oder gibt es andere Verbesserungsvorschläge? Hier wird das Teilen interessant. Die Datei, die wir während dieser Übung erstellt haben, kann über den unten stehenden Link heruntergeladen und geändert werden, um sie zu verbessern. Wenn diese verbesserte Datei dann geteilt wird, können andere sie möglicherweise noch besser machen oder deinen gut gestalteten Tisch in ihren Projekten verwenden. Dein Design könnte dann andere Menschen zu neuen Ideen anregen, und vielleicht hast du dazu beigetragen, eine bessere Welt zu schaffen...

Downloads

Lies mehr