Object name/pl

Wprowadzenie
Wszystkie obiekty w programie mają nazwę obiektu, która jednoznacznie identyfikuje je w obrębie danego dokumentu.

Informacje te dotyczą wszystkich obiektów pochodnych od App: Obiektu dokumentu (klasa ), która zasadniczo obejmuje wszystkie obiekty, które można utworzyć w dokumencie.

Nazwy
Nazwy mają różne właściwości:
 * może zawierać tylko proste znaki alfanumeryczne i znak podkreślenia,.
 * nie może zaczynać się od cyfry, musi zaczynać się od litery lub podkreślenia,.
 * jest przypisywana w czasie tworzenia obiektu, później nie można jej już edytować. Nigdy nie można zmienić nazwy obiektu.
 * musi być unikalna w całym dokumencie. Nie ma znaczenia, czy dwa obiekty są zupełnie różnych typów, na przykład jeden to kieszeń środowiska Projekt Części, a drugi to ściana środowiska Architektura. Muszą one mieć różne nazwy.
 * Podczas tworzenia obiektu tego samego typu, zwykle nazwa jest zwiększana o kolejny numer, a więc, , itd. Zapobiega to kolizji nazw.
 * Po usunięciu obiektu, jego staje się dostępna do użycia przez nowo utworzony obiekt. Oznacza to, że jeśli istnieją obiekty,  i , a my usuniemy pierwszy z nich, to następnym obiektem utworzonym za pomocą Part Box nie będzie , lecz , ponieważ ciąg ten jest dostępny do ponownego użycia. Zauważ, że nie jest możliwa zmiana nazwy obiektu  lub  na , ponieważ ich nazwy są niezmienne.

Podsumowując, zasadniczo działa jak unikalny identyfikator (UID) dla obiektu. Ponieważ unikalna jest bardzo restrykcyjna, wszystkie obiekty mają również właściwość, która umożliwia "zmianę nazwy" obiektu na coś bardziej opisowego. Wewnętrzna faktycznie pozostaje stała, ale edytowalna przez użytkownika  może być używana w większości sytuacji, w których użyto by. W powszechnym użyciu w programie i dokumentacji "zmiana nazwy" oznacza zmianę, a nie rzeczywistej obiektu.

Etykiety
Istnieją różne właściwości etykiet:
 * może akceptować dowolny ciąg UTF8, w tym znaki akcentu i spacji.
 * W oknie widoku drzewa wyświetlana jest obiektu, a nie jego . Dlatego za każdym razem, gdy tworzony jest nowy obiekt, dobrą praktyką jest zmiana  na bardziej opisowy ciąg znaków. Aby zmienić nazwę (etykietę) obiektu, wybierz ją w widoku drzewa i naciśnij  (lub raczej  na macOS) lub otwórz menu podręczne (kliknij prawym przyciskiem myszy) i wybierz.
 * Nawet po zmianie nazwy obiektu, wewnętrzny będzie nadal wyświetlana w wielu miejscach, na przykład na pasku pasek stanu lub w oknie widok wyboru, gdy obiekt jest zaznaczony.
 * Ponieważ wewnętrzne funkcje programu odnoszą się do obiektów za pomocą, wiele okien dialogowych wyświetli najpierw , a następnie edytowalną przez użytkownika w nawiasach, na przykład.
 * Domyślnie jest unikalna, podobnie jak . Zachowanie to można jednak zmienić w edytorze preferencji, . Oznacza to, że generalnie  nie jest unikalna w dokumencie i może się powtarzać. Zaleca się jednak zachowanie unikalności, ponieważ jest to prawdopodobnie najbardziej przydatne do identyfikacji różnych obiektów. Podczas pisania niestandardowych funkcji, które manipulują obiektami, metody powinny używać  obiektu, a nie jego , aby zagwarantować, że używany jest właściwy obiekt.
 * Podczas korzystania z wyrażeń, na przykład w edytorze właściwości lub w arkuszu kalkulacyjnym, Etykieta może być przywoływana za pomocą podwójnych nawiasów utworzonych z symboli "mniej niż" i "więcej niż".

Etykieta2
Jest to prosty ciąg znaków, który może zawierać dowolny tekst, a zatem może być używany do dokumentowania (opisywania z większą ilością szczegółów) utworzonego obiektu.
 * W oknie widoku drzewa edytuj pole obok ikony, w kolumnie "Opis", klikając je i naciskając (lub raczej  na macOS).
 * Można również zmienić tę właściwość, modyfikując atrybut z poziomu Konsoli Python.
 * Atrybut jest normalnie ukryty w edytorze właściwości, ale może być uwidoczniony poprzez otwarcie menu podręcznego (kliknięcie prawym przyciskiem myszy) i wybranie.

Tworzenie skryptów
Podstawy tworzenia skryptów FreeCAD, oraz Obiekty skryptowe.

Każdy obiekt w oprogramowaniu jest tworzony wewnętrznie za pomocą metody dokumentu. Większość obiektów 2D i 3D, które użytkownik zobaczy w oknie widoku 3D pochodzi z Część: Cecha. W poniższym przykładzie utworzony obiekt to Sześcian środowiska pracy Część.

Nazwa
Funkcja posiada dwa podstawowe argumenty typu string.


 * Pierwszy argument wskazuje typ obiektu, w tym przypadku.
 * Drugi argument to ciąg znaków definiujący atrybut . Jeśli nie zostanie on podany, domyślnie przyjmuje taką samą nazwę jak klasa obiektu, czyli, gdzie dwa nieprawidłowe symbole, dwukropki , są zastąpione dwoma podkreśleniami.
 * może zawierać tylko podstawowe znaki alfanumeryczne i znak podkreślenia, . Jeśli podane zostaną inne symbole, zostaną one przekonwertowane na znak podkreślenia. Na przykład zostanie przekonwertowane na.
 * nie może zaczynać się od liczby, musi zaczynać się od litery lub podkreślenia, . Na przykład jest konwertowany na.
 * Obiekt jest ustalany w momencie utworzenia, nie można go później zmodyfikować.
 * Obiekt musi być unikalny w całym dokumencie. Jeśli użyty zostanie ten sam obiekt, automatycznie dołączony zostanie kolejny numer, tak aby wynikowe nazwy były unikalne; na przykład, jeśli  już istnieje, nowe obiekty zostaną nazwane , ,  itd.

Etykieta
Obiekt jest właściwością utworzonego obiektu i może zostać zmieniony na bardziej znaczący tekst.
 * Podczas tworzenia obiektu, ma taką samą wartość jak.
 * Jednak w przeciwieństwie do, może akceptować dowolny ciąg UTF8, łącznie ze znakami akcentówi i spacji.
 * Obiekt można zmienić w dowolnym momencie, po prostu przypisując żądany ciąg znaków,.



Pobieranie obiektu przez nazwę lub etykietę
Wszystkie obiekty w dokumencie są atrybutami danych odpowiedniego obiektu Dokument. Nazwa atrybutu odpowiada wewnętrznej obiektu.

Jest to równoważne użyciu metody dokumentu.

Możliwe jest jednak również pobranie obiektu za pomocą bardziej opisowego identyfikatora.

Biorąc pod uwagę, że obiekt nie jest unikalny, metoda  zwraca listę wszystkich obiektów znalezionych z tym obiektem. Jeśli jednak jest unikalny w dokumencie, to pierwszym elementem tej listy powinien być żądany obiekt.