Pezzi
Plugin parametrici
Un plugin è una ricetta dichiarativa in un manifesto firmato — nessun codice di plugin viene mai eseguito. Si parte dal modello, lo si carica per sé, oppure lo si installa per un’intera organizzazione.
Prodotto
ModellazioneAssiemi & movimentoDisegniSimulazioneCAMMateriali & renderingAgenti IASviluppatoriModuli
Costruzioni in legnoTelaio in legnoX-LAM (CLT)Carpenteria metallicaAcciaio leggero (LGS)ScaleCopertureCasi d’uso
Progettazione meccanicaMaker & stampa 3DFalegnameria & arredamentoArchitettura & edilizia residenzialeKozorosa
AiutoPrezziDownloadFoundrySviluppatori
L’interfaccia è un client di un catalogo di azioni — oltre 240 nel nucleo, di più con ogni modulo — ciascuna con uno schema JSON. Script, CI e agenti chiamano esattamente le stesse, soggette agli stessi ambiti, revisioni e annullamenti.
REST
Si elenca il catalogo con i suoi schemi, poi si chiama qualsiasi azione sulla revisione in proprio possesso. Concorrenza ottimistica su ogni modifica: se qualcuno ha modificato nel frattempo, lo si viene a sapere, senza essere sovrascritti.
$KOZOROSA è l’indirizzo della propria installazione Foundry, oppure l’indirizzo locale indicato da Kozorosa per Mac in Help → Connect an AI Agent.
# Everything the modeler can do, with its schema curl -H "Authorization: Bearer $TOKEN" \ $KOZOROSA/api/studio/actions # One edit, on the revision you hold curl -X POST $KOZOROSA/api/studio/actions/push_pull \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"model_id":"…","expected_revision":12, "args":{"target":"body1","face_id":"f7","distance":40}}' # A hundred commands as one revision and one undo step curl -X POST $KOZOROSA/api/studio/actions/batch …
MCP
L’endpoint MCP espone il catalogo come strumenti. Impostazioni → API → Collega un agente IA fornisce la configurazione pronta per Claude Code, Claude Desktop, Codex, Cursor, VS Code, Gemini e Windsurf.
propose_changes mostra la modifica come un fantasma nella vista, applicata solo quando una persona la approva.describe_body, mass_properties, measure e gli elenchi dei moduli.POST /mcp X-API-Key: ign_… # scope: ai {"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "propose_changes", "arguments": { "model_id": "…", "title": "Lighten the web by 18%", "commands": [ {"action": "shell", "args": {"target": "web", "thickness": 2.4}} ] }}}
Python
La console Python lega l’intero catalogo a un solo nome, cad. Uno script viene eseguito in un processo isolato tutto suo; costituisce una modifica e un passo di annullamento, e uno script che fallisce non cambia nulla.
n = params["cells"]
pitch = params["pitch"]
strut = params["strut"]
for i in range(n + 1):
for j in range(n + 1):
cad.create_box(width=strut, depth=strut,
height=n * pitch,
position=[i * pitch, j * pitch, 0])
print("struts:", len(cad.features))
result = {"struts": len(cad.features),
"extent_mm": n * pitch}
Estenderlo
Pezzi
Un plugin è una ricetta dichiarativa in un manifesto firmato — nessun codice di plugin viene mai eseguito. Si parte dal modello, lo si carica per sé, oppure lo si installa per un’intera organizzazione.
Libreria
Ingranaggi cilindrici e conici, filettature ISO, bulloni e dadi esagonali, rondelle, molle elicoidali, flange per tubi e zigrinature, ciascuno fissato da uno SHA-256 del suo manifesto.
Moduli
I moduli aggiungono azioni del kernel, letture, formati di esportazione, strumenti e pagine — i moduli per l’edilizia sono costruiti così.
Importare un file STEP, spingere una faccia, quotarla. 5 giorni, tutti gli strumenti, nulla da pagare finché non si decide.