domingo, 2 de octubre de 2022

Modelador FreeCAD (XXI)

 

Consola Python en FreeCAD

FreeCAD (XXI)

Introducción a Python

Python es un lenguaje de programación open source muy popular. Tiene características que lo hacen idóneo para los usuarios de FreeCAD. Es muy fácil de aprender, sobre todo para quienes no tienen experiencia previa en programación. Además de utilizarse en FreeCAD puede utilizarse en aplicaciones como Blender, Inkscape o Grass. FreeCAD utiliza mucho el lenguaje Python. Se puede utilizar Python para acceder y controlar casi cualquier característica de FreeCAD. Por ejemplo, se puede crear objetos nuevos, modificar su geometría, analizar su contenido o incluso crear nuevos controles de interfaz, herramientas y paneles. Algunos bancos de trabajo incluidos en la instalación básica y la mayoría de los bancos disponibles como complementos están totalmente programados en Python. FreeCAD tiene una consola Python que se activa mediante Ver > Paneles > Consola de Python. A menudo es útil para ejecutar operaciones para las que aún no hay ningún botón, para comprobar si alguna forma presenta problemas, o para ejecutar tareas repetitivas. Pero la consola Python tiene otro uso importante: cada vez que se pulsa un botón o se ejecuta otras operaciones en FreeCAD, la consola muestra el código Python correspondiente, así que constituye una fuente de aprendizaje del lenguaje. FreeCAD tiene también un sistema de macros, que permite grabar acciones para luego repetir la secuencia. Ese sistema también utiliza la consola Python, registrando todo lo que aparece en ella.

Escribir código Python

Hay dos maneras fáciles de escribir código Python en FreeCAD:

  • desde la consola Python: los comandos se escriben uno a uno y se ejecutan cuando se pulsa Intro
  • desde el editor de macros: admiten procesos más complejos, compuestos por varias líneas que se ejecutan cuando se ejecuta la macro.

La consola Python tiene la ventaja de que permite detectar los errores de código de manera inmediata.

Crear un documento nuevo

Para crear un nuevo documento vacío: doc = FreeCAD.newDocument(). En cuanto se completa la sentencia doc = FreeCAD. el programa muestra una pequeña ventana en la que se puede seleccionar cualquiera de las opciones disponibles para acabar el comando, así que sólo habrá que seleccionar newDocument (con doble clic) y luego escribir () y pulsar Intro. Los paréntesis son obligatorios cuando se utiliza funciones Python.

Crear y modificar un objeto

Cuando se escribe un punto tras un comando, la consola muestra todas las opciones disponibles para el mismo. Si se escribe doc. aparecerá una pequeña ventana con todas las opciones disponibles para doc. Las palabras que aparecen escritas con la inicial mayúscula son atributos, contienen un valor. Las que empiezan con minúscula son funciones o métodos, ejecutan algo. Las que empiezan con guión bajo (_) son para uso interno del módulo, se pueden ignorar. Para añadir un objeto puede utilizarse una sentencia como box box = doc.addObject("Part::Box","miCaja"). El objeto miCaja aparece en el árbol, pero puede que no se muestre en la ventana 3D. Eso es porque cuando se trabaja con Python el recálculo no es automático, hay que ordenarlo mediante la sentencia doc.recompute(). La sentencia box.Height = 5 adjudicará automáticamente la altura 5 a la caja seleccionada.

Modificar la ubicación

La posición y la orientación de los objetos puede manipularse fácilmente desde Python. Por ejemplo, para que la posición de un objeto cambie al punto (5,5,0) habría que ejecutar la siguiente secuencia de comandos:

print(box.Placement)

print(box.Placement.Base)

box.Placement.Base = sumvec

otherpla = FreeCAD.Placement()

otherpla.Base = FreeCAD.Vector(5,5,0)

box.Placement = otherpla


Daniel Trujillano, Arquitecto

http://www.arquitectotrujillano.com/

No hay comentarios:

Publicar un comentario