Part Modul

From FreeCAD Documentation
Revision as of 09:21, 30 November 2019 by Maker (talk | contribs)

Einleitung

Die Festkörper Modellierungsfunktionen von FreeCAD basieren auf der Open Cascade Technologie. (OCCT) Kernel, ein professionelles CAD System mit fortschrittlicher 3D Geometrieerstellung und -manipulation. Die Part Arbeitsbereich ist eine Schicht, die sich auf der Oberseite der OCCT-Bibliotheken befindet und dem Benutzer Zugriff auf geometrische OCCT Grundkörper und -Funktionen gewährt. Grundsätzlich basieren alle 2D und 3D Zeichenfunktionen in jedem Arbeitsbereich (Draft Arbeitsbereich, Arbeitsbereich Skizze, PartDesign Arbeitsbereich, usw.) auf diesen Funktionen, die vom Part Arbeitsbereich herausgestellt werden. Daher gilt die Part Workbench als die Kernkomponente der Modellierungsfunktionen von FreeCAD.

Die mit dem Part Arbeitsbereich erstellten Objekte sind relativ einfach; sie sind für die Verwendung mit booleschen Operationen (Verbindungen und Schnitte) vorgesehen, um komplexere Formen zu erstellen. Dieses Modellierungsparadigma ist bekannt als konstruktive Festkörpergeometrie (CSG) Arbeitsablauf, und es war die traditionelle Methodik, die in frühen CAD Systemen verwendet wurde. Andererseits bietet der Arbeitsbereich PartDesign einen moderneren Arbeitsablauf bei der Konstruktion von Formen: Sie verwendet eine parametrisch definierte Skizze, die zu einem Grundkörper extrudiert wird, der dann durch parametrische Transformationen (Funktionsbearbeitung) modifiziert wird, bis das endgültige Objekt vorliegt.

Part Objekte sind komplexer als Mesh Objekte, die mit der Arbeitsbereich Mesh erstellt wurden, da sie erweiterte Operationen wie kohärente boolesche Operationen, Änderungshistorie und parametrisches Verhalten ermöglichen.

Der Part Arbeitsbereich ist die Basisschicht, die die OCCT Zeichenfunktionen allen Arbeitsbereichen in FreeCAD zur Verfügung stellt.

Werkzeuge

Die Werkzeuge befinden sich alle im Menü Template:MenuCommand/de.

Grundkörper

Dies sind Werkzeuge zum Erstellen von Grund Objekten.

  • Quader: Erzeugt einen Quader, dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und deren Wert e veränderbar sind.
  • Cylinder: Erzeugt einen Zylinder, dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und und deren Wert e veränderbar sind.
  • Sphere: Erzeugt eine Kugel, deren zunächst vorgegebener Durchmesser als Eigenschaft en erfasst und deren Wert veränderbar ist.
  • Kegel: Erzeugt einen Kegel, dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und deren Wert e veränderbar sind.
  • Torus: Erzeugt einen Torus (Ring), dessen zunächst vorgegebene Dimensionen als Eigenschaft en erfasst und deren Wert e veränderbar sind.
  • CreatePrimitives: Ein Werkzeug zum Erstellen verschiedener parametrischer geometrischer Grundelemente
  • 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.

  • 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.
  • 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.
  • Mirror: Spiegelt das ausgewählte Objekt auf einer bestimmten Spiegelebene
  • Fillet: Verrundungen (Abrunden) von Kanten eines Objekts
  • Chamfer: Fasst Kanten eines Objekts an
  • Ruled Surface: Erzeugt zwischen zwei geschlossenen Kurven eine Regelfläche
  • Loft: Erzeugt zwischen zwei geschlossenen Kurven einen Loft
  • Sweep: Erzeugt zwischen zwei geschlossenen Kurven entlang einer linie einen Sweep
  • Offset tools:
    • Offset: Erzeugt eine Kopie eines Körpers durch Versatz seiner Oberflächen nach außen (Kopie ist vergrößert) bzw. innen (Kopie ist verkleinert).
    • 2D Offset: Konstruiert einen parallelen Draht in einem bestimmten Abstand vom Original oder vergrößert/verkleinert eine ebene Fläche. (v0.17)
  • 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).
  • Boolesche Operationen: Führt boolsche Operationen mit zwei geometrischen Grundkörpern durch
  • Union: boolsche Operation: Vereinigung
  • Common: boolsche Operation: Gemeinsames ("Schnittmenge")
  • Cut: boolsche Operation: Subtraktion (vom ersten Grundkörper wird der Teil entfernt, den er mit dem zweiten Grundkörper gemeinsam hat)
  • Join features: intelligente Booleans für ummauerte Objekte (e.g., pipes) (v0.16)
    • Connect: Verbindet Innenräume von Objekten (v0.16)
    • Embed: Bettet ein ummauertes Objekt in ein anderes ummauertes Objekt (v0.16)
    • Cutout: Erstellt einen Ausschnitt in einer Wand eines Objekts für ein anderes ummauertes Objekt (v0.16)
  • Splitting tools: (v0.17)
    • Boolean fragments: macht alle Teile, die durch boolesche Operationen zwischen Objekten erhalten werden können (v0.17)
    • Slice a part: Werkzeug zum Teilen von Formen durch Überschneidung mit anderen Formen
    • Slice: Teilt ein Objekt durch Schneiden mit einem anderen Objekt in Teile (v0.17)
    • XOR: entfernt den von einer geraden Anzahl von Objekten gemeinsam genutzten Speicherplatz (symmetrische Version von Cut) (v0.17)

Measure

File:Std Measure Menu.png Measure: Allows linear and angular measurement between points, edges, and faces.

Andere Werkzeuge

Preferences

OCCT geometrische Konzepte

In der OpenCascade Terminologie unterscheiden wir zwischen geometrischen Grundelementen (engl.: primitives) und topologischen Formen. Ein geometrisches Grundelement kann ein Punkt, eine Linie, ein Kreis, eine Ebene usw. oder sogar einige komplexere Typen wie eine B-Spline Kurve oder eine Fläche sein. Eine Form kann ein Knoten, eine Kante, ein Draht, eine Fläche, ein Solid oder eine Verbindung aus anderen Formen sein. Die geometrischen Grundelemente sind nicht dazu bestimmt, direkt in der 3D Szene dargestellt zu werden, sondern als Baugeometrie für Formen zu dienen. So kann beispielsweise eine Kante aus einer Linie oder aus einem Teil eines Kreises konstruiert werden.

Zusammenfassend lässt sich sagen, dass Geometrie Grundelemente "formlose" Bausteine sind, während topologische Formen die realen Objekte sind, die auf ihnen aufgebaut sind.

Eine vollständige Liste aller Grundelemente und Formen findest Du in der OCC documentation (Alternative: sourcearchive.com) und suche nach Geom_* (für geometrische Grundelemente) und TopoDS_* (für Formen). Dort kannst Du auch mehr über die Unterschiede zwischen ihnen lesen. Bitte beachte, dass die offizielle OCC Dokumentation nicht online verfügbar ist (Du musst ein Archiv herunterladen) und sich hauptsächlich an Programmierer richtet, nicht an Endanwender. Aber hoffentlich findest du genug Informationen, um hier anzufangen.

Die geometrischen Typen lassen sich tatsächlich in zwei große Gruppen unterteilen: Kurven und Flächen. Aus den Kurven (Linie, Kreis,....) kann man direkt eine Kante bauen, aus den Flächen (Ebene, Zylinder,...) kann man eine Fläche bauen. So ist beispielsweise die geometrische Grundlinie unbegrenzt, d.h. sie wird durch einen Basisvektor und einen Richtungsvektor definiert, während ihre Formdarstellung durch einen Start- und Endpunkt begrenzt sein muss. Und eine Kasten - ein Solid - kann durch sechs begrenzte Ebenen erzeugt werden.

Von einer Kante oder Fläche aus kannst du auch zu seinem geometrischen Basisgegenstück zurückkehren.

So können Sie aus Formen sehr komplexe Teile bauen oder umgekehrt alle Unterformen entnehmen, aus denen eine komplexere Form besteht.

Die "Part::TopoForm" ist das geometrische Objekt, das auf dem Bildschirm zu sehen ist. Im Wesentlichen verwenden alle Arbeitsbereiche diese TopoFormen intern, um Kanten, Flächen und Volumenkörper zu erstellen und darzustellen.

Skripten

Siehe auch: Part skripten

Die im Part Modul verwendete Hauptdatenstruktur ist der BRep Datentyp von OpenCascade. Fast alle Inhalte und Objekttypen des Part Moduls sind über das Python Skripten verfügbar. Dazu gehören geometrische Grundelemente wie Linie und Kreis (oder Bogen) und die gesamte Palette der TopoFormen, wie Knoten, Kanten, Drähte, Flächen, Volumenkörper und Verbindungen. Für jedes dieser Objekte gibt es mehrere Erstellungsmethoden, und für einige von ihnen, insbesondere die TopoFormen, stehen auch erweiterte Operationen wie boolesche Vereinigung/Differenz/Überschneidung zur Verfügung. Erkunde den Inhalt des Part Moduls, wie auf der Seite FreeCAD Skripten Grundlagen beschrieben, um mehr zu erfahren.

The most basic object that can be created is a Part Feature, which has a simple DatenPlacement property, and basic properties to define its color and appearance.

Another simple object used in 2D geometrical objects is Part Part2DObject, which is the base of Sketches, and most Draft elements.

Einfache Beispiele

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

import Part,PartGui 
doc=App.newDocument()  
l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape() 
doc.recompute()

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

import Part,PartGui
doc=App.newDocument()

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

l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)

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

doc.addObject("Part::Feature","Line").Shape=l.toShape()

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.

doc.recompute()

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:

import Part
doc = App.activeDocument()
c = Part.Circle() 
c.Radius=10.0  
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()

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:

s = f.Shape
e = s.Edges[0]
c = e.Curve

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