Part Module/de



In FreeCAD wird OpenCasCade, eine Software zum Modellieren (Modellierkern, Kernel) geometrischer Objekte benutzt. OpenCascade ist eine professionell entwickelte und ursprünglich kommerziell genutzte CAD-Software, die Objekte und Funktionen (wie 3D-Geometrie-Manipulation) in einer inzwischen frei nutzbaren Software-Bibliothek bereitstellt. Die im Arbeitsbereich Part übernommenen Objekte sind bearbeitbar, z.B. mit Boolschen Operationen, Kanten können angeschrägt oder verrundet werden u.a.

The objects created with the Part Workbench are relatively simple; they are intended to be used with boolean operations (unions and cuts) in order to build more complex shapes. This modelling paradigm is known as the constructive solid geometry (CSG) workflow, and it was the traditional methodology used in early CAD systems. On the other hand, the PartDesign Workbench provides a more modern workflow to constructing shapes: it uses a parametrically defined sketch, that is extruded to form a basic solid body, which is then modified by parametric transformations (feature editing), until the final object is obtained.

Part objects are more complex than mesh objects created with the Mesh Workbench, as they permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour.





Die Werkzeuge
Die Werkzeuge sind alle im -Arbeitsbereichs-Menü verfügbar.

Primitives
Dies sind Werkzeuge zum Erstellen von primitiven Objekten.


 * [[Image:Part_Box.png|32px]] Quader: Erzeugt einen Quader, dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und deren Wert e veränderbar sind.
 * [[Image:Part_Cylinder.png|32px]] Cylinder: Erzeugt einen Zylinder, dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und und deren Wert e veränderbar sind.
 * [[Image:Part_Sphere.png|32px]] Sphere: Erzeugt eine Kugel, deren zunächst vorgegebener Durchmesser als Eigenschaft en erfasst und deren Wert veränderbar ist.
 * [[Image:Part_Cone.png|32px]] Kegel: Erzeugt einen Kegel, dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und deren Wert e veränderbar sind.
 * [[Image:Part_Torus.png|32px]] Torus: Erzeugt einen Torus (Ring), dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und deren Wert e veränderbar sind.
 * [[Image:Part_CreatePrimitives.png|32px]] CreatePrimitives: Ein Werkzeug zum Erstellen verschiedener parametrischer geometrischer Grundelemente
 * [[Image:Part_Shapebuilder.png|32px]] Shapebuilder: Ein Werkzeug zum Erstellen komplexerer Formen aus verschiedenen parametrischen geometrischen Grundelementen

Objekte ändern
Dies sind Werkzeuge zum Ändern vorhandener Objekte. Sie können wählen, welches Objekt geändert werden soll.


 * [[Image:Part_Extrude.png|32px]] Extrude: Erstellt einen Körper aus einer geschlossenen Kurve durch deren Schieben in Normalen-Richtung. Der erzeugte Körper hat die Kontur des Raums, der beim Schieben der Kurve aufgespannt wird.
 * [[Image:Part_Revolve.png|32px]] Revolve: Erstellt einen Körper aus einer geschlossenen Kurve durch deren Drehen um eine Achse. Der erzeugte Körper hat die Kontur des Raums, der beim Drehen derKurve aufgespannt wird.
 * [[Image:Part_Mirror.png|32px]] Mirror: Spiegelt das ausgewählte Objekt auf einer bestimmten Spiegelebene
 * [[Image:Part_Fillet.png|32px]] Fillet: Verrundungen (Abrunden) von Kanten eines Objekts
 * [[Image:Part_Chamfer.png|32px]] Chamfer: Fasst Kanten eines Objekts an
 * [[Image:Part_RuledSurface.png|32px]] Ruled Surface: Erzeugt zwischen zwei geschlossenen Kurven eine Regelfläche
 * [[Image:Part_Loft.png|32px]] Loft: Erzeugt zwischen zwei geschlossenen Kurven einen Loft
 * [[Image:Part_Sweep.png|32px]] Sweep: Erzeugt zwischen zwei geschlossenen Kurven entlang einer linie einen Sweep


 * [[Image:Part_CompOffsetTools.png|48px]] Offset tools:
 * [[Image:Part_Offset.png|32px]] Offset: Erzeugt eine Kopie eines Körpers durch Versatz seiner Oberflächen nach außen (Kopie ist vergrößert) bzw. innen (Kopie ist verkleinert).
 * [[Image:Part_Offset2D.png|32px]] 2D Offset: Konstruiert einen parallelen Draht in einem bestimmten Abstand vom Original oder vergrößert/verkleinert eine ebene Fläche. (v0.17)


 * [[Image:Part_Thickness.png|32px]] Thickness: Erzeugt einen an einer Seite offenen Kasten gewählter Wandstärke (Dicke), in den der Ausgangskörper genau hineinpasst (Dicke hat positiven Wert) oder der genau dessen Außenkontur hat (Wert der Dicke ist negativ).


 * [[Image:Part_CompCompoundTools.png|48px]] Compound Tools:
 * [[Image:Part MakeCompound.png|32px]] Make compound: Erzeugt einen Verbund aus den ausgewählten Objekten.
 * [[Image:Part_ExplodeCompound.svg|32px]] Explode Compound: Werkzeug zum Aufteilen von Formmassen
 * [[Image:Part Compound‏‎Filter.png|32px]] Compound Filter: Mit dem CompoundFilter können die einzelnen Teile extrahiert werden.


 * [[Image:Part_Booleans.png|32px]] Boolesche Operationen: Führt boolsche Operationen mit zwei geometrischen Grundkörpern durch
 * [[Image:Part_Union.png|32px]] Union: boolsche Operation: Vereinigung
 * [[Image:Part_Common.png|32px]] Common: boolsche Operation: Gemeinsames ("Schnittmenge")
 * [[Image:Part_Cut.png|32px]] Cut: boolsche Operation: Subtraktion (vom ersten Grundkörper wird der Teil entfernt, den er mit dem zweiten Grundkörper gemeinsam hat)


 * [[Image:Part_CompJoinFeatures.png|48px]] Join features: intelligente Booleans für ummauerte Objekte (e.g., pipes) (v0.16)
 * [[Image:Part JoinConnect.png|32px]] Connect: Verbindet Innenräume von Objekten (v0.16)
 * [[Image:Part JoinEmbed.png|32px]] Embed: Bettet ein ummauertes Objekt in ein anderes ummauertes Objekt (v0.16)
 * [[Image:Part JoinCutout.png|32px]] Cutout: Erstellt einen Ausschnitt in einer Wand eines Objekts für ein anderes ummauertes Objekt (v0.16)


 * [[Image:Part_CompSplittingTools.png|48px]] Splitting tools: (v0.17)
 * [[Image:Part BooleanFragments.png|32px]] Boolean fragments: macht alle Teile, die durch boolesche Operationen zwischen Objekten erhalten werden können (v0.17)
 * [[Image:Part SliceApart.svg|32px]] Slice a part: Werkzeug zum Teilen von Formen durch Überschneidung mit anderen Formen
 * [[Image:Part Slice.png|32px]] Slice: Teilt ein Objekt durch Schneiden mit einem anderen Objekt in Teile (v0.17)
 * [[Image:Part XOR.png|32px]] XOR: entfernt den von einer geraden Anzahl von Objekten gemeinsam genutzten Speicherplatz (symmetrische Version von Cut) (v0.17)


 * [[Image:Part Defeaturing.svg|32px]] Defeaturing: (v0.18)
 * [[Image:Part_Section.png|32px]] Section: Erzeugt einen Schnitt durch Überschneiden eines Objekts mit einer Schnittebene
 * [[Image:Part_SectionCross.png|32px]] Cross sections...:

Andere Werkzeuge

 * [[Image:Part ImportCAD.png|32px]] Import CAD: This tool allows you to add a file *.IGES, *.STEP, *.BREP to the current document.
 * [[Image:Part ExportCAD.png|32px]] Export CAD: This tool allows you to export a part object in a *.IGES, *.STEP, *.BREP file.
 * [[Image:Part ShapeFromMesh.png|32px]] Shape from Mesh: Creates a shape object from a mesh object.
 * Convert to solid: Converts a shape object to a solid object.
 * Reverse shapes: Flips the normals of all faces of the selected object.
 * [[Image:Part CreateSimpleCopy‎.svg|32px]] Create simple copy: Creates a simple copy of the selected object.
 * [[Image:Part RefineShape.png|32px]] Refine shape: Cleans faces by removing unnecessary lines.
 * [[Image:Part CheckGeometry.png|32px]] Check geometry: Checks the geometry of selected objects for errors.
 * Measure: Allows linear and angular measurement between points/edges/faces.
 * [[Image:Part Attachment.svg|32px]] Attachment: Attachment is a utility to attach an object to another one.

Preferences

 * [[Image:Preferences-import-export.svg|32px]] Preference ... Import Export

Hintergrundinformationen
Die folgenden Infomationen beleuchten etwas den vom FreeCAD-Endbenutzer nicht mehr zu beachtenden Hintergrund für die ihm nach längerer Entwicklungszeit inzwischen zur Verfügung stehenden Werkzeuge

In der OpenCasCade Terminologie wird zwischen geometrischen Grundelementen und Formen unterschieden. Ein geometrisches Grundelement ist ein Punkt, eine Linie, ein Kreis, eine Ebene, etc., oder ist sogar ein komplizierteres Element wie eine B-Spline-Kurve. Eine Form ist eine Ecke, eine Kante, ein Netz, eine Fläche, ein Festkörper (Solid) oder eine Zusammensetzung anderer Formen. CAD-Modellierung heißt, Formen aus Grundelementen erstellen. Sinnvollerweise werden nur die Formen, d.h. das Ergebnis des Modellierens angezeigt, die Grundelemente selbst nicht. Das Grundelement Linie erscheint z.B. nur als jetzt in seiner Länge begrenzte Kante der Form  Quader.

Die geometrischen Grundelemente sind "formlose" Bausteine, auf denen die 3D-Körper als Formen aufbauen.

Eine komplette Liste aller Elemente und bereits modellierten, aus einer Bibliothek entnehmbaren geometrischen Grundformen (-Körper) enthält diese OpenCascade-Dokumentation(Abschnitt Geom_Geometry und TopoDS_Shape; enthält auch weitere Details über den Unterschied zwischen den geometrischen Grundelementen und den Formen).

Dieses Dokument ist leider nicht online verfügbar (herunterladen !) und ist eher für Programmierer als für Endbenutzer geschrieben.

.

.

.

Programmieren
Part scripting

Die Haupt-Daten-Struktur, die das Part-Modul nutzt, ist der BRep Daten-Typ von OpenCascade. Praktisch alle Inhalte und Objekttypen des Part-Moduls sind als in der Programmiersprache   Python zugängig und bearbeitbar. Auf der Benutzeroberfläche gibt es eine Phyton-Konsole, von der jedermann, also auch Benutzer, die keine Programmier-Experten sind, sich aber im Programmieren versuchen wollen, zugreifen können. Das schließt geometrische primitive, wie Linie und Kreis (oder Kreisbogen), und die ganze Palette von TopoShapes, wie Punkten, Kanten, Netzen, Flächen, Festkörper und Zusammensetzungen ein. Für jedes dieser Objekte gibt es mehrere Entwicklungsmethoden, und für einige von ihnen, besonders der TopoShapes, sind fortgeschrittene Operationen wie Boolsche Vereinigung/Differenz/Kreuzung auch verfügbar. Erkunden Sie die Inhalte des Part-Moduls, wie auf der FreeCAD Scripting Grundlagen-Seite beschrieben, um mehr zu erfahren.

Einfache Beispiele
Zum erstellen eines Linienelements aktivieren Sie die Python-Konsole und geben Sie ein:

Lassen Sie uns das obige Python-Beispiel Schritt für Schritt betrachten:

lädt die Part-Modul und erstellt ein neues Dokument

Line ist eigentlich eine Strecke, folglich der Anfangs- und Endpunkt.

Das fügt ein Part-Objekt zum Dokument hinzu und weist die Form-Darstellung der Strecke der 'Shape'-Eigenschaft des hinzugekommenen Objekts zu. Es ist wichtig, hier zu verstehen, dass wir einen geometrischen Primitiven (den Part.LineSegment) verwendeten, um einen TopoShape daraus (mittels der toShape Methode) zu schaffen. Nur Formen können zum Dokument hinzugefügt werden. In FreeCAD werden Geometrie-primitive als "Grundstrukturen" für Formen verwendet.

Aktualisiert das Dokument. Damit auch die visuelle Darstellung des neuen Part-Objekts.

Beachten Sie, dass ein Liniensegment durch Angabe der Anfangs-und Endpunkt direkt im Konstruktor erstellt werden kann, z.B. Part.LineSegment (point1, Punkt2), oder wir können eine Standard-Linie erstellen und seine Eigenschaften anschießend festlegen, wie wir es hier gemacht haben.

Ein Kreis kann in ähnlicher Weise erstellt werden:

Bemerken Sie wieder, wir verwendeten den Kreis (primitive Geometrie), um eine Form daraus zu erstellen. Wir können natürlich noch immer auf unsere Ursprungs-Geometrie später zugreifen, und zwar so:

Hier nehmen wir die Form unseres Objekts f, dann nehmen wir die Liste der Kanten, in diesem Fall wird es nur eine geben, weil wir die ganze Form aus einem einzelnen Kreis machten, also nehmen wir nur das erste Element der Kanten-Liste, und wir nehmen seinen Verlauf. Jede Kante hat einen Verlauf, welches das Geometrie-primitive ist, worauf der Verlauf basiert ist.

Springen Sie zur Topological data scripting Seite, falls Sie mehr darüber erfahren möchten.

Tutorien

 * Import von STL- oder OBJ-Dateien : Anleitung zum Import von STL/OBJ-Dateien in FreeCAD
 * Export nach STL oder OBJ : Anleitung zum Export von STL/OBJ-Dateien aus FreeCAD
 * Whiffle Ball Tutorial : Anleitung zur Verwendung des Part-Moduls