Object name/de

Einleitung

Alle Objekte im Programm haben einen Objektnamen, der sie in einem bestimmten Dokument eindeutig identifiziert.

Diese Informationen gelten für alle Objekte, die von einem Dokumentobjekt (App DocumentObject, d.h. der Klasse App::DocumentObject)abgeleitet sind, die im Wesentlichen alle Objekte umfasst, die in einem Dokument erstellt werden können.

Namen

Namen besitzen verschiedene Eigenschaften:

Zusammengefasst stellt der Name einen eindeutigen Identifikator (unique identifier, UID) eines Objekts dar. Da ein eindeutiger Name sehr eingeschränkt ist, besitzen Objekte auch noch die Eigenschaft Label, die ermöglicht, das Objekt "umzubenennen", also eine besser beschreibende Benennung hinzuzufügen. Der interne Name bleibt tatsächlich unverändert, aber die vom Benutzer editierbare Benennung Label kann in den meisten Fällen an Stelle des Namens verwendet werden. In der üblichen Verwendung im Programm bezieht sich "umbenennen" auf das Label (Benennung) und nicht auf den wirklichen Namen des Objekts.

Benennungen

There are various properties for Labels:

<<Custom Label With Spaces>>.Height
<<Label may use UTF8 characters>>.Width

Label2

Es handelt sich um eine einfache Zeichenfolge, die beliebigen Text enthalten kann und daher zur Dokumentation (detaillierten Beschreibung) des erstellten Objekts verwendet werden kann.

Skripten

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

Jedes Objekt in der Software wird intern mit der Methode addObject() des Dokuments erstellt. Die meisten 2D- und 3D-Objekte, die der Benutzer in der 3D-Ansicht sieht, stammen von einem Part Formelement ab. Im folgenden Beispiel wird ein Part Quader-Objekt erstellt.

import FreeCAD as App

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

Name

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

Benennung

Das Label ist eine Eigenschaft des erstellten Objekts und kann in einen aussagekräftigeren Text geändert werden.

Ein Objekt mit Namen oder Benennung aufrufen

Alle Objekte in einem Dokument sind Datenattribute des entsprechenden Dokument-Objekts. Der Name des Attributs entspricht dem internen Name des Objekts.

import FreeCAD as App

obj1 = App.ActiveDocument.Box
obj2 = App.ActiveDocument.Box001
obj3 = App.ActiveDocument.Box002

Dies entspricht der Verwendung der Methode getObject des Dokuments.

import FreeCAD as App

obj1 = App.ActiveDocument.getObject('Box')
obj2 = App.ActiveDocument.getObject('Box001')
obj3 = App.ActiveDocument.getObject('Box002')

Es ist jedoch auch möglich, das Objekt über die aussagekräftigere Bezeichnung Label abzurufen.

import FreeCAD as App

obj1 = App.ActiveDocument.getObjectsByLabel("Concrete wall")[0]
obj2 = App.ActiveDocument.getObjectsByLabel("Custom parallelepiped")[0]
obj3 = App.ActiveDocument.getObjectsByLabel("Some special name for this cube__002")[0]

Da das Label im Allgemeinen nicht eindeutig ist, gibt die Methode getObjectsByLabel eine Liste mit allen Objekten zurück, die mit diesem Label gefunden wurden. Ist das Label jedoch im Dokument eindeutig, sollte das erste Element in dieser Liste das gewünschte Objekt sein.