Source documentation/es: Difference between revisions

From FreeCAD Documentation
No edit summary
(Created page with "[https://iesensor.com/FreeCADDoc/0.16-dev/ Desarrollo de FreeCAD 0.16] documentación construida por [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].")
Line 59: Line 59:
[http://free-cad.sf.net/SrcDocu/index.html FreeCAD 0.12] documentación alojada en Sourceforge.
[http://free-cad.sf.net/SrcDocu/index.html FreeCAD 0.12] documentación alojada en Sourceforge.


[https://iesensor.com/FreeCADDoc/0.16-dev/ FreeCAD 0.16 development] documentation built by [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].
[https://iesensor.com/FreeCADDoc/0.16-dev/ Desarrollo de FreeCAD 0.16] documentación construida por [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].


[https://iesensor.com/FreeCADDoc/0.19/ FreeCAD 0.19 development] documentation built by [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].
[https://iesensor.com/FreeCADDoc/0.19/ FreeCAD 0.19 development] documentation built by [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].

Revision as of 11:01, 2 November 2020

Vista general

El código fuente de FreeCAD se comenta para permitir la generación automática de documentación de programación usando Doxygen, un popular sistema de documentación de código fuente. Doxygen puede documentar tanto la parte C++ como la parte Python de FreeCAD, dando como resultado páginas HTML con hipervínculos a cada función y clase documentada.

La documentación está alojada en línea en el Sitio web de FreeCAD API. Tenga en cuenta que esta documentación puede no estar siempre actualizada; si necesita más detalles, descargue el último código fuente de FreeCAD y compile la documentación usted mismo. Si tienes preguntas urgentes sobre el código, por favor, pregúntalas en la sección de desarrolladores del Foro de FreeCAD.

La compilación de la documentación de la API sigue los mismos pasos generales que la compilación del ejecutable de FreeCAD, como se indica en la página Compilar en Linux.

Flujo de trabajo general para compilar la documentación de programación de FreeCAD. Los paquetes Doxygen y Graphviz deben estar en el sistema, así como el propio código fuente de FreeCAD. CMake configura el sistema de manera que con una sola instrucción de fabricación la documentación de todo el proyecto se compila en muchos archivos HTML con diagramas.

Construcción de la documentación del código fuente

Si tienes Doxygen instalado, es muy fácil construir la documentación. También instala Graphviz para poder producir diagramas que muestren las relaciones entre las diferentes clases y bibliotecas en el código de FreeCAD. Graphviz también es utilizado por Gráfico de dependencia de FreeCAD para mostrar las relaciones entre diferentes objetos.

sudo apt install doxygen graphviz

Then follow the same steps you would do to compile FreeCAD, as described on the compile on Unix 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

Como se mencionó en Compilación (aceleración), la -j opción establece el número de núcleos de CPU utilizados para la compilación. Los archivos de documentación resultantes aparecerán en el directorio.

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

The DevDoc target will generate a significant amount of data, around 5 GB of new files, particularly due to the diagrams created by Graphviz.

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

Otras versiones

FreeCAD 0.12 documentación alojada en Sourceforge.

Desarrollo de FreeCAD 0.16 documentación construida por qingfeng.xia.

FreeCAD 0.19 development documentation built by qingfeng.xia.

Integrar la documentación de Coin3D

En los sistemas Unix es posible vincular la documentación de origen de Coin3D con la de FreeCAD. Esto permite una navegación más fácil y diagramas de herencia completos para las clases derivadas de Coin.

  • Instale el paquete libcoin-doc, libcoin80-doc, o un paquete de nombre similar.
  • Descomprima el archivo coin.tar.gz ubicado en /usr/share/doc/libcoin-doc/html; los archivos pueden estar ya descomprimidos en su sistema.
  • Genera de nuevo la documentación de fuente.

Si no instalas el paquete de documentación de Coin, se generarán los enlaces para acceder a la documentación en línea en BitBucket. Esto sucederá si un archivo de etiquetas de Doxygen puede ser descargado en tiempo de configuración con wget.

Usando 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);