Centro usuarios avanzados
Este es el lugar para venir si eres un usuario experimentado y quieres aprender más sobre la personalización y ampliación de FreeCAD.
FreeCAD es extensible mediante código Python que se ejecuta directamente en la Consola de Python, o que se carga desde los módulos al inicio. Esto significa que puedes modificar FreeCAD sin necesidad de recompilar el programa. Por ejemplo, puedes:
- Crear y modificar geometría: puedes crear un nuevo tipo de objeto, ya sea desde cero o adaptando un tipo existente.
- Crear herramientas y comandos personalizados: añade tu propio conjunto de herramientas que ejecutan tu código.
- Modificar la interfaz: crea barras de herramientas para colocar tus herramientas, crea ventanas especiales, paneles o interfaces para interactuar con tus herramientas.
- Modificar la representación del gráfico de la escena: FreeCAD tiene procesos separados para construir la geometría y mostrarla en la pantalla. Tienes acceso completo a la forma en que el contenido de la escena se muestra en la pantalla, por lo tanto puedes modificar esa representación, interactuar con ella, o añadirle un comportamiento personalizado. También puedes añadir widgets de pantalla personalizados, como información, arrastradores, anclas o entidades temporales.
Si quieres contribuir con contenido a estas páginas, solicita una cuenta wiki con permisos de editor en el foro, y lee las WikiPáginas para conocer las directrices generales que debes seguir. Para otras formas de contribuir con el proyecto, vea la página Ayuda a FreeCAD.
Personalizando FreeCAD
- Personalización de la interfaz: Empezando por el principio: Barras de herramientas y atajos de teclado
- Trabajando con Macros: Registrar fácilmente las tareas que se repiten con frecuencia o el código Python.
- Recetas de macros
- Personalizar barras de herramientas
- Instalar más ambientes de trabajo
Guionización en FreeCAD
General
- Introducción a Python - Ver también otros tutoriales de Python en la parte inferior de esta página
- Tutorial guionización en FreeCAD - Una visión general a guionización Python en FreeCAD
- Guionización básico en FreeCAD: Bien, lo básico...
- Comandos de la interfaz gráfica de usuario : Añadiendo comandos personalizados a la interfaz gráfica de usuario
- Utilizando Unidades mezcladas en FreeCAD
- Perfilando el código Python
Modulos
La funcionalidad de FreeCAD está separada en Módulos que tratan con tipos de datos y aplicaciones especiales. FreeCAD tiene módulos incorporados y módulos de extensión (plug-ins). Una vez que los módulos de extensión son instalados, están disponibles para ti tan fácilmente como los módulos incorporados. Los módulos descritos a continuación son los módulos por defecto, incluidos en cada instalación de FreeCAD.
- Los Módulos incorporados son los principales módulos de FreeCAD. Contienen herramientas para manipular configuraciones generales de FreeCAD, documentos y sus contenidos.
- Creación de ambientes de trabajo te muestra cómo crear tu propio ambientes de trabajo
Trabajando con Mallas
- Guionización Mallas: Cómo interactuar con el Ambiente de trabajo Mallas
Trabar con Piezas
- El Ambiente de trabajo Pieza: Cómo se utilizan las herramientas y la estructura de Tecnología Open CASCADE en FreeCAD
- Guionización topología de datos: Cómo interactuar con el módulo de Pieza
- PythonOCC: Cómo dar rienda suelta a todo el poder de OpenCasCade
- Malla a Pieza: Conversión entre tipos de objetos
=Accediendo los gráficos de escena Coin
- Los gráficos de escena de Coin/Inventor: Cómo funciona la escenografía FreeCAD
- Pivy: Cómo acceder y modificar las escenografías
Controlando el interfaz Qt
- PySide: Cómo acceder la interfaz, y modificar su contenido
- Utilizando la interfaz gráfica de usuario de FreeCAD en otra aplicación Qt con PyQt
Trabajando con objetos paramétricos
- Objetos de guiónes: cómo hacer objetos 100% desde guiónes en Python
- Objetos guiónes con adjunto: cómo hacer que los objetos de guión se puedan adjuntar a otros objetos.
- Scripted objects saving attributes: cómo guardar y restaurar atributos de la clase proxy con
__getstate__
y__setstate__
. - Migración de objetos guiónes: cómo migrar objetos con guiónes antiguos a una nueva clase.
Ejemplos
- Pedazos de código : Una colección de pedazos de código en Python para FreeCAD, para servir como utilidades en tus archivos de guión...
- Función de dibujar líneas: Cómo construir una simple herramienta para dibujar líneas
- Creación de letreros de diálogo: Como crear letreros de diálogo con el diseñador de Qt, y utilizarlos en FreeCAD
- FreeCAD embebido: Cómo importar FreeCAD como un módulo de Python en otras aplicaciones
- El módulo de croquizado añade funciones básicas de dibujo 2D a FreeCAD. Está escrito enteramente en Python, así que puede ser un buen ejemplo si quieres escribir tus propios módulos.
- Biblioteca de matemática vectorial de FreeCAD : Un par de funciones practicas para manipular vectores en FreeCAD. Esta biblioteca está incluida en el módulo de croquizado.
Funciones del API
La documentación completa de la API de FreeCAD se encuentra en http://www.freecadweb.org/api/ . Contiene tanto las APIs de C++ como las de Python, y aún no está totalmente bien formateada, lo que puede ser confuso cuando se busca código sólo en python. Una versión más fácil de navegar se puede encontrar aquí. Tenga en cuenta que puede estar incompleta, ya que se actualiza manualmente. Para una información más precisa, navega por los módulos directamente desde la consola de Python de FreeCAD.
Relacionado: Exponer C++ a Python
Modificación avanzada
- Inicio y configuración: Inicio y opciones del comando de inicio
- Instalación en Windows: Utilizando el instalador de Windows
- Compilando FreeCAD en Windows y Compilando FreeCAD en Linux
- Construcción de marca: Simples modificaciones que puedes hacer al código fuente para cambiar algunos aspectos de FreeCAD
- Módulos extra en Python : Extiende el interprete de Python de FreeCAD con estos potentes módulos!
Tutoriales de Python
Estos son unos buenos tutoriales genéricos, no específicos para FreeCAD, te pueden interesar si eres nuevo en Python.
Python
- Tutorial Oficial de Python - Un tutorial muy completo para descubrir Python
- Non-programmer tutorial para Python - un excelente wikilibro
- Python para novatos - Un gran tutorial que cubre todos los básicos
PySide - Cómo crear y manejar la interfaz Qt UI de FreeCAD desde python
- PySide tutorial : Un tutorial independiente de la plataforma que muestra el uso de PySide con ejemplos
- PySide/PyQt tutorial : Un tutorial fácil de leer que cubre PySide y PyQt con ejemplos
- Documentación de PySide : del Proyecto Qt (la gente que lo escribió todo)
- Uso de QtCreator en PySide : también del Proyecto Qt
- PySide referencia : un sinfín de detalles sobre las minucias de PySide y Qt, una fuente de referencia fiable
- PySide fragmentos de código : una base de datos de fragmentos de código de PySide en la que se puede buscar.
Las siguientes dos referencias son específicas de PyQt (no de PySide) pero pueden ofrecer alguna información de utilidad:
- Basic PyQt tutorial : Un sencillo y corto tutorial basado en linux que explica cómo trabajar con PyQt y Qt Designer
- Programación de aplicaciones Qt en python : Un tutorial más profundo que cubre todo el proceso de trabajo con qt y python
Pivy - Cómo interactuar con las escenas 3D de FreeCAD
- Pivy - Incorporación de un lenguaje guionización dinámico a una biblioteca de gráficos de escenas : Tesis que explica Pivy en detalle
- Programación de gráficos 3D de alto nivel en Python : Ejemplo de Pivy de Pycon 2004
- Introducción de Pivy en studierstube (Mirror) : Un artículo que no es realmente un tutorial, pero que ilustra bien cómo funciona Pivy (requiere una cuenta académica)
Proyectos de la comunidad
En el Portal de la Comunidad, puedes encontrar otros proyectos basados en FreeCAD dirigidos por la comunidad de usuarios de FreeCAD. Si estás empezando un nuevo proyecto de FreeCAD, ¡asegúrate de listarlo allí! También tenemos una página con cosas que puedes hacer si quieres Ayudar a FreeCAD.

- FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub