Source documentation/ja: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[Extra python modules|Extra python modules]]
|[[Extra_python_modules|Extra python modules]]
|[[Contributors|Contributors]]
|[[List of Commands|List of Commands]]
}}
}}

{{TOCright}}
{{TOCright}}

<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
FreeCADのソースコードは、[http://www.doxygen.org Doxygen]を使ってHTMLドキュメントを自動生成するようにコメントされています。これは、FreeCADソースコードのC ++部分とPython部分の両方に当てはまります。
FreeCADのソースコードは、[http://www.doxygen.org Doxygen]を使ってHTMLドキュメントを自動生成するようにコメントされています。これは、FreeCADソースコードのC ++部分とPython部分の両方に当てはまります。
Line 22: Line 25:
==== ソースドキュメントのビルド ====
==== ソースドキュメントのビルド ====
</div>
</div>

=== Complete documentation ===


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 30: Line 35:
}}
}}


Then follow the same steps you would do to compile FreeCAD, as described on the [[Compile_on_Linux/Unix|compile on Unix]] page, and summarized here for convenience.
Then follow the same steps you would do to compile FreeCAD, as described on the [[Compile_on_Linux|compile on Linux]] page, and summarized here for convenience.
* Get the source code of FreeCAD and place it in its own directory {{incode|freecad-source}}.
* Get the source code of FreeCAD and place it in its own directory {{incode|freecad-source}}.
* Create another directory {{incode|freecad-build}} in which you will compile FreeCAD and its documentation.
* Create another directory {{incode|freecad-build}} in which you will compile FreeCAD and its documentation.
Line 63: Line 68:
</div>
</div>


=== Reduced documentation ===
An alternative, smaller version of the documentation which takes only around 600 MB can be generated with a different target. This is the version displayed on the [http://www.freecadweb.org/api/ FreeCAD API website].

The complete documentation uses around 3Gb of disk space. An alternative, smaller version of the documentation which takes only around 600 MB can be generated with a different target. This is the version displayed on the [https://freecad.github.io/SourceDoc/ FreeCAD API website].
{{Code|code=
{{Code|code=
make -j$(nproc --ignore=2) WebDoc
make -j$(nproc --ignore=2) WebDoc
}}
}}


The documentation on the [https://freecad.github.io/SourceDoc/ FreeCAD API website] is produced automatically from https://github.com/FreeCAD/SourceDoc . Anyone can rebuild it and submit a pull request:
<div class="mw-translate-fuzzy">
またこれとは別にこのドキュメントは折を見て生成されては、sourceforgeの[http://free-cad.sf.net/SrcDocu/index.html ここ]でアクセス可能な状態で置かれています。
</div>


* Fork the repo at https://github.com/FreeCAD/SourceDoc
[https://iesensor.com/FreeCADDoc/0.16-dev/ FreeCAD 0.16 development] documentation built by [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].
* on your machine: clone the FreeCAD code (if you haven't yet), create a build dir for the doc, and clone the above SourceDoc repo inside. That SourceDoc will be updated when you rebuild the doc, and you'll be able to commit & push the results afterwards:
{{Code|code=
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
}}
* Go to your fork online, and create a pull request.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
またこれとは別にこのドキュメントは折を見て生成されては、sourceforgeの[http://free-cad.sf.net/SrcDocu/index.html ここ]でアクセス可能な状態で置かれています。
これはFreeCAD Doxygen [http://iesensor.com/FreeCADDoc/0.16-dev/ documentation]です
[http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia]によって生成されます。
</div>
</div>


Line 119: Line 140:
void removeTaskWatcher(void);
void removeTaskWatcher(void);
}}
}}



<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">

Latest revision as of 21:51, 12 November 2021

FreeCADのソースコードは、Doxygenを使ってHTMLドキュメントを自動生成するようにコメントされています。これは、FreeCADソースコードのC ++部分とPython部分の両方に当てはまります。

オンラインのソースドキュメントはhttp://www.freecadweb.org/api/にあります。

Compiling the API documentation follows the same general steps as compiling the FreeCAD executable, as indicated in the Compile on Linux page.

General workflow to compile FreeCAD's programming documentation. The Doxygen and Graphviz packages must be in the system, as well as the FreeCAD source code itself. CMake configures the system so that with a single make instruction the documentation for the the entire project is compiled into many HTML files with diagrams.

ソースドキュメントのビルド

Complete documentation

Doxygenをインストールしてあればドキュメントのビルドは非常に簡単です。FreeCADビルド用のディレクトリに移動してCMakeでソースを設定した上で次のコマンドを実行します:

sudo apt install doxygen graphviz

Then follow the same steps you would do to compile FreeCAD, as described on the compile on Linux page, and summarized here for convenience.

  • Get the source code of FreeCAD and place it in its own directory freecad-source.
  • Create another directory freecad-build in which you will compile FreeCAD and its documentation.
  • Configure the sources with cmake, making sure you indicate the source directory, and specify the required options for your build.
  • Trigger the creation of the documentation using 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

While you are inside the build directory issue the following instruction to create only the documentation.

make -j$(nproc --ignore=2) DevDoc

その後でDoc/SourceDocu/html/index.htmlから始まる結果のhtmlファイルを調べてください。

freecad-build/doc/SourceDocu/html/

The point of entrance to the documentation is the index.html file, which you can open with a web browser:

xdg-open freecad-build/doc/SourceDocu/html/index.html

(注意:DevDocターゲットは自動ツールビルドでは有効になっていません)その性質上、ソースドキュメントは常に作業進行中状態にあります。よく起きることですが必要がある時にはためらわずに再ビルドを行なってください。 それはhttp://www.freecadweb.org/api/で使用されているバージョンも代わりに発行することによって生成することができます:

Reduced documentation

The complete documentation uses around 3Gb of disk space. An alternative, smaller version of the documentation which takes only around 600 MB can be generated with a different target. This is the version displayed on the FreeCAD API website.

make -j$(nproc --ignore=2) WebDoc

The documentation on the FreeCAD API website is produced automatically from https://github.com/FreeCAD/SourceDoc . Anyone can rebuild it and submit a pull request:

  • Fork the repo at https://github.com/FreeCAD/SourceDoc
  • on your machine: clone the FreeCAD code (if you haven't yet), create a build dir for the doc, and clone the above SourceDoc repo inside. That SourceDoc will be updated when you rebuild the doc, and you'll be able to commit & push the results afterwards:
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
  • Go to your fork online, and create a pull request.

またこれとは別にこのドキュメントは折を見て生成されては、sourceforgeのここでアクセス可能な状態で置かれています。

Coin3Dドキュメントの統合

UNIX系ではCoin3DのソースドキュメントをFreeCADのものとリンクすることが可能です。 これを行うと移動が楽になり、またCoin派生クラスの継承ダイアグラムを作成できます。

  • Debianとそこから派生したシステムの場合:
- パッケージlibcoin60-docをインストール
- ファイル /usr/share/doc/libcoin60-doc/html/coin.tag.gzを展開
- ソースドキュメントを再生成
オフラインでのブラウジングができます。
  • もしCoinのドキュメントパッケージをインストールしたくない/できない場合、設定時(wget)にDoxygenタグファイルがダウンロード可能であればdoc.coin3D.orgにあるオンラインのCoinドキュメントへのリンクが生成されます。

Using Doxygen

See the Doxygen page for an extensive explanation on how to comment C++ and Python source code so that it can be processed by Doxygen to automatically create the documentation.

Essentially, a comment block, starting with /** or /// for C++, or ## for Python, needs to appear before every class or function definition, so that it is picked up by Doxygen. Many special commands, which start with \ or @, can be used to define parts of the code and format the output. Markdown syntax is also understood within the comment block, which makes it convenient to emphasize certain parts of the documentation.

/**
 * 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);


Extra python modules
List of Commands