App FeaturePython

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

Einleitung

Ein App FeaturePython-Objekt oder formal ein App::FeaturePython, ist eine einfache Instanz des App DocumentObject in Python.

Hierbei handelt es sich um ein einfaches Objekt, das standardmäßig nicht viele Eigenschaften hat, z.B. hat es keine Positionierung und keine topologische Form. Abhängig von den Eigenschaften, die ihm zugeordnet sind, kann es zur Verwaltung verschiedener Datentypen verwendet werden.

Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD

Anwendung

Das App FeaturePython-Objekt ist ein internes Objekt, so dass es nicht über die grafische Oberfläche erstellt werden kann. Es ist dazu gedacht, von ihm Unterklassen abzuleiten, die unterschiedliche Arten von Daten verarbeiten.

Beispielsweise sind die Elemente Draft Text, Draft Maß, und Arbeitsebenen Proxy des Arbeitsbereichs Draft App::FeaturePython-Objekte mit einem benutzerdefinierten Symbol und zusätzlichen Eigenschaften. Sie enthalten Daten, aber keine tatsächliche Part TopoForm.

Wenn das gewünschte Objekt eine Positionierung, eine Form, einen Anhang oder andere komplexe Eigenschaften haben soll, ist es besser, eine der komplexeren Klassen zu erstellen, zum Beispiel App GeoFeature, Part Feature, oder Part Part2DObject.

Eigenschaften

Siehe Objekteigenschaften für alle Arten von Eigenschaften, die skriptgenerierte Objekte besitzen können.

Das App FeaturePython-Objekt (Klasse App::FeaturePython) wird von einem App DocumentObject (Klasse App::DocumentObject) abgeleitet und erbt alle seine Eigenschaften. Es besitzt einige zusätzliche Eigenschaften.

Diese Eigenschaften stehen im Eigenschafteneditor zur Verfügung. Versteckte Eigenschaften werden durch den Befehl Alle anzeigen im Kontextmenü des Eigenschafteneditors angezeigt.

Daten

Basis

  • Daten-Eigenschaft (versteckt)Proxy (PythonObject): Eine spezielle, mit diesem Objekt verbundene Klasse.
  • Daten-EigenschaftLabel (String): Die vom Anwender editierbare Bezeichnung dieses Objekts; es ist eine beliebige UTF8-Zeichenfolge.
  • Daten-EigenschaftLabel2 (String): Eine längere, vom Anwender editierbare Beschreibung dieses Objekts; es ist eine beliebige UTF8-Zeichenfolge, die Zeilenumbrüche enthalten kann. Standardmäßig ist es eine leere Zeichenkette "".
  • Daten-Eigenschaft (versteckt)Expression_Engine (ExpressionEngine): Eine Liste von Ausdrücken. a list of expressions. Standardmäßig ist sie leer [].
  • Daten-Eigenschaft (versteckt)Visibility (Bool): Bestimmt, ob das Objekt angezeigt werden soll oder nicht.

Ansicht

Basis

  • Ansicht-Eigenschaft (versteckt)Proxy (PythonObject): Eine spezielle Viewprovider-Klasse, die mit diesem Objekt verbunden ist.

Display Options

  • Ansicht-EigenschaftDisplay Mode (Enumeration): ist standardmäßig leer.
  • Ansicht-EigenschaftShow In Tree (Bool): die Standardeinstellung ist true; in diesem Fall erscheint das Objekt in der Baumansicht. Andernfalls wird das Objekt in der Baumansicht ausgeblendet. Ist ein Objekt unsichtbar in der Baumansicht, kann es wieder sichtbar gemacht werden, indem das Kontextmenü über den Namen des Dokuments geöffnet wird (Rechtsklick) und Ausgeblendete Elemente anzeigen ausgewählt wird. Dann kann das ausgeblendete Element ausgewählt und die Ansicht-EigenschaftShow In Tree wieder auf true zurückgesetzt werden.
  • Ansicht-EigenschaftVisibility (Bool): auf true voreingestellt. In diesem Fall ist das Objekt in der 3D-Ansicht sichtbar, wenn es eine Form hat, andernfalls ist es unsichtbar. Standardmäßig kann diese Eigenschaft ein- und ausgeschaltet werden, indem das Objekt ausgewählt und die Leertaste gedrückt wird.

Auswahl

  • Ansicht-EigenschaftOn Top When Selected (Enumeration): Sie steuert die Art und Weise, wie die Auswahl in der 3D-Ansicht erfolgt, wenn das Objekt eine Form hat und es viele Objekte gibt, die teilweise von anderen abgedeckt werden. Die Standardeinstellung ist Disabled, was bedeutet, dass keine besondere Hervorhebung erfolgt; Enabled bedeutet, dass das Objekt über jedem anderen Objekt erscheint, wenn es ausgewählt wird; Object bedeutet, dass das Objekt nur dann oben erscheint, wenn das gesamte Objekt in der Baumansicht ausgewählt wird; Element bedeutet, dass das Objekt nur dann oben erscheint, wenn ein Unterelement (Knoten, Kante, Fläche) in der 3D-Ansicht ausgewählt wird.
  • Ansicht-EigenschaftSelection Style (Enumeration): steuert die Art und Weise, wie das Objekt hervorgehoben wird, wenn es eine Form hat. Ist es Shape, wird die gesamte Form (Knoten, Kanten und Flächen) in der 3D-Ansicht hervorgehoben; ist es BoundBox, erscheint ein Begrenzungsrahmen um das Objekt herum und wird hervorgehoben.

Skripten

Siehe auch: FreeCAD Grundlagen Skripten und Skriptgenerierte Objekte.

Siehe Part Formelement für die allgemeinen Informationen über das Hinzufügen von Objekten zum Dokument.

Ein App-FeaturePython-Objekt wird mit der Methode addObject() des Dokuments erstellt.

import FreeCAD as App

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