Part Modul

From FreeCAD Documentation
Revision as of 18:14, 7 April 2018 by Holdi (talk | contribs)

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.

Beispiele von im Arbeitsbereich Part erstellte 3D-Objekte

.

Die Werkzeuge

Die in Part angewendeten Werkzeuge werden im Arbeitsbereichs-Menü Part angezeigt.

Template:Part Tools/de

Boolsche Operationen

Beispiele zu Vereinigung (Fuse), Teilbereich (Common) und Differenz (Cut)
Beispiele zu Vereinigung (Fuse), Teilbereich (Common) und Differenz (Cut)

Beispiele Boole'scher Operationen:
Mitte, oben: Vereinigung von 3 Zylindern
Mitte, unten: Differenz (Kugel minus 6 Zylinder)
rechts: Differenz ((Kugel minus 6 Zylinder) minus (Vereinigung von 3 Zylindern))

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

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:

import Part,PartGui 
doc=App.newDocument()  
l=Part.Line()
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.Line()
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.line) 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 eine Linie durch Angabe der Anfangs-und Endpunkt direkt im Konstruktor erstellt werden kann, z.Beispiel: Part.Line (point1, Punkt2), oder wir können eine Standard-Linie erstellen und seine Eigenschaften anschiessend 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

OpenSCAD Module
Drawing Module