Guida completa allo scripting di Altium con ChatGPT

Ari Mahpour
|  Creato: luglio 21, 2023  |  Aggiornato: luglio 28, 2024
Chat GPT per lo scripting di Altium

 

Ormai sono passati alcuni mesi da quando le persone hanno iniziato a familiarizzare con l'IA Generativa e, in particolare, con ChatGPT. In passato abbiamo trattato la possibilità di utilizzare ChatGPT per la progettazione PCB, in questo articolo vedremo come utilizzare al meglio ChatGPT per scrivere codice DelphiScript per eseguire funzioni automatizzate all'interno di Altium stesso utilizzando Scripting di Altium.

Lo scripting di Altium e DelphiScript

Prima di immergerci nell'implementazione, è importante capire con cosa stiamo lavorando. Lo scripting di Altium è meglio supportato utilizzando DelphiScript (rispetto ad altri linguaggi). Personalmente, non ho mai visto Delphi usato al di fuori di Altium Designer. Questo non vuol dire che sia un cattivo linguaggio - semplicemente non è utilizzato comunemente come Python, C++, ecc. C'è molto da imparare con un nuovo linguaggio (specialmente se non si è programmatori nativi), quindi Altium ha messo insieme molte risorse e persino strumenti per la programmazione in DelphiScript qui. Se siete interessati ad approfondire il linguaggio, le risorse presenti possono essere utili.

Salvare il progetto

Man mano che ti immergi nello Scripting di Altium, svilupperai rapidamente un ampio repository di script che potresti voler salvare e/o condividere. Per creare un nuovo progetto di Scripting in Altium Designer, segui questi passaggi:

     

    1. Vai su File > Nuovo > Script > Progetto Script.
    2. Clicca con il tasto destro sul progetto appena creato e seleziona Aggiungi Nuovo al Progetto > Unità Script.

    Questa procedura creerà un nuovo file ".pas" che sarà il tuo script:

    Aggiunta di un file script in un progetto esistente

    Figura 1: Aggiunta di un file script al progetto esistente

    É conveniente salvare il nuovo script nel nostro workspace di Altium 365. Prima, assicurati di aver salvato il progetto localmente. Successivamente, clicca con il tasto destro sul progetto e vai su Storia & Controllo Versioni > Aggiungi Progetto al Controllo Versioni….

    Aggiunta di un progetto al Workspace di Altium 365

    Figura 2: Aggiunta del progetto allo Workspace di Altium 365

     

    Segui le istruzioni successive per salvare il progetto nel tuo Workspace Altium 365. Per ulteriori istruzioni su come scrivere, eseguire e fare il debug del codice DelphiScript all'interno di Altium Designer consulta la documentazione di Altium.

    Intelligenza artificiale generativa completa

    ChatGPT ha il "potenziale" di scrivere completamente DelphiScript dall'inizio alla fine. Uso "potenziale" invece di "capacità" perché non sempre riesce a fornire risultati corretti. Prendiamo un esempio semplice: chiediamo a ChatGPT di generare uno script in DelphiScript per elencare tutte le reti nel mio progetto. Ho iniziato con un prompt che era, ad essere onesti, molto vago:

    ChatGPT per stesura codice in DelphiScript

    Figura 3: Risposta iniziale di ChatGPT

    Inizialmente ha automaticamente inteso che volessi elencare tutte le reti da un PcbDoc. In realtà lo volevo dallo schema, quindi l'ho corretto:

    Tentativo di utilizzo di ChatGPT per Scripting Altium

    Figura 4: Uno dei tanti tentativi di ChatGPT di scrivere lo script corretto

     

    Non ho mostrato tutto il codice che ha generato, ma ciò che è emerso è che ho eseguito il codice più volte solo per ottenere errori da Altium Designer come: "Identificatore non dichiarato: eNet," o "Previsto: in For Pin in Component. Pins Do." Di conseguenza ho continuato a rispondere a ChatGPT con quegli errori più volte e, al quinto tentativo, ha generato il codice che stavo cercando.

    Da questo test è emerso che ChatGPT non è eccezionale nel generare DelphiScript da zero, ma è comunque in grado di farlo. Tienilo a mente prima di lanciare la tastiera contro il muro per la frustrazione.

    Assistente IA

    ChatGPT può anche fungere da valido assistente oltre che da programmatore collega. Puoi utilizzarlo per analizzare il tuo codice, individuare bug o aiutarti a modificare funzioni specifiche. Ad esempio, possiamo prendere uno script Altium esistente e chiedere a ChatGPT di modificarlo in base alle nostre esigenze.

    Sono disponibili risorse (specialmente ospitate su GitHub) che forniscono esempi di scripting Altium per te. Userò quelli forniti da Altium. Li puoi trovare a questo link.

    Sto iniziando con l'esempio PlaceAPort situato sotto \DelphiScript Scripts\SCH\Sch_Scripts.PrjScr. Ho dato a ChatGPT un compito molto banale:

    Prompt per ChatGPT sullo Scripting Altium

    ChatGPT mi ha dato il codice che seguiva esattamente questa richiesta. Ad essere onesti, questo è piuttosto semplice se sei semi-comodo con la programmazione. Rendiamolo un po' più difficile, richiedendo una conoscenza contestuale dello scripting Altium.

    Ecco il mio prompt aggiornato a ChatGPT:

    Utilizzo di ChatGPT per lo scripting di Altium

     

    Al primo tentativo si verifica un errore di "Identificatore non dichiarato:"

    Errore del debugger da Altium Designer

    Figura 5: Errore del debugger da Altium Designer

    Glielo faccio sapere e si scusa, ovviamente. Fallisce di nuovo con un errore "Identificatore non dichiarato: Nome" ma, alla terza volta, ottengo la mia etichetta di rete esattamente dove dovrebbe essere:

    Etichetta di rete e porta generata dagli script modificati

    Figura 6: Nuova etichetta di rete e porta generata dagli script modificati

    È ovvio che con un aumento della complessità ci sono meno possibilità che ChatGPT ottenga il tuo script corretto al primo colpo. Ho scoperto che, con persistenza, è in grado di ottenere eventualmente le cose nel modo giusto, specialmente se puoi assisterlo un po' (assumendo che tu capisca il codice che sta generando).

    Utilizzo di ChatGPT per lo scripting di Altium: conclusione

    In questo articolo abbiamo iniziato con un'introduzione allo scripting di Altium, come creare un progetto e salvarlo nel tuo spazio di lavoro Altium 365. Abbiamo esplorato esempi con ChatGPT dove ha generato script completamente da zero e ha anche modificato script che gli abbiamo fornito. Abbiamo dimostrato le sue capacità e come non ottenga sempre tutto correttamente. Sebbene non sia perfetto, può certamente agire come una guida lungo il tuo percorso di scripting di Altium. Più importante, è certamente meglio averlo che non averlo affatto.

    Sull'Autore

    Sull'Autore

    Ari è un ingegnere con una solida esperienza nei campi di progettazione, produzione, collaudo e integrazione di sistemi elettrici, meccanici e software. Ama riunire gli ingegneri addetti alla progettazione, alla verifica e al collaudo e farli lavorare insieme come un'unità affiatata.

    Risorse correlate

    Documentazione Tecnica Correlata

    Tornare alla Pagina Iniziale
    Thank you, you are now subscribed to updates.