Third Party Libraries/es: Difference between revisions

From FreeCAD Documentation
m (Languages in alphabetic order, except english that goes first)
(Updating to match new version of source page)
 
(148 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
=== Resumen ===
Estas son bibliotecas que no se han cambiado en el proyecto de FreeCAD. Son utilizadas básicamente sin cambios como bibliotecas de vínculos dinámicos (*.so o *.dll). Si se necesita un cambio o una clase que las envuelva, entonces el código del envoltorio o la biblioteca modificada tienen que moverse al paquete base de FreeCAD.
Las bibliotecas utilizadas son:


{{Docnav/es
Considera el uso de [[#LibPack/es|LibPack]] en lugar de descargar e instalar todo por tu cuenta.
|[[Compiling_(Speeding_up)/es|Compilación (aceleración)]]
|[[Third_Party_Tools/es|Herramientas de terceros]]
}}


{{TOCright}}
=== Enlaces ===


== Overview ==

<div class="mw-translate-fuzzy">
== Resumen ==
Estas son bibliotecas que FreeCAD utiliza como dependencias de terceros durante la compilación. Normalmente son [https://en.wikipedia.org/wiki/Dynamic_loading bibliotecas enlazadas dinámicamente] y tienen una extensión {{incode|.so}} en Linux/MacOS y {{incode|.dll}} en Windows, y van acompañadas de sus archivos de cabecera {{incode|.h}} o {{incode|.hpp}} o similares. Si se necesita una biblioteca modificada, o una clase envolvente, el código de la biblioteca modificada, o la envolvente, tiene que formar parte del código fuente de FreeCAD, y compilarse junto con él.
</div>

Las dependencias deben ser instaladas en el sistema antes de proceder a la compilación; ver [[Compile_on_Linux/es|compilar en Linux]], [[Compile_on_Windows/es|compilar en Windows]], y [[Compile_on_MacOS/es|compilar en MacOS]] para más información.

Si está compilando con Windows, considere usar el [[#LibPack|LibPack]] en lugar de intentar instalar las bibliotecas individualmente.

<span id="Links"></span>
== Enlaces ==

<div class="mw-translate-fuzzy">
{| class="wikitable" style="text-align:left"
{| class="wikitable" style="text-align:left"
|+ Tabla de enlaces
|-
|-
! Nombre biblioteca !! Versión necesitada !! Enlace para conseguirla
! Nombre biblioteca !! Versión necesaria !! Enlace para obtenerla
|-
|-
| Python || >= 2.5.x || http://www.python.org/
| Python || >= 3.6 || http://www.python.org/
|-
|-
| OpenCasCade || >= 5.2 || http://www.opencascade.org
| Boost || >= 1.33 || http://www.boost.org/
|-
|-
| Qt || >= 4.1.x || http://www.qtsoftware.com
| OpenCASCADE || >= 7.3 || http://www.opencascade.org
|-
|-
| Coin3D || >= 2.x || http://www.coin3d.org
| Qt || >= 5.4 || https://www.qt.io/
|-
|-
| ODE || >= 0.10.x || http://www.ode.org
| Shiboken2 || {{Emphasis|same as Qt}} || https://wiki.qt.io/Qt_for_Python/Shiboken
|-
|-
| SoQt || >= 1.2 || http://www.coin3d.org
| PySide2 || {{Emphasis|same as Qt}} || https://wiki.qt.io/Qt_for_Python/Shiboken
|-
|-
| Xerces-C++ || >= 2.7.x < 3.0 || http://xml.apache.org/xerces-c/
| Coin3D || >= 3.x || https://github.com/coin3d/coin
|-
|-
| GTS || >= 0.7.x || http://gts.sourceforge.net/
| SoQt (deprecated) || >= 1.2 || https://github.com/coin3d/soqt
|-
|-
| Zlib || >= 1.x.x || http://www.zlib.net/
| Quarter || >= 1.0 || https://github.com/coin3d/quarter
|-
|-
| Boost || >= 1.33.x || http://www.boost.org/
| Pivy || >= 0.6.5 || https://github.com/coin3d/pivy/
|-
|-
| Eigen3 || >= 3.0.1 || http://eigen.tuxfamily.org/index.php?title=Main_Page
| FreeType || >= XXX || XXX
|-
| PyCXX || >= XXX || XXX
|-
| KDL || >= XXX || XXX
|-
| Point Cloud Library || >= XXX || XXX
|-
| Salome SMESH || >= XXX || XXX
|-
| VTK || >= 6.0 || XXX
|-
| Ply || >= 3.11 || https://www.dabeaz.com/ply/
|-
| Xerces-C++ || >= 3.0 || https://xerces.apache.org/xerces-c/
|-
| Eigen3 || >= 3.0 || http://eigen.tuxfamily.org/index.php?title=Main_Page
|-
| Zipios++ || >= 0.1.5 || https://snapwebsites.org/project/zipios, https://github.com/Zipios/Zipios
|-
| Zlib || >= 1.0 || http://www.zlib.net/, https://github.com/madler/zlib
|-
| libarea || >= 0.0.20140514-1 || https://github.com/danielfalck/libarea
|-
|}
|}
</div>


<span id="Details"></span>
=== Detalles ===
== Detalles ==


==== Python ====
=== Python ===
'''Versión:''' 2.5 o superior


<div class="mw-translate-fuzzy">
'''Licencia:''' Python 2.5 licencia
=== Python ===
'''Versión:''' 3.3 o superior
</div>


'''Licencia:''' Python 3.3 licencia
Puedes utilizar el código fuente o los binarios de http://www.python.org/ o utilizar alternativamente ActiveState Python de http://www.activestate.com/ aunque es algo difícil conseguir las bibliotecas depuradas de ActiveState.


{{VeryImportantMessage|Python 2 quedó obsoleto en 2019. El futuro desarrollo de FreeCAD utilizará exclusivamente Python 3; no se probará la compatibilidad con Python 2, por lo que los antiguos ambientes de trabajo y macros que utilizan esta versión tendrán que ser actualizados o pueden dejar de funcionar. Por favor, publica en el [https://forum.freecadweb.org/ foro de FreeCAD] si encuentras problemas con Python 3.}}
===== Descripción =====
Python es el principal lenguaje de escritura y es utilizado a través de la aplicación.
Por ejemplo:


<div class="mw-translate-fuzzy">
* Implementar archivos de guión para hacer pruebas sobre:
Python es un popular lenguaje de guionización multipropósito que es ampliamente utilizado en Linux y en el software de código abierto. En FreeCAD, Python se utiliza durante la compilación y también en tiempo de ejecución de diferentes maneras. Se utiliza
** perdidas de memoria
* para escribir guiónes de prueba para comprobar diferentes condiciones, como fugas de memoria, para asegurar la funcionalidad del software después de los cambios, para las comprobaciones posteriores a la compilación, y las pruebas de cobertura,
** asegurar la presencia de funcionalidad después de hacer cambios
* para escribir [[macros/es|macros]] y grabación de macros,
** comprobaciones tras la construcción
* para implementar la lógica de la aplicación para los paquetes estándar,
** comprobar la cobertura de las pruebas
* para implementar herramientas auxiliares como el [[Std_AddonMgr/es|Gestor Complementos]],
* Macros y grabación de macros
* para implementar bancos de trabajo completos como [[Draft_Workbench/es|Borrador]] y [[Arch_Workbench/es|Arquitectura]],
* Implementar la lógica de la aplicación para paquetes estándar
* para cargar dinámicamente paquetes,
* Implementación de entornos completos
* para implementar reglas de diseño (ingeniería del conocimiento),
* Carga dinámica de paquetes
* para hacer interacciones de lujo en Internet como grupos de trabajo y PDM
* Implementación de reglas para el diseño (ingeniería del conocimiento)
</div>
* Haciendo algo en Internet como grupos de trabajo y PDM
* Y más ...


En Linux, Python suele estar ya instalado en tu distribución. Para Windows puedes obtener un binario precompilado de [http://www.python.org/ Python.org] o utilizar [http://www.activestate.com/ ActiveState Python], aunque es más difícil obtener las librerías de depuración de esta última.
Especialmente la carga dinámica de paquetes de Python se utiliza para cargar en tiempo de ejecución funcionalidades adicionales y entornos necesitados para las tareas. Para una visión más detallada mira: www.python.org Por qué Python? podrías preguntar. Existen varias razones: He utilizado diferentes lenguajes en mi vida profesional:
* Perl
* Tcl/Tk
* VB
* Java
Python está más orientado a objetos que Perl y Tcl, el código no está tan liado como en Perl y VB. Java no es un lenguaje de escritura en primer lugar y difícil (o imposible) de embeber. Python está bien documentado y extendido. Está también bien comprobado y tiene un fuerte soporte en la comunidad de software libre.


Python fue elegido como el lenguaje de guionización para FreeCAD por diferentes razones:
===== Créditos =====
* Es más orientado a objetos que Perl y Tcl.
Van para Guido van Rossum y un montón de gente que hace de Python un éxito!
* El código es más legible que Perl y Visual Basic.
* Es más fácil de incrustar en otra aplicación, a diferencia de, por ejemplo, Java.


En sinopsis, Python está bien documentado y es fácil de integrar y extender en una aplicación C++. También está bien probado y tiene un fuerte apoyo de la comunidad de código abierto. Lee más sobre Python y explora la documentación oficial en [http://www.python.org Python.org].
==== OpenCasCade ====


=== Boost ===
'''Versión:''' 5.2 o superior


'''Licencia:''' OCTPL
'''Versión:''' 1.33 o superior


'''Licencia:''' Boost Software Licencia - Versión 1.0
OCC es un kernel de CAD completo. Originalmente, fue desarrollado por Matra Datavision en Francia para las aplicaciones Strim y Euclid Quantum y después lo pasaron a código libre. Es una enorme biblioteca y hace que sea posible una aplicación de CAD libre en primer lugar, proporcionando algunos paquetes que serían complicados o imposibles de implementar en un proyecto de código libre:
* Un kernel de geometría que admite STEP
* Un modelo topológico de datos y todas las funciones necesarias para trabajar con (cortar, fusionar, extruir, etc.)
* Procesadores estándar de importación / Exportación como STEP, IGES, VRML
* Visores 3D y 2D con soporte para la selección
* Un documento y estructura de datos de proyecto con soporte para guardar y restaurar, vinculación externa de documentos, recalculo del historial de diseño (modelado paramétrico) y una facilidad de cargar nuevos tipos de datos como un paquete de extensión dinámicamente


Las bibliotecas Boost C++ son colecciones de bibliotecas de código abierto revisadas por pares que amplían la funcionalidad de C++. Están pensadas para ser ampliamente útiles en un amplio espectro de aplicaciones, y para funcionar bien con la biblioteca estándar de C++. La licencia de Boost está diseñada para fomentar su uso tanto en proyectos de código abierto como de código cerrado.
Para conocer más sobre OpenCasCade echa un vistazo a la página de OpenCasCade o http://www.opencascade.org.


Due to their popularity and stability, many Boost libraries have been accepted for incorporation into the C++11 standard, and more are planned for inclusion in subsequent C++ standards.
==== Qt ====


En orden de asegurar la eficiencia y flexibilidad, Boost hace un uso extensivo de las plantillas. Boost ha sido una fuente de trabajo extensivo e investigación en programación general y meta-programación en C++. Para saber más sobre Boost, visite la página [http://www.boost.org/ Boost página inicio].
'''Versión:''' 4.1.x o superior


<span id="OpenCASCADE_Technology"></span>
'''Licencia:''' GPL v2.0/v3.0 o Comercial (desde la versión 4.5 también en LPGL v2.1)
=== OpenCASCADE Tecnología ===


'''Versión:''' 6.7 o superior
No creo que necesite decir mucho sobre Qt. Es uno de las utilidades para interfaces gráficas de usuario GUI más utilizadas en los proyectos de código libre. Para mi el punto más importante para utilizar Qt es Qt Designer y la posibilidad de cargar letreros de diálogo completos como recursos (XML) e incorporar complementos (widgets) especializados. En una aplicación de CAX la interacción con el usuario y los letreros de diálogo son de lejos la parte más importante del código y un buen diseñador de letreros de diálogo es muy importante para extender FreeCAD fácilmente con nuevas funcionalidades. Puedes encontrar información complementaria y una muy buena documentación de ayuda en línea en http://www.qtsoftware.com.


'''Licencia:''' versión 6.7.0 y posteriores se rigen por la [https://www.opencascade.com/content/licensing Licencia Pública General Reducida de GNU (LGPL) versión 2.1 con una excepción adicional]. Las versiones anteriores utilizan la [https://www.opencascade.com/content/occt-public-license Open CASCADE Licencia pública tecnológica].
==== Coin3D ====


La tecnología OpenCASCADE (OCCT) es un kernel CAD profesional con todas las funciones. Fue desarrollado en 1993 y originalmente llamado CAS.CADE, por Matra Datavision en Francia para las aplicaciones Strim (Styler) y Euclid Quantum. En 1999 se publicó como software de código abierto, y desde entonces se llama OpenCASCADE.
'''Versión:''' 2.0 o superior


OCCT is a big and complex set of C++ libraries that provide functionality required by a CAD application:
'''Licencia:''' GPL v2.0 o Comercial
* A complete STEP compliant geometry kernel.
* A topological data model and needed functions to work with shapes (cut, fuse, extrude, and many others).
* Standard import and export processors for files like STEP, IGES, VRML.
* A 2D and 3D viewer with selection support.
* A document and project data structure with support for save and restore, external linking of documents, recalculation of design history (parametric modeling) and a facility to load new data types as an extension package dynamically.


There are two main versions of OpenCASCADE in existence in different Linux distributions. One is distributed by the original developers; it is known as OCCT, and is packaged under the names {{incode|occ}} or {{incode|occt}}. The other version is the "community edition", abbreviated OCE, and is normally found with the {{incode|oce}} name. FreeCAD can compile against either version, however, since 2016 FreeCAD recommends compiling against the official OCCT libraries rather than the OCE ones. The reason is that the community edition lacks important bug fixes and functions that make using FreeCAD better.
Coin es una biblioteca de gráficos 3D de alto nivel con una interfaz de programación para aplicaciones en C++. Coin utiliza estructuras de datos de la escena gráfica para renderizar gráficos en tiempo real adecuados para la mayoría de aplicaciones de visualización para ingeniería y científicos.


Para obtener más información, visite el [http://www.opencascade.org OpenCASCADE sitio web].
Coin es portable sobre un amplio rango de plataformas: Cualquier plataforma UNIX / Linux / *BSD, todos los sistemas operativos de Microsoft Windows, y Mac OS X.


=== Qt ===
Coin está construido sobre el estándar de la industria OpenGL bibloteca de modo de renderizado inmediato, y añade abstracción para primitivas de nivel superior, proporciona interactividad 3D, aumenta enormemente la conveniencia y productividad de los programadores, y contiene muchas características de optimización complejas para un renderizado rápido que son transparentes para el programador de la aplicación.


'''Versión:''' 4.1 o superior
Coin está basado en el SGI de la API de Open Inventor. Open Inventor, para aquellos que no están familiarizados con él, hace tiempo que se ha convertido en el estándar de las bibliotecas gráficas para software de visualización y simulación en la comunidad de ingeniería y científica. Se ha probado sobre un periodo de más de 10 años, su madurez contribuye a su éxito como un bloque de construcción principal en miles de aplicaciones de ingeniería de larga escala alrededor del mundo.


'''Licencia:''' GPL v2.0/v3.0 o Comercial; desde versión 4.5 también en LPGL v2.1.
Utilizaremos OpenInventor como visor 3D porque el visor de OpenCasCade (AIS y Graphics3D) tiene serias limitaciones cuellos de botella de rendimiento, especialmente cuando se trata de renderizado de ingeniería de larga escala. Otras cosas como texturas o renderizado volumétrico no están soportados realmente, etc.


Qt es uno de los juegos de herramientas de interfaz gráfica de usuario (GUI) más populares disponibles en el mundo del código abierto. FreeCAD utiliza este kit de herramientas para dibujar la interfaz del programa. Para ello, la aplicación Qt Designer es muy útil, ya que permite a los desarrolladores dibujar rápidamente los diálogos y ventanas, exportarlos como archivos de recursos XML, y luego cargar estas interfaces en tiempo de ejecución.
Desde la versión 2.0 Coin utiliza un modelo de licencia diferente. Ya no es LGPL. Utilizan GPL para el código libre y licencias comerciales para aplicaciones de código cerrado. Eso significa que si quieres vender tu trabajo basado en FreeCAD (módulos de extensión) tienes que comprar una licencia de Coin!


Further information about Qt libraries and their programming documentation are available at [https://doc.qt.io/?hsCtaTracking=f641fd1a-772b-4957-964b-dad954b8d702%7C46c97dac-f1f6-49b3-ae46-8070fc35ea13 Qt Documentation].
==== ODE (Open dynamic engine) ====


==== Shiboken2 and Pyside2 ====
'''Versión:''' 0.10.0 o superior


Shiboken is the Python binding generator that Qt for Python uses to create the PySide module, in other words, it is the system that is used to expose the Qt C++ API to the Python language.
'''Licencia:''' LGPL v2.1 o superiores o BSD


The original Shiboken and PySide packages were meant to be used with Python 2 and Qt4; since these two versions are considered obsolete in 2019, please use Shiboken2 and PySide2, which work with Python 3 and Qt5. New development of FreeCAD is done with Python 3 and Qt5, so compatibility with Python 2 and Qt4 is not guaranteed after FreeCAD 0.18.
ODE una biblioteca de código libre, de alto rendimiento para la simulación de dinámica de cuerpos rígidos. Está lleno de características, estable, maduro e independiente de la plataforma con una API C/C++ sencilla de utilizar. Tiene tipos de unión avanzados e detección de colisiones integrada con fricción. ODE para simulación de vehículos, objetos en entornos virtuales y criaturas virtuales. Es utilizado actualmente en muchos juegos de ordenador, herramientas de autor 3D y herramientas de simulación.


Read more about Shiboken and Pyside on [https://wiki.qt.io/Qt_for_Python/Shiboken Qt for Python].
===== Créditos =====
Russell Smith es el principal autor de ODE.


=== Coin3D ===


'''Versión:''' 3.0 o superior
==== SoQt ====

'''Licencia:''' Licencia BSD de 3 cláusulas

Coin3D es una biblioteca de gráficos 3D de alto nivel con una interfaz de programación de aplicaciones C++. Utiliza estructuras de datos scenegraph para renderizar gráficos en tiempo real adecuados para todo tipo de aplicaciones de visualización científica y de ingeniería.

Coin3D se basa en la biblioteca de renderizado de modo inmediato OpenGL, estándar industrial, y añade abstracciones para primitivas de nivel superior, proporciona interactividad 3D y contiene muchas funciones de optimización complejas para un renderizado rápido y transparente para el programador de la aplicación.

Coin3D es compatible con la API Open Inventor 2.1 de SGI. Esta API se ha convertido en la interfaz gráfica estándar de facto para la visualización 3D en la comunidad científica y de ingeniería. Desde el año 2000 ha demostrado su valía como elemento fundamental en miles de aplicaciones de ingeniería de todo el mundo.

Coin3D (Open Inventor) se utiliza como visor 3D en FreeCAD porque el visor de OpenCASCADE (AIS y Graphics3D) tiene limitaciones y cuellos de botella en el rendimiento, especialmente con el renderizado de ingeniería a gran escala; otras cosas como las texturas o el renderizado volumétrico no son totalmente compatibles con el visor de OpenCASCADE.

<div class="mw-translate-fuzzy">
Coin3D es portátil en una amplia gama de plataformas: Sistemas operativos UNIX, Linux, BSD, MacOS X y Microsoft Windows. Para obtener más información sobre esta biblioteca, visite [https://github.com/coin3d/coin Coin3D página de inicio].
</div>

<span id="SoQt_(deprecated)"></span>
==== SoQt (obsoleto) ====


'''Versión:''' 1.2.0 o superior
'''Versión:''' 1.2.0 o superior


'''Licencia:''' GPL v2.0 o Comercial
'''Licencia:''' Licencia BSD de 3 cláusulas


SoQt es el enlace de Coin3D (Open Inventor) con el juego de herramientas de interfaz gráfica de usuario Qt.
SoQt es la cubierta de Inventor para Qt Gui Toolkit. Por desgracia, ya no es LGPL así que tenemos que eliminarlo del código base de FreeCAD y vincularlo como una biblioteca. Tiene el mismo modelo de licencia que Coin. Y tienes que compilarlo con tu versión de Qt.


SoQt is no longer used in FreeCAD, it was replaced by Quarter which is a more recent Qt binding.
==== Xerces-C++ ====


==== Quarter ====
'''Versión:''' 2.7.0 o superior


<div class="mw-translate-fuzzy">
'''Licencia:''' Apache Software License Versión 2.0
==== Quarter ====
'''Versión:''' 1.0 o superior
</div>


'''Licencia:''' Licencia BSD de 3 cláusulas
Xerces-C++ es un analizador de validación XML escrito en C++. Xerces-C++ hace sencillo darle a tu aplicación la capacidad de leer y escribir datos XML. Una biblioteca compartida se proprciona para analizar, generar, manipular, y validar documentos XML.


Quarter is a newer Coin3D binding to the Qt toolkit. A version of it is included in the source code of FreeCAD so it is compiled together with it.
Xerces-C++ es fiel a la recomendación de XML 1.0 y muchos estándares asociados (mira las características abajo).


==== Pivy ====
El analizador proporciona alto rendimiento, modularidad, y escalabilidad. El código fuente, los ejemplos y la documentación de la API se proporcionan con el analizador. Para la portabilidad, se ha tenido cuidado de hacer un mínimo uso de plantillas, no RTTI, y un mínimo uso de #ifdefs.


'''Versión:''' 0.6.3 o superior
El analizador es utilizado para guardar y restaurar parámetros en FreeCAD.


'''Licencia:''' Licencia BSD de 3 cláusulas
==== GTS ====


[[Pivy|Pivy]] is a library that wraps the Coin3d library for use in [[Python|Python]]. It is not needed to build FreeCAD or to start it, but it is needed as a runtime dependency by the [[Draft_Workbench|Draft Workbench]], and by other workbenches that use it internally, like [[Arch_Workbench|Arch]] and [[BIM_Workbench|BIM]].
'''Versión:''' 0.7.x


If you are not going to use these workbenches, you won't need Pivy.
'''Licencia:''' LGPL v2.0 o superior


=== Ply ===
GTS se mantiene para la biblioteca de superficies trianguladas GNU. Es una biblioteca de código libre que pretende proporcionar un conjunto de funciones útiles para trabajar con superficies 3D malladas con triángulos interconectados. El código fuente está disponible gratuitamente bajo la licencia LGPL.


'''Versión:''' 3.11 o superior
Normalmente nio es necesario para compilar FreeCAD. Puedes conmutar la utilización con un preprocesador en FCConfig.h.


'''Licencia:''' Licencia BSD de 3 cláusulas
==== Zlib ====


Ply is the Python-Lex-Yacc parser. It is used as a runtime dependency by the [[OpenSCAD Workbench|OpenSCAD Workbench]]. If you don't use this workbench, you may not need this package.
'''Versión:''' 1.x.x

For more information see [https://www.dabeaz.com/ply/ Ply homepage]

=== Xerces-C++ ===

'''Versión:''' 3.0 o superior

'''Licencia:''' Apache Software Licencia Versión 2.0

Xerces-C++ es un analizador sintáctico XML de validación escrito en un subconjunto portátil de C++. Xerces-C++ hace que sea fácil dar a su aplicación la capacidad de leer y escribir datos XML. Se proporciona una biblioteca compartida para analizar, generar, manipular y validar documentos XML. Xerces-C++ es fiel a la recomendación XML 1.0 y a los estándares asociados.

El analizador sintáctico se utiliza para guardar y restaurar parámetros en FreeCAD. Para más información, consulte [https://xerces.apache.org/xerces-c/ Página de inicio de Xerces-C++].

=== Eigen3 ===

'''Versión:''' 3.0 o superior

'''License:''' Starting from the 3.1.1 version, it is licensed under the [http://www.mozilla.org/MPL/2.0 Mozilla Public License 2.0]. Earlier versions were licensed under the [https://www.gnu.org/licenses/lgpl-3.0.en.html GNU Lesser General Public License 3].

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

If you just want to use Eigen, you can use the header files right away. There is no binary library to link to, and no configured header file. Eigen is a pure template library defined in the headers.

Eigen is used in FreeCAD for many vector operations in 3D space. To learn more, visit [http://eigen.tuxfamily.org/index.php?title=Main_Page Eigen homepage].

=== Zipios++ ===

'''Versión:''' 0.1.5 o superior

'''Licencia:''' Licencia Pública General Reducida de GNU 2.1

Zipios++ is a C++ library for reading and writing {{incode|.zip}} files. Access to individual entries is provided through standard C++ iostreams. A simple read-only virtual file system that mounts regular directories and {{incode|.zip}} files is also provided. The structure and public interface of Zipios++ are loosely based on the {{incode|java.util.zip}} package of Java.

FreeCAD's native file format {{incode|.FCstd}} is in reality a {{incode|.zip}} file that stores and compresses other types of data within it, such as BREP and XML files. Therefore, Zipios++ is used to save and open compressed archives, including FreeCAD files.

A copy of Zipios++ is included in the source code of FreeCAD so it is compiled together with it. If you want to use an external Zipios++ library, provided by your operating system, you may set <code>-DFREECAD_USE_EXTERNAL_ZIPIOS=ON</code> with {{incode|cmake}}.

Zipios++ uses the Zlib library to perform the actual decompression of files.

==== Zlib ====


'''Licencia:''' zlib
'''Versión:''' 1.0 o superior


'''Licencia:''' zlib licencia
zlib está diseñado para ser libre, de propósito general, legalmente sin estorbos, eso es, no está cubierto por ningún tipo de patentes. Es una biblioteca de compresión de datos con mínimas perdidas para utilizarse en virtualmente cualquier hardware y sistema operativo. El formato de datos zlib es portable a través de las plataformas. A diferencia del método de compresión utilizada en la compresión de Unix y en el formato de imágenes GIF, el método de compresión utilizado en zlib esencialmente nunca expande los datos. (LZW puede duplicar o triplicar el tamaño del archivo en casos extremos.) La huella de memoria de zlib también es independiente de las entradas de datos y se puede reducir, si es necesario, con algunas perdidas en la compresión.


Zlib está diseñado para ser una biblioteca de compresión de datos gratuita, de propósito general y sin pérdidas, para su uso en cualquier hardware y sistema operativo. Implementa el algoritmo de compresión {{incode|DEFLATE}} comúnmente utilizado en los archivos {{incode|.zip}} y {{incode|.gzip}}.


A copy of this library is included in the source code of FreeCAD so it is compiled together with it.


==== Boost ====
=== libarea ===


'''Versión:''' 1.33.x
'''Version:''' 0.0.20140514-1 or higher


'''Licencia:''' Boost Software License - Versión 1.0
'''Licencia:''' Licencia BSD de 3 cláusulas


Libarea is a software library to compute profile and pocket operations which are used in computer aided manufacturing (CAM) software. It was created by Dan Heeks for his HeeksCNC project.
Las bibliotecas C++ Boost son una colección de evaluación de pares, bibliotecas de código libre que extienden la funcionalidad de C++. Las bibliotecas se licencian bajo la licencia de software de Boost, diseñada para permitir que Boost sea utilizado con proyectos de código abierto o cerrado. Muchos de los fundadores de Boost están en el comité del estándar C++ y diversas bibliotecas de Boost han sido aceptadas para incorporarse al informe técnico 1 de C++0x.


A copy of the library is included with the source code of the [[CAM_Workbench|CAM Workbench]], so it is compiled together with it.
Las bibliotecas apuntan a un amplio rango de usuarios y dominios de aplicaciones C++. Desde bibliotecas de propósito general como SmartPtr, a abstracciones de OS como FileSystem, para bibliotecas principalmente apuntando a otros desarrolladores de bibliotecas y usuarios avanzados de C++, como MPL.


== LibPack ==
En orden de asegurar la eficiencia y flexibilidad, Boost hace un uso extensivo de las plantillas. Boost ha sido una fuente de trabajo extensivo e investigación en programación general y meta-programación en C++.


<div class="mw-translate-fuzzy">
Mira: http://www.boost.org/ para más detalles.
== LibPack ==
LibPack es un conveniente paquete con las dependencias de compilación de FreeCAD reunidas. Sólo es necesario si estás compilando FreeCAD en Windows con Visual Studio 2015 y superior. Puedes encontrar el último LibPack en la página [https://github.com/FreeCAD/FreeCAD/releases releases].
</div>


Si estás trabajando bajo Linux, no necesitas el LibPack, ya que puedes obtener las dependencias de los repositorios de tu distribución como se menciona en la página [[Compile_on_Linux/es|compilar en Linux]].
=== LibPack ===


=== FreeCAD 12.1.2 ===
LibPack es un paquete conveniente con todas las bibliotecas de arriba empaquetadas juntas. Está disponible actualmente para la plataforma Windows en la página de [[Download/es|Descargas]]! Si trabajas en Linux no necesitas LibPack, en su lugar asegúrate de utilizar los repositorios de paquetes de tu distribución Linux.


See the announcement in the forum: [https://forum.freecadweb.org/viewtopic.php?f=4&t=35789 New libpacks for Windows with Qt5.12, OCC7.3 and Python 3.6 by apeltauer]
==== FreeCADLibs7.x Registro de cambios ====
* Utilizando QT 4.5.x y Coin 3.1.x
* Biblioteca de plantilla Eigen añadida para Robot
* SMESH experimental


It includes among other things: Boost 1.67, Coin3D 4.0.0a, Eigen3, Open CASCADE Technology 7.3.0, Python 3.6.8, PySide2, Qt 5.12.1, Salome SMESH, Shiboken2, vtk7, Xerces-C, Zipios++, zlib 1.2.11


{{docnav/es|CompileOnMac/es|Third Party Tools/es}}


{{Docnav/es
{{languages/es | {{en|Third Party Libraries}} {{ru|Third Party Libraries/ru}} {{se|Third Party Libraries/se}} }}
|[[Compiling_(Speeding_up)/es|Compilación (aceleración)]]
|[[Third_Party_Tools/es|Herramientas de terceros]]
}}


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

Latest revision as of 16:49, 18 April 2024

Overview

Resumen

Estas son bibliotecas que FreeCAD utiliza como dependencias de terceros durante la compilación. Normalmente son bibliotecas enlazadas dinámicamente y tienen una extensión .so en Linux/MacOS y .dll en Windows, y van acompañadas de sus archivos de cabecera .h o .hpp o similares. Si se necesita una biblioteca modificada, o una clase envolvente, el código de la biblioteca modificada, o la envolvente, tiene que formar parte del código fuente de FreeCAD, y compilarse junto con él.

Las dependencias deben ser instaladas en el sistema antes de proceder a la compilación; ver compilar en Linux, compilar en Windows, y compilar en MacOS para más información.

Si está compilando con Windows, considere usar el LibPack en lugar de intentar instalar las bibliotecas individualmente.

Enlaces

Nombre biblioteca Versión necesaria Enlace para obtenerla
Python >= 3.6 http://www.python.org/
Boost >= 1.33 http://www.boost.org/
OpenCASCADE >= 7.3 http://www.opencascade.org
Qt >= 5.4 https://www.qt.io/
Shiboken2 same as Qt https://wiki.qt.io/Qt_for_Python/Shiboken
PySide2 same as Qt https://wiki.qt.io/Qt_for_Python/Shiboken
Coin3D >= 3.x https://github.com/coin3d/coin
SoQt (deprecated) >= 1.2 https://github.com/coin3d/soqt
Quarter >= 1.0 https://github.com/coin3d/quarter
Pivy >= 0.6.5 https://github.com/coin3d/pivy/
FreeType >= XXX XXX
PyCXX >= XXX XXX
KDL >= XXX XXX
Point Cloud Library >= XXX XXX
Salome SMESH >= XXX XXX
VTK >= 6.0 XXX
Ply >= 3.11 https://www.dabeaz.com/ply/
Xerces-C++ >= 3.0 https://xerces.apache.org/xerces-c/
Eigen3 >= 3.0 http://eigen.tuxfamily.org/index.php?title=Main_Page
Zipios++ >= 0.1.5 https://snapwebsites.org/project/zipios, https://github.com/Zipios/Zipios
Zlib >= 1.0 http://www.zlib.net/, https://github.com/madler/zlib
libarea >= 0.0.20140514-1 https://github.com/danielfalck/libarea

Detalles

Python

Python

Versión: 3.3 o superior

Licencia: Python 3.3 licencia

Python 2 quedó obsoleto en 2019. El futuro desarrollo de FreeCAD utilizará exclusivamente Python 3; no se probará la compatibilidad con Python 2, por lo que los antiguos ambientes de trabajo y macros que utilizan esta versión tendrán que ser actualizados o pueden dejar de funcionar. Por favor, publica en el foro de FreeCAD si encuentras problemas con Python 3.

Python es un popular lenguaje de guionización multipropósito que es ampliamente utilizado en Linux y en el software de código abierto. En FreeCAD, Python se utiliza durante la compilación y también en tiempo de ejecución de diferentes maneras. Se utiliza

  • para escribir guiónes de prueba para comprobar diferentes condiciones, como fugas de memoria, para asegurar la funcionalidad del software después de los cambios, para las comprobaciones posteriores a la compilación, y las pruebas de cobertura,
  • para escribir macros y grabación de macros,
  • para implementar la lógica de la aplicación para los paquetes estándar,
  • para implementar herramientas auxiliares como el Gestor Complementos,
  • para implementar bancos de trabajo completos como Borrador y Arquitectura,
  • para cargar dinámicamente paquetes,
  • para implementar reglas de diseño (ingeniería del conocimiento),
  • para hacer interacciones de lujo en Internet como grupos de trabajo y PDM

En Linux, Python suele estar ya instalado en tu distribución. Para Windows puedes obtener un binario precompilado de Python.org o utilizar ActiveState Python, aunque es más difícil obtener las librerías de depuración de esta última.

Python fue elegido como el lenguaje de guionización para FreeCAD por diferentes razones:

  • Es más orientado a objetos que Perl y Tcl.
  • El código es más legible que Perl y Visual Basic.
  • Es más fácil de incrustar en otra aplicación, a diferencia de, por ejemplo, Java.

En sinopsis, Python está bien documentado y es fácil de integrar y extender en una aplicación C++. También está bien probado y tiene un fuerte apoyo de la comunidad de código abierto. Lee más sobre Python y explora la documentación oficial en Python.org.

Boost

Versión: 1.33 o superior

Licencia: Boost Software Licencia - Versión 1.0

Las bibliotecas Boost C++ son colecciones de bibliotecas de código abierto revisadas por pares que amplían la funcionalidad de C++. Están pensadas para ser ampliamente útiles en un amplio espectro de aplicaciones, y para funcionar bien con la biblioteca estándar de C++. La licencia de Boost está diseñada para fomentar su uso tanto en proyectos de código abierto como de código cerrado.

Due to their popularity and stability, many Boost libraries have been accepted for incorporation into the C++11 standard, and more are planned for inclusion in subsequent C++ standards.

En orden de asegurar la eficiencia y flexibilidad, Boost hace un uso extensivo de las plantillas. Boost ha sido una fuente de trabajo extensivo e investigación en programación general y meta-programación en C++. Para saber más sobre Boost, visite la página Boost página inicio.

OpenCASCADE Tecnología

Versión: 6.7 o superior

Licencia: versión 6.7.0 y posteriores se rigen por la Licencia Pública General Reducida de GNU (LGPL) versión 2.1 con una excepción adicional. Las versiones anteriores utilizan la Open CASCADE Licencia pública tecnológica.

La tecnología OpenCASCADE (OCCT) es un kernel CAD profesional con todas las funciones. Fue desarrollado en 1993 y originalmente llamado CAS.CADE, por Matra Datavision en Francia para las aplicaciones Strim (Styler) y Euclid Quantum. En 1999 se publicó como software de código abierto, y desde entonces se llama OpenCASCADE.

OCCT is a big and complex set of C++ libraries that provide functionality required by a CAD application:

  • A complete STEP compliant geometry kernel.
  • A topological data model and needed functions to work with shapes (cut, fuse, extrude, and many others).
  • Standard import and export processors for files like STEP, IGES, VRML.
  • A 2D and 3D viewer with selection support.
  • A document and project data structure with support for save and restore, external linking of documents, recalculation of design history (parametric modeling) and a facility to load new data types as an extension package dynamically.

There are two main versions of OpenCASCADE in existence in different Linux distributions. One is distributed by the original developers; it is known as OCCT, and is packaged under the names occ or occt. The other version is the "community edition", abbreviated OCE, and is normally found with the oce name. FreeCAD can compile against either version, however, since 2016 FreeCAD recommends compiling against the official OCCT libraries rather than the OCE ones. The reason is that the community edition lacks important bug fixes and functions that make using FreeCAD better.

Para obtener más información, visite el OpenCASCADE sitio web.

Qt

Versión: 4.1 o superior

Licencia: GPL v2.0/v3.0 o Comercial; desde versión 4.5 también en LPGL v2.1.

Qt es uno de los juegos de herramientas de interfaz gráfica de usuario (GUI) más populares disponibles en el mundo del código abierto. FreeCAD utiliza este kit de herramientas para dibujar la interfaz del programa. Para ello, la aplicación Qt Designer es muy útil, ya que permite a los desarrolladores dibujar rápidamente los diálogos y ventanas, exportarlos como archivos de recursos XML, y luego cargar estas interfaces en tiempo de ejecución.

Further information about Qt libraries and their programming documentation are available at Qt Documentation.

Shiboken2 and Pyside2

Shiboken is the Python binding generator that Qt for Python uses to create the PySide module, in other words, it is the system that is used to expose the Qt C++ API to the Python language.

The original Shiboken and PySide packages were meant to be used with Python 2 and Qt4; since these two versions are considered obsolete in 2019, please use Shiboken2 and PySide2, which work with Python 3 and Qt5. New development of FreeCAD is done with Python 3 and Qt5, so compatibility with Python 2 and Qt4 is not guaranteed after FreeCAD 0.18.

Read more about Shiboken and Pyside on Qt for Python.

Coin3D

Versión: 3.0 o superior

Licencia: Licencia BSD de 3 cláusulas

Coin3D es una biblioteca de gráficos 3D de alto nivel con una interfaz de programación de aplicaciones C++. Utiliza estructuras de datos scenegraph para renderizar gráficos en tiempo real adecuados para todo tipo de aplicaciones de visualización científica y de ingeniería.

Coin3D se basa en la biblioteca de renderizado de modo inmediato OpenGL, estándar industrial, y añade abstracciones para primitivas de nivel superior, proporciona interactividad 3D y contiene muchas funciones de optimización complejas para un renderizado rápido y transparente para el programador de la aplicación.

Coin3D es compatible con la API Open Inventor 2.1 de SGI. Esta API se ha convertido en la interfaz gráfica estándar de facto para la visualización 3D en la comunidad científica y de ingeniería. Desde el año 2000 ha demostrado su valía como elemento fundamental en miles de aplicaciones de ingeniería de todo el mundo.

Coin3D (Open Inventor) se utiliza como visor 3D en FreeCAD porque el visor de OpenCASCADE (AIS y Graphics3D) tiene limitaciones y cuellos de botella en el rendimiento, especialmente con el renderizado de ingeniería a gran escala; otras cosas como las texturas o el renderizado volumétrico no son totalmente compatibles con el visor de OpenCASCADE.

Coin3D es portátil en una amplia gama de plataformas: Sistemas operativos UNIX, Linux, BSD, MacOS X y Microsoft Windows. Para obtener más información sobre esta biblioteca, visite Coin3D página de inicio.

SoQt (obsoleto)

Versión: 1.2.0 o superior

Licencia: Licencia BSD de 3 cláusulas

SoQt es el enlace de Coin3D (Open Inventor) con el juego de herramientas de interfaz gráfica de usuario Qt.

SoQt is no longer used in FreeCAD, it was replaced by Quarter which is a more recent Qt binding.

Quarter

Quarter

Versión: 1.0 o superior

Licencia: Licencia BSD de 3 cláusulas

Quarter is a newer Coin3D binding to the Qt toolkit. A version of it is included in the source code of FreeCAD so it is compiled together with it.

Pivy

Versión: 0.6.3 o superior

Licencia: Licencia BSD de 3 cláusulas

Pivy is a library that wraps the Coin3d library for use in Python. It is not needed to build FreeCAD or to start it, but it is needed as a runtime dependency by the Draft Workbench, and by other workbenches that use it internally, like Arch and BIM.

If you are not going to use these workbenches, you won't need Pivy.

Ply

Versión: 3.11 o superior

Licencia: Licencia BSD de 3 cláusulas

Ply is the Python-Lex-Yacc parser. It is used as a runtime dependency by the OpenSCAD Workbench. If you don't use this workbench, you may not need this package.

For more information see Ply homepage

Xerces-C++

Versión: 3.0 o superior

Licencia: Apache Software Licencia Versión 2.0

Xerces-C++ es un analizador sintáctico XML de validación escrito en un subconjunto portátil de C++. Xerces-C++ hace que sea fácil dar a su aplicación la capacidad de leer y escribir datos XML. Se proporciona una biblioteca compartida para analizar, generar, manipular y validar documentos XML. Xerces-C++ es fiel a la recomendación XML 1.0 y a los estándares asociados.

El analizador sintáctico se utiliza para guardar y restaurar parámetros en FreeCAD. Para más información, consulte Página de inicio de Xerces-C++.

Eigen3

Versión: 3.0 o superior

License: Starting from the 3.1.1 version, it is licensed under the Mozilla Public License 2.0. Earlier versions were licensed under the GNU Lesser General Public License 3.

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

If you just want to use Eigen, you can use the header files right away. There is no binary library to link to, and no configured header file. Eigen is a pure template library defined in the headers.

Eigen is used in FreeCAD for many vector operations in 3D space. To learn more, visit Eigen homepage.

Zipios++

Versión: 0.1.5 o superior

Licencia: Licencia Pública General Reducida de GNU 2.1

Zipios++ is a C++ library for reading and writing .zip files. Access to individual entries is provided through standard C++ iostreams. A simple read-only virtual file system that mounts regular directories and .zip files is also provided. The structure and public interface of Zipios++ are loosely based on the java.util.zip package of Java.

FreeCAD's native file format .FCstd is in reality a .zip file that stores and compresses other types of data within it, such as BREP and XML files. Therefore, Zipios++ is used to save and open compressed archives, including FreeCAD files.

A copy of Zipios++ is included in the source code of FreeCAD so it is compiled together with it. If you want to use an external Zipios++ library, provided by your operating system, you may set -DFREECAD_USE_EXTERNAL_ZIPIOS=ON with cmake.

Zipios++ uses the Zlib library to perform the actual decompression of files.

Zlib

Versión: 1.0 o superior

Licencia: zlib licencia

Zlib está diseñado para ser una biblioteca de compresión de datos gratuita, de propósito general y sin pérdidas, para su uso en cualquier hardware y sistema operativo. Implementa el algoritmo de compresión DEFLATE comúnmente utilizado en los archivos .zip y .gzip.

A copy of this library is included in the source code of FreeCAD so it is compiled together with it.

libarea

Version: 0.0.20140514-1 or higher

Licencia: Licencia BSD de 3 cláusulas

Libarea is a software library to compute profile and pocket operations which are used in computer aided manufacturing (CAM) software. It was created by Dan Heeks for his HeeksCNC project.

A copy of the library is included with the source code of the CAM Workbench, so it is compiled together with it.

LibPack

LibPack

LibPack es un conveniente paquete con las dependencias de compilación de FreeCAD reunidas. Sólo es necesario si estás compilando FreeCAD en Windows con Visual Studio 2015 y superior. Puedes encontrar el último LibPack en la página releases.

Si estás trabajando bajo Linux, no necesitas el LibPack, ya que puedes obtener las dependencias de los repositorios de tu distribución como se menciona en la página compilar en Linux.

FreeCAD 12.1.2

See the announcement in the forum: New libpacks for Windows with Qt5.12, OCC7.3 and Python 3.6 by apeltauer

It includes among other things: Boost 1.67, Coin3D 4.0.0a, Eigen3, Open CASCADE Technology 7.3.0, Python 3.6.8, PySide2, Qt 5.12.1, Salome SMESH, Shiboken2, vtk7, Xerces-C, Zipios++, zlib 1.2.11