App DocumentObject/de: Difference between revisions

From FreeCAD Documentation
(Created page with "Siehe Part Feature für die allgemeinen Informationen über das Hinzufügen von Objekten zum Programm.")
No edit summary
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


<span id="Introduction"></span>
== Einleitung ==
==Einleitung==


[[File:Px.svg|32px]]
[[File:Px.svg|32px]]


Ein Objekt [[App_DocumentObject|Anwendung DokumentObjekt]] oder formal ein {{incode|App::DocumentObject}} ist die Basisklasse aller im Dokument behandelten Objektklassen.
Ein [[App_DocumentObject/de|App DocumentObject]] oder formal ein {{incode|App::DocumentObject}} ist die Basisklasse aller im Dokument behandelten Objektklassen.


Im Allgemeinen ist ein "Dokumentobjekt" jedes "Ding", das in der [[tree view/de|Baumansicht]] erscheinen kann und das beim Öffnen eines Dokuments gespeichert und wiederhergestellt wird.
Allgemein ausgedrückt ist ein "DocumentObject" jedes "Ding", das in der [[Tree_view/de|Baumansicht]] erscheinen kann und das gespeichert und beim Öffnen eines Dokuments wiederhergestellt wird.


[[File:App_DocumentObject_example.png]]
[[File:App_DocumentObject_example.png]]


{{Caption|Baumansicht mit verschiedenen Objekten im Dokument. Jedes von ihnen wird letztlich abgeleitet aus der {{incode|App::DocumentObject}} Klasse.}}
{{Caption|Baumansicht, die verschiedene Objekte im Dokument anzeigt. Jedes von ihnen ist ein "Dokumentobjekt", das letztlich von der Basisklasse {{incode|App::DocumentObject}} abgeleitet ist.}}


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


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


<span id="Usage"></span>
==Kurzanleitung==
==Anwendung==


Das [[App_DocumentObject/de|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.
Das [[App_DocumentObject/de|App DocumentObject]] ist eine interne Klasset; es kann daher nicht von der grafischen Oberfläche aus erstellt werden. Es ist auch nicht dafür vorgesehen, selbst eingesetzt zu werden. Es definiert lediglich das grundlegende Verhalten und die Eigenschaften von Objekten im Programm.


Einige der wichtigsten DocumentObjects sind die folgenden:
Einige der wichtigsten Dokumentobjekte sind die folgenden:
* Die Klasse [[App_FeaturePython/de|App FeaturePython]], ein leeres Objekt, das je nach den hinzugefügten Eigenschaften für verschiedene Zwecke verwendet werden kann.
* Die Klasse [[App_FeaturePython/de|App FeaturePython]], ein leeres Objekt, das je nach den hinzugefügten Eigenschaften für verschiedene Zwecke verwendet werden kann.
* Die Klasse [[App_GeoFeature/de|App GeoFeature]], das Basisobjekt aller geometrischen Objekte, d.h. von Objekten, die eine Eigenschaft [[Placement/de|Platzierung]] haben, die ihre Position in der [[3D view/de|3D Ansicht]] definiert.
* Die Klasse [[App_GeoFeature/de|App GeoFeature]], das Basisobjekt aller geometrischen Objekte, d.h. von Objekten, die eine Eigenschaft [[Placement/de|Placement]] besitzen, die ihre Position in der [[3D_view/de|3D-Ansicht]] bestimmt.
* Die Klasse [[Part_Feature/de|Part Feature]], abgeleitet von App GeoFeature, und die übergeordnete Klasse von Objekten mit 2D und 3D [[Part_TopoShape/de|topologische Formen]].
* Die Klasse [[Part_Feature/de|Part Feature]] (Part-Formelement), abgeleitet vom App GeoFeature, ist die übergeordnete Klasse von Objekten mit 2D- und 3D-[[Part_TopoShape/de|TopoFormen]].
* Die Klasse [[Mesh_Feature/de|Mesh Feature]], abgeleitet von App GeoFeature, und die übergeordnete Klasse von Objekten mit 2D und 3D [[Mesh_MeshObject/de|meshes]].
* Die Klasse [[Mesh_Feature/de|Mesh Feature]] (Mesh-Formelement), abgeleitet von App GeoFeature, ist die übergeordnete Klasse von Objekten mit 2D- und 3D-[[Mesh_MeshObject/de|Netzobjekten]].


<span id="Properties"></span>
==Eigenschaften==
==Eigenschaften==


Siehe [[Property/de|Eigenschaft]] für alle Eigenschaftstypen, die geskriptete Objekte haben können.
Siehe [[Property/de|Objekteigenschaften]] für alle Arten von Eigenschaften, die skriptgenerierte Objekte besitzen können.


Dies sind die grundlegenden Eigenschaften, die im Wesentlichen alle Objekte haben. Auf diese Eigenschaften kann über die [[Python console/de|Python Konsole]] zugegriffen werden.
Dies sind die grundlegenden Eigenschaften, die im Wesentlichen alle Objekte haben. Auf diese Eigenschaften kann über die [[Python console/de|Python-Konsole]] zugegriffen werden.


* {{PropertyData/de|Label|String}}: Die vom Benutzer editierbare Benennung dieses Objekts; sie ist eine beliebige "UTF8-Zeichenkette. Standardmäßig entspricht sie dem Inhalt von {{incode|Name}}.
* {{PropertyData|Expression Engine/de|ExpressionEngine}}: eine Liste von Ausdrücken.
* {{PropertyData|Label|String}}: der vom Benutzer editierbare Name dieses Objekts, es ist ein beliebiger UTF8-String. Standardmäßig ist es derselbe wie der {{incode|Name}}.
* {{PropertyData/de|Label2|String}}: Eine längere, vom Benutzer editierbare Beschreibung dieses Objekts, es ist eine beliebige UTF8-Zeichenfolge, die Zeilenumbrüche enthalten kann. Standardmäßig ist es eine leere Zeichenfolge {{value|""}}.
* {{PropertyData/de|Expression Engine|ExpressionEngine}}: Eine Liste von Ausdrücken.
* {{PropertyData/de|Label2|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 {{value|""}}.
* {{PropertyData/de|Visibility|Bool}}: whether to display the object or not.
* {{PropertyData/de|Visibility|Bool}}: Bestimmt, ob das Objekt dargestellt werden soll oder nicht.


Für abgeleitete Objekte wird standardmäßig nur {{PropertyData/de|Label}} im [[property editor/de|Eigenschafteneditor]] aufgelistet. Die anderen Eigenschaften werden ausgeblendet.
Für abgeleitete Objekte wird standardmäßig nur die {{PropertyData/de|Label}} im [[property editor/de|Eigenschafteneditor]] aufgelistet. Die anderen Eigenschaften werden ausgeblendet.


<span id="Scripting"></span>
== Skripten==
==Skripten==


{{Emphasis|Siehe auch:}} [[FreeCAD Scripting Basics/de|FreeCAD Skripten Grundlagen]], und [[scripted objects/de|geskriptete Objekte]].
{{Emphasis|Siehe auch:}} [[FreeCAD_Scripting_Basics/de|FreeCAD Grundlagen Skripten]] und [[Scripted_objects/de|Skriptgenerierte Objekte]].


Siehe [[Part_Feature/de|Part Feature]] für die allgemeinen Informationen über das Hinzufügen von Objekten zum Programm.
Siehe [[Part_Feature/de|Part Formelement]] für allgemeine Informationen zum Hinzufügen von Objekten zu einem Dokument.


A DocumentObject is created with the {{incode|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|App FeaturePython]], [[Part_Feature|Part Feature]], or [[Part_Part2DObject|Part Part2DObject]].
Ein Dokumentobjekt wird mit der Methode {{incode|addObject()}} des Dokuments erstellt. Im Allgemeinen ist es jedoch nicht erforderlich, dieses Objekt von Hand zu erstellen. In der Regel ist es besser, eine der komplexeren Klassen als Unterklasse abzuleiten, z.B. [[App_FeaturePython/de|App FeaturePython]], [[App_GeoFeature/de|App GeoFeature]], [[Part_Feature/de|Part Feature]], [[Part_Part2DObject/de|Part Part2DObjekt]], usw.


{{Code|code=
{{Code|code=
Line 56: Line 61:
}}
}}



{{Userdocnavi}}
{{Document_objects_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 05:17, 19 April 2024

Einleitung

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

Allgemein ausgedrückt ist ein "DocumentObject" jedes "Ding", das in der Baumansicht erscheinen kann und das gespeichert und beim Öffnen eines Dokuments wiederhergestellt wird.

Baumansicht, die verschiedene Objekte im Dokument anzeigt. Jedes von ihnen ist ein "Dokumentobjekt", das letztlich von der Basisklasse App::DocumentObject abgeleitet ist.

Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten in FreeCAD

Anwendung

Das App DocumentObject ist eine interne Klasset; es kann daher nicht von der grafischen Oberfläche aus erstellt werden. Es ist auch nicht dafür vorgesehen, selbst eingesetzt zu werden. Es definiert lediglich das grundlegende Verhalten und die Eigenschaften von Objekten im Programm.

Einige der wichtigsten Dokumentobjekte 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 Placement besitzen, die ihre Position in der 3D-Ansicht bestimmt.
  • Die Klasse Part Feature (Part-Formelement), abgeleitet vom App GeoFeature, ist die übergeordnete Klasse von Objekten mit 2D- und 3D-TopoFormen.
  • Die Klasse Mesh Feature (Mesh-Formelement), abgeleitet von App GeoFeature, ist die übergeordnete Klasse von Objekten mit 2D- und 3D-Netzobjekten.

Eigenschaften

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

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

  • Daten-EigenschaftLabel (String): Die vom Benutzer editierbare Benennung dieses Objekts; sie ist eine beliebige "UTF8-Zeichenkette. Standardmäßig entspricht sie dem Inhalt von Name.
  • Daten-EigenschaftLabel2 (String): Eine längere, vom Benutzer editierbare Beschreibung dieses Objekts, es ist eine beliebige UTF8-Zeichenfolge, die Zeilenumbrüche enthalten kann. Standardmäßig ist es eine leere Zeichenfolge "".
  • Daten-EigenschaftExpression Engine (ExpressionEngine): Eine Liste von Ausdrücken.
  • Daten-EigenschaftVisibility (Bool): Bestimmt, ob das Objekt dargestellt werden soll oder nicht.

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

Skripten

Siehe auch: FreeCAD Grundlagen Skripten und Skriptgenerierte Objekte.

Siehe Part Formelement für allgemeine Informationen zum Hinzufügen von Objekten zu einem Dokument.

Ein Dokumentobjekt wird mit der Methode addObject() des Dokuments erstellt. Im Allgemeinen ist es jedoch nicht erforderlich, dieses Objekt von Hand zu erstellen. In der Regel ist es besser, eine der komplexeren Klassen als Unterklasse abzuleiten, z.B. App FeaturePython, App GeoFeature, Part Feature, Part Part2DObjekt, usw.

import FreeCAD as App

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