Source documentation/es: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "Luego siga los mismos pasos que seguiría para compilar FreeCAD, como se describe en la página Compilar en Linux y se resume aquí para mayor comodidad. * Obtenga el código fuente de FreeCAD y colóquelo en su propio directorio {{incode|freecad-source}}. * Crea otro directorio {{incode|freecad-build}} en el que compilarás FreeCAD y su documentación. * Configure las fuentes con {{incode|cmake}}, asegurándose de indicar el directorio de fuen...")
 
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav|Extra python modules|List of Commands}}


{{Docnav/es
<div class="mw-translate-fuzzy">
|[[Extra python modules/es|Módulos extra python]]
El código fuente de FreeCAD está comentado para permitir la generación automática de la documentación html con [http://www.doxygen.org Doxygen].
|[[Contributors/es|Contribuidores]]
</div>
}}


{{TOCright}}
The documentation is hosted online at the [http://www.freecadweb.org/api/ FreeCAD API website]. Please note that this documentation may not always be up to date; if you need more details, download FreeCAD's latest source code and compile the documentation yourself. If you have pressing questions about the code please ask in the developer section of the [https://forum.freecadweb.org/index.php FreeCAD forum].


==Vista general==
Compiling the API documentation follows the same general steps as compiling the FreeCAD executable, as indicated in the [[CompileOnUnix|compile on Unix]] page.
El código fuente de FreeCAD se comenta para permitir la generación automática de documentación de programación usando [[Doxygen/es|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 [https://freecad.github.io/SourceDoc/ 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 [https://forum.freecadweb.org/index.php 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 [[Compile_on_Linux/es|Compilar en Linux]].


[[File:FreeCAD_documentation_compilation_workflow.svg|800px]]
[[File:FreeCAD_documentation_compilation_workflow.svg|800px]]


{{Caption|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.}}
{{Caption|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.}}

<span id="Build_source_documentation"></span>
== Construcción de la documentación del código fuente ==


<span id="Complete_documentation"></span>
<div class="mw-translate-fuzzy">
=== Documentación completa ===
==== Construcción de la documentación del código fuente ====
</div>


Si tienes Doxygen instalado, es muy fácil construir la documentación. También instala [https://www.graphviz.org/ 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 [[Std_DependencyGraph/es|Gráfico de dependencia]] de FreeCAD para mostrar las relaciones entre diferentes objetos.
<div class="mw-translate-fuzzy">
Si tienes Doxygen instalado, es muy sencillo construir la documentación. Vete al directorio de construcción de FreeCAD, configura tu código fuente con CMake, ejecuta
</div>
{{Code|code=
{{Code|code=
sudo apt install doxygen graphviz
sudo apt install doxygen graphviz
}}
}}


Luego siga los mismos pasos que seguiría para compilar FreeCAD, como se describe en la página [[Compile_on_Linux/es|Compilar en Linux]] y se resume aquí para mayor comodidad.
Then follow the same steps you would do to compile FreeCAD, as described on the [[CompileOnUnix|compile on Unix]] page, and summarized here for convenience.
* Get the source code of FreeCAD and place it in its own directory {{incode|freecad-source}}.
* Obtenga el código fuente de FreeCAD y colóquelo en su propio directorio {{incode|freecad-source}}.
* Create another directory {{incode|freecad-build}} in which you will compile FreeCAD and its documentation.
* Crea otro directorio {{incode|freecad-build}} en el que compilarás FreeCAD y su documentación.
* Configure the sources with {{incode|cmake}}, making sure you indicate the source directory, and specify the required options for your build.
* Configure las fuentes con {{incode|cmake}}, asegurándose de indicar el directorio de fuentes y especificar las opciones requeridas para su compilación.
* Trigger the creation of the documentation using {{incode|make}}.
* Activa la creación de la documentación usando {{incode|make}}.
{{Code|code=
{{Code|code=
git clone https://github.com/FreeCAD/FreeCAD.git freecad-source
git clone https://github.com/FreeCAD/FreeCAD.git freecad-source
Line 37: Line 42:
}}
}}


Mientras estás dentro del directorio de construcción, da la siguiente instrucción para crear sólo la documentación.
While you are inside the build directory issue the following instruction to create only the documentation.
{{Code|code=
{{Code|code=
make -j$(nproc --ignore=2) DevDoc
make -j$(nproc --ignore=2) DevDoc
}}
}}
Como se mencionó en [[Compiling (Speeding up)/es|Compilación (aceleración)]], la {{incode|-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.
<div class="mw-translate-fuzzy">
y consulta los archivos html resultantes empezando por Doc/SourceDocu/html/index.html
(nota: el objetivo de DevDoc no es válido para la construcción con autotools)
</div>
{{Code|code=
{{Code|code=
freecad-build/doc/SourceDocu/html/
freecad-build/doc/SourceDocu/html/
}}
}}


The point of entrance to the documentation is the {{incode|index.html}} file, which you can open with a web browser:
El punto de entrada a la documentación es el archivo {{incode|index.html}}, que se puede abrir con un navegador web:
{{Code|code=
{{Code|code=
xdg-open freecad-build/doc/SourceDocu/html/index.html
xdg-open freecad-build/doc/SourceDocu/html/index.html
}}
}}


The {{incode|DevDoc}} target will generate a significant amount of data, around 5 GB of new files, particularly due to the diagrams created by Graphviz.
El objetivo {{incode|DevDoc}} generará una cantidad significativa de datos, alrededor de 5 GB de nuevos archivos, particularmente debido a los diagramas creados por Graphviz.


<span id="Reduced_documentation"></span>
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].
=== Documentación reducida ===

La documentación completa usa alrededore de 3Gb de espacio en disco. Se puede generar una versión alternativa y más pequeña de la documentación, que sólo requiere unos 600 MB, con un objetivo diferente. Esta es la versión que se muestra en el [https://freecad.github.io/SourceDoc/ sitio web de FreeCAD API].
{{Code|code=
{{Code|code=
make -j$(nproc --ignore=2) WebDoc
make -j$(nproc --ignore=2) WebDoc
}}
}}


La documentación en el [https://freecad.github.io/SourceDoc/ sitio web de FreeCAD API] se genera automáticamente desde https://github.com/FreeCAD/SourceDoc. Cualquiera puede reconstruirlo y enviar un pull request:
<div class="mw-translate-fuzzy">
Como una alternativa, la documentación es generada de vez en cuando y accesible en sourceforge [http://free-cad.sf.net/SrcDocu/index.html aquí]
</div>


* Bifurca el repositorio en 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].
* en su máquina: clone el código FreeCAD (si aún no lo ha hecho), cree un directorio de compilación para el documento y clone el repositorio de SourceDoc anterior en él. Ese SourceDoc se actualizará cuando reconstruyas el documento y podrás confirmar y enviar los resultados después:
{{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
}}
* Vaya a su bifurcación en línea y cree un pull request.


== Otras versiones ==
[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/ Desarrollo de FreeCAD 0.19] documentación creada por [http://forum.freecadweb.org/viewtopic.php?t=12613 qingfeng.xia].


<span id="Integrate_Coin3D_documentation"></span>
<div class="mw-translate-fuzzy">
==== Documentación de Coin3D integrada ====
== Integrar la documentación de Coin3D ==
</div>


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.
<div class="mw-translate-fuzzy">
En sistemas unix, es posible vincular la documentación del código fuente de Coin3D con la de FreeCAD.
Esto permite una navegación más sencilla y diagramas de herencia completos para las clases derivadas de Coin.
</div>


*Instale el paquete {{incode|libcoin-doc}}, {{incode|libcoin80-doc}}, o un paquete de nombre similar.
<div class="mw-translate-fuzzy">
*Descomprima el archivo {{incode|coin.tar.gz}} ubicado en {{incode|/usr/share/doc/libcoin-doc/html}}; los archivos pueden estar ya descomprimidos en su sistema.
* En Debian y sistemas derivados:
*Genera de nuevo la documentación de fuente.
: - Instala el paquete libcoin60-doc
: - Descomprime el archivo /usr/share/doc/libcoin60-doc/html/coin.tag.gz
: - Regenera la documentación del código fuente
: Ya estás listo para navegar offline.
</div>


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 [https://coin3d.bitbucket.io/Coin/ BitBucket]. Esto sucederá si un archivo de etiquetas de Doxygen puede ser descargado en tiempo de configuración con {{incode|wget}}.
<div class="mw-translate-fuzzy">
* Si no quieres o no puedes instalar el paquete de documentación de Coin, los vínculos serán generados para acceder a la documentación online de Coin en doc.coin3D.org, si los archivos de etiquetas de doxygen pueden ser descargados y configurados en el momento de configuración (wget).
</div>


<span id="Using_Doxygen"></span>
== Using Doxygen ==
== Usando Doxygen ==


See the [[Doxygen|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.
Vea la página [[Doxygen/es|Doxygen]] para una extensa explicación sobre cómo comentar el código fuente de C++ y Python para que pueda ser procesado por Doxygen para crear automáticamente la documentación.


Essentially, a comment block, starting with {{incode|/**}} or {{incode|///}} for C++, or {{incode|##}} for Python, needs to appear before every class or function definition, so that it is picked up by Doxygen. Many [[Doxygen#Doxygen markup|special commands]], which start with {{incode|\}} or {{incode|@}}, can be used to define parts of the code and format the output. [[Doxygen#Markdown support|Markdown syntax]] is also understood within the comment block, which makes it convenient to emphasize certain parts of the documentation.
Esencialmente, un bloque de comentarios, comenzando con {{incode|/**}} o {{incode|///}} para C++, o {{incode|##}} para Python, debe aparecer antes de cada definición de clase o función, para que sea recogido por Doxygen. Muchos [[Doxygen/es#Doxygen markup|comandos especiales]], que comienzan con {{incode||}} o {{incode|@}}, pueden ser usados para definir partes del código y dar formato a la salida. [[Doxygen#Markdown support/es|Markdown sintaxis]] también se entiende dentro del bloque de comentarios, lo que hace conveniente enfatizar ciertas partes de la documentación.
{{Code|code=
{{Code|code=
/**
/**
Line 110: Line 122:
}}
}}


{{docnav/es|Extra python modules/es|List of Commands/es}}


{{Docnav/es
{{Userdocnavi}}
|[[Extra python modules/es|Módulos extra python]]
|[[Contributors/es|Contribuidores]]
}}


{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation/es]]
[[Category:Developer Documentation{{#translation:}}]]
{{clear}}
{{clear}}

Latest revision as of 19:05, 31 October 2023

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

Documentación completa

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

Luego siga los mismos pasos que seguiría para compilar FreeCAD, como se describe en la página Compilar en Linux y se resume aquí para mayor comodidad.

* Obtenga el código fuente de FreeCAD y colóquelo en su propio directorio freecad-source.
* Crea otro directorio freecad-build en el que compilarás FreeCAD y su documentación.
* Configure las fuentes con cmake, asegurándose de indicar el directorio de fuentes y especificar las opciones requeridas para su compilación.
* Activa la creación de la documentación usando 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

Mientras estás dentro del directorio de construcción, da la siguiente instrucción para crear sólo la documentación.

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/

El punto de entrada a la documentación es el archivo index.html, que se puede abrir con un navegador web:

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

El objetivo DevDoc generará una cantidad significativa de datos, alrededor de 5 GB de nuevos archivos, particularmente debido a los diagramas creados por Graphviz.

Documentación reducida

La documentación completa usa alrededore de 3Gb de espacio en disco. Se puede generar una versión alternativa y más pequeña de la documentación, que sólo requiere unos 600 MB, con un objetivo diferente. Esta es la versión que se muestra en el sitio web de FreeCAD API.

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

La documentación en el sitio web de FreeCAD API se genera automáticamente desde https://github.com/FreeCAD/SourceDoc. Cualquiera puede reconstruirlo y enviar un pull request:

* en su máquina: clone el código FreeCAD (si aún no lo ha hecho), cree un directorio de compilación para el documento y clone el repositorio de SourceDoc anterior en él.  Ese SourceDoc se actualizará cuando reconstruyas el documento y podrás confirmar y enviar los resultados después:
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
  • Vaya a su bifurcación en línea y cree un pull request.

Otras versiones

Desarrollo de FreeCAD 0.19 documentación creada por 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

Vea la página Doxygen para una extensa explicación sobre cómo comentar el código fuente de C++ y Python para que pueda ser procesado por Doxygen para crear automáticamente la documentación.

Esencialmente, un bloque de comentarios, comenzando con /** o /// para C++, o ## para Python, debe aparecer antes de cada definición de clase o función, para que sea recogido por Doxygen. Muchos comandos especiales, que comienzan con o @, pueden ser usados para definir partes del código y dar formato a la salida. Markdown sintaxis también se entiende dentro del bloque de comentarios, lo que hace conveniente enfatizar ciertas partes de la documentación.

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