Jump to content

Part Formelement

From FreeCAD Documentation
This page is a translated version of the page Part Feature and the translation is 100% complete.

Einleitung

Ein Part Formelement-Objekt, oder formal ein Part:: Feature, ist ein einfaches Element mit einer topologischen Form, das in der 3D-Ansicht angezeigt werden kann.

Das Part-Formelement ist die Elternklasse der meisten 2D-(Draft-, Sketcher-) und 3D- (Part-, PartDesign-) Objekte, mit Ausnahme von Polygonnetzen, die normalerweise auf demMesh Formelement oder dem FEM Polygonnetz-Objekt für FEM-Objekte basieren.

Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD

Anwendung

Das Part-Formelement ist ein internes Objekt, kann also nicht von der grafischen Oberfläche aus erstellt werden, sondern nur von der Python-Konsole aus, wie im Abschnitt Skripten beschrieben.

Das Part::Feature wird im Arbeitsbereich Part definiert, kann aber als Basisklasse für skriptgenerierte Objekte in allen Arbeitsbereichen verwendet werden, die 2D- und 3D-Geometrieformen erstellen. Im Wesentlichen sind alle im Arbeitsbereich Part erstellten Objekte Instanzen eines Part::Features.

Das Part::Feature ist auch die Elternklasse des PartDesign Körpers, der PartDesign Formelemente und der Part Part2DObjekte, die auf 2D-(planare) Formen spezialisiert ist.

Arbeitsbereiche können diesem Grundelement weitere Eigenschaften hinzufügen, um ein Objekt mit komplexem Verhalten zu erzeugen.

Eigenschaften

Siehe Eigenschaft für alle Eigenschaftstypen, die geskriptete Objekte haben können.

Das Part-Formelement (Klasse Part::Feature) wird von dem Grundelement App GeoFeature (Klasse App::GeoFeature) abgeleitet, und erbt alle seine Eigenschaften. Es besitzt auch einige zusätzliche Eigenschaften. Hervorzuheben ist eine Daten-EigenschaftShape, die die Part TopoForm des Objekts speichert. Dies ist die Geometrie, die in der 3D-Ansicht gezeigt wird. Andere Eigenschaften die dieses Objekt besitzt, sind solche die die Darstellung der TopoForm beeinflussen.

Diese sind die im Eigenschafteneditor vorhandenen Eigenschaften. Ausgeblendete Eigenschaften können mit dem Befehl Ausgeblendete anzeigen im Kontextmenü des Eigenschafteneditors angezeigt werden.

Daten

Base

  • Daten-Eigenschaft (versteckt)Proxy (PythonObject): Eine benutzerdefinierte Klasse, die mit diesem Objekt verknüpft ist. Diese existiert nur für die Python-Version. Siehe Scripting.
  • Daten-Eigenschaft (versteckt)Shape (PartShape): Ein mit diesem Objekt verbundene Part TopoForm.
  • Daten-EigenschaftShape Material (Material): das Material des Objekts.
  • Daten-EigenschaftPlacement (Placement): die Position des Objekts. Die Platzierung wird durch einen Basis-Punkt (Vektor) und eine Rotation (Achse und Winkel) definiert. Siehe Positionierung.
    • Angle: Der Drehwinkel um die Daten-EigenschaftAxis. Standardmäßig ist er (null Grad).
    • Axis: Der Einheitsvektor, der die Drehachse für die Platzierung definiert. Jede Komponente ist ein Fließkommawert zwischen 0 und 1. Liegt ein Wert über 1, wird der Vektor so normalisiert, dass seine Größe 1 beträgt. Standardmäßig ist dies die positive Z-Achse (0, 0, 1).
    • Position: Ein Vektor mit den 3D-Koordinaten des Basispunkts. Standardmäßig ist dies der Ursprung (0, 0, 0).
  • Daten-Eigenschaft (versteckt)_ Element Map Version (String): In Arbeit. eingeführt in 1.1
  • Daten-EigenschaftLabel (String): Der vom Benutzer editierbare Name dieses Objekts, es handelt sich um eine beliebige UTF8-Zeichenkette.
  • Daten-Eigenschaft (versteckt)Label2 (String): Eine längere, vom Benutzer bearbeitbare Beschreibung dieses Objekts. Es handelt sich um eine beliebige UTF8-Zeichenkette, die Zeilenumbrüche enthalten kann. Standardmäßig ist es eine leere Zeichenkette "".
  • Daten-Eigenschaft (versteckt)Expression Engine (ExpressionEngine): Eine Liste von Ausdrücken. Standardmäßig ist sie leer [].
  • Daten-Eigenschaft (versteckt)Visibility (Bool): ob das Objekt angezeigt werden soll oder nicht.

Ansicht

Die meisten Objekte in FreeCAD verfügen über einen sogenannten Viewprovider, eine Klasse, die das visuelle Erscheinungsbild des Objekts in der 3D-Ansicht und in der Baumansicht definiert. Der Standard-Viewprovider von Part Formelement-Objekten definiert die folgenden Eigenschaften. Skriptbasierte Objekte, die von Part Formelement abgeleitet sind, haben ebenfalls Zugriff auf diese Eigenschaften.

Base

  • Ansicht (hidden)Proxy (PythonObject): Eine benutzerdefinierte Viewprovider-Klasse, die mit diesem Objekt verknüpft ist. Diese existiert nur für die Python-Version. Siehe Skripten.
  • Ansicht (Hidden)Transform Origin (Placement): Speichert den von Std Bewegen verwendeten Ursprung. eingeführt in 1.1

Anzeigeoptionen

  • AnsichtBounding Box (Bool): Wenn dies zutrifft, wird das Objekt die Begrenzungsbox in der 3D-Ansicht anzeigen.
  • AnsichtDisplay Mode (Enumeration): Flat Lines (reguläre Visualisierung), Shaded (keine Kanten), Wireframe (keine Flächen), Points (nur Knoten).
  • AnsichtShow In Tree (Bool): Wenn true (wahr), wird das Objekt in der Baumansicht angezeigt, andernfalls wird es in der Baumansicht ausgeblendet. Sobald ein Objekt in der Baumansicht unsichtbar ist, kann man es wieder anzeigen, indem das Kontextmenü über dem Namen des Dokuments geöffnet wird (Rechtsklick) und In der Baumansicht ausgeblendete Elemente anzeigen ausgewählt wird. Dann kann das ausgeblendete Element ausgewählt und AnsichtShow In Tree wieder auf true gesetzt werden.
  • AnsichtShow Placement (Bool): Wenn true (wahr), wird ein Koordinatensystem angezeigt, das die Daten-EigenschaftPlacement des Objekts angibt. eingeführt in 1.1
  • AnsichtVisibility (Bool): Wenn true (wahr), erscheint das Objekt in der 3D-Ansicht; andernfalls ist es unsichtbar. Standardmäßig kann diese Eigenschaft durch Drücken der Leertaste ein- und ausgeschaltet werden.

Objektstil

  • AnsichtAngular Deflection (Angle): Dies ist eine Ergänzung zu AnsichtDeviation. Es handelt sich um eine weitere Möglichkeit, die Feinheit der Netzgenerierung für die Darstellung auf dem Bildschirm oder beim Export festzulegen. Der Standardwert ist 28,5 Grad oder 0,5 Radiant. Dies ist der Maximalwert. Je kleiner der Wert, desto glatter ist das Erscheinungsbild und desto feiner ist das exportierte Netz.
  • AnsichtDeviation (FloatConstraint): Dies ist eine Ergänzung zu AnsichtAngular Deflection. Es handelt sich um eine weitere Möglichkeit, die Feinheit der Netzgenerierung für die Darstellung auf dem Bildschirm oder beim Export festzulegen. Der Standardwert ist 0,5 %. Dies ist der Maximalwert. Je kleiner der Wert, desto glatter ist das Erscheinungsbild und desto feiner ist das exportierte Netz.
  • AnsichtDraw Style (Enumeration): Solid (Standard), Dashed, Dotted, Dashdot; definiert den Stil der Kanten.
  • AnsichtLighting (Enumeration): Two side (Standard), One side; die Beleuchtung kommt aus zwei Seiten oder einer Seite in der 3D-Ansicht.
  • AnsichtLine Color (Color): ein Tupel aus vier RGBA-Werten mit Gleitkomma, um die Farbe der Kanten zu definieren.
  • Ansicht (hidden)Line Color Array (ColorList): Eine Liste von RGBA-Tupeln, die Farben definieren, ähnlich wie AnsichtLine Color.
  • Ansicht (hidden)Line Material (Material): Ein App-Material, das mit den Kanten in diesem Objekt verknüpft ist. Standardmäßig ist es leer.
  • AnsichtLine Width (FloatConstraint): Eine Fließkommazahl, die die Breite der Kanten in Pixeln bestimmt.
  • AnsichtPoint Color (Color): Ähnlich zu AnsichtLine Color, legt die Farbe der Eckpunkte fest.
  • Ansicht (hidden)Point Color Array (ColorList): Es handelt sich um eine Liste von RGBA-Tupeln, die Farben definieren, ähnlich wie AnsichtPoint Color.
  • Ansicht (hidden)Point Material (Material): Ein App-Material die mit den Eckpunkten in diesem Objekt verbunden sind. Standardmäßig ist es leer.
  • AnsichtPoint Size (FloatConstraint): Ähnlich zu AnsichtLine Width, legt die Größe der Eckpunkte fest.
  • AnsichtShape Appearance (MaterialList): Eine Liste von App-Materialien Festlegen des Aussehens des Objekts. Standardmäßig enthält die Liste ein einzelnes Element, das dann für alle Flächen des Objekts verwendet wird. Alternativ kann sie für jede Fläche ein separates App-Material enthalten. Siehe Part FarbeProFläche. Im Eigenschafteneditor wird nur das erste App-Material angezeigt. Wenn es bearbeitet wird, erhält man eine Liste mit einem einzigen Element. Ein App-Material hat die folgenden Eigenschaften:
    • Diffuse Color: siehe hier für eine Erklärung dieser und der nächsten Farben.
    • Ambient Color
    • Specular Color
    • Emissive Color
    • Shininess
    • Transparency
  • AnsichtTransparency (Percent): Eine ganze Zahl zwischen 0 und 100, die den Grad der Transparenz der Flächen bestimmt. Der Wert 100 bedeutet, dass die Flächen vollständig unsichtbar sind. Die Flächen sind zwar unsichtbar, können aber dennoch ausgewählt werden, solange AnsichtSelectable auf true gesetzt ist. Durch Ändern dieser Eigenschaft wird auch die Liste AnsichtShape Appearance des Objekts geändert. Die resultierende Liste enthält dann nur noch einen einzigen Eintrag.

Selection

  • AnsichtOn Top When Selected (Enumeration): Steuert die Art und Weise, wie die Auswahl in der 3D-Ansicht erfolgt, wenn das Objekt eine Form hat und viele Objekte teilweise von anderen verdeckt sind. Die Standardeinstellung ist Disabled, was bedeutet, dass keine besondere Hervorhebung erfolgt; Enabled bedeutet, dass das Objekt bei Auswahl über allen anderen Objekten angezeigt wird; Object bedeutet, dass das Objekt nur dann oben angezeigt wird, wenn das gesamte Objekt in der Baumansicht ausgewählt ist; Element bedeutet, dass das Objekt nur dann oben angezeigt wird, wenn ein Unterelement (Eckpunkt, Kante, Fläche) in der 3D-Ansicht ausgewählt ist.
  • AnsichtSelectable (Bool): Wenn true, kann das Objekt mit dem Zeiger in der 3D-Ansicht ausgewählt werden. Andernfalls kann das Objekt nur in der Baumansicht ausgewählt werden.
  • AnsichtSelection Style (Enumeration): Steuert die Art und Weise, wie das Objekt hervorgehoben wird. Wenn es Shape ist, wird die gesamte Form (Eckpunkte, Kanten und Flächen) in der 3D-Ansicht hervorgehoben; wenn es BoundBox ist, erscheint ein Begrenzungsrahmen um das Objekt herum, der hervorgehoben wird.

Verdrehwinkel und Winkelabweichung

Parameter für Verdrehwinkel und Winkelabweichung: d < lineare Abweichung, α < Winkelabweichung.

Die Abweichung ist ein Wert in Prozent, der mit den Abmaßen in mm der Bounding-Box des Objekts zusammenhängt. Die Abweichung in mm kann wie folgt berechnet werden:

deviation_in_mm = (w + h + d)/3 * deviation/100

wobei w, h, d die Begrenzungsrahmen Abmessungen sind.

Skripten

Siehe auch: Grundlagen der Skripterstellung in FreeCAD und Skriptgenerierte Objekte.

Ein Part Formelement wird mit der addObject() Methode des Dokuments erstellt.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::Feature", "Name")
obj.Label = "Custom label"

Für Python-Subclassing sollte ein Part::FeaturePython-Objekt erstellt werden.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::FeaturePython", "Name")
obj.Label = "Custom label"

Namen

Siehe auch: Objektname für weitere Informationen zu den Eigenschaften von Name.

Die addObject-Methode hat zwei Basis-String-Argumente.

  • Das erste Argument gibt den Objekttyp an, in diesem Fall "Part::FeaturePython".
  • Das zweite Argument ist eine Zeichenfolge, die das Attribut Name definiert. Wenn es nicht angegeben wird, wird standardmäßig derselbe Name wie die Klasse verwendet, also "Part__FeaturePython". Der Name darf nur einfache alphanumerische Zeichen und den Unterstrich [_0-9a-zA-Z] enthalten. Wenn andere Symbole angegeben werden, werden diese in Unterstriche umgewandelt; beispielsweise wird "A+B:C*" in "A_B_C_" umgewandelt.

Beschriftung

Falls gewünscht, kann das Attribut Label in einen aussagekräftigeren Text geändert werden.

  • Das Label kann jede UTF8-Zeichenkette akzeptieren, einschließlich Akzente und Leerzeichen. Da die Baumansicht das Label anzeigt, empfiehlt es sich, das Label in eine aussagekräftigere Zeichenkette zu ändern.
  • Standardmäßig ist Label genau wie Name eindeutig. Dieses Verhalten kann jedoch im Einstellungseditor geändert werden: Bearbeiten → Einstellungen → Allgemein → Dokument → Doppelte Objektbezeichnungen in einem Dokument zulassen. Das bedeutet, dass Label im Allgemeinen innerhalb desselben Dokuments wiederholt vorkommen kann. Beim Testen eines bestimmten Elements sollte sich der Benutzer daher eher auf Name als auf Label verlassen.