Pièces
Extensions paramétriques
Une extension est une recette déclarative dans un manifeste signé — aucun code d’extension ne s’exécute jamais. Partez du modèle, téléversez-la pour vous-même, ou installez-la pour toute une organisation.
Produit
ModélisationAssemblages & mouvementMises en planSimulationFAOMatériaux & renduAgents IADéveloppeursModules
CharpenteOssature boisCLTCharpente métalliqueOssature acier légerEscaliersCouvertureCas d’usage
Conception mécaniqueMakers & impression 3DMenuiserie & mobilierArchitecture & logementKozorosa
AideTarifsTéléchargerFoundryDéveloppeurs
L’interface n’est qu’un client d’un catalogue d’actions — plus de 240 dans le noyau, davantage avec chaque module — chacune avec son schéma JSON. Vos scripts, votre CI et vos agents appellent exactement les mêmes, soumis aux mêmes portées, révisions et annulations.
REST
Listez le catalogue et ses schémas, puis appelez n’importe quelle action sur la révision que vous détenez. Concurrence optimiste sur chaque mutation : si quelqu’un a modifié entre-temps, vous en êtes averti, pas écrasé.
$KOZOROSA est l’adresse de votre Foundry, ou l’adresse locale que Kozorosa pour Mac indique sous Aide → 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
Le point d’accès MCP sert le catalogue sous forme d’outils. Settings → API → Connect an AI agent fournit la configuration prête à l’emploi pour Claude Code, Claude Desktop, Codex, Cursor, VS Code, Gemini et Windsurf.
propose_changes affiche la modification en fantôme dans la vue, appliquée seulement quand une personne l’approuve.describe_body, mass_properties, measure et les listes des modules.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 lie tout le catalogue à un seul nom, cad. Un script s’exécute dans son propre processus isolé ; il compte pour une modification et une étape d’annulation, et un script qui échoue ne change rien.
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}
L’étendre
Pièces
Une extension est une recette déclarative dans un manifeste signé — aucun code d’extension ne s’exécute jamais. Partez du modèle, téléversez-la pour vous-même, ou installez-la pour toute une organisation.
Bibliothèque
Engrenages droits et coniques, filetages ISO, vis et écrous hexagonaux, rondelles, ressorts hélicoïdaux, brides de tuyauterie et moletages, chacun scellé par un SHA-256 de son manifeste.
Modules
Les modules ajoutent des actions noyau, des lectures, des formats d’export, des outils et des pages — c’est ainsi que sont construits les modules construction.
Importez un fichier STEP, poussez une face, cotez-la. 5 jours, tous les outils, rien à payer tant que vous n’avez pas décidé.