Kod źródłowy FreeCAD jest komentowany, aby umożliwić automatyczne generowanie dokumentacji programistycznej przy użyciu narzędzia Doxygen, popularnego systemu dokumentacji kodu źródłowego. Doxygen może udokumentować zarówno C++ jak i Python będącego nieodzowną częścią FreeCAD, czego wynikiem są strony HTML z hiperłączami do każdej udokumentowanej funkcji i klasy.
Dokumentacja jest przechowywana online na stronie FreeCAD API. Proszę zauważyć, że ta dokumentacja może nie zawsze być aktualna. Jeśli potrzebujesz więcej szczegółów, pobierz najnowszy kod źródłowy FreeCAD i skompiluj dokumentację samodzielnie. Jeśli masz pilne pytania dotyczące kodu, zapytaj w sekcji dla deweloperów na forum FreeCAD.
Kompilacja dokumentacji API przebiega tak samo jak kompilacja pliku wykonywalnego programu FreeCAD, jak wskazano na stronie Kompilacja w Linux OS.
Ogólny przepływ pracy w celu skompilowania dokumentacji programistycznej programu FreeCAD. W systemie muszą znajdować się pakiety Doxygen i Graphviz, a także sam kod źródłowy FreeCAD. CMake konfiguruje system tak, aby za pomocą jednej instrukcji make dokumentacja całego projektu została skompilowana do wielu plików HTML z diagramami.
Jeśli masz zainstalowany Doxygen, bardzo łatwo jest zbudować dokumentację. Zainstaluj również Graphviz, aby móc tworzyć diagramy pokazujące zależności pomiędzy różnymi klasami i bibliotekami w kodzie FreeCAD. Graphviz jest również używany przez wykres zależności programu FreeCAD do pokazywania zależności pomiędzy różnymi obiektami.
sudo apt install doxygen graphviz
Następnie wykonaj te same kroki, które wykonałbyś, aby skompilować FreeCAD, jak opisano na stronie kompilacja dla Linux i podsumowano tutaj dla wygody.
freecad-source
.freecad-build
, w którym skompilujesz FreeCAD i jego dokumentację.cmake
, upewniając się, że wskazujesz katalog źródłowy i określasz wymagane opcje kompilacji.make
.git clone https://github.com/FreeCAD/FreeCAD.git freecad-source
mkdir freecad-build
cd freecad-build
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ../freecad-source
Gdy znajdujesz się w katalogu kompilacji, wydaj następującą instrukcję, aby utworzyć tylko dokumentację.
make -j$(nproc --ignore=2) DevDoc
Jak wspomniano na stronie Kompilacja (przyspieszamy), opcja -j
ustawia liczbę rdzeni procesora używanych do kompilacji. Wynikowe pliki dokumentacji pojawią się w katalogu
freecad-build/doc/SourceDocu/html/
Punktem startowym dokumentacji jest plik index.html
, który można otworzyć za pomocą przeglądarki internetowej:
xdg-open freecad-build/doc/SourceDocu/html/index.html
DevDoc
wygeneruje znaczną ilość danych, około 5 GB nowych plików, w szczególności ze względu na diagramy utworzone przez Graphviz.
Kompletna dokumentacja zajmuje około 3 GB miejsca na dysku. Alternatywna, mniejsza wersja dokumentacji, która zajmuje tylko około 600 MB, może być wygenerowana dla innych celów. Jest to wersja wyświetlana na stronie FreeCAD API.
make -j$(nproc --ignore=2) WebDoc
Dokumentacja na stronie FreeCAD API jest tworzona automatycznie z https://github.com/FreeCAD/SourceDoc . Każdy może ją przebudować i przesłać żądanie ściągnięcia (pull request):
git clone https://github.com/FreeCAD/FreeCAD
cd FreeCAD
mkdir build
cd build
mkdir -p doc/SourceDocu/html
cd doc/SourceDocu/html
git clone your-fork-url
cd ../../..
cmake -DBUILD_QT5=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 ..
make WebDoc
cd doc/SourceDocu/html
git commit
git push
FreeCAD 0.19 development dokumentacja stworzona przez qingfeng.xia.
W systemach Unix możliwe jest połączenie dokumentacji źródłowej Coin3D z dokumentacją FreeCAD. Pozwala to na łatwiejszą nawigację i kompletne diagramy dziedziczenia dla klas pochodnych Coin.
libcoin-doc
, libcoin80-doc
lub pakiet o podobnej nazwie.coin.tar.gz
znajdujące się w /usr/share/doc/libcoin-doc/html
, pliki mogą być już rozpakowane w twoim systemie.Jeśli nie zainstalujesz pakietu dokumentacji dla Coin, zostaną wygenerowane linki umożliwiające dostęp do dokumentacji online na stronie BitBucket. Stanie się tak, jeśli plik znacznika Doxygen można pobrać w czasie konfiguracji za pomocą wget
.
Zobacz stronę Doxygen, aby uzyskać obszerne wyjaśnienie, jak komentować kod źródłowy C++ i Python, aby mógł być przetwarzany przez Doxygen w celu automatycznego tworzenia dokumentacji.
Zasadniczo, blok komentarza, zaczynający się od /**
lub ///
dla C++, lub ##
dla Pythona, musi pojawić się przed każdą definicją klasy lub funkcji, tak aby został wychwycony przez Doxygen. Wiele specjalnych poleceń, które zaczynają się od \
lub @
, może być użytych do zdefiniowania części kodu i sformatowania wyjścia. Składnia Markdown jest również rozumiana w bloku komentarza, co sprawia, że wygodnie jest podkreślić pewne części dokumentacji.
/**
* Returns the name of the workbench object.
*/
std::string name() const;
/**
* Set the name to the workbench object.
*/
void setName(const std::string&);
/// remove the added TaskWatcher
void removeTaskWatcher(void);