Desenvolvedores

O modelador é uma API.

A interface é um cliente de um catálogo de ações — mais de 240 no núcleo, e mais a cada módulo —, cada uma com um esquema JSON. Seus scripts, sua CI e seus agentes chamam exatamente as mesmas, sujeitas aos mesmos escopos, revisões e desfazer.

RESTMCPPythonPluginsOpenAPI

REST

Um endpoint por ação.

Liste o catálogo com seus esquemas e depois chame qualquer ação sobre a revisão que você tem. Concorrência otimista em cada mutação: se alguém editou nesse meio-tempo, você é avisado, não sobrescrito.

  • Tokens com escopo para leitura, escrita, IA e administração.
  • Lote: até 100 comandos como uma só revisão e uma só etapa de desfazer — tudo ou nada.
  • Deltas: um cliente que tem um modelo recebe a alteração, não o arquivo.
  • O cancelamento chega ao worker de geometria; nada é confirmado para uma requisição cancelada.

$KOZOROSA é o endereço do seu Foundry, ou o endereço local que o Kozorosa para Mac informa em 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

Seu agente, no controle.

O endpoint MCP oferece o catálogo como ferramentas. Settings → API → Connect an AI agent fornece a configuração pronta para Claude Code, Claude Desktop, Codex, Cursor, VS Code, Gemini e Windsurf.

  • Propostas: propose_changes mostra a alteração como um fantasma na janela de visualização, aplicada apenas quando uma pessoa aprova.
  • Leituras que não custam nada: describe_body, mass_properties, measure e as listas dos módulos.
  • Notas: um agente guarda sua memória de um modelo nas notas do próprio modelo.
Conecte um agente, passo a passo
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ços, aritmética e a releitura do modelo.

O console Python vincula o catálogo inteiro a um único nome, cad. Um script roda em um processo isolado próprio; ele é uma edição e uma etapa de desfazer, e um script que falha não altera nada.

Execute um script, passo a passo
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}

Estenda

Plugins e módulos.

Peças

Plugins paramétricos

Um plugin é uma receita declarativa em um manifesto assinado — nenhum código de plugin é executado. Comece pelo modelo, envie-o para uso próprio ou instale-o para uma organização inteira.

Biblioteca

Peças verificadas

Engrenagens cilíndricas de dentes retos e cônicas, roscas ISO, parafusos e porcas sextavados, arruelas, molas helicoidais, flanges de tubulação e recartilhados, cada um fixado por um SHA-256 do seu manifesto.

Módulos

Ofícios inteiros

Os módulos acrescentam ações do kernel, leituras, formatos de exportação, ferramentas e páginas — os módulos de construção são feitos assim.

Construa sobre um modelador que responde.

Importe um arquivo STEP, empurre uma face, coloque uma cota nela. 5 dias, todas as ferramentas, nada a pagar até você decidir.