Manual:Traditional modeling, the CSG way/de

CSG steht für Constructive Solid Geometry und beschreibt den üblichen Weg, mit 3D-Objekten zu arbeiten, also komplexe Objekte durch Hinzufügen und Entfernen von Teilen zu/von Volumenkörpern mit Boole'schen Operationen wie Vereinigung, Differenz oder Schnittmenge zu erstellen.

Wie wir früher in diesem Manual gesehen haben, kann FreeCAD viele Arten von Geometrien behandeln, aber der bevorzugte und nützlichste Typ für die Art von 3D-Objekten, die wir mit FreeCAD entwerfen wollen, nämlich reale Objekte, die ohne Zweifel "solide" sind, sind [BREP]-Geometrien, die hauptsächlich im Part-Arbeitsbereich behandelt werden. Im Gegensatz zu [Polygonnetzen], die nur aus Punkten und Dreiecken bestehen, werden bei BREP-Objekten die Oberflächen durch mathematische Kurven definiert, was uneingeschränkte Genauigkeit erlaubt, unabhängig vom Maßstab.



Der Unterschied zwischen den beiden kann mit dem Unterschied zwischen Bitmap- und Vektorgrafiken verglichen werden. Wie bei Bitmap-Grafiken sind gewölbte Oberflächen bei Polygonnetzen unterteilt in eine Reihe von Punkten. Wenn Sie genauer hinsehen oder sehr groß ausdrucken, werden Sie keine gewölbte, sondern eine facettierte Oberfläche sehen. In Vektorgrafiken und BREP-Daten ist die Position eines beliebigen Punktes auf einer Kurve nicht in der Geometrie gespeichert, sondern wird mit der notwendigen Genauigkeit während der Laufzeit berechnet.

In FreeCAD werden alle BREP-basierten Geometrien von einem anderen Stück Open-Source-Software, OpenCasCade, behandelt. Die Hauptschnittstelle zwischen FreeCAD und dem OpenCasCade-Kern ist der Part-Arbeitsbereich. Die meisten anderen Arbeitsbereiche basieren in ihrer Funktionalität auf dem Part-Arbeitsbereich.

Auch wenn andere Arbeitsbereiche oftmals fortgeschrittenere Werkzeuge zur Erstellung und Manipulation von Geometrien anbieten, obwohl sie eigentlich alle Part-Objekte verändern, ist es sehr hilfreich zu wissen, wie diese Objekte intern funktionieren, und die Part-Werkzeuge nutzen zu können, denn weil sie einfacher sind, können sie sehr oft helfen, Probleme zu umgehen, deren Lösung mit den intelligenteren Werkzeugen fehlschlägt.

Um die Arbeitsweise des Part-Arbeitsbereichs zu illustrieren, werden wir diesen Tisch nur mit CSG-Operationen modellieren (außer den Schrauben, für die wir eins der Addons nutzen, und die Abmessungen, wie wir im nächsten Kapitel sehen werden):



Wir legen ein neues Dokument an (Ctrl+N oder Menu -> ), wechseln zum Part-Arbeitsbereich und beginnen mit den ersten Fuß:


 * Drücke den [[Image:Part_Box.png|16px]] Würfel-Button [Anm.d.Ü.: geometrisch gesehen sind es meist "Quader", daher ...]
 * Wähle den Quader, dann setze die folgenden Eigenschaften (im Daten-Reiter):
 * Length: 80mm (oder 8cm, oder 0.8m, FreeCAD arbeitet mit jeder Einheit)
 * Width: 80mm
 * Height: 75cm
 * Dupliziere den Quader durch Drücken von Strg+C, dann Strg+V (oder Menü ->  und )
 * Wähle das neu erstellte Objekt
 * Ändere die Position durch Anpassen der Placement-Eigenschaften:
 * Position x: 8mm
 * Position y: 8mm

Du solltest jetzt zwei hohe Quader erhalten, der eine 8mm vom anderen entfernt:




 * Jetzt können wir den einen vom anderen subtrahieren: Wähle den ersten, das ist der, der übrig bleibt, dann - mit gedrückter Strg-Taste - wähle den anderen, der subtrahiert wird (die Reihenfolge ist wichtig) und drücke den [[Image:Part_Cut.png|16px]] Cut-Button:



Beachte, dass das neu erzeugte Objekt, "Cut" benannt, noch die beiden Quader enthält, die wir als Operanden benutzt haben. Tatsächlich sind die beiden Quader weiterhin im Dokument, sie wurden einfach versteckt und in der Baumansicht unterhalb des Cut-Objekts angeordnet. Du kannst sie durch expandieren des Pfeils neben dem Cut-Objekt noch auswählen, und durch rechtsklicken wieder sichtbar machen oder jede beliebige Eigenschaft ändern.


 * Jetzt werden wir die drei anderen Füße durch sechsmaliges duplizieren unseres Basisquaders estellen. Da er bereits kopiert wurde, kannst Du einfach sechs Mal einfügen (Strg-V) drücken. Ändere die Positionen wie folgt:
 * cube002: x: 0, y: 80cm
 * cube003: x: 8mm, y: 79.2cm
 * cube004: x: 120cm, y: 0
 * cube005: x: 119.2cm, y: 8mm
 * cube006: x: 120cm, y: 80cm
 * cube007: x: 119.2cm, y: 79.2cm


 * Jetzt werden wir die drei weiteren Schnitte durchführen, indem zuerst der "host"-Quader, dann der abzuschneidende gewählt wird. Wir haben jetzt vier Cut-Objekte:



Vielleicht denkst Du jetzt, dass wir den kompletten Fuß nur dreimal hätten kopieren müssen, anstatt den Basisquader sechsmal zu duplizieren. Das ist wahr, denn wie immer in FreeCAD gibt es viele Wege, um das gleiche Ziel zu erreichen. Es ist wertvoll, sich daran zu erinnern, denn wenn wir zu komplexeren Objekten fortschreiten, gibt es einige Operationen, die möglicherweise nicht das korrekte Ergebnis liefern, und dann müssen wir andere Wege probieren.


 * Wir werden jetzt mit der gleichen Cut-Methode Löcher für die Schrauben machen. Nachdem wir acht Löcher brauchen, zwei in jedem Fuß, könnten wir acht zu entfernende Objekte erzeugen. Stattdessen werden wir andere Wege beschreiten und vier Röhren erstellen, die für die Löcher in den Füßen wiederverwendet werden. Daher werden wir vier Röhren mit dem  [[Image:Part_Cylinder.png|16px]] Zylinder-Werkzeug erstellen. Du kannst wieder nur eine erstellen und später wieder duplizieren. Gib jedem Zylinder einen Radius von 6 mm. Dieses Mal müssen wir sie drehen, was ebenfalls mit der Placement-Eigenschaft gemacht wird:
 * cylinder: height: 130cm, angle: 90°, axis: x:0,y:1, position: x:-10mm, y:40mm, z:72cm
 * cylinder001: height: 130cm, angle: 90°, axis: x:0,y:1, position: x:-10mm, y:84cm, z:72cm
 * cylinder002: height: 90cm, angle: 90°, axis: x:-1,y:0, position: x:40mm, y:-10mm, z:70cm
 * cylinder003: height: 90cm, angle: 90°, axis: x:-1,y:0, position: x:124cm, y:-10mm, z:70cm



Du wirst feststellen, dass die Zylinder etwas länger sind als erforderlich. Der Grund ist, dass, wie in allen Volumenkörper-basierten 3D-Applikationen, Boole'sche Operationen in FreeCAD teilweise überempfindlich auf Fläche-auf-Fläche-Situationen reagieren und fehlschlagen könnten. Deshalb bringen wir uns auf die sichere Seite.


 * Lass uns nun die Subtraktionen durchführen. Wähle den ersten Fuß, dann mit gedrückter Strg-Taste eine der ihn kreuzenden Röhren, und drücke den Cut-Button. Das Loch ist da und die Röhre wird versteckt. Finde sie in der Baumansicht durch Aufklappen des durchlöcherten Fußes.
 * Wähle den Fuß am anderen Ende der versteckten Röhre, dann wiederhole die Operation, dieses Mal +Klick auf die Röhre in der Baumansicht, denn in der 3D-Ansicht ist sie versteckt (Du kannst sie auch wieder sichtbar machen und sie in der 3D-Ansicht auswählen). Wiederhole dies für die anderen Füße, bis jeder von ihnen zwei Löcher hat:



Wie man sieht, ist jeder Fuß das Ergebnis einer ziemlich langen Reihe von Operationen. All dies bleibt parametrisch, und Du kannst jederzeit jeden Parameter in jeder der alten Operationen ändern. In FreeCAD bezeichnen wir diesen Haufen als "Modellierungshistorie", denn er enthält in der Tat die komplette Historie der durchgeführten Operationen.

Eine weitere Eigentümlichkeit von FreeCAD ist, dass das Konzept von 3D-Objekten und das Konzept von 3D-Operationen dazu neigen, sich in das gleiche Ding zu integrieren. Der Cut ist zur gleichen Zeit eine Operation und das aus dieser Operation resultierende 3D-Objekt. In FreeCAD wird dies ein "Feature" genannt, eher als Objekt oder Operation.


 * Jetzt werden wir die Tischplatte erstellen, ein einfacher Block aus Holz, also ein weiterer Quader mit length: 126cm, width: 86cm, height: 8cm, position: x: 10mm, y: 10mm, z, 67cm. Im Ansicht-Reiter kannst Du ihm einen schönen Braunton geben, eine holzartige Farbe durch Ändern der Shape Color-Eigenschaft:



Beachte, dass wir die Beine 10 mm entfernt platziert haben, obwohl sie nur 8 mm dick sind. Dies ist natürlich nicht notwendig und es wird bei einem realen Tisch auch nicht passieren, aber es üblich, das in dieser Art von "Baugruppen"-Modus zu tun, denn es hilft Leuten, die sich das Modell ansehen, zu verstehen, dass es sich um unabhängige Teile handelt, die später manuell zusammengesetzt werden müssen.

Nachdem unsere fünf Teile fertig sind, ist es Zeit, ihnen bessere Bezeichnungen zu geben als "Cut015". Durch rechtklicken der Objekte in der Baumansicht (oder Drücken von F2) kannst Du sie in etwas umbenennen, was für Dich oder eine andere Person, die die Datei später öffnet, aussagekräftiger ist. Es wird oft gesagt, dass das Vergeben von sinnvollen Namen für die Objekte viel wichtiger ist als sie zu modellieren.


 * Wir werden nun ein paar Schrauben anbringen. Es gibt heutzutage ein extrem nützliches Addon, das von einem Mitglied der FreeCAD-Community entwickelt wurde, das Du im FreeCAD addons-Repository findest, Fasteners genannt, welches das Einfügen von Schrauben sehr vereinfacht. Das Installieren von zusätzlichen Arbeitsbereichen ist einfach und auf den Addon-Seiten beschrieben.
 * Sobald Du den Fastener-Arbeitsbereich installiert und FreeCAD erneut gestartet hast, wird er in der Arbeitsbereichliste erscheinen und wir können dorthin wechseln. Das Hinzufügen einer Schraube zu einem unserer Löcher erfolgt zuerst durch Auswählen der Kreislinie unseres Loches:




 * Dann klicken wir einen der Schrauben-Buttons aus dem Fastener-Arbeitsbereich, z.B. die EN 1665 Hexagon bolt with flanges, heavy series. Die Schraube wird platziert, an unserem Loch ausgerichtet und der Durchmesser wird automatisch an die Größe des Lochs angepasst. Manchmal wird die Schraube spiegelverkehrt platziert, was wir durch Umdrehen des invert-Eigenschaftswert korrigieren können. Wir können auch den Offset auf 2 mm setzen, um den gleichen Regeln wie beim Abstand von Tischplatte und Tischbeinen zu folgen:




 * Wiederhole dies für alle Löcher und unser Tisch ist fertig!

Die interne Struktur von Part-Objekten

As we saw above, it is possible in FreeCAD to select not only whole objects, but parts of them, such as the circular border of our screw hole. This is a good time to have a quick look at how Part objects are constructed internally. Every workbench that produces Part geometry will be based on these:


 * Vertices: These are points (usually endpoints) on which all the rest is built. For example, a line has two vertices.
 * Edges: the edges are linear geometry like lines, arcs, ellipses or NURBS curves. They usually have two vertices, but some special cases have only one (a closed circle for example).
 * Wires: A wire is a sequence of edges connected by their endpoints. It can contain edges of any type, and it can be closed or not.
 * Faces: Faces can be planar or curved, and can be formed by one closed wire, which forms the border of the face, or more than one, in case the face has holes.
 * Shells: Shells are simply a group of faces connected by their edges. It can be open or closed.
 * Solids: When a shell is tightly closed, that is, it has no "leak", it becomes a solid. Solids carry the notion of inside and outside. Many workbenches rely on this to make sure the objects they produce can be built in the real world.
 * Compounds: Compounds are simply aggregates of other shapes, no matter their type, into a single shape.

In the 3D view, you can select individual vertices, edges or faces. Selecting one of these also selects the whole object.

A note about shared design

You might look at the table above, and think its design is not good. The tightening of the feet with the tabletop is probably too weak. You might want to add reinforcing pieces, or simply you have other ideas to make it better. This is where sharing becomes interesting. You can download the file made during this exercise from the link below, and modify it to make it better. Then, if you share that improved file, others might be able to make it even better, or use your well-designed table in their projects. Your design might then give other ideas to other people, and maybe you will have helped a tiny bit to make a better world...

Downloads


 * The file produced in this exercise: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/table.FCStd

Read more


 * The Part Workbench
 * The FreeCAD addons repository
 * The Fasteners Workbench