Object name/fr

Introduction
Tous les objets du programme ont un object name qui les identifie de manière unique dans un Document donné.

Ces informations s'appliquent à tous les objets dérivés de App DocumentObject (classe ), qui comprend essentiellement tous les objets qu'il est possible de créer dans un document.

Les Names
Il existe différentes propriétés pour les noms:
 * Le ne peut contenir que des caractères alphanumériques simples et le trait de soulignement,.
 * Le ne peut pas commencer par un nombre. Il doit commencer par une lettre ou le trait de soulignement,.
 * Le est attribué au moment de la création de l'objet ensuite, il n'est plus modifiable. L'objet ne peut jamais être renommé.
 * Le doit être unique dans tout le document. Peu importe si deux objets sont de types complètement différents, par exemple, l'un est un PartDesign Poche et l'autre est un Arch Mur. Ils doivent avoir des noms différents.
 * Lors de la création d'un objet du même type, normalement le nom est augmenté d'un numéro séquentiel par exemple, , etc.... Cela permet d'éviter la collusion des noms..
 * Une fois l'objet supprimé, son devient disponible pour être utilisé par un objet nouvellement créé. Cela signifie que si,  et  existent et que nous supprimons le premier élément, la boîte suivante créée avec Part Cube ne sera pas , ce sera à nouveau , cette chaîne étant disponible pour être réutilisée. Notez qu'il n'est pas possible de renommer  ou  en  car leurs noms sont fixes.

En résumé, agit essentiellement comme un identifiant unique (UID) pour un objet. Puisqu'un unique est très restrictif, tous les objets ont également une propriété  qui permet de "renommer" l'objet en quelque chose de plus descriptif. Le interne reste en fait fixe, mais le  modifiable par l'utilisateur peut être utilisé dans la plupart des situations où le  serait utilisé. Dans l'utilisation courante dans le programme et la documentation, "renommer" signifie changer le et non le  réel de l'objet.

Les Labels
There are various properties for Labels:
 * The can accept any UTF8 string, including accents and spaces.
 * The tree view actually displays the of the object, not the . Therefore, whenever a new object is created, it is a good practice to change the  to a more descriptive string. To rename (relabel) the object, select it in the tree view and press, or open the context menu (right-click) and choose.
 * Even after an object was renamed (relabelled), the internal will still be reported in many places, for example, in the status bar or in the selection view, when the object is selected.
 * Since the internal functions of the program refer to the objects by, many dialogs will display the first, followed by the user editable  in parentheses, for example,.
 * By default the is unique, just like the . However, this behavior can be changed in the preferences editor, . This means that in general the  is not unique in the document, and may actually be repeated. However, the recommendation is to keep the  unique, as this is probably what is most useful to identify different objects. When writing custom functions that manipulate objects, the methods should use the  of the object rather than its  to guarantee that the correct object is used.

Label2
This property was introduced in v0.19. It is a simple string that can contain arbitrary text, and therefore can be used for documenting (describing with more detail) the created object.
 * In the tree view edit the field next to the icon, under "Description", by clicking on it and pressing.
 * You can also change this property by modifying the attribute from the Python console.
 * The attribute is normally hidden in the property editor but can be made visible by opening the context menu (right click) and selecting.

Scripting
FreeCAD Scripting Basics, and scripted objects.

Any object in the software is internally created with the method of the document. The majority of 2D and 3D objects that the user will see in the 3D view are derived from a Part Feature. In the following example, the object created is a Part Box.

Name
The function has two basic string arguments.


 * The first argument indicates the type of object, in this case,.
 * The second argument is a string that defines the attribute. If it is not provided, it defaults to the same name as the class of the object, that is,, where the two invalid symbols, the colons , are replaced by two underscores.
 * The can only include simple alphanumeric characters, and the underscore, . If other symbols are given, these will be converted to underscores; for example,  is converted to.
 * The cannot start with a number; it must start with a letter or the underscore, . For example,  is converted to.
 * The is fixed at creation time; it cannot be modified afterwards.
 * The must be unique in the entire document. If the same  is used, a sequential number will be appended automatically so that the resulting names are unique; for example, if  already exists, then new objects will be called, , , etc.

Label
The is a property of the created object and can be changed to a more meaningful text.
 * Upon creating the object, the is the same as the.
 * However, unlike the, the can accept any UTF8 string, including accents and spaces.
 * The can be changed at any point in time just by assigning the desired string,

Getting an object by Name or Label
All objects in a document are data attributes of the corresponding Document object. The attribute's name correspond to the internal of the object.

This is equivalent to using the method of the Document.

However, it is also possible to get the object by the more descriptive.

Given that the is in general not unique, the  method returns a list with all objects found with that. However, if the is unique in the document then the first element in that list should be the desired object.