App: Obiekt dokumentu

From FreeCAD Documentation
This page is a translated version of the page App DocumentObject and the translation is 100% complete.

Wprowadzenie

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.

Użycie

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:

Właściwości

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.

  • DANEEtykieta (String): użytkownik może edytować nazwę tego obiektu, jest to dowolny ciąg znaków UTF8. Domyślnie jest to samo co Nazwa.
  • DANEEtykieta2 (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 "".
  • DANESilnik wyrażeń (ExpressionEngine): lista wyrażeń.
  • DANEWidoczność (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.

Tworzenie skryptów

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"