Ontwikkelaars

De modeler is een API.

De interface is één client van een catalogus van acties — meer dan 240 in de kern, en meer met elke module — elk met een JSON-schema. Je scripts, je CI en je agents roepen precies dezelfde aan, met dezelfde scopes, revisies en ongedaan maken.

RESTMCPPythonPlug-insOpenAPI

REST

Eén endpoint per actie.

Vraag de catalogus met zijn schema's op en roep dan elke actie aan op de revisie die je hebt. Optimistische concurrency bij elke wijziging: heeft iemand er tussendoor iets aan veranderd, dan krijg je dat te horen in plaats van dat je werk wordt overschreven.

  • Tokens met scopes voor lezen, schrijven, AI en beheer.
  • Batch: tot 100 opdrachten als één revisie en één stap ongedaan maken — alles of niets.
  • Delta's: een client die een model vasthoudt, krijgt de wijziging, niet het bestand.
  • Annuleren bereikt de geometrieworker; voor een geannuleerd verzoek wordt niets doorgevoerd.

$KOZOROSA is het adres van je Foundry, of het lokale adres dat Kozorosa voor Mac geeft onder 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

Je agent aan de knoppen.

Het MCP-endpoint biedt de catalogus aan als tools. Settings → API → Connect an AI agent geeft de kant-en-klare configuratie voor Claude Code, Claude Desktop, Codex, Cursor, VS Code, Gemini en Windsurf.

  • Voorstellen: propose_changes toont de wijziging als een schim in de viewport, en past haar pas toe wanneer een mens akkoord geeft.
  • Leesacties die niets kosten: describe_body, mass_properties, measure en de modulelijsten.
  • Notities: een agent bewaart wat hij over een model weet in de notities van dat model.
Een agent koppelen, stap voor stap
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

Lussen, rekenwerk, en het model teruggelezen.

De Python-console bindt de hele catalogus aan één naam, cad. Een script draait in een eigen, geïsoleerd proces; het is één bewerking en één stap ongedaan maken, en een script dat mislukt, verandert niets.

Een script uitvoeren, stap voor stap
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}

Uitbreiden

Plug-ins en modules.

Onderdelen

Parametrische plug-ins

Een plug-in is een declaratief recept in een ondertekend manifest — er draait nooit plug-incode. Begin bij het sjabloon, upload hem voor jezelf of installeer hem voor een hele organisatie.

Bibliotheek

Geverifieerde onderdelen

Rechte en conische tandwielen, ISO-schroefdraad, zeskantbouten en -moeren, sluitringen, schroefveren, pijpflenzen en kartels, elk vastgepind door een SHA-256 van zijn manifest.

Modules

Hele vakgebieden

Modules voegen kernelacties, leesacties, exportformaten, gereedschappen en pagina's toe — de bouwmodules zijn zo gebouwd.

Bouw op een modeler die antwoord geeft.

Importeer een STEP-bestand, duw een vlak, zet er een maat op. 5 dagen, elk gereedschap, niets te betalen tot je beslist.