Usando ChatGPT para el scripting de Altium

Ari Mahpour
|  Creado: Julio 21, 2023  |  Actualizado: Agosto 9, 2023
Chat GPT para Altium Scripting

 

Ya han pasado algunos meses desde que la gente comenzó a familiarizarse con la IA Generativa y, más famosamente, ChatGPT. En mi último artículo, Usando ChatGPT para Pruebas Automatizadas, presenté el servicio ChatGPT, te mostré cómo familiarizarte con él y usarlo para generar código para ejecutar pruebas en tu hardware. En este artículo vamos a ver cómo utilizar mejor ChatGPT para escribir código DelphiScript para ejecutar funciones automatizadas dentro de Altium utilizando Scripting de Altium.

Comenzando

Antes de sumergirnos en la implementación, es importante entender con qué estamos trabajando aquí. El Scripting de Altium se soporta mejor utilizando DelphiScript (sobre otros lenguajes). Mientras que una rápida búsqueda en línea arroja resultados como, “Es 2022—¿No es hora de que comiences a programar en Delphi?” y encabezados llamativos como, “El lenguaje Pascal que se utiliza en Delphi es uno de los lenguajes de programación más populares y universales”, nunca he visto Delphi utilizado fuera de Altium Designer. Eso no quiere decir que sea un mal lenguaje - simplemente no es tan comúnmente utilizado como Python, C++, etc. Hay mucho que aprender con un nuevo lenguaje (especialmente si no eres un programador nativo), así que Altium ha reunido muchos recursos e incluso herramientas alrededor de la codificación en DelphiScript aquí. Si estás buscando profundizar en el lenguaje, los recursos allí pueden ser útiles.

Guardando Tu Proyecto

A medida que comiences con el Scripting de Altium, rápidamente crecerás un gran repositorio de scripts que querrás guardar y/o compartir. Para crear un nuevo proyecto de Scripting en Altium Designer, navega a Archivo > Nuevo > Script > Proyecto de Script. Haz clic derecho en tu proyecto recién creado y navega a Agregar Nuevo al Proyecto > Unidad de Script. Esto creará un nuevo archivo .pas que será tu script:

Chat GPT

Figura 1: Agregando un archivo de script al proyecto existente

Querremos guardar esto en nuestro espacio de trabajo de Altium 365. Primero asegúrate de haber guardado el proyecto localmente. Después de eso, haz clic derecho en el proyecto nuevamente y navega a Historial & Control de Versiones > Agregar Proyecto al Control de Versiones…

Chat GPT

Figura 2: Agregando el proyecto al Espacio de Trabajo de Altium 365

 

Siga las instrucciones posteriores para guardar el proyecto en su espacio de trabajo de Altium 365. Para obtener más instrucciones sobre cómo escribir, ejecutar y depurar código DelphiScript dentro de Altium Designer, consulte la documentación de Altium.

IA Generativa Completa

Ahora que estamos todos preparados, estamos listos para sumergirnos. ChatGPT tiene el "potencial" de escribir completamente DelphiScript de principio a fin. Utilizo "potencial" en lugar de "capacidad" aquí porque no siempre acierta. Tomemos un ejemplo simple donde le pedimos a ChatGPT que genere un script en DelphiScript para listar todas las redes en mi proyecto. Comencé con un prompt que era, para ser justos, muy vago:

ChatGPT

Figura 3: Respuesta inicial de ChatGPT

Esto automáticamente entendió que quería listar todas las redes de un PcbDoc. En realidad, lo quería del esquemático, así que lo corregí:

ChatGPT

Figura 4: Uno de los muchos intentos de ChatGPT para escribir el script correcto

 

No he mostrado todo el código que generó para mí, pero lo que sucedió después fue que ejecuté el código varias veces solo para que Altium Designer fallara en errores como “Identificador no declarado: eNet,” o “Se esperaba: in For Pin in Component. Pins Do.” Todo lo que hice fue responder a ChatGPT con esos errores varias veces, y al quinto intento, generó el código que estaba buscando.

Lo que está claro es que no es excelente generando DelphiScript desde cero, pero es capaz de hacerlo. Recuerda eso antes de lanzar tu teclado contra la pared de frustración.

Ayudante de IA

ChatGPT también puede estar disponible como más un compañero o programador colega. Puedes usar ChatGPT para analizar tu código, encontrar errores o ayudarte a ajustar funciones específicas. Podemos tomar un ejemplo de Scripting de Altium existente y hacer que ChatGPT lo modifique para satisfacer nuestras necesidades.

Hay recursos disponibles (especialmente alojados en GitHub) que proporcionan ejemplos de Scripting de Altium para ti. Voy a usar los oficialmente proporcionados por Altium. Se pueden encontrar aquí.

Estoy comenzando con el ejemplo PlaceAPort ubicado en \DelphiScript Scripts\SCH\Sch_Scripts.PrjScr. Le di a ChatGPT una tarea muy trivial:

ChatGPT

ChatGPT me dio el código que seguía exactamente esta solicitud. Para ser honesto, esto es bastante simple si te sientes medianamente cómodo con la programación. Hagámoslo un poco más difícil, lo que requiere conocimiento contextual del Scripting de Altium.

Aquí está mi indicación actualizada a ChatGPT:

Usando ChatGPT para la programación en Altium

 

Falla en el primer intento con un Identificador no declarado:

ChatGPT

Figura 5: Error del depurador de Altium Designer

Le hago saber eso y, por supuesto, se disculpa. Falla de nuevo con un error de “Identificador no declarado: Nombre” pero, al tercer intento, consigo mi etiqueta de red exactamente donde debe estar:

ChatGPT

Figura 6: Nueva etiqueta de red y puerto generados por scripts modificados

Es obvio que con un aumento en la complejidad hay menos posibilidades de que ChatGPT acierte tu script en el primer intento. He encontrado que, con persistencia, eventualmente logra hacer las cosas bien, especialmente si puedes asistirlo un poco (asumiendo que entiendes el código que está generando).

Conclusión

En este artículo comenzamos con una introducción a la programación en Altium, cómo crear un proyecto y guardarlo en tu espacio de trabajo de Altium 365. Nos adentramos en ejemplos con ChatGPT donde generó scripts completamente desde cero y también modificó scripts que le proporcionamos. Demostramos sus capacidades y cómo no siempre acierta. Aunque no es perfecto, ciertamente puede actuar como una guía a lo largo de tu viaje de programación en Altium. Lo más importante, es ciertamente mejor tenerlo que no tenerlo en absoluto.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Ari es un ingeniero con una amplia experiencia en diseño, fabricación, pruebas e integración de sistemas eléctricos, mecánicos y de software. Le apasiona integrar a los ingenieros de diseño, de verificación y de pruebas para que trabajen juntos como una unidad cohesiva.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.