E-Square Cockpit v3.1.63

E-SQUARE DESIGN · cockpit CATIA V5 · documentação técnica · atualizada a 05/08/2026

O que é: uma aplicação desktop (Windows, .exe único de ~48 MB, sem instalador) que comanda o CATIA V5 por automação COM (pycatia/pywin32 sobre GetActiveObject("CATIA.Application")). Automatiza o processo de construção de facas de corte (trim steels) da operação 30 de ferramentas de estampagem automóvel, seguindo o processo escrito do cliente: cortar o contorno em troços, criar os planos da regra da empresa, publicar os elementos e explodir num conjunto com um CATPart por faca — tudo sem nunca gravar um documento (a gravação é sempre revisão humana).

73
versões publicadas
33
dias de projeto
99
commits git
12 374
linhas de código
48
ficheiros de teste
254
execuções registadas

Como funciona, num desenho

Engenheiroescolhe a macro e os parâmetros; decide a linha e o eixo (escolha sempre manual)
E-Square CockpitUI em 7 abas; execuções em threads; monitor lê o CATIA a cada ~4 s
Automação COMa mesma API oficial que o CATIA usa por dentro — sem macros instaladas, sem CATSettings
CATIA V5a geometria aparece na árvore, editável, com os nomes do contrato
Revisão humananada é gravado sem validação — gravar é sempre decisão do engenheiro

Arquitetura em 30 segundos

  • UI: PySide6 (Qt 6) com 7 abas, moldura própria estilo Windows 11, tema escuro único.
  • Adaptador CATIA (catia_adapter.py, a única camada que toca em COM): liga-se apenas a instâncias já abertas (nunca arranca CNEXT invisível), com espera paciente quando o CATIA está ocupado (RPC_E_CALL_REJECTED → retry com backoff) e diagnóstico legível de cada HRESULT.
  • Execuções em threads (QThread + apartamento COM próprio): a UI nunca congela; um monitor lê o estado ao vivo do CATIA a cada ~4 s (documentos abertos, ativo, ligação).
  • Contrato de nomes (norma.py, puro e testado): MesserRippe_0N (troço), PL_Messer_0N (plano 40 mm abaixo do mínimo de cada troço), Messer_0N (CATPart da explosão).
  • Segurança: deteção de popups modais do CATIA que penduram o COM (aviso amarelo com o nome da janela), timeout com diagnóstico nas leituras, caixa-negra registos/crash.log, relatórios honestos.
  • Auto-update: GitHub Releases + verificação SHA-256; barra de progresso real; o utilizador reabre.
  • Ponte web: a app serve o próprio estado em http://localhost:8765/estado (vista "CATIA ao vivo" do cockpit web).
  • Qualidade: 48 ficheiros de teste (unidade + UI offscreen + E2E no CATIA real), 103 provas por imagem, TDD com âncora nos vídeos/prints do cliente.

Regras de ouro do produto

Nunca grava. Toda a geometria criada fica no documento aberto, para revisão humana — "o documento NÃO foi gravado" aparece em todas as execuções.
Nunca inventa. Cada erro sai com a causa medida (diagnóstico COM, janela que bloqueia, timeout com contexto). Se algo não foi provado no CATIA real, não se diz "funciona".

A corrida que o setor está a perder — e a que pode ganhar

o dinheiro que está na mesa, e a visão para o ir buscar

A Ásia pode copiar o preço-hora de qualquer estúdio de engenharia europeu. Não pode copiar a distância, o fuso, a língua — nem a velocidade de quem está ao lado do cliente.
O tempo é a única vantagem que não se compra em Bangalore.

As palavras não são nossas

Foram ditas nas nossas reuniões de trabalho, por quem conhece a casa melhor do que ninguém:

"Só isso aí tirava todo um dia de trabalho."

sobre UMA única tarefa repetitiva (selecionar centenas de superfícies à mão), numa peça

"Já não tenho dúvida que funciona."

depois de testar a automação com as próprias mãos, na peça real

"Eu já vi a ligação… tu consegues fazer o resto."

a confiança que faltava: o software a comandar o CATIA de verdade

"A informação já lá está — ele não tem que ir buscar nada."

a visão para o futuro do posto de trabalho: carregar em start e rever

O diagnóstico e a visão já existem dentro da E-SQUARE — este documento só lhes põe números e um caminho. O que está em cima da mesa não é uma ideia de fora: é acelerar o que a casa já provou que funciona.

O tabuleiro

Portugal um dos maiores exportadores mundiais de moldes e ferramentas — ~85–90% da produção vai para fora, com o automóvel como cliente dominante. Vive de vender engenharia, não aço.
Alemanha (OEMs) os construtores apertam: querem o prazo europeu ao preço asiático. Cada concurso compara a tua proposta com uma de Xangai e outra de Pune.
China · Índia capacidade instalada gigante, mão-de-obra a uma fração do custo, e governos a subsidiar a conquista de quota. Não vão embora — vão melhorar.

O custo-hora não se vence

Custo-hora de engenharia CAD na ferramentaria — ordens de grandeza (€/h) Alemanha~55 Portugal~30 China~12 Índia~8

Ordens de grandeza de fontes públicas do setor; variam por região e ano. A conclusão não varia: competir no preço-hora contra 8 €/h é uma guerra perdida antes de começar. A pergunta certa não é "como cobro menos por hora?" — é "como entrego mais semanas antes?"

Os medos que tiram o sono a quem lidera neste setor

  • A proposta que chega 40% abaixo. Não podes bater o número — e explicar "qualidade" a um departamento de compras é vender contra uma folha de Excel.
  • O prazo como última trincheira. Quando o OEM muda a peça à sexta-feira, quem responde na segunda fica com o projeto. Quem responde "daqui a três semanas" entra na lista dos substituíveis.
  • Os séniores a sair, o conhecimento a sair com eles. Formar um projetista de ferramentas leva anos; reformam-se mais depressa do que se formam. Cada hora deles gasta em cliques repetitivos é conhecimento caro a fazer trabalho barato.
  • Poucos clientes, muito peso. Perder um cliente-âncora não é perder margem — é reestruturar a empresa.
  • Margens a encolher em silêncio. O preço estagna, os salários e a energia sobem; a diferença sai de onde ninguém vê: das horas de engenharia mal aproveitadas.

O dinheiro na mesa

1 dia/semana
de trabalho repetitivo por projetista — a conta feita dentro da própria casa ("só isso tirava todo um dia de trabalho")
≈ 350 h/ano
por pessoa, em cliques que uma máquina faz em minutos
16–18 mil €/ano
de custo sénior por pessoa — antes de contar o projeto que não se aceitou por falta de capacidade

E o custo maior nem aparece na contabilidade: é o projeto recusado porque a equipa estava cheia, a alteração entregue tarde, o concurso perdido por uma semana. Capacidade é a única coisa que o setor não consegue contratar depressa — e é exatamente o que a automação devolve.

Os próximos 3 anos — o desenho dos dois caminhos

É um cenário, não uma profecia — mas é o cenário que qualquer pessoa do setor reconhece:

Ano 1
Ano 2
Ano 3
Se avançarmos
inteligência + velocidade
A primeira operação automatizada entra na rotina. As horas sénior libertadas vão para prazo e propostas. A casa aprende a trabalhar com a máquina — "já não tenho dúvida que funciona" vira cultura.
Operação a operação, o «start» espalha-se. A mesma equipa entrega mais projetos por ano; o conhecimento dos séniores fica gravado nas normas da casa — deixa de sair pela porta quando alguém se reforma.
O estúdio vende o que a Ásia não tem: resposta em dias. Escolhe clientes, defende margem, e é o padrão que os outros tentam copiar. "A informação já lá está" — em todas as operações.
Se ficarmos como estamos
Tudo continua a funcionar — é isso que engana. As horas sénior seguem nos cliques, os concursos seguem comparados em Excel com propostas asiáticas.
A erosão silenciosa: salários e energia sobem, os preços não. A diferença sai da margem. Formar substitutos para os séniores continua a demorar anos que não há.
Resta competir onde não se pode ganhar: no preço-hora contra 8 €/h. Não é uma queda — é um encolher lento, concurso a concurso.
China · Índia
nos dois cenários
Continuam a ganhar quota com preço — e a investir pesado em software e automação. Não estão à espera de ninguém.
A qualidade delas melhora todos os anos; a distância técnica encurta. O preço continua imbatível.
Competem já não só no preço, mas também no prazo — a menos que a Europa tenha mudado de jogo primeiro.

A Ásia melhora nos dois cenários — a única variável que controlamos é a nossa velocidade.

A visão

É esta a aposta: transformar a casa que executa mais depressa que os outros na casa que responde quando os outros ainda estão a abrir o CAD. O engenheiro deixa de ser pago para clicar e passa a ser pago para decidir — e cada hora sénior libertada é margem, prazo, ou um projeto novo. Ninguém aqui tem medo de trabalhar; a questão é pôr as melhores horas da casa onde elas valem mais.

Esta guerra é nossa. E ganha-se com inteligência e velocidade.

Guia de uso & teste

como usar esta versão (v3.1.63) e conferir cada resultado

Requisitos e arranque

  • Windows + CATIA V5 aberto (R32 ou superior). O programa é um .exe único — sem instalação: basta abrir.
  • O programa liga-se sozinho ao CATIA aberto (bolinha verde no rodapé). Sem CATIA, os botões de execução ficam desativados.
  • Regra de ouro do teste: nada é gravado. Podes repetir tudo à vontade — fechar os documentos sem gravar limpa qualquer resultado.
  • Atualizações: quando houver versão nova aparece um ⬆ verde no topo — um clique descarrega com barra de progresso, o programa fecha-se e abres outra vez. (Não precisa de teste — acontece sozinho quando houver novidade.)

O fluxo que vais executar

1 · Linha do contornoa peça com a linha de recorte aberta no CATIA
2 · Gerar Facastroços MesserRippe_0N + planos PL_Messer_0N (40 mm)
3 · Publicaras etiquetas de exportação, troço a troço
4 · Explodirum CATPart por faca, colado COM ligação ao mestre
5 · Power Copya faca do cliente instanciada em cada troço

Passo a passo com verificação

Preparar

  1. No CATIA: File > Open → a peça com a linha de recorte (no teste: TESTE_FACA.stp). Se aparecer "Transfer completed", clica OK — janelinhas abertas no CATIA bloqueiam a comunicação, e o programa avisa-te em amarelo qual fechar, se te esqueceres de alguma.
  2. Abre o E-Square Cockpit. Confere: "Ligado" verde no Dashboard e o droplist do topo a mostrar a tua peça.

Cortar (o passo 1 do processo)

  1. Macros → Gerar Facas por Linha → Executar no CATIA (o formulário já vem certo: normais à curva, 400 mm).
  2. Escolhe a linha na caixinha (só aparecem linhas reais da peça) → Usar esta linha. Com vários contornos, o botão "Cortar todas as N linhas" corta tudo com numeração contínua.
  3. Escolhe o Axis System → Usar este eixo. (Se a peça só tiver o eixo absoluto, aparece só esse — normal em STEP.)
  4. Confere: tabela com previsto = medido (troços de 400 mm + um curto no fim, "Rever sobra"); na árvore, MesserRippe_01… e PL_Messer_01….

Publicar e explodir (passos 3 e 4)

  1. Publicar elementos → Executar. Confere: estado OK por cada troço e plano; nó Publication na árvore. (O aviso de que falta a fase manual — ponto de encosto + alinhamento — é normal: essa fase é vossa.)
  2. Explodir em Parts → Executar. Não uses o copiar/colar do Windows enquanto corre. Confere: conjunto com um CATPart Messer_0N por faca e "colagem COM LINK verificada em todos" no log.

Power Copy (passo 5)

  1. Power Copies → MESSER_RIPPE → Aplicar no CATIA. (Lista vazia? Usa «Abrir pasta» e larga lá os .CATPart das Power Copies — aparecem em ~4 s.)
  2. Com os troços já cortados não pergunta nada — e se o documento ativo for o conjunto, o programa troca sozinho para a peça (o droplist do topo pisca a avisar).
  3. Confere: uma instância por troço no log e a lâmina a aparecer ao longo da curva no 3D.

Selecionar superfícies (o poupa-um-dia)

  1. Abre uma peça com raios → Macros → Selecionar e Juntar → escolhe "Raios positivos (convexos)" ou "negativos (côncavos)"; deixa o resultado em "Só SELECIONAR no CATIA" (não altera o ficheiro).
  2. Confere: "N elements selected" na barra do CATIA e as faces a laranja — prontas para o teu comando seguinte, como uma seleção à mão. Repetir dá sempre os mesmos números.

Utilitários

  • Droplist do topo: mostra o documento ativo; escolher lá ativa-o no CATIA.
  • ⧉ Copiar tudo: copia Execução+Resultado+Relatório num texto único — perfeito para reportar qualquer dúvida.
  • Aba Projetos: horas por peça, estimativas (🕒) e ativação por clique.

Se algo correr mal

O programa diz sempre o que se passa e o que fazer: aviso amarelo = há uma janela aberta no CATIA a bloquear (fecha-a lá e volta a Executar); erro vermelho = a causa vem no log. Nada foi gravado, por isso nada ficou estragado — e o ⧉ Copiar tudo põe o relatório completo no clipboard para enviar.

Dashboard

o retrato da bancada, ao vivo
Dashboard
A aba Dashboard na v3.1.63, com o CATIA ligado e a peça de teste aberta.

O que faz

  • Ligação CATIA ao vivo (verde/cinza) com tolerância a quedas momentâneas — uma falha de 3 s não apaga o painel (aconteceu na reunião de 28/07; hoje mostra "desatualizado" e recupera).
  • Projeto ativo — o documento com que o CATIA está a trabalhar, atualizado a cada ~4 s.
  • KPIs: documentos abertos, horas de hoje, execuções registadas, minutos poupados (estimativa).
  • Horas por utilizador: lista de utilizadores (conta Windows do posto); clicar num nome mostra as horas por projeto. As horas contam apenas com o CATIA em primeiro plano e input recente — ociosidade não conta.

Honestidade

Minutos poupados é uma estimativa, não uma medição — deriva das execuções registadas. As horas por projeto são medidas de verdade (amostragem ~4 s), mas o contador foi zerado a 02/08 a pedido, por isso os totais atuais são curtos.

Projetos

os separadores do CATIA, com tempo e controlo
Projetos
Cada documento aberto no CATIA vira uma linha viva.

O que faz

  • Lista ao vivo os documentos realmente visíveis no CATIA (filtra os internos ccp_dummy* e as peças-filhas carregadas sem janela — medido: Documents.Count=10 para 2 janelas reais).
  • Clicar no nome ativa o documento no CATIA (com feedback "a ativar…"). O mesmo mecanismo alimenta o droplist do topo, que também pisca quando o programa troca de documento sozinho.
  • Relógio 🕒 para definir a estimativa de horas de cada peça; barra de orçamento (verde/amarelo/vermelho) contra o tempo real medido.
  • Tempo por projeto soma entre dias — abrir a mesma peça amanhã continua a conta.

Honestidade

Peças não gravadas (Part1.CATPart…) não têm relógio nem simulação — sem nome estável não há histórico que faça sentido. E um documento aberto sem janela não pode ser ativado (o CATIA não tem onde o mostrar) — por isso é filtrado da lista.

Macros

o coração do cockpit — o processo da operação 30
Macros
"Gerar Facas por Linha" com o formulário do corte (400 mm por omissão, como no processo do cliente).

As 4 macros

MacroO que faz (tecnicamente)Estado
Gerar Facas por LinhaMede a linha escolhida (SPAWorkbench, geodésico), cria pontos por arco a cada N mm, um plano normal à curva em cada ponto, divide a linha em troços independentes (MesserRippe_0N) e cria os planos de base PL_Messer_0N 40 mm abaixo do mínimo de cada troço, medido no eixo escolhido. Pergunta a linha e o Axis System (escolha manual — pedido do cliente). Botão "Cortar todas as N linhas" corta todos os contornos com numeração contínua.provado no CATIA real
Publicar elementosTools > Publication por COM: publica troços e planos com a referência do produto (PartNumber/!Elemento — a referência do Part dá E_NOINTERFACE, medido). Republicar substitui, não duplica. Varrimento contíguo 01→N.provado (4/4)
Explodir em PartsCria o Product de montagem com o CATPart mestre como componente e um Part novo por faca; cola em cada Part os elementos publicados As Result With Link (string COM CATPrtResult — a "WithOutLink" é a armadilha) e verifica os External References um a um. Avisa se as Options do CATIA têm as ligações externas desligadas.provado (6/6 com link)
Selecionar e JuntarEnumera as faces (search limitado aos Bodies sólidos), classifica por GeometryName (plano/raio/livre) e decide côncavo vs convexo por sonda geométrica medida: o centroide de uma face curva cai do lado do centro de curvatura — distância mínima ao sólido ≈ 0 ⇒ convexa. Por omissão só seleciona (a laranja, como o shift-click deles, zero alterações ao ficheiro); criar o Join é escolha explícita.provado (36/36 + 36/36)

Segurança da execução

  • Antes de cada execução, o programa deteta janelas modais do CATIA ("Warm Start", "Transfer completed", "File Selection") que penduram o COM — avisa em amarelo, diz qual janela fechar e salta sozinho para a aba Execução.
  • Leitura de linhas com timeout de 30 s e diagnóstico medido; uma leitura pendurada é abandonada e substituída ao clique seguinte.
  • Se o documento ativo for um conjunto (Product), o programa ativa sozinho a peça mais provável — o erro "não é um CATPart" morreu na v3.1.63.
  • Botão ⧉ Copiar tudo: exporta as 3 sub-abas (Execução, Resultado, Relatório) num texto único pronto a colar.

Power Copies

os templates do cliente, aplicados por automação
Power Copies
A Power Copy real do cliente (MESSER_RIPPE, V5R30) detetada na pasta e pronta a aplicar.

O que faz

  • Scan da pasta a cada 4 s: largar um .CATPart na pasta fá-lo aparecer na lista (sem reiniciar). Um sniffer lê o binário e distingue Power Copy nativa de template simples, extraindo os nomes dos inputs.
  • Aplicação oficial por COM (InstanceFactory): uma instância por troço MesserRippe_0N, com a linha do troço + o plano Sohle da regra da empresa (40 mm abaixo do mínimo, no eixo do documento) como inputs. Aceita os nomes novos e os antigos (KNIFE_LAT_) sozinha.
  • Se os troços já existem, aplica direto, sem perguntar a linha (v3.1.63); se não existem, corta primeiro automaticamente.
  • Faca completa (receita própria, 5 inputs): resolvida a 27/07 — o 5.º input é o "xy plane" do template (lido do geoset INPUT) e a chave é a normal do Base_Ferramenta para baixo (AddNewPlaneEquation(0,0,-1,0)). Provada com fecho de volume: 21,4 M mm³.

Honestidade

A Power Copy nova (da call de 28/07) é R34 e não abre no R32 do posto de desenvolvimento — o passo "faca completa dentro de cada CATPart" com o template oficial fica bloqueado até à licença R34 (já falada entre nós). A receita própria prova que o mecanismo funciona.
Os parafusos/cavilhas normalizados do template davam "StartUp not retrieved" — atribuído ao catálogo do cliente (ambiental), a reavaliar (o MWF afinal "era uma coisa antiga").
Aresta cosmética conhecida: com a pasta vazia, aparece o aviso "Este .CATPart não contém nenhuma PowerCopy" sem haver ficheiro selecionado. E a atualização troca só o exe — os modelos da pasta ficam como estão (documentado no guia).

AI (Beta)

assistente experimental de desenho
AI Beta
Pedido em linguagem natural → plano JSON validado → geometria no CATIA.

O que faz

  • Envia o pedido ("desenha a porta de um carro com reforço duplo") ao OpenRouter (modelos à escolha; chave própria do utilizador, guardada cifrada com DPAPI no posto).
  • O plano volta em JSON, passa por um validador geométrico (rejeita polígonos degenerados/auto-intersectados, NaN, placas fora do passo anterior) e só depois é desenhado por COM (sketch + pad/pocket), com rollback do passo falhado.
  • Continuações sobrevivem a reinícios: os parâmetros de contexto ficam gravados na própria peça (ESQ_AI_ZTOPO/ZMAX).

Honestidade

É uma demonstração de potencial, não uma ferramenta de produção. O desenho é aproximado; peças complexas (um capô realista) ficam aquém. Custa dinheiro por pedido (chave OpenRouter do utilizador, ~$0,006/pedido nos modelos pequenos) e envia o texto do pedido a servidores externos — não usar com dados confidenciais de clientes. Histórico: 33 execuções, 25 ok.

Hardware

o gargalo do CATIA, medido — não adivinhado
Hardware
Uso ao vivo (thread mais carregada) à esquerda, especificações à direita, histórico com picos ⚡.

O que faz

  • Mostra a thread mais carregada do CNEXT — porque o cálculo geométrico e os Update do V5 correm essencialmente numa thread (medido neste projeto: pico de 95% numa thread, total 1,23 núcleos). Poucos núcleos MUITO rápidos > muitos núcleos.
  • GPU (nvidia-smi), RAM do CATIA, histórico de 10 em 10 min com deteção de picos de CPU (⚡).
  • Teste de carga em 3 níveis (leve/moderada/pesada) — cria geometria temporária, mede, e fecha sem gravar.

Honestidade

Aresta conhecida: o campo "placa gráfica" mostra o primeiro adaptador do sistema — neste posto aparece "Parsec Virtual Display Adapter" em vez da RTX 5080. Cosmético, na lista para arrumar.

Versão

histórico completo e auto-update
Versão
O changelog integral vive dentro do programa — 73 versões, 230 mudanças descritas.

Como funciona a atualização

  1. O programa verifica o GitHub Releases ao arrancar e a cada 12 h (silencioso, falha sem rede = silêncio).
  2. Versão nova ⇒ aparece o ⬆ verde no topo. Clicar: descarrega com barra de progresso real (bytes recebidos), verifica o SHA-256, troca o exe e fecha-se.
  3. O utilizador reabre — decisão deliberada: sem certificado de código, a reabertura automática disparava o Defender ("Failed to load Python DLL"). Reabrir à mão é 100% fiável.

Marcos do histórico

VersãoDataMarco
0.1.003/07Primeira demonstração
3.0.114/07Cockpit por utilizador; execução só em CATIA real (fim da simulação)
3.1.316/07Power Copy MESSER_RIPPE instanciada 100% por COM
3.1.1216/07Cockpit web num só endereço (localhost:8765)
3.1.1627/07Faca completa: a receita do cliente fecha o volume
3.1.2401/08Sprint 1: os 12 defeitos que o cliente viu, fechados
3.1.3902/08Auto-update embutido
3.1.5504/08Caixa-negra: nenhum erro interno volta a ser invisível
3.1.6304/08Os achados do teste final humano, todos fechados

O que funciona (e o que não)

estado real, com provas — sem marketing

FUNCIONA — provado no CATIA real

  • Processo escrito completo (resposta de 03/08): corte 400 mm → MesserRippe_0N + PL_Messer_0N → publicar → explodir com links verificados um a um. Provado por testes automáticos, por teste conduzido na interface como um humano e à mão, de ponta a ponta (04–05/08).
  • Cortar todos os contornos num clique com numeração contínua (3 contornos → MesserRippe_01..06).
  • Power Copy antiga do cliente aplicada aos troços sem R34, sem perguntar linha, com troca automática de documento (2/2 e 4/4 em testes distintos).
  • Seleção de raios positivos/negativos por sonda medida: 36/36 + 36/36 no gabarito, contagens estáveis em reexecução.
  • Auto-update ponta a ponta com releases reais (testado v3.1.50 → v3.1.63, SHA verificado).
  • Deteção de popups do CATIA, timeout com diagnóstico, caixa-negra crash.log, ⧉ Copiar tudo, droplist que comanda o CATIA.
  • Horas por utilizador/projeto medidas com regras honestas (1.º plano + input recente).

ARESTAS — funciona, mas com limites conhecidos

  • "Só selecionar" deixa as faces vivas como a seleção manual — clicar fora limpa (comportamento do próprio CATIA; o programa avisa).
  • Superfícies livres (sem centro único) ficam fora dos modos positivos/negativos — são anunciadas, não escondidas; entram no modo "tudo o que não é plano".
  • Reexecutar o corte no mesmo documento duplica nomes do contrato — o programa avisa; o caminho limpo é fechar sem gravar e repetir.
  • Facas de 200 mm no template REV64 deixam pinos fora da faca (limite do template do cliente, não do corte).
  • Aviso de Power Copy com a pasta vazia aparece sem ficheiro selecionado (cosmético); GPU errada na aba Hardware (Parsec vs RTX — cosmético); a atualização não leva os modelos da pasta (documentado).
  • O histórico de execuções regista 70 erros em 254 — são na esmagadora maioria sessões de desenvolvimento/teste (o erro é o objetivo do teste); não distingue ainda "erro de utilizador" de "erro de programa".

AINDA NÃO FUNCIONA / DEPENDE DE TERCEIROS

  • Faca completa com a Power Copy nova do cliente — o ficheiro é R34 e não abre no R32 deste posto. Bloqueado até à licença R34 prometida.
  • Orientação da faca via Output no sketch — foi medido que um elemento 2D dentro de um sketch não viaja por COM para o CATPart da faca. A alternativa (ponto+linha soltos criados por omissão) está proposta e aguarda decisão conjunta.
  • Gravar o resultado em pasta do cliente — tecnicamente pronto, mas aguarda autorização (colide com a invariante "nunca gravar").
  • Validação em geometria grande real — o STEP grande prometido pelo cliente nunca chegou.
  • Operação 20 (o objetivo final) — não iniciada; ver "Próximos passos".
  • Multi-posto / tempo real central (vários PCs a reportar a um hub) — pesquisado e desenhado (Durable Objects + D1, cadência 5–10 s), não implementado.

Próximos passos — a operação 20 completa

consultadas as reuniões de 23/07, 28/07 e a resposta escrita de 03/08

Operação 20 vs 30, nas palavras do cliente (reunião de 23/07): "a 20 faz a fórmula, a 30 corta — e é para isso que criamos as facas". Cada projeto tem 6 operações (20–70), feitas em paralelo, uma pessoa por operação, ~5 projetos/ano. A OP20 é a ferramenta de embutimento (dá a forma à chapa) e é, literalmente, "o objetivo final". Tudo o que o Cockpit faz hoje é da OP30 — e foi essa a estratégia: provar a ligação software↔CATIA no processo mais mecânico primeiro ("eu já vi a ligação… tu consegues fazer o resto").

1 · Fechar a operação 30 (facas) — a fila atual

ItemDepende de
Licença R34 + dados do posto para o servidor — destrava a faca completa com a Power Copy nova oficial (passo 5 do processo escrito)E-SQUARE (já falada; após as 19h/fins de semana)
Orientação fora do sketch — apresentar a prova medida de que o Output 2D não viaja por COM e fechar a alternativa (ponto+linha soltos, criados por omissão)Decisão na call
Autorização para gravar o mestre e os Parts numa pasta indicada por elesCliente
STEP grande prometido, para validar em geometria de produçãoCliente
Nomenclatura final (PL_Messer vs PL_MesserRippe) e numeração entre contornos (contínua vs por contorno)Decisão na call
Fase manual (ponto de encosto + alinhamento): o programa cria por omissão com interruptor?Decisão na call
Termo de acordo + proposta de horas ("ofertas e número de horas" — as duas opções estão na página Investimento)Rafael

2 · Construir a operação 20 — o caminho

A OP20 não é uma extensão das facas — é um projeto novo. Os inputs estão definidos pelo cliente (23/07): a prensa; o método com 5 elementos (superfícies da matriz, punção e pisador, contorno da punção, platina); o documento FAP (alemão, checkmarks de batentes/posicionadores, "está sempre no mesmo sítio"); e a pasta de normas internas (ex.: nervuras 55/40/30 consoante o material). "Com isto e com aquele documento nós temos tudo para fazer a ferramenta."

#PassoNatureza
1Especificação conjunta — escrever o "processo da OP20" passo a passo, como se fez para as facas. Sem isto, tudo o resto é adivinhação.Sessão de trabalho conjunta
2Ingestão do método — contrato de nomes/publicações para as 5 superfícies de entrada (matriz, punção, pisador, contorno, platina).Software
3Parser do FAP — extração automática dos checkmarks (batentes, posicionadores) do PDF/Excel alemão; viável porque o layout é fixo.Software
4Motor de normas — codificar a pasta de regras deles (espessuras por material etc.) como parâmetros, à imagem do norma.py das facas.Software + validação do cliente
5Geração da ferramenta de embutimento no CATIA — a parte grande: presumivelmente sobre os templates/Power Copies OP20 do cliente, o que reedita as dependências conhecidas (R34, gravação, catálogos).Software + cliente
6O "start" por operação — a visão final: um botão por operação onde "a informação já lá está, ele não tem que ir buscar nada".Integração
Prazos falados (reunião de 23/07): 1,5–2 meses foi o número otimista em cima da mesa; do nosso lado, 3 meses é o número prudente. Nenhum compromisso fechado — depende do acordo e do acesso (R34, normas, FAP reais). Os passos 2–6 são a decomposição mais fiel possível do que já foi falado; o passo 1 existe exatamente porque a OP20 ainda não tem processo escrito.

Relatório: tempo, tokens e investimento

apurado a 05/08/2026 a partir dos registos locais — método e limites declarados

O projeto em números

33
dias (03/07 → 05/08)
31
sessões de desenvolvimento
73
versões · 230 mudanças
99
commits (14/07 → 04/08)
254
execuções na app (184 ok)
103
provas por imagem

Computação de IA consumida no desenvolvimento

Método: soma dos registos locais de utilização das 31 sessões de desenvolvimento deste projeto (de 45 sessões na máquina no período). Sessões antigas já limpas do disco não contam — os números são um piso, não um teto.

TipoTokensO que é
Output (gerado)19 126 472código, análises e documentação escritos pela IA — ≈ 14 milhões de palavras
Input novo282 618texto novo enviado (sem cache)
Escrita de cache124 743 785contexto guardado para reutilização
Leitura de cache4 719 551 323contexto relido a cada passo — é aqui que os trabalhos longos e cuidadosos pesam

Valor do projeto até hoje

6 800 € + IVA

É o valor do projeto se se passasse a régua hoje (05/08/2026): horas de trabalho + custos com inteligência artificial, do primeiro dia (03/07) até esta versão (v3.1.63) — as 73 versões, os 99 commits, os 48 ficheiros de teste e as 103 provas documentadas.

Não inclui licenças nem hardware do posto de desenvolvimento.

Horas — os números honestos

MétricaValorHonestidade do número
Duração somada das sessões de desenvolvimento (relógio de parede)≈ 676 hInclui pausas e sessões em paralelo contam a dobrar — é "tempo de sessão aberta" (a IA trabalha em vários assuntos ao mesmo tempo), não tempo humano ativo.

Como avançar — duas formas de trabalhar

Opção A — Fechar por projeto

Estimamos o tempo juntos, fecha-se um valor, e eu desenvolvo até estar entregue e provado.

O risco é meu: se demorar mais do que o estimado, o preço não mexe — para mais ou para menos.

Ideal quando o âmbito está bem definido.

Opção B — Por hora

57 € / hora + IVA

Mínimo de 40 horas por semana, com renovação bimestral automática. Trabalho contínuo, prioridades ajustadas semana a semana.

O risco é do cliente — para mais ou para menos: o que se poupa em âmbito, poupa-se na fatura.

Ideal para evoluir por fases com flexibilidade total de direção.