Obiekt Dokumentu, lub formalnie App::DocumentObject
, jest klasą bazową wszystkich klas obiektów obsługiwanych w dokumencie.
Ogólnie rzecz biorąc, "ObiektDokumentu" to dowolna "rzecz", która może pojawić się w widoku drzewa i która jest zapisywana i przywracana podczas otwierania dokumentu.
Widok drzewa pokazujący różne obiekty w dokumencie. Każdy z nich jest "obiektem dokumentu", wywodzącym się z klasy bazowej App::DocumentObject
.
Uproszczony diagram zależności pomiędzy podstawowymi obiektami w programie FreeCAD.
Obiekt dokumentu jest klasą wewnętrzną, więc nie może być tworzona z poziomu interfejsu graficznego, ani nie jest przeznaczona do samodzielnego użytku. Definiuje ona jedynie podstawowe zachowanie i właściwości obiektów w programie.
Niektóre z najważniejszych obiektów dokumentu to:
Zobacz stronę Właściwości dla wszystkich typów właściwości, które mogą mieć obiekty tworzone skryptami.
Są to podstawowe właściwości, które posiadają zasadniczo wszystkie obiekty. Dostęp do tych właściwości można uzyskać z Konsoli Python.
String
): użytkownik może edytować nazwę tego obiektu, jest to dowolny ciąg znaków UTF8. Domyślnie jest to samo co Nazwa
.String
): dłuższy, użytkownik może edytować opis tego obiektu, jest to dowolny ciąg znaków UTF8, który może zawierać nowe linie. Domyślnie jest to pusty ciąg znaków ""
.ExpressionEngine
): lista wyrażeń.Bool
): definiuje czy wyświetlać obiekt czy nie.Dla obiektów pochodnych, tylko DANEEtykieta będzie domyślnie wyświetlane w edytorze właściwości. Pozostałe właściwości będą ukryte.
Zobacz również: Podstawy tworzenia skryptów FreeCAD, oraz Obiekty skryptowe.
Ogólne informacje na temat dodawania obiektów do dokumentu można znaleźć na stronie Część: właściwość.
Obiekt dokumentu tworzy się za pomocą metody addObject()
dokumentu. Jednakże, ogólnie rzecz biorąc, nie ma potrzeby ręcznego tworzenia tego obiektu. Zazwyczaj lepiej jest podklasować jedną z bardziej złożonych klas, na przykład App: Właściwości Python, App: Cechy geometrii, Część: Cecha, Część: Część na obiekt 2D, itd.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObject", "Name")
obj.Label = "Custom label"