Part Module/de

From FreeCAD Documentation
Revision as of 20:26, 8 December 2013 by Renatorivo (talk | contribs) (Created page with "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 versteh...")

Die CAD-Fähigkeiten von FreeCAD basieren auf dem OpenCasCade kernel. Das Part-modul erlaubt FreeCAD den Zugriff und die Nutzung von OpenCasCade-Objekten und Funktionen. OpenCascade ist ein professioneller CAD-Kernel, der erweiterte Funktionen zur 3D-Geometrie Manipulation und Objekten bereitstellt. Die Part-Objekte, sind im Gegensatz zu Mesh Module/de Objekten viel komplexer, und erlauben somit deutlich fortgeschrittenere Operationen, wie kohärent Boolsche Operationen, Änderungs-Historie und Parametrisches Verhalten.

Beispiel eines Form-Teils in FreeCAD

Die Werkzeuge

Die Part-Modul-Werkzeuge sind alle im Part Menü, welches erscheint, wenn Sie das Part-Modul laden.

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 zu Vereinigung (Fuse), Teilbereich (Common) und Differenz (Cut)

Erläuterung der Konzepte

In der OpenCasCade Terminologie unterscheiden wir zwischen geometrischen Grundelementen und (topologische) Formen. Eine geometrische Primitive kann ein Punkt, eine Linie, ein Kreis, eine Ebene, etc. sein, oder sogar einige kompliziertere Typen wie eine B-Spline-Kurve oder eine Oberfläche. Eine Form kann eine Ecke, eine Kante, ein Netz, eine Fläche, ein Festkörper oder eine Zusammensetzung anderer Gestalten sein. Die geometrische Primitive sind nicht gemacht, um direkt auf die 3D-Szene dargestellt werden, sondern um als Grund-Geometrie für das erstellen von Formen zu dienen. Zum Beispiel kann eine Kante von einer Linie oder aus einem Teil eines Kreises konstruiert werden.

Wir könnten sagen, um fortzufahren, dass die Geometrie-primitive "formlose" Bausteine sind, und Formen sind die wahren räumlichen Geometrien, die darauf aufbauen.

Für eine komplette Liste all dieser, begeben Sie sich bitte auf OCC Dokumentation und suchen Sie nach Geom_Geometry und TopoDS_Shape. Dort können Sie auch mehr über die Unterschiede zwischen geometrischen Objekten und Formen erfahren. Bitte beachten Sie, dass leider die OCC-Dokumentation nicht online verfügbar ist (Sie müssen ein Archiv herunterladen), und ist größtenteils auf Programmierer, nicht auf Endbenutzer ausgerichtet. Aber hoffentlich finden Sie genügend Informationen, um hier einen besseren Start zu erhalten.

Die geometrischen Typen können wirklich in zwei Hauptgruppen geteilt werden: Kurven und Oberflächen. Aus den Kurven (Linie, Kreis...) können Sie direkt eine Kante erzeugen, aus den Oberflächen (Ebene, Zylinder, ...) kann eine Form erzeugt werden. Zum Beispiel, ist die geometrische primitive Linie unbegrenzt, d. h. sie wird durch einen Grundvektor und einen Richtungsvektor definiert, während ihre Form-Darstellung etwa von einem Start-und Endpunkt begrenzt werden muss. Und eine Box - ein Festkörper - kann durch sechs beschränkte Ebenen geschaffen werden.

Von einer Kante oder Fläche können Sie auch zu ihrem geometrischen primitiven Gegenstück zurückgehen.

Also, aus Formen können Sie sehr komplizierte Teile bauen, oder andersherum, extrahieren Sie alle Sub-Formen aus denen eine komplexere Form gemacht wurde.

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 ab sofort für Python-Skripte verfügbar. 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.

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()

Updates the document. This also prepares the visual representation of the new part object.

Note that a Line can be created by specifying its start and endpoint directly in the constructor, for example Part.Line(point1,point2), or we can create a default line and set its properties afterwards, as we did here.

A circle can be created in a similar way:

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

Note again, we used the circle (geometry primitive) to construct a shape out of it. We can of course still access our construction geometry afterwards, by doing:

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

Here we take the shape of our object f, then we take its list of edges. In this case there will be only one because we made the whole shape out of a single circle, so we take only the first item of the Edges list, and we takes its curve. Every Edge has a Curve, which is the geometry primitive it is based on.

Head to the Topological data scripting page if you would like to know more.

Mesh Module
Drawing Module