App FeaturePython

From FreeCAD Documentation
Revision as of 11:22, 29 January 2023 by FBXL5 (talk | contribs)

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 (Hidden)Proxy (PythonObject): Eine spezielle, mit diesem Objekt verbundene Klasse.
  • DatenLabel (String): Die vom Anwender editierbare Bezeichnung dieses Objekts; es ist eine beliebige UTF8-Zeichenfolge.
  • DatenLabel2 (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 (Hidden)Expression_Engine (ExpressionEngine): Eine Liste von Ausdrücken. a list of expressions. Standardmäßig ist sie leer [].
  • Daten (Hidden)Visibility (Bool): Bestimmt, ob das Objekt angezeigt werden soll oder nicht.

Ansicht

Basis

  • Ansicht-Eigenschaft (versteckt)Proxy (PythonObject): Eine benutzerdefinierte Klasse Viewprovider, die diesem Objekt zugeordnet ist.

Anzeigeoptionen

  • AnsichtAnzeigemodus (Aufzählung): sie ist standardmäßig leer.
  • AnsichtAnzeige im Baum (Bool): die Standardeinstellung ist true, in diesem Fall erscheint das Objekt in der Baumansicht; andernfalls wird das Objekt in der Baumansicht ausgeblendet. Sobald ein Objekt in der Baumansicht unsichtbar ist, kannst du es wieder sehen, indem du das Kontextmenü über dem Namen des Dokuments öffnest (Rechtsklick) und Anzeige ausgeblendete Elemente wählst. Dann kann das ausgeblendete Element ausgewählt und AnsichtIm Baum anzeigen wieder zu true zurückgeschaltet werden.
  • AnsichtSichtbarkeit (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

  • AnsichtOben, wenn ausgewählt (Aufzählung): 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 Deaktiviert, was bedeutet, dass keine besondere Hervorhebung erfolgt; Aktiviert 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 ist; Element bedeutet, dass das Objekt nur dann oben erscheint, wenn ein Unterelement (Knoten, Kante, Fläche) in der 3D Ansicht ausgewählt ist.
  • AnsichtAuswahlstil (Aufzählung): steuert die Art und Weise, wie das Objekt hervorgehoben wird, wenn es eine Form hat. Wenn es Form ist, wird die gesamte Form (Knoten, Kanten und Flächen) in der 3D Ansicht hervorgehoben; wenn es Begrenzungsrahmen ist, erscheint ein Begrenzungsrahmen um das Objekt herum und wird hervorgehoben.

Skripten

Siehe auch: FreeCAD Skripten Grundlagen und geskriptete Objekte.

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

Eine Anwendung FormelementPython wird mit der addObject() Methode des Dokuments erstellt.

import FreeCAD as App

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