App DocumentObject/de: Difference between revisions

From FreeCAD Documentation
(Created page with "* {{PropertyData|Expression Engine/de|ExpressionEngine}}: eine Liste von Ausdrücken. * {{PropertyData|Label|String}}: der vom Benutzer editierbare Name dieses Objekts, es ist...")
(Created page with "Für abgeleitete Objekte wird standardmäßig nur {{PropertyData/de|Label}} im Eigenschafteneditor aufgelistet. Die anderen Eigenschaften werden ausgebl...")
Line 38: Line 38:
* {{PropertyData/de|Visibility|Bool}}: whether to display the object or not.
* {{PropertyData/de|Visibility|Bool}}: whether to display the object or not.


For derived objects, only {{PropertyData|Label}} will be listed in the [[property editor|property editor]] by default. The other properties will be hidden.
Für abgeleitete Objekte wird standardmäßig nur {{PropertyData/de|Label}} im [[property editor/de|Eigenschafteneditor]] aufgelistet. Die anderen Eigenschaften werden ausgeblendet.


== Scripting ==
== Scripting ==

Revision as of 23:03, 17 January 2020

Einleitung

Ein Objekt Anwendung DokumentObjekt oder formal ein App::DocumentObject ist die Basisklasse aller im Dokument behandelten Objektklassen.

Im Allgemeinen ist ein "Dokumentobjekt" jedes "Ding", das in der Baumansicht erscheinen kann und das beim Öffnen eines Dokuments gespeichert und wiederhergestellt wird.

Baumansicht mit verschiedenen Objekten im Dokument. Jedes von ihnen wird letztlich abgeleitet aus der App::DocumentObject Klasse.

Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten im Programm. Die Klasse App::DocumentObject ist die Basisklasse von im Wesentlichen allen Objekten in der Software.

Kurzanleitung

Das Anwendung DokumentObjekt ist eine interne Klasse, kann also weder von der grafischen Oberfläche aus erstellt werden, noch ist sie für sich selbst gedacht. Sie definiert lediglich das grundlegende Verhalten und die Eigenschaften von Objekten in der Software.

Einige der wichtigsten DocumentObjects sind die folgenden:

  • Die Klasse App FeaturePython, ein leeres Objekt, das je nach den hinzugefügten Eigenschaften für verschiedene Zwecke verwendet werden kann.
  • Die Klasse App GeoFeature, das Basisobjekt aller geometrischen Objekte, d.h. von Objekten, die eine Eigenschaft Platzierung haben, die ihre Position in der 3D Ansicht definiert.
  • Die Klasse Part Feature, abgeleitet von App GeoFeature, und die übergeordnete Klasse von Objekten mit 2D und 3D topologische Formen.
  • Die Klasse Mesh Feature, abgeleitet von App GeoFeature, und die übergeordnete Klasse von Objekten mit 2D und 3D meshes.

Eigenschaften

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

Dies sind die grundlegenden Eigenschaften, die im Wesentlichen alle Objekte haben. Auf diese Eigenschaften kann über die Python Konsole zugegriffen werden.

  • DatenExpression Engine/de (ExpressionEngine): eine Liste von Ausdrücken.
  • DatenLabel (String): der vom Benutzer editierbare Name dieses Objekts, es ist ein beliebiger UTF8-String. Standardmäßig ist es derselbe wie der Name.
  • Daten-EigenschaftLabel2 (String): eine längere, vom Benutzer editierbare Beschreibung dieses Objekts, es ist eine beliebige UTF8-Zeichenfolge, der Zeilenumbrüche enthalten kann. Standardmäßig ist es eine leere Zeichenfolge "".
  • Daten-EigenschaftVisibility (Bool): whether to display the object or not.

Für abgeleitete Objekte wird standardmäßig nur Daten-EigenschaftLabel im Eigenschafteneditor aufgelistet. Die anderen Eigenschaften werden ausgeblendet.

Scripting

See also: FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information on adding objects to the program.

A DocumentObject is created with the addObject() method of the document. However, in general, there is no need to create this object manually. It is usually better to create one of the sub-classes, for example, App FeaturePython, Part Feature, or Part Part2DObject.

import FreeCAD as App

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