Développeurs

Le modeleur est une API.

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.

RESTMCPPythonExtensionsOpenAPI

REST

Un point d’accès par action.

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é.

  • Jetons à portée limitée pour la lecture, l’écriture, l’IA et l’administration.
  • Lot : jusqu’à 100 commandes en une seule révision et une seule étape d’annulation — tout ou rien.
  • Deltas : un client qui détient un modèle reçoit la modification, pas le fichier.
  • L’annulation remonte jusqu’au worker géométrique ; rien n’est validé pour une requête annulée.

$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

Votre agent aux commandes.

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.

  • Propositions : propose_changes affiche la modification en fantôme dans la vue, appliquée seulement quand une personne l’approuve.
  • Des lectures qui ne coûtent rien : describe_body, mass_properties, measure et les listes des modules.
  • Notes : un agent garde la mémoire d’un modèle dans les notes de ce modèle.
Connecter un agent, pas à pas
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

Des boucles, du calcul, et le modèle relu.

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.

Exécuter un script, pas à pas
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

Extensions et modules.

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.

Bibliothèque

Pièces vérifiées

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

Des métiers entiers

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.

Construisez sur un modeleur qui répond.

Importez un fichier STEP, poussez une face, cotez-la. 5 jours, tous les outils, rien à payer tant que vous n’avez pas décidé.