L’integrazione tra intelligenza artificiale e progettazione CAD sta passando dalla generazione di immagini tridimensionali alla manipolazione diretta di modelli tecnici. Un progetto open source pubblicato su GitHub permette a Claude, sviluppato da Anthropic, e agli strumenti Codex collegati a ChatGPT, sviluppati da OpenAI, di controllare FreeCAD attraverso il Model Context Protocol, abbreviato in MCP.

L’integrazione consente di impartire istruzioni in linguaggio naturale per creare documenti, aggiungere solidi, modificare dimensioni, eliminare componenti, eseguire codice Python, consultare la struttura di un progetto e avviare alcune operazioni di analisi agli elementi finiti.

Non si tratta di una funzione incorporata nel nucleo ufficiale di FreeCAD. Il collegamento è basato su FreeCAD MCP, un progetto della comunità sviluppato dal programmatore noto su GitHub come neka-nat. Il software agisce come intermediario tra il modello linguistico e l’ambiente CAD, traducendo le richieste dell’utente in operazioni che FreeCAD può eseguire.

Che cos’è il Model Context Protocol

Il Model Context Protocol è uno standard aperto presentato da Anthropic il 25 novembre 2024. Il suo obiettivo è definire un metodo comune attraverso il quale un sistema di intelligenza artificiale può comunicare con programmi, archivi, database e strumenti esterni.

Un modello linguistico, utilizzato senza collegamenti aggiuntivi, può produrre testo, analizzare informazioni e suggerire procedure, ma non dispone necessariamente dell’accesso diretto alle funzioni di un programma installato sul computer. MCP crea un livello di comunicazione standardizzato tra il modello e il software.

L’architettura comprende un client MCP e uno o più server MCP. Claude Desktop di Anthropic o Codex di OpenAI possono agire come client. FreeCAD MCP opera invece come server, esponendo una serie di strumenti che il modello può richiamare durante la conversazione.

Quando l’utente scrive una richiesta come “crea un supporto rettangolare largo 80 millimetri con quattro fori da 5 millimetri”, il modello interpreta l’obiettivo, seleziona gli strumenti disponibili, prepara i parametri e invia i comandi a FreeCAD. Il programma CAD esegue le operazioni e restituisce informazioni sul risultato, compresa una vista del modello quando richiesta.

Il protocollo non contiene conoscenze CAD specifiche. Definisce il modo in cui gli strumenti vengono descritti, richiamati e controllati. Le capacità effettive dipendono dal server MCP, dalle funzioni esposte da FreeCAD e dalla qualità delle istruzioni generate dal modello di Anthropic o OpenAI.

Perché FreeCAD è adatto a questo tipo di integrazione

FreeCAD è un modellatore parametrico open source destinato alla progettazione di oggetti reali. Le geometrie possono essere costruite utilizzando misure, vincoli, relazioni e dipendenze tra elementi. Una modifica applicata a una proprietà può propagarsi alle parti del modello che dipendono da essa.

Il motore geometrico di FreeCAD è basato su Open CASCADE Technology, sviluppato nell’ecosistema di Open Cascade. Questa tecnologia gestisce solidi, superfici, curve NURBS, rappresentazioni BRep e operazioni booleane come unioni, sottrazioni e intersezioni.

FreeCAD utilizza inoltre Python in molte aree dell’applicazione. Le macro, gli strumenti personalizzati e diverse funzioni delle workbench possono essere controllati tramite codice Python. Questa caratteristica rende possibile trasformare le istruzioni generate da Claude o ChatGPT in operazioni CAD concrete.

Il sistema parametrico offre un altro vantaggio. L’intelligenza artificiale non deve produrre soltanto una mesh triangolare simile a un oggetto, come accade con molti generatori text-to-3D. Può lavorare su oggetti dotati di dimensioni, proprietà e relazioni modificabili.

Un componente costruito in questo modo può essere corretto, ridimensionato ed esportato in formati adatti alla stampa 3D, alla lavorazione CNC o allo scambio con altri software tecnici. Rimane però necessario verificare la struttura del modello e controllare che la geometria sia coerente con il processo produttivo previsto.

Come viene installato FreeCAD MCP

Il progetto FreeCAD MCP comprende due elementi principali: un componente aggiuntivo installato all’interno di FreeCAD e un server che comunica con il client di intelligenza artificiale.

La cartella dell’add-on deve essere copiata nella directory “Mod” utilizzata da FreeCAD. Il percorso cambia in base al sistema operativo e alla versione del programma. Su Windows viene utilizzata la cartella dei dati applicativi dell’utente. Su macOS e Linux il percorso può dipendere dalla versione di FreeCAD e dal sistema impiegato per installarlo.

Dopo il riavvio del programma compare una nuova workbench dedicata a MCP. Da questa area l’utente può avviare il server RPC, cioè il servizio locale che riceve le richieste e le trasmette alle API interne di FreeCAD.

La configurazione per Claude Desktop richiede l’installazione di uv o uvx, strumenti distribuiti da Astral, e l’inserimento del server FreeCAD MCP nel file di configurazione di Claude Desktop. Una volta riavviato il software di Anthropic, Claude può rilevare gli strumenti esposti dal server.

Il collegamento con OpenAI segue una procedura differente. Il server deve essere registrato nell’ambiente Codex attraverso la configurazione o gli strumenti da riga di comando previsti da OpenAI. Non tutte le modalità di utilizzo di ChatGPT offrono lo stesso accesso agli strumenti locali: il funzionamento dipende dal client, dal piano utilizzato e dalla configurazione disponibile.

Per impostazione predefinita, FreeCAD MCP ascolta le connessioni sul computer locale. Il progetto permette anche di accettare richieste provenienti da un’altra macchina della rete, ma questa funzione deve essere abilitata e configurata indicando gli indirizzi IP autorizzati.

Quali operazioni può eseguire l’intelligenza artificiale

FreeCAD MCP mette a disposizione diversi strumenti dedicati alla gestione dei documenti e degli oggetti CAD.

Claude di Anthropic o Codex di OpenAI possono creare un nuovo documento FreeCAD, aggiungere un oggetto, modificarne le proprietà o eliminarlo. Il modello può richiedere l’elenco dei documenti aperti, leggere gli oggetti presenti nel progetto e ottenere informazioni su un singolo componente.

È disponibile anche una funzione per acquisire la vista attiva. Il modello può quindi ricevere una rappresentazione visiva del risultato e utilizzarla come riscontro per le operazioni successive. Questo meccanismo rende possibile un ciclo di lavoro nel quale il sistema genera una geometria, osserva il risultato e tenta una correzione.

L’integrazione può inserire componenti da una libreria di parti, quando la libreria richiesta è installata, e può eseguire codice Python all’interno di FreeCAD. Quest’ultima funzione amplia il numero di operazioni disponibili, poiché consente al modello di utilizzare le API Python del software anche quando non esiste uno strumento MCP dedicato.

L’esecuzione di codice offre possibilità estese, ma richiede cautela. Un comando Python può modificare il documento, sovrascrivere dati o accedere alle risorse disponibili nell’ambiente in cui viene eseguito. Prima di collegare un server MCP è quindi opportuno controllare il codice del progetto, limitare l’accesso alla rete e lavorare su copie dei file originali.

I test con una libreria, un cubo e un’elica

Una prova pubblicata da Fabbaloo ha mostrato il collegamento tra ChatGPT di OpenAI e FreeCAD. Il primo modello richiesto era un cubo, un oggetto utile per verificare la comunicazione tra i programmi ma poco significativo dal punto di vista della complessità CAD.

Il test successivo prevedeva la costruzione di una libreria larga 1.000 millimetri, profonda 300 millimetri e dotata di tre vani alti 300 millimetri. ChatGPT ha scelto uno spessore di 18 millimetri per i pannelli e ha calcolato un’altezza complessiva di 972 millimetri.

Il sistema ha generato i due fianchi, il ripiano inferiore, due ripiani intermedi, il pannello superiore e un pannello posteriore sottile. Quest’ultimo elemento non era stato indicato nella richiesta. Il modello di OpenAI ha quindi applicato una propria interpretazione della struttura tipica di una libreria.

Il comportamento mostra sia il potenziale sia uno dei principali problemi della progettazione CAD basata sul linguaggio naturale. Il modello può colmare le informazioni mancanti, ma le sue decisioni potrebbero non coincidere con quelle del progettista. Un pannello posteriore, per esempio, influenza la rigidità, il costo, il montaggio, il peso e la quantità di materiale.

Un altro esperimento richiedeva un’elica con cinque pale lunghe 500 millimetri, un mozzo centrale da 100 millimetri e cinque fori passanti da 5 millimetri. FreeCAD ha prodotto una geometria visivamente coerente, ma i fori non erano presenti nella prima versione.

Dopo una richiesta di correzione, ChatGPT ha aggiunto i fori al mozzo e ha inserito elementi circolari scuri per renderli più visibili. Il test conferma che il flusso può essere iterativo: l’utente controlla il risultato, segnala l’errore e chiede al sistema di intervenire sul modello esistente.

La forma di un’elica non può però essere valutata soltanto attraverso una vista tridimensionale. Profilo delle pale, angolo di calettamento, distribuzione della corda, resistenza del materiale, bilanciamento e regime di rotazione richiedono calcoli e verifiche specifiche. Un modello plausibile sullo schermo non è automaticamente adatto all’impiego meccanico.

Dalla descrizione testuale a un modello parametrico controllabile

La qualità del risultato dipende in larga misura dalla precisione della richiesta. Un’istruzione generica costringe il modello a introdurre ipotesi su dimensioni, spessori, simmetrie e modalità di costruzione.

Per ottenere un componente utilizzabile è opportuno specificare unità di misura, quote principali, spessori minimi, diametri, raggi di raccordo, tolleranze, materiali e processo produttivo. Per un pezzo destinato alla stampa 3D possono essere indicate anche la tecnologia di stampa, la direzione di costruzione, le dimensioni dell’ugello e la necessità di evitare supporti.

Nel caso di un componente lavorato con una macchina CNC, la richiesta dovrebbe includere il numero di assi, il diametro minimo degli utensili, le superfici di riferimento, la presenza di sottosquadri e il grezzo disponibile.

La descrizione dovrebbe inoltre distinguere tra requisiti obbligatori e decisioni lasciate al sistema. Una frase come “lo spessore deve essere di 4 millimetri” impone un vincolo. Una frase come “scegli uno spessore adatto a una prima bozza” autorizza invece il modello a introdurre un valore non verificato.

Mantenere una struttura parametrica ordinata è altrettanto importante. Una geometria può apparire corretta pur essendo costruita attraverso numerose operazioni poco leggibili o fragili. Un progettista esperto deve controllare l’albero delle lavorazioni, i riferimenti tra le funzioni e la stabilità del modello dopo la modifica delle quote.

Analisi FEM attraverso CalculiX

FreeCAD MCP include uno strumento per avviare un’analisi FEM basata su CalculiX. CalculiX è un solutore open source sviluppato in origine da ingegneri di MTU Aero Engines per attività legate alla progettazione meccanica.

Nel sistema FEM di FreeCAD, CalculiX può essere utilizzato per analisi strutturali, termiche, lineari e non lineari. L’integrazione MCP può eseguire il solutore su un’analisi già presente nel documento e restituire valori riepilogativi, tra cui la tensione equivalente massima secondo von Mises, lo spostamento massimo e il numero di nodi.

La disponibilità del comando non significa che l’intero processo di simulazione possa essere delegato senza controllo. Una valutazione FEM richiede la definizione del materiale, dei vincoli, dei carichi, dei contatti e della mesh. Errori in uno di questi elementi possono produrre risultati numericamente validi ma privi di significato fisico.

Claude di Anthropic o ChatGPT di OpenAI possono aiutare nella preparazione del modello, nella generazione di script e nell’esecuzione di procedure ripetitive. La verifica delle condizioni al contorno e l’interpretazione dei risultati restano compiti tecnici che richiedono competenza ingegneristica.

I vantaggi per progettisti, laboratori e piccole imprese

L’interfaccia testuale può ridurre il tempo necessario per impostare geometrie elementari, produrre varianti dimensionali e automatizzare operazioni ripetitive.

Un progettista può chiedere a FreeCAD di creare una serie di staffe con misure differenti, modificare la disposizione dei fori o preparare versioni dello stesso contenitore per componenti elettronici di varie dimensioni. Un laboratorio può utilizzare il sistema per generare dime, supporti, adattatori e attrezzature interne partendo da una descrizione strutturata.

Per chi non conosce l’interfaccia di FreeCAD, MCP può offrire un primo accesso alle funzioni del programma. L’utente non deve ricordare la posizione di ogni comando, ma deve comunque comprendere le basi della geometria e della produzione per valutare ciò che viene generato.

L’integrazione può essere utile anche agli utenti esperti. In questo caso l’intelligenza artificiale assume il ruolo di assistente per la scrittura di macro Python, la creazione di strutture iniziali e la modifica di gruppi di parametri. Il professionista mantiene il controllo del progetto e interviene nei passaggi che richiedono scelte geometriche o ingegneristiche.

Limiti tecnici e responsabilità del progettista

I modelli linguistici possono dimenticare una caratteristica, interpretare in modo errato una quota o utilizzare un metodo di costruzione inadatto. Possono inoltre dichiarare di aver completato un’operazione che nel documento non è stata applicata nel modo previsto.

Per questo motivo il risultato deve essere verificato direttamente in FreeCAD. È necessario controllare misure, vincoli, solidità della geometria, interferenze, spessori, normali delle superfici e capacità di esportazione.

La verifica assume un peso maggiore quando il componente è destinato a sostenere carichi, ruotare ad alta velocità, entrare in contatto con persone o essere utilizzato in ambiti regolamentati.

Claude, ChatGPT e FreeCAD MCP non sostituiscono la responsabilità del progettista. L’intelligenza artificiale può preparare e trasformare la geometria, ma l’approvazione del modello deve dipendere da controlli tecnici, simulazioni adeguate e prove fisiche.

Un nuovo livello di automazione per il CAD open source

L’integrazione tra FreeCAD e MCP mostra come un modello linguistico possa passare dalla descrizione di una procedura all’esecuzione di operazioni all’interno di un programma tecnico.

Anthropic ha definito il protocollo iniziale, OpenAI ha introdotto il supporto MCP nei propri strumenti e la comunità open source ha costruito il collegamento con FreeCAD. GitHub ospita il codice del progetto, mentre FreeCAD mette a disposizione un ambiente parametrico e un’ampia interfaccia Python.

Il valore principale non consiste nella possibilità di ottenere un oggetto tridimensionale da una frase. Il punto centrale è la creazione di un ciclo di lavoro nel quale l’utente descrive un requisito, il sistema costruisce una geometria modificabile, FreeCAD restituisce il risultato e il progettista richiede correzioni successive.

Per componenti elementari, varianti parametriche e attività ripetitive, questo metodo può ridurre il lavoro manuale. Nei progetti complessi, l’esperienza CAD rimane necessaria per organizzare le lavorazioni, correggere le geometrie e garantire che il risultato rispetti i requisiti di produzione e sicurezza.

Di Fantasy

Lascia un commento