{"produto":"BIM Studio","versaoApi":1,"total":179,"semTela":170,"acesso":"Chave de API (Authorization: Bearer bim_…) criada em 👤 Conta → 🔌 API e integrações; planos Profissional e Escritório.","documentacao":"https://bimstudio.com.br/manual/#api","openapi":"https://bimstudio.com.br/api/v1/openapi.json","comoChamar":"POST /api/v1/projetos/{id}/ferramentas/{nome} com {\"entrada\": {…}} — ou várias de uma vez em POST /api/v1/projetos/{id}/executar; no MCP, cada ferramenta aparece com o parâmetro projeto_id.","ferramentas":[{"nome":"listar_claraboias","descricao":"CLARABOIA / ILUMINAÇÃO ZENITAL — lista as claraboias do pavimento com forma, operação, fechamento, base, posição, área de abertura, área translúcida, transmitância (U), fator solar, transmissão luminosa, peso, área de ventilação e o cômodo que cada uma ilumina. Também devolve o catálogo de formas, fechamentos e presets de mercado disponíveis.","esquema":{"type":"object","properties":{"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}}},"semTela":true},{"nome":"distribuir_claraboias","descricao":"CLARABOIA — calcula QUANTAS claraboias um ambiente precisa para atingir uma fração da área do piso (por padrão 1/8, a régua de iluminação natural do código de obras) e as insere numa malha simétrica. ⚠️ a meta é de ÁREA, não de iluminância: o sistema não calcula lux nem fator de luz diurna (exigiria a NBR 15215, que ele não leu). Use `simular: true` para ver a proposta sem inserir.","esquema":{"type":"object","properties":{"comodo":{"type":"string","description":"id do cômodo (omita para o selecionado)"},"fracao":{"type":"number","description":"fração da área do piso a atingir (padrão 0,125 = 1/8)"},"lado":{"type":"number","description":"lado da peça em metros (padrão 1,0; o motor limita a 40% da menor dimensão do cômodo)"},"simular":{"type":"boolean","description":"true devolve a proposta SEM inserir nada"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}}},"semTela":true},{"nome":"inserir_claraboia","descricao":"CLARABOIA — insere uma claraboia no pavimento sob a cobertura. Ela FURA a laje de cobertura, conta na iluminação natural do ambiente embaixo (ARQ-002), entra no orçamento e aparece na planta e no 3D. A combinação é validada contra a matriz de compatibilidade do catálogo: forma, operação, fechamento, caixilho e base que não se combinam são RECUSADOS com o motivo. Use `preset` para as combinações de mercado prontas (veja listar_claraboias).","esquema":{"type":"object","properties":{"x":{"type":"number","description":"posição do canto da abertura no eixo x (m)"},"y":{"type":"number","description":"posição do canto da abertura no eixo y (m)"},"w":{"type":"number","description":"largura da abertura (m, mínimo 0,3)"},"d":{"type":"number","description":"comprimento da abertura (m, mínimo 0,3)"},"preset":{"type":"string","description":"id de um preset de mercado (ex.: \"domo_100\", \"telhado_78x98\") — preenche forma, operação, fechamento, caixilho, base e medida"},"forma":{"type":"string","description":"flat_fixed (plana) | dome (domo) | pyramid (piramidal) | roof_window (janela de telhado)"},"operacao":{"type":"string","description":"fixed | vented | manual_open | motorized | smoke_auto"},"fechamento":{"type":"string","description":"vidro_laminado | vidro_insulado | vidro_controle_solar | pc_compacto | pc_alveolar | acrilico | …"},"caixilho":{"type":"string","description":"aluminio | aco | pvc | madeira | sem_caixilho"},"base":{"type":"string","description":"contramarco_concreto | alvenaria | metalico | colarinho_fabrica"},"hospedeiro":{"type":"string","description":"laje | telhado | metalica"},"contramarco":{"type":"number","description":"altura da base acima do nível acabado (m)"},"inclinacaoVidro":{"type":"number","description":"inclinação do plano envidraçado (%) — só nas formas que têm plano"},"roomId":{"type":"string","description":"id do cômodo que ela ilumina (omita: o motor deduz pelo ponto)"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}},"required":["x","y"]},"semTela":true},{"nome":"editar_claraboia","descricao":"CLARABOIA — muda forma, operação, fechamento, caixilho, base, hospedeiro, posição, medida, altura do contramarco ou inclinação do vidro de uma claraboia existente. Mover a claraboia TROCA o cômodo que ela ilumina. Combinação incompatível é recusada com o motivo, sem gravar.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da claraboia (veja listar_claraboias)"},"forma":{"type":"string"},"operacao":{"type":"string"},"fechamento":{"type":"string"},"caixilho":{"type":"string"},"base":{"type":"string"},"hospedeiro":{"type":"string"},"x":{"type":"number","description":"m"},"y":{"type":"number","description":"m"},"w":{"type":"number","description":"m"},"d":{"type":"number","description":"m"},"contramarco":{"type":"number","description":"altura da base acima do nível acabado (m)"},"inclinacaoVidro":{"type":"number","description":"inclinação do plano envidraçado (%)"},"nome":{"type":"string","description":"nome da peça"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}},"required":["id"]},"semTela":true},{"nome":"remover_claraboia","descricao":"CLARABOIA — exclui uma claraboia. O furo que ela abria na laje de cobertura se fecha junto, e a área dela sai da iluminação natural do ambiente e do orçamento.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da claraboia"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}},"required":["id"]},"semTela":true},{"nome":"listar_produtos_fabricante","descricao":"PRODUTOS DE FABRICANTE — lista os dois catálogos: o do ESCRITÓRIO (servidor, vale para todos os projetos dele; precisa de conta) e o do PROJETO (as cópias que este projeto usa). Cada produto tem valores CONFERIDOS (U, fator solar, transmissão luminosa, peso, medidas, faixa de inclinação) com fonte, data e quem conferiu; os do escritório têm revisão, e os do projeto que vieram de lá dizem de qual revisão (origem). Os ids servem para vincular.","esquema":{"type":"object","properties":{"categoria":{"type":"string","description":"claraboia | janela (omita para todos)"}}},"semTela":false,"motivo":"chamada ao servidor feita pelo navegador"},{"nome":"cadastrar_produto_fabricante","descricao":"PRODUTOS DE FABRICANTE — acrescenta (ou substitui, se o mesmo fabricante + modelo + categoria já existe) um produto. destino \"projeto\" (padrão) grava só no catálogo deste projeto; \"escritorio\" grava no catálogo do escritório, que todos os projetos dele enxergam (só dono ou editor do escritório; corrigir lá cria uma revisão nova). Fonte, data e quem conferiu são OBRIGATÓRIOS; nenhum valor é preenchido por padrão — campo que o fabricante não declara fica ausente e a peça segue com a referência nele. Números aceitam vírgula decimal; inclinação em %.","esquema":{"type":"object","properties":{"fabricante":{"type":"string","description":"fabricante"},"modelo":{"type":"string","description":"modelo"},"categoria":{"type":"string","description":"claraboia | janela"},"w":{"type":"number","description":"largura (m)"},"d":{"type":"number","description":"profundidade (m)"},"U":{"type":"number","description":"transmitância térmica U (W/m²K)"},"FS":{"type":"number","description":"fator solar (0 a 1)"},"TL":{"type":"number","description":"transmissão luminosa (0 a 1)"},"peso":{"type":"number","description":"peso do conjunto (kg)"},"inclinacaoMin":{"type":"number","description":"inclinação mínima (%)"},"inclinacaoMax":{"type":"number","description":"inclinação máxima (%)"},"fonte":{"type":"string","description":"fonte do dado (catálogo, página, ensaio)"},"data":{"type":"string","description":"data do dado (dd/mm/aaaa)"},"conferidoPor":{"type":"string","description":"quem conferiu"},"destino":{"type":"string","description":"projeto (padrão) | escritorio"}},"required":["fabricante","modelo","categoria","fonte","data","conferidoPor"]},"semTela":false,"motivo":"chamada ao servidor feita pelo navegador"},{"nome":"vincular_produto_claraboia","descricao":"PRODUTOS DE FABRICANTE — vincula um produto a uma claraboia: do catálogo do projeto, ou do ESCRITÓRIO (aí ele é copiado para o projeto antes). A peça guarda uma CÓPIA dos valores (corrigir o produto depois não muda a peça) e passa a usar U, fator solar, transmissão luminosa e peso DECLARADOS pelo produto, campo a campo. A conformidade avisa se a medida (CLB-017) ou a inclinação de instalação (CLB-016) não batem com o produto.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da claraboia"},"produto":{"type":"string","description":"id do produto — do projeto ou do escritório (listar_produtos_fabricante)"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}},"required":["id","produto"]},"semTela":false,"motivo":"catálogo de produtos do escritório"},{"nome":"desvincular_produto_claraboia","descricao":"PRODUTOS DE FABRICANTE — tira o produto vinculado de uma claraboia: ela volta aos valores de referência (com o selo). O catálogo do projeto não muda.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da claraboia"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}},"required":["id"]},"semTela":true},{"nome":"vincular_produto_esquadria","descricao":"PRODUTOS DE FABRICANTE — vincula um produto de JANELA (do catálogo do projeto, ou do ESCRITÓRIO, que é copiado para o projeto antes) a um TIPO de esquadria do quadro (J1, J2…). Toda janela daquele tipo passa a usar o U e o fator solar DECLARADOS pelo produto na carga térmica; o quadro de esquadrias mostra o produto e avisa se a medida não bate. O vínculo é guardado pela chave do tipo (família, largura, altura, peitoril), não pelo código.","esquema":{"type":"object","properties":{"tipo":{"type":"string","description":"código do tipo no quadro de esquadrias (ex.: \"J1\")"},"produto":{"type":"string","description":"id do produto — do projeto ou do escritório (listar_produtos_fabricante)"}},"required":["tipo","produto"]},"semTela":false,"motivo":"catálogo de produtos do escritório"},{"nome":"desvincular_produto_esquadria","descricao":"PRODUTOS DE FABRICANTE — tira o produto de um tipo de janela (J1, J2…): as janelas dele voltam aos valores de referência na carga térmica.","esquema":{"type":"object","properties":{"tipo":{"type":"string","description":"código do tipo no quadro de esquadrias (ex.: \"J1\")"}},"required":["tipo"]},"semTela":true},{"nome":"reencaixar_claraboia","descricao":"CLARABOIA — assenta a peça numa água só. Num telhado de mais de uma água, a claraboia que cruza a cumeeira ou o espigão NÃO TEM ASSENTO: ela é um corpo rígido e um corpo rígido não se apoia em dois planos (fura a telha de um lado e flutua do outro). Esta ferramenta procura, em grade de 10 cm, a posição mais PRÓXIMA da atual em que os quatro cantos caem na mesma água, e devolve quanto moveu. Sem `aplicar`, apenas PROPÕE — use `aplicar: true` para gravar. Se a peça não couber em água nenhuma, ela diz isso em vez de encolher a peça.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da claraboia"},"aplicar":{"type":"boolean","description":"true grava a nova posição; omitido, só propõe"},"pavimento":{"type":"integer","description":"índice do pavimento (omita para o ativo)"}},"required":["id"]},"semTela":true},{"nome":"resumo_projeto","descricao":"Resumo do projeto: nome, nº de pavimentos, cômodos, área total e custo estimado (com a base e a data de referência dos preços).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"listar_pavimentos","descricao":"Lista os pavimentos (índice, nome, nº de cômodos, pé-direito). O índice 0 é o Térreo.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"girar_planta","descricao":"Gira e/ou espelha a planta em torno do centro — para quando o projeto foi desenhado na orientação errada em relação ao terreno. Leva JUNTO tudo que tem posição (móveis, elétrica, hidráulica, esgoto, gás, telecom, escadas, rampas, spots, cotas, traços, desenho de fundo) e REMAPEIA as chaves de parede, preservando vãos posicionados à mão, tipo e altura de parede. Por padrão gira TODOS os pavimentos juntos: girar um só desalinha a estrutura entre andares. Restrições de cota sem equivalente girado são removidas e LISTADAS no retorno.","esquema":{"type":"object","properties":{"giro":{"type":"integer","enum":[0,90,180,270,-90],"description":"graus no sentido horário (use -90 para anti-horário)"},"espelho":{"type":"string","enum":["x","y"],"description":"espelhar no eixo: x = esquerda↔direita, y = cima↔baixo"},"pavimento":{"type":"integer","description":"índice do pavimento, para girar SÓ ele (omita para girar o prédio inteiro)"}}},"semTela":true},{"nome":"selecionar_pavimento","descricao":"Escolhe o pavimento ATIVO pelo índice (0 = Térreo). TODAS as edições (criar cômodo, instalações) acontecem no pavimento ativo — selecione antes de editar outro andar.","esquema":{"type":"object","properties":{"indice":{"type":"integer","description":"índice do pavimento (0 = térreo)"}},"required":["indice"]},"semTela":true},{"nome":"criar_pavimento","descricao":"Adiciona um novo pavimento (andar) e JÁ o torna o ativo. copiar=true duplica os cômodos do pavimento atual (pavimento-tipo); senão nasce vazio.","esquema":{"type":"object","properties":{"nome":{"type":"string"},"peDireito":{"type":"number","description":"pé-direito em metros"},"copiar":{"type":"boolean","description":"duplicar os cômodos do pavimento atual"}}},"semTela":true},{"nome":"remover_pavimento","descricao":"Remove um pavimento pelo índice.","esquema":{"type":"object","properties":{"indice":{"type":"integer"}},"required":["indice"]},"semTela":true},{"nome":"renomear_pavimento","descricao":"Renomeia um pavimento pelo índice.","esquema":{"type":"object","properties":{"indice":{"type":"integer"},"nome":{"type":"string"}},"required":["indice","nome"]},"semTela":true},{"nome":"definir_pe_direito","descricao":"Define o pé-direito (m) de um pavimento (ou do ativo). O pé-direito é a altura LIVRE, do piso à face de baixo da laje; a cota entre pisos (piso a piso, a do 3D, do IFC, da escada e do pórtico) é pé-direito + espessura da laje do projeto.","esquema":{"type":"object","properties":{"metros":{"type":"number","description":"altura livre, piso → face de baixo da laje"},"indice":{"type":"integer","description":"opcional; padrão = pavimento ativo"}},"required":["metros"]},"semTela":true},{"nome":"definir_nome_projeto","descricao":"Define o nome do projeto.","esquema":{"type":"object","properties":{"nome":{"type":"string"}},"required":["nome"]},"semTela":true},{"nome":"salvar_projeto","descricao":"Guarda o projeto na conta e cria uma versão no histórico (a gravação automática já guarda cada edição).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"gerar_escadas","descricao":"Insere a ESCADA dimensionada (NBR 9077) no vão de escada de cada pavimento que sobe para outro. Use em projetos com 2+ pavimentos.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"criar_via","descricao":"Cria uma VIA/ESTRADA (infraestrutura viária) a partir de um eixo em planta (polilinha [[x,y],…] em metros). Entra no 2D, no 3D e no orçamento unificado. Pavimento: asfalto | intertravado | concreto | primario.","esquema":{"type":"object","properties":{"eixo":{"type":"array","description":"pontos do eixo em planta, [[x,y],…] (m)","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"minItems":2},"nome":{"type":"string"},"largura":{"type":"number","description":"largura da pista (m); padrão 8"},"pavimento":{"type":"string","enum":["asfalto","intertravado","concreto","primario"],"description":"tipo de pavimento"},"faixas":{"type":"integer","description":"nº de faixas; padrão 2"},"meioFio":{"type":"boolean","description":"meio-fio + sarjeta (padrão sim)"},"passeio":{"type":"number","description":"largura da calçada por lado (m); 0 = sem"},"drenagem":{"type":"boolean","description":"incluir rede de drenagem no orçamento"}},"required":["eixo"]},"semTela":true},{"nome":"listar_vias","descricao":"Lista as vias/estradas do projeto (id, nome, comprimento, largura, pavimento, orçamento).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_via","descricao":"Remove uma via/estrada pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"criar_arrimo","descricao":"Cria um MURO DE ARRIMO/contenção a partir de um eixo em planta ([[x,y],…] em metros). Dimensiona pela geotecnia (empuxo de Rankine → tombamento/deslizamento/tensão no solo/armadura) e entra no 2D, 3D e orçamento. Tipo: flexao (concreto armado) | gravidade | gabiao.","esquema":{"type":"object","properties":{"eixo":{"type":"array","description":"eixo do muro em planta, [[x,y],…] (m)","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"minItems":2},"nome":{"type":"string"},"altura":{"type":"number","description":"altura a conter (m)"},"tipoMuro":{"type":"string","enum":["flexao","gravidade","gabiao"],"description":"tipo do muro"},"sobrecarga":{"type":"number","description":"sobrecarga q na superfície (kPa)"},"gamma":{"type":"number","description":"peso específico do solo (kN/m³)"},"phi":{"type":"number","description":"ângulo de atrito do solo (°)"},"sigmaAdm":{"type":"number","description":"tensão admissível do solo (kPa)"}},"required":["eixo"]},"semTela":true},{"nome":"listar_arrimos","descricao":"Lista os muros de arrimo do projeto (id, nome, altura, base, se verifica, orçamento).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_arrimo","descricao":"Remove um muro de arrimo pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"criar_ponte","descricao":"Cria uma PONTE/PASSARELA a partir de um eixo/traçado em planta ([[x,y],…] em metros). Divide em vãos (≤ vaoMax) sobre apoios e dimensiona a viga pela flecha (ELS ≤ L/250). Estrutura: concreto | metalica | mista. Entra no 2D, 3D e orçamento.","esquema":{"type":"object","properties":{"eixo":{"type":"array","description":"eixo/traçado em planta, [[x,y],…] (m)","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"minItems":2},"nome":{"type":"string"},"largura":{"type":"number","description":"largura do tabuleiro (m)"},"vaoMax":{"type":"number","description":"vão máximo entre apoios (m)"},"tipoEstrutura":{"type":"string","enum":["concreto","metalica","mista"],"description":"tipo estrutural"},"sobrecarga":{"type":"number","description":"sobrecarga (kPa); passarela ~5"}},"required":["eixo"]},"semTela":true},{"nome":"listar_pontes","descricao":"Lista as pontes/passarelas do projeto (id, nome, comprimento, vãos, se verifica, orçamento).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_ponte","descricao":"Remove uma ponte/passarela pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"criar_silo","descricao":"Cria um SILO de armazenagem num ponto (x,y em metros). Calcula a pressão nas paredes pela teoria de JANSSEN → tração no anel → armadura (concreto) ou chapa (metálico) + fundação. Material: soja|milho|trigo|racao|cimento|clinquer. Parede: concreto|metalico.","esquema":{"type":"object","properties":{"x":{"type":"number","description":"posição X (m)"},"y":{"type":"number","description":"posição Y (m)"},"diametro":{"type":"number","description":"diâmetro (m)"},"altura":{"type":"number","description":"altura (m)"},"sigmaAdm":{"type":"number","description":"tensão admissível do solo (kPa) — sem ela o motor assume o padrão e a resposta declara isso"},"nome":{"type":"string"},"material":{"type":"string","enum":["soja","milho","trigo","racao","cimento","clinquer"],"description":"material armazenado"},"tipoParede":{"type":"string","enum":["concreto","metalico"],"description":"material da parede"}},"required":["x","y"]},"semTela":true},{"nome":"listar_silos","descricao":"Lista os silos do projeto (id, nome, diâmetro, altura, material, se verifica, orçamento).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_silo","descricao":"Remove um silo pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"criar_reservatorio_elevado","descricao":"Cria um RESERVATÓRIO ELEVADO (caixa d'água sobre torre) num ponto (x,y em metros). Dimensiona o tanque pela capacidade e verifica a torre ao VENTO (NBR 6123): tombamento + compressão nas colunas + fundação. Torre: concreto | metalica.","esquema":{"type":"object","properties":{"x":{"type":"number","description":"posição X (m)"},"y":{"type":"number","description":"posição Y (m)"},"capacidade":{"type":"number","description":"volume do tanque (m³)"},"alturaTorre":{"type":"number","description":"altura da torre até a base do tanque (m)"},"nome":{"type":"string"},"tipoTorre":{"type":"string","enum":["concreto","metalica"],"description":"material da torre"},"V0":{"type":"number","description":"velocidade básica do vento (m/s)"}},"required":["x","y"]},"semTela":true},{"nome":"listar_reservatorios_elevados","descricao":"Lista os reservatórios elevados do projeto (id, nome, capacidade, altura, se verifica, orçamento).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_reservatorio_elevado","descricao":"Remove um reservatório elevado pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"criar_torre","descricao":"Cria uma TORRE AUTOPORTANTE (telecom/transmissão) num ponto (x,y em metros). Verifica ao VENTO (NBR 6123): arranque nos montantes → fundação, compressão e esbeltez. Tipo: trelicada | tubular.","esquema":{"type":"object","properties":{"x":{"type":"number","description":"posição X (m)"},"y":{"type":"number","description":"posição Y (m)"},"altura":{"type":"number","description":"altura da torre (m)"},"nome":{"type":"string"},"tipoTorre":{"type":"string","enum":["trelicada","tubular"],"description":"tipo estrutural"},"cargaTopo":{"type":"number","description":"carga no topo (kN)"},"areaAntenas":{"type":"number","description":"área de antenas (m²)"},"V0":{"type":"number","description":"velocidade básica do vento (m/s)"}},"required":["x","y"]},"semTela":true},{"nome":"listar_torres","descricao":"Lista as torres do projeto (id, nome, altura, se verifica, orçamento).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_torre","descricao":"Remove uma torre pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"listar_comodos","descricao":"Lista os cômodos de um pavimento (padrão = ativo) com id, nome, posição e dimensões.","esquema":{"type":"object","properties":{"pavimento":{"type":"integer","description":"índice; padrão = ativo"}}},"semTela":true},{"nome":"criar_comodo","descricao":"Cria um cômodo retangular. x,y = canto inferior-esquerdo (m). Cai no pavimento ATIVO — use selecionar_pavimento antes, ou passe \"pavimento\".","esquema":{"type":"object","properties":{"nome":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number","description":"largura (m)"},"d":{"type":"number","description":"profundidade (m)"},"pavimento":{"type":"integer","description":"opcional; seleciona antes de criar"}},"required":["nome","w","d"]},"semTela":true},{"nome":"renomear_comodo","descricao":"Renomeia um cômodo pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"},"nome":{"type":"string"}},"required":["id","nome"]},"semTela":true},{"nome":"remover_comodo","descricao":"Remove um cômodo pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"mover_comodo","descricao":"Move um cômodo para um novo canto (x,y em m).","esquema":{"type":"object","properties":{"id":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"}},"required":["id","x","y"]},"semTela":true},{"nome":"redimensionar_comodo","descricao":"Muda largura×profundidade (m) de um cômodo.","esquema":{"type":"object","properties":{"id":{"type":"string"},"w":{"type":"number"},"d":{"type":"number"}},"required":["id"]},"semTela":true},{"nome":"listar_paredes","descricao":"Lista as paredes do pavimento ativo (chave, comprimento, se é compartilhada) — use a chave para adicionar portas/janelas.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"adicionar_abertura","descricao":"Coloca porta, janela ou passagem numa parede (use a chave de listar_paredes). tipo: porta|janela|passagem|nenhuma.","esquema":{"type":"object","properties":{"parede":{"type":"string","description":"chave da parede"},"tipo":{"type":"string","enum":["porta","janela","passagem","nenhuma"]},"largura":{"type":"number","description":"m (opcional)"},"posicao":{"type":"number","description":"0..1 ao longo da parede (opcional)"}},"required":["parede","tipo"]},"semTela":true},{"nome":"definir_terreno","descricao":"Cria/ajusta o lote (m) e os recuos. Centraliza em volta da edificação se houver.","esquema":{"type":"object","properties":{"largura":{"type":"number"},"profundidade":{"type":"number"},"recuoFrente":{"type":"number"},"recuoFundo":{"type":"number"},"recuoEsq":{"type":"number"},"recuoDir":{"type":"number"}},"required":["largura","profundidade"]},"semTela":true},{"nome":"norte_do_projeto","descricao":"LÊ ou DEFINE o norte do projeto e o lugar da obra — as entradas do estudo de sol, da carga térmica (orientação das paredes) e da rosa dos ventos das pranchas. Sem argumentos, devolve o que está valendo e se é suposição. `norte` em graus: 0 = o norte aponta para o fundo do lote (+Y, oposto à rua), crescendo no sentido horário visto de cima (90 = para a direita/+X). O lugar aceita `municipio` da tabela (Bauru, São Paulo, Campinas…) ou `lat`/`lon`/`fuso` explícitos.","esquema":{"type":"object","properties":{"norte":{"type":"number","description":"graus, 0..359"},"municipio":{"type":"string","description":"cidade da tabela, ex.: \"Bauru\""},"lat":{"type":"number","description":"latitude em graus, sul negativo"},"lon":{"type":"number","description":"longitude em graus, oeste negativo"},"fuso":{"type":"number","description":"fuso em horas: −3 Brasília, −4 AM/MT/MS/RO/RR, −5 Acre"}}},"semTela":true},{"nome":"estudo_solar","descricao":"POSIÇÃO DO SOL e MANCHA DE LUZ para uma data e hora LEGAL: altitude, azimute, nascer/pôr e, por cômodo do pavimento, quanto do piso recebe sol direto por janelas e claraboias. Liga o estudo no 3D com essa data/hora (a pessoa vê o mesmo que a resposta descreve). `data` aceita AAAA-MM-DD ou um preset: eq-mar, sol-jun, eq-set, sol-dez. Sem `hora`, usa a do painel.","esquema":{"type":"object","properties":{"data":{"type":"string","description":"AAAA-MM-DD ou preset (eq-mar, sol-jun, eq-set, sol-dez)"},"hora":{"type":"number","description":"hora legal decimal, ex.: 9.5 = 09:30"},"pavimento":{"type":"integer","description":"índice do pavimento (0 = térreo); sem ele, o ativo"}}},"semTela":true},{"nome":"iluminancia_natural","descricao":"MAPA DE ILUMINÂNCIA NATURAL simplificado do pavimento (fator de luz do dia sob céu encoberto: componente celeste integrada pelas janelas e claraboias + refletida interna pelo BRE). Devolve, por cômodo, FLD médio/mínimo/máximo, classe (insuficiente/parcial/boa/muito boa), lux aproximados e a fração do piso acima de 2%. Liga o mapa no 3D e na planta. ⚠️ É ESTIMATIVA para comparar alternativas (janela maior, claraboia, outra orientação): NÃO é verificação da NBR 15215/15575, que não foram lidas.","esquema":{"type":"object","properties":{"pavimento":{"type":"integer","description":"índice do pavimento (0 = térreo); sem ele, o ativo"}}},"semTela":true},{"nome":"zoneamento_do_lote","descricao":"INFORMA os índices urbanísticos do lote (plano diretor / lei de uso e ocupação do solo) e passa a VERIFICAR o projeto contra eles: taxa de ocupação, coeficiente de aproveitamento, permeabilidade, gabarito, altura, recuos, área e testada mínimas, vagas por unidade. ⚠️ Estes números vêm da CERTIDÃO DE DIRETRIZES do lote e mudam de ZONA para zona dentro da mesma cidade — o programa NÃO os adivinha. `origem` diz de onde vieram: \"certidao\" e \"informado\" REPROVAM o projeto quando estourado; \"busca\" (obtido automaticamente) NUNCA reprova, só avisa, até ser confirmado por quem assina. Sem argumentos, apenas LISTA o que está informado e o que o projeto mede.","esquema":{"type":"object","properties":{"municipio":{"type":"string","description":"cidade da obra"},"uf":{"type":"string","description":"sigla do estado"},"zona":{"type":"string","description":"zona do lote na lei, ex.: ZR3"},"lei":{"type":"string","description":"lei do plano diretor / uso e ocupação, com número e ano"},"artigo":{"type":"string","description":"artigo ou anexo de onde os índices saíram"},"origem":{"type":"string","enum":["certidao","informado","busca"],"description":"certidao = certidão de diretrizes deste lote (reprova) · informado = digitado da lei pelo responsável (reprova) · busca = obtido automaticamente (NÃO reprova)"},"conferidoEm":{"type":"string","description":"data em que foi conferido, AAAA-MM-DD"},"taxaOcupacaoMax":{"type":"number","description":"%"},"coefAproveitamentoMax":{"type":"number","description":"adimensional"},"permeabilidadeMin":{"type":"number","description":"%"},"gabaritoMax":{"type":"number","description":"pavimentos"},"alturaMax":{"type":"number","description":"m"},"recuoFrenteMin":{"type":"number","description":"m"},"recuoFundoMin":{"type":"number","description":"m"},"recuoLateralMin":{"type":"number","description":"m"},"areaLoteMin":{"type":"number","description":"m²"},"testadaMin":{"type":"number","description":"m"},"vagasPorUnidade":{"type":"number","description":"vagas"}}},"semTela":true},{"nome":"envelope_construtivo","descricao":"O que a LEI permite construir NESTE LOTE, antes de desenhar: retângulo edificável (lote menos recuos), projeção máxima (taxa de ocupação), área construída máxima (coeficiente de aproveitamento), pavimentos, altura e área permeável mínima — com QUANTO O PROJETO JÁ USOU de cada um e QUAL índice aperta primeiro. Num lote estreito o recuo governa antes da taxa de ocupação, e é isso que decide o partido. Requer o lote (definir_terreno) e os índices da zona (zoneamento_do_lote).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"lote_minimo","descricao":"A pergunta invertida — MEU TERRENO SERVE? Dado o que se pretende construir e os índices da zona, devolve a ÁREA e a TESTADA mínimas do lote, dizendo QUAL exigência governa (coeficiente, taxa de ocupação, permeabilidade, área mínima da zona, ou os recuos laterais). É a conta que se faz antes de aceitar o serviço — e cada exigência sai com o seu número, porque 300 m² por causa do coeficiente se resolve de um jeito e por causa dos recuos, de outro.","esquema":{"type":"object","properties":{"areaConstruida":{"type":"number","description":"m² pretendidos, somando os pavimentos"},"pavimentos":{"type":"number","description":"quantos pavimentos (padrão 1)"},"projecao":{"type":"number","description":"m² de projeção, se quiser fixar (padrão = construída ÷ pavimentos)"},"larguraMinimaEdificavel":{"type":"number","description":"largura mínima que a edificação precisa ter, em m (padrão 6)"}},"required":["areaConstruida"]},"semTela":true},{"nome":"programa_cabivel","descricao":"O INVERSO DO INVERSO: qual o maior programa que cabe neste lote sob os índices da zona. Usa a área construída máxima da própria lei em vez de um número chutado, e devolve o programa de ambientes correspondente. Serve para responder ao cliente, na primeira conversa, o que o terreno dele comporta.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"tabela_zoneamento_municipio","descricao":"Carrega de uma vez a TABELA DE ZONAS de um município (o anexo da lei de uso e ocupação do solo) e aplica UMA zona ao projeto. Serve ao escritório que trabalha sempre na mesma cidade: transcreve o anexo uma vez e cada projeto só escolhe a sua zona. ⚠️ A tabela NÃO é lei: é a transcrição que alguém fez dela, e carrega quem transcreveu e quando. Tabela com origem \"busca\" gera índices que NÃO reprovam até serem confirmados.","esquema":{"type":"object","properties":{"tabela":{"type":"object","description":"objeto { municipio, uf, lei, artigo, vigencia, fonte, origem, transcritoPor, transcritoEm, zonas: { \"ZR3\": { taxaOcupacaoMax: 60, coefAproveitamentoMax: 1.4, ... } } }"},"zona":{"type":"string","description":"qual zona aplicar ao projeto"}},"required":["tabela","zona"]},"semTela":true},{"nome":"area_edificavel","descricao":"Retorna o RETÂNGULO CONSTRUÍVEL do lote = área do terreno MENOS os recuos/afastamentos (frente/fundo/laterais). Use-o para posicionar a casa DENTRO dos afastamentos: crie todos os cômodos com x entre x0..x1 e y entre y0..y1. Requer terreno definido (definir_terreno).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"definir_declive_terreno","descricao":"Dá desnível ao terreno (sem drone). Por declividade: profPct/largPct (%) + sentido desce|sobe + canto de referência. Ou cotas dos 4 cantos {fe,fd,te,td} em metros.","esquema":{"type":"object","properties":{"profPct":{"type":"number","description":"% frente↔fundo"},"profSentido":{"type":"string","enum":["desce","sobe"]},"largPct":{"type":"number","description":"% esq↔dir"},"largSentido":{"type":"string","enum":["desce","sobe"]},"refCanto":{"type":"string","enum":["fe","fd","te","td"]},"cotas":{"type":"object","properties":{"fe":{"type":"number"},"fd":{"type":"number"},"te":{"type":"number"},"td":{"type":"number"}}}}},"semTela":true},{"nome":"adicionar_elemento","descricao":"Adiciona benfeitoria externa no terreno. tipo: piscina|muro|portao|deck|jardim. x,y em metros.","esquema":{"type":"object","properties":{"tipo":{"type":"string","enum":["piscina","muro","portao","deck","jardim"]},"x":{"type":"number"},"y":{"type":"number"}},"required":["tipo","x","y"]},"semTela":true},{"nome":"listar_elementos","descricao":"Lista as benfeitorias externas do terreno.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"estrutura","descricao":"Lançamento estrutural automático do modelo: pilares e vigas derivados dos cômodos.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"analise_fem","descricao":"Roda a análise estrutural (pórtico 3D com laje-diafragma, combinações da NBR 6118 com vento ±X ±Y, 2ª ordem pelo P-Δ em nós móveis): esforços do pilar/viga crítico, drift, flecha, equilíbrio. Com a estrutura EM AÇO (estrutura_aco), o pórtico é de aço pela NBR 8800:2024: combinações e 2ª ordem dela (rigidez a 80 %, força nocional), perfis W/HP dimensionados e verificados barra a barra, vigas mistas com conectores e as ligações — resumo em `aco` (detalheAco=true traz todas as barras). Com exportar=true devolve TAMBÉM a exportação completa para refazer o mesmo modelo em outro programa (OpenSees etc.): nós, elementos, seções, materiais e apoios; casos de carga e combinações com os fatores; deslocamentos, esforços e reações por caso e por combinação; equilíbrio, resíduo e convergência da 2ª ordem; unidades, convenções, versão do motor e o SHA-256 do projeto analisado. Cota entre pisos = pé-direito + laje (o pé-direito é a altura livre).","esquema":{"type":"object","properties":{"exportar":{"type":"boolean","description":"devolve a exportação completa do modelo e dos resultados (pode ter vários MB num prédio)"},"combinacoes":{"type":"array","items":{"type":"string"},"description":"só estas combinações na exportação, pelo prefixo do nome (ex.: [\"ELU1\", \"ELU2\", \"ELS-QP\"]); omitido = todas"},"casos":{"type":"boolean","description":"inclui os resultados de cada caso de carga (G, Q, WX, WY); padrão true"},"digitos":{"type":"integer","description":"algarismos significativos dos números exportados; padrão 8"},"detalheAco":{"type":"boolean","description":"estrutura em aço: devolve TODAS as barras e ligações verificadas (sem isto, só as mais solicitadas)"}}},"semTela":true},{"nome":"nucleo_rigido","descricao":"NÚCLEO RÍGIDO (caixa de escada/elevador) na estrutura — consulta e configura, como o bloco \"Núcleo rígido\" da tela. Sem parâmetros, devolve o estado: identificado (e a origem), o material das paredes da caixa, se a estrutura o considera e o MATERIAL, que é a base de cálculo da rigidez: \"legado\" = X de bielas de seção fixa, SEM base de cálculo (o de projetos antigos); \"alvenaria\" = ALVENARIA PARTICIPANTE da NBR 16868-1 (Anexo D): diagonal comprimida em cada painel SEM abertura confinado entre dois pilares da caixa, com a rigidez dos pilares e da viga em volta, verificada à compressão e ao escorregamento, e pilares/vigas em contato com cortante e momento × 1,1 — só entra com os dados do bloco (alvenaria: bloco, fpk, fbk no bloco de concreto, paredeBloco no bloco vazado não grauteado, argamassa); Ea pela Tabela 1 (600·fpk cerâmico; 800/750/700·fpk concreto) ou o de ensaio em moduloAlvenariaMPa; \"concreto\" = pilares-parede das paredes de concreto contínuas até a fundação; o pilar e a viga do lançamento que caem dentro dessas paredes deixam de ser peça (pecasNaParede: no pórtico, o nó do pilar vira nó da parede e a viga vira coletor de carga sem rigidez nem peso; orçamento, 3D, IFC e pranchas não os contam). identificar=true marca a caixa sugerida pela planta (2+ cômodos de escada/elevador/antecâmara no térreo) com o material lido das paredes; considerar=false tira o núcleo da estrutura (a detecção não volta a ligá-lo); paredesEmConcreto=true põe as paredes da caixa em concreto 15 cm em todos os pavimentos (e o material em concreto). Rode analise_fem depois de mudar.","esquema":{"type":"object","properties":{"identificar":{"type":"boolean","description":"marca como núcleo a caixa de escada/elevador sugerida pela planta"},"considerar":{"type":"boolean","description":"true = a estrutura considera o núcleo; false = desconsidera"},"material":{"type":"string","enum":["legado","alvenaria","concreto"],"description":"base de cálculo da rigidez do núcleo"},"alvenaria":{"type":"object","properties":{"bloco":{"type":"string","enum":["ceramico","concreto","tijolo"],"description":"bloco cerâmico vazado, bloco de concreto vazado ou tijolo cerâmico maciço"},"fpk":{"type":"number","description":"resistência característica do prisma, MPa (0,5 a 40)"},"fbk":{"type":"number","description":"resistência característica do bloco de concreto, MPa (3 a 60) — escolhe a linha da Tabela 1"},"paredeBloco":{"type":"number","description":"espessura de UMA parede longitudinal do bloco vazado, mm (5 a 60)"},"grauteado":{"type":"boolean","description":"bloco vazado grauteado (trabalha com a espessura inteira)"},"argamassa":{"type":"integer","description":"faixa da resistência média da argamassa (Tabela 4): 0 = 1,5 a 3,4 MPa; 1 = 3,5 a 7,0 MPa; 2 = acima de 7,0 MPa"}}},"moduloAlvenariaMPa":{"type":"number","description":"módulo de elasticidade de ENSAIO da alvenaria (100 a 20000 MPa); 0 apaga e volta ao da Tabela 1 da NBR 16868-1"},"paredesEmConcreto":{"type":"boolean","description":"atribui concreto 15 cm às paredes dentro da caixa, em todos os pavimentos"}}},"semTela":true},{"nome":"analisar_laje","descricao":"Laje por elemento finito do maior cômodo (flecha, momentos, armadura).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"estrutura_aco","descricao":"ESTRUTURA DO EDIFÍCIO EM AÇO (NBR 8800:2024) — liga e configura o pórtico de aço que a analise_fem passa a calcular no lugar do concreto. Sem parâmetros, só consulta. sistema: \"rigido\" (pórtico com ligações viga-pilar que transmitem momento) ou \"flexivel\" (vigas rotuladas + contraventamento em X; contraventos \"auto\" = nas duas linhas extremas de cada direção, ou a lista de vãos [{a:[x,y], b:[x,y]}] entre pilares). aco: A572_50 (fy 345) ou A36 (fy 250). mista=true: a viga com laje é viga mista (Anexo L) com conectores pino com cabeça; laje.tipo \"macica\" (a espessura é a do projeto) ou \"forma\" (steel deck: informe hF, bF e passo das nervuras, em m); escorada (padrão: maciça sim, fôrma não). giro {idPilar: 0|90} orienta o pilar (0 = alma ao longo de Y). perfis fixa perfis à mão ({pilares:{P1:\"W250×73,0\"}, vigas:{chave:nome}, diagonais:{id:nome}}); automatico=false desliga o dimensionamento automático. catalogo=true devolve os 88 perfis W/HP com as propriedades. Rode analise_fem depois.","esquema":{"type":"object","properties":{"ativo":{"type":"boolean","description":"true liga a estrutura em aço; false volta ao concreto (a configuração fica guardada)"},"sistema":{"type":"string","enum":["rigido","flexivel"]},"aco":{"type":"string","enum":["A572_50","A36"]},"mista":{"type":"boolean","description":"viga com laje como viga mista (padrão true)"},"escorada":{"type":"boolean","description":"construção escorada (padrão: laje maciça sim, fôrma não)"},"laje":{"type":"object","properties":{"tipo":{"type":"string","enum":["macica","forma"]},"hF":{"type":"number","description":"altura da nervura da fôrma, m (≤ 0,075)"},"bF":{"type":"number","description":"largura média da nervura, m (≥ 0,05)"},"passo":{"type":"number","description":"passo das nervuras, m"},"nervura":{"type":"string","enum":["perpendicular","paralela"]},"emh":{"type":"number","description":"distância do pino à alma da nervura, mm"}}},"conector":{"type":"object","properties":{"d":{"type":"number","description":"diâmetro do pino, mm (padrão 19)"},"fucs":{"type":"number","description":"ruptura do aço do pino, MPa (padrão 415)"},"porNervura":{"type":"integer","description":"pinos por nervura (fôrma perpendicular)"}}},"fck":{"type":"number","description":"fck da laje, MPa (20 a 50)"},"contraventos":{"description":"\"auto\" ou lista de vãos [{a:[x,y], b:[x,y], id}]","anyOf":[{"type":"string","enum":["auto"]},{"type":"array","items":{"type":"object","properties":{"a":{"type":"array","items":{"type":"number"}},"b":{"type":"array","items":{"type":"number"}},"id":{"type":"string"}}}}]},"giro":{"type":"object","description":"{ idPilar: 0 | 90 }","additionalProperties":{"type":"number"}},"perfis":{"type":"object","properties":{"pilares":{"type":"object","additionalProperties":{"type":"string"}},"vigas":{"type":"object","additionalProperties":{"type":"string"}},"diagonais":{"type":"object","additionalProperties":{"type":"string"}}}},"automatico":{"type":"boolean","description":"dimensionamento automático (padrão true)"},"catalogo":{"type":"boolean","description":"devolve o catálogo de perfis W/HP"}}},"semTela":true},{"nome":"verificar_perfil_aco","descricao":"VERIFICA uma barra de perfil I/H laminado (catálogo W/HP) pela NBR 8800:2024 — compressão (área efetiva, flambagem por flexão e torção), tração, flexão nos dois eixos (FLT com Cb, FLM, FLA), cortante e interação N+M com B1. Esforços de cálculo: N (kN, + tração, − compressão), Mx e My (kN·m; um valor ou o diagrama em pontos igualmente espaçados, M > 0 comprimindo a mesa de cima), Vy (cortante na alma) e Vx (nas mesas), em kN. Comprimentos em m: Lx, Ly, Lz (flambagem) e Lb (destravado da FLT); mesaSuperiorContida=true quando a laje trava a mesa de cima em todo o vão. Devolve cada estado-limite com a cláusula, a fórmula e os números.","esquema":{"type":"object","properties":{"perfil":{"type":"string","description":"nome do catálogo, ex. \"W310×38,7\" (veja estrutura_aco catalogo:true)"},"aco":{"type":"string","enum":["A572_50","A36"]},"N":{"type":"number"},"Mx":{"description":"kN·m: número ou lista (diagrama)","anyOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"My":{"anyOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"Vy":{"type":"number"},"Vx":{"type":"number"},"Lx":{"type":"number"},"Ly":{"type":"number"},"Lz":{"type":"number"},"Lb":{"type":"number"},"mesaSuperiorContida":{"type":"boolean"}},"required":["perfil"]},"semTela":true},{"nome":"dimensionar_viga_mista","descricao":"VIGA MISTA de alma cheia (NBR 8800:2024, Anexo L): perfil I laminado + laje (maciça ou com fôrma de aço) ligados por conectores pino com cabeça. Dá a largura efetiva, o MRd com interação completa ou parcial e o NÚMERO DE CONECTORES (o menor que atende MSd e o grau mínimo de interação), espaçamentos, a fase de construção não escorada (perfil sozinho), a flecha com o momento de inércia efetivo e a longa duração, o cortante e a armadura de costura. Vão L e trecho de momento positivo Le em m; espessura da laje tc (maciça) ou concreto acima da fôrma, em m; distâncias às vigas vizinhas em m; MSd em kN·m e VSd em kN; cargas características em kN/m.","esquema":{"type":"object","properties":{"perfil":{"type":"string"},"aco":{"type":"string","enum":["A572_50","A36"]},"L":{"type":"number","description":"vão, m"},"Le":{"type":"number","description":"trecho de momento positivo, m (biapoiada = L)"},"laje":{"type":"object","properties":{"tipo":{"type":"string","enum":["macica","forma"]},"tc":{"type":"number","description":"m"},"hF":{"type":"number","description":"m"},"bF":{"type":"number","description":"m"},"passo":{"type":"number","description":"m"},"nervura":{"type":"string","enum":["perpendicular","paralela"]},"fck":{"type":"number","description":"MPa"},"emh":{"type":"number","description":"mm"}},"required":["tc"]},"vizinhas":{"type":"object","properties":{"esquerda":{"type":"number","description":"distância à viga paralela vizinha, m"},"direita":{"type":"number"},"bordaEsq":{"type":"number","description":"distância à borda da laje em balanço, m"},"bordaDir":{"type":"number"}}},"escorada":{"type":"boolean"},"conector":{"type":"object","properties":{"d":{"type":"number","description":"mm"},"fucs":{"type":"number","description":"MPa"},"porNervura":{"type":"integer"}}},"MSd":{"type":"number","description":"kN·m"},"VSd":{"type":"number","description":"kN"},"cargas":{"type":"object","properties":{"aco":{"type":"number","description":"peso do perfil, kN/m"},"lajeFresca":{"type":"number","description":"concreto fresco + fôrma, kN/m"},"construcao":{"type":"number","description":"sobrecarga de construção, kN/m"},"gDepois":{"type":"number","description":"permanente aplicada depois da cura, kN/m"},"q":{"type":"number","description":"variável, kN/m"},"psi2":{"type":"number"}}}},"required":["perfil","L","laje","MSd"]},"semTela":true},{"nome":"dimensionar_aco","descricao":"Perfil de aço (NBR 8800). tipo viga (M em kN·m) ou pilar (N em kN).","esquema":{"type":"object","properties":{"tipo":{"type":"string","enum":["viga","pilar"]},"L":{"type":"number"},"M":{"type":"number"},"N":{"type":"number"}},"required":["tipo"]},"semTela":true},{"nome":"dimensionar_madeira","descricao":"Peça de madeira (NBR 7190). tipo viga/pilar, seção b×h (m), classe (C30, D40…).","esquema":{"type":"object","properties":{"tipo":{"type":"string"},"L":{"type":"number"},"M":{"type":"number"},"N":{"type":"number"},"classe":{"type":"string"},"b":{"type":"number"},"h":{"type":"number"}},"required":["tipo"]},"semTela":true},{"nome":"analise_sismica","descricao":"Análise sísmica NBR 15421 (cortante de base e distribuição). zona z0..z4, solo B..E.","esquema":{"type":"object","properties":{"zona":{"type":"string"},"solo":{"type":"string"},"R":{"type":"number"},"I":{"type":"number"}}},"semTela":true},{"nome":"gerar_eletrica","descricao":"Gera a elétrica automática (NBR 5410): pontos e circuitos. todosPavimentos=true faz para todos; senão só o ativo.","esquema":{"type":"object","properties":{"todosPavimentos":{"type":"boolean"}}},"semTela":true},{"nome":"gerar_hidraulica","descricao":"Gera a hidráulica automática (NBR 5626): aparelhos e ramais. todosPavimentos=true faz para todos.","esquema":{"type":"object","properties":{"todosPavimentos":{"type":"boolean"}}},"semTela":true},{"nome":"gerar_esgoto","descricao":"Gera o esgoto automático (NBR 8160): pontos e ramais/ventilação. todosPavimentos=true faz para todos.","esquema":{"type":"object","properties":{"todosPavimentos":{"type":"boolean"}}},"semTela":true},{"nome":"definir_corte","descricao":"Posiciona um plano de corte do projeto (o motor já aceitava posição, sentido e escala desde 08/08, mas nenhuma tela passava: todo corte saía automático no meio do prédio). Sem nenhum corte definido, o comportamento automático continua.","esquema":{"type":"object","properties":{"eixo":{"type":"string","enum":["x","y"],"description":"x = corte transversal, y = longitudinal"},"pos":{"type":"number","description":"posição do plano, em metros, no eixo escolhido"},"sentido":{"type":"string","enum":["norte","sul","leste","oeste"],"description":"para onde o observador olha"},"escala":{"type":"integer","description":"denominador da escala (50 = 1:50); omitido = escala do projeto"},"rotulo":{"type":"string","description":"nome do corte, ex.: AA"}},"required":["eixo","pos"]},"semTela":true},{"nome":"definir_escala_pranchas","descricao":"Define a escala de impressão das pranchas (1:n). Sem escala, a folha sai em escala gráfica com barra de 1 m.","esquema":{"type":"object","properties":{"escala":{"type":"integer","description":"denominador: 25, 50, 75, 100 ou 200; 0 volta para escala gráfica"}},"required":["escala"]},"semTela":true},{"nome":"definir_uso_pavimento","descricao":"Define o USO do pavimento e, com ele, a carga acidental Q da NBR 6120 que entra no pórtico (era 1,5 kN/m² cravado para todo projeto). Muda os esforços do FEM: rode a análise de novo depois. ✅ tabela conferida no texto oficial da NBR 6120:2019 VC:2019 em 10/08/2026 (a leitura corrigiu 6 dos 19 valores).","esquema":{"type":"object","properties":{"uso":{"type":"string","enum":["residencial","residencial-servico","residencial-comum","escritorio","escola-sala","escola-corredor","loja","restaurante","reuniao","publico-empe","academia","academia-residencial","biblioteca-leitura","biblioteca-leitura-estante","biblioteca-acervo","arquivo","deposito","deposito-predial","deposito-residencial","garagem","terraco-residencial","terraco-acessivel","terraco-inacessivel","cobertura-concreto","cobertura-concreto-solar","jardim-acesso","jardim-manutencao","forro-manutencao","sotao","escada-privativa","escada-coletiva"],"description":"id do uso (ver CARGAS_USO)"},"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"}},"required":["uso"]},"semTela":true},{"nome":"lancar_luminarias","descricao":"Semeia as luminárias nos cômodos do pavimento (método dos lumens, NBR ISO/CIE 8995-1), com interruptor e circuito de iluminação próprio. Não toca no que foi lançado à mão.","esquema":{"type":"object","properties":{"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"},"luminaria":{"type":"string","description":"id da luminária (ver LUMINARIAS); padrão = painel LED 36 W"}}},"semTela":true},{"nome":"lancar_telecom","descricao":"Lança os dispositivos de telecom/detecção numa posição concreta (detector pela malha NBR 17240, acionador junto à saída, câmera, pontos de dados; rack e centrais no pavimento de entrada, um por edificação).","esquema":{"type":"object","properties":{"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"}}},"semTela":true},{"nome":"lancar_gas","descricao":"Lança a rede de gás: ponto nos cômodos que pedem, rede da central ao aparelho mais desfavorável, dimensionada trecho a trecho (Renouard, NBR 15526).","esquema":{"type":"object","properties":{"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"},"tipoGas":{"type":"string","enum":["glp","gn"],"description":"GLP ou gás natural"},"dPadm":{"type":"number","description":"perda de carga admissível, mbar"}}},"semTela":true},{"nome":"lancar_ventilacao_esgoto","descricao":"Lança as colunas de ventilação sanitária: uma por tubo de queda, DN pela ΣUHC, prolongada acima da cobertura (NBR 8160 §5.3).","esquema":{"type":"object","properties":{"coberturaUtilizavel":{"type":"boolean","description":"cobertura de uso (terraço): sobe 2,00 m em vez de 0,30 m"}}},"semTela":true},{"nome":"demarcar_estacionamento","descricao":"Demarca as vagas no lote (planta e 3D) com a reserva legal de PCD (NBR 9050 §6.14) e de pessoa idosa (Lei 10.741 art. 41). Exige largura e comprimento da área.","esquema":{"type":"object","properties":{"largura":{"type":"number","description":"largura da área, m"},"comprimento":{"type":"number","description":"comprimento da área, m"},"cobertura":{"type":"boolean"},"pctPCD":{"type":"number","description":"percentual de vagas acessíveis; padrão 2"}},"required":["largura","comprimento"]},"semTela":true},{"nome":"aplicar_fachada_cortina","descricao":"Aplica fachada-cortina (pele de vidro) numa parede, pelas coordenadas das duas pontas. Entra no 3D, no orçamento e na carga da viga de borda.","esquema":{"type":"object","properties":{"a":{"type":"array","description":"ponta inicial [x,y] em metros","items":{"type":"number"}},"b":{"type":"array","description":"ponta final [x,y] em metros","items":{"type":"number"}},"altura":{"type":"number","description":"altura da cortina, m"},"modulo":{"type":"number","description":"módulo do pano, m"},"vidro":{"type":"string","description":"id do vidro (ver VIDROS); padrão insulado"},"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"}},"required":["a","b"]},"semTela":true},{"nome":"listar_ramais_agua","descricao":"Lista os ramais de ÁGUA fria (id, nome, coluna, DN, comprimento, se já tem traçado manual). Use o id em tracar_cano_agua.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"tracar_cano_agua","descricao":"Define o TRAÇADO MANUAL do cano de água de um ramal: a polilinha [[x,y],…] em metros que o tubo percorre (permite curva/desvio). SUBSTITUI a rota automática desse ramal e passa a valer no 2D, 3D, comprimento e clash. Passe pontos=[] para voltar ao automático. Descubra o id em listar_ramais_agua.","esquema":{"type":"object","properties":{"ramalId":{"type":"string","description":"id do ramal (de listar_ramais_agua)"},"pontos":{"type":"array","description":"lista de [x,y] em metros (≥2 vértices); [] volta ao automático","items":{"type":"array","items":{"type":"number"}}},"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"}},"required":["ramalId","pontos"]},"semTela":true},{"nome":"listar_ramais_esgoto","descricao":"Lista os ramais de ESGOTO (id, nome, tubo de queda, DN, comprimento, se já tem traçado manual). Use o id em tracar_cano_esgoto.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"tracar_cano_esgoto","descricao":"Define o TRAÇADO MANUAL do coletor de esgoto de um ramal: polilinha [[x,y],…] em metros (muda a rota por onde o esgoto escoa). SUBSTITUI a rota automática e passa a valer no 2D, 3D, comprimento e clash (viga é crítica no esgoto por gravidade). Passe pontos=[] para voltar ao automático. Descubra o id em listar_ramais_esgoto.","esquema":{"type":"object","properties":{"ramalId":{"type":"string","description":"id do ramal (de listar_ramais_esgoto)"},"pontos":{"type":"array","description":"lista de [x,y] em metros (≥2 vértices); [] volta ao automático","items":{"type":"array","items":{"type":"number"}}},"pavimento":{"type":"integer","description":"índice do pavimento; padrão = ativo"}},"required":["ramalId","pontos"]},"semTela":true},{"nome":"criar_condutor_pluvial","descricao":"Cria uma PRUMADA DE ÁGUAS PLUVIAIS (condutor vertical que desce da cobertura à base) num ponto (x,y em metros). O DN é dimensionado pela ÁREA DE CONTRIBUIÇÃO que ela drena (NBR 10844); sem area, entra no rateio automático da cobertura. Aparece no 2D (símbolo ↓ azul) e no 3D (cano vertical) e no dimensionamento pluvial.","esquema":{"type":"object","properties":{"x":{"type":"number","description":"posição X (m)"},"y":{"type":"number","description":"posição Y (m)"},"area":{"type":"number","description":"área de cobertura que drena (m²); opcional (rateio automático)"}},"required":["x","y"]},"semTela":true},{"nome":"listar_condutores_pluviais","descricao":"Lista as prumadas de águas pluviais (id, posição, área que drena, vazão e DN pela NBR 10844).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_condutor_pluvial","descricao":"Remove uma prumada de águas pluviais pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"criar_aspersor","descricao":"Cria um ASPERSOR de irrigação (disciplina IRRICAD) num ponto (x,y em metros). Tipo: spray (pop-up, 1,5–5,5 m) | rotor (turbina, 5–12 m) | micro (microaspersor, 0,8–3,5 m) | canhao (impacto, 10–26 m). arco em graus (360/270/180/90). setor = zona da válvula (aspersores do mesmo setor regam juntos). Calcula alcance, vazão (pela precipitação do tipo) e pressão; aparece no 2D (círculo de alcance) e 3D.","esquema":{"type":"object","properties":{"x":{"type":"number","description":"posição X (m)"},"y":{"type":"number","description":"posição Y (m)"},"tipo":{"type":"string","enum":["spray","rotor","micro","canhao"],"description":"tipo de emissor"},"raio":{"type":"number","description":"alcance em m (opcional; usa o padrão do tipo)"},"arco":{"type":"integer","enum":[360,270,180,90],"description":"abertura em graus"},"setor":{"type":"integer","description":"zona/válvula (default 1)"}},"required":["x","y"]},"semTela":true},{"nome":"listar_aspersores","descricao":"Lista os aspersores de irrigação (id, posição, tipo, raio, arco, setor, vazão e pressão).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"remover_aspersor","descricao":"Remove um aspersor de irrigação pelo id.","esquema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"semTela":true},{"nome":"dimensionar_irrigacao","descricao":"Dimensiona o sistema de IRRIGAÇÃO (IRRICAD): por SETOR devolve nº de aspersores, área, vazão (L/h e m³/h), precipitação (mm/h), tempo de rega para a lâmina de projeto, pressão necessária e uniformidade; e o pico do sistema (1 setor por vez), pressão do sistema, área coberta e avisos (ex.: mistura de tipos no mesmo setor).","esquema":{"type":"object","properties":{"laminaMm":{"type":"number","description":"lâmina de projeto por rega em mm (default 6)"}}},"semTela":true},{"nome":"listar_produtos_fornecedor","descricao":"Lista os produtos do catálogo de um FABRICANTE (biblioteca real): tigre | amanco (tubos/conexões de água fria e esgoto) | deca (louças/metais). Devolve categoria, nome, DN, unidade e preço de referência.","esquema":{"type":"object","properties":{"fornecedor":{"type":"string","enum":["tigre","amanco","deca"],"description":"fabricante"}}},"semTela":true},{"nome":"orcar_materiais","descricao":"Gera a LISTA DE MATERIAIS (BOM) precificada da hidráulica/esgoto do projeto com produtos REAIS de um fabricante (tigre | amanco | deca): tubos por DN (barras de 6 m) + conexões estimadas, a partir do traçado real das tubulações. Preços de referência. Devolve itens (qtd, unitário, total) e o total.","esquema":{"type":"object","properties":{"fornecedor":{"type":"string","enum":["tigre","amanco","deca"],"description":"fabricante"}}},"semTela":true},{"nome":"criar_atividade","descricao":"Cria uma ATIVIDADE de obra (planejamento 4D/EAP): código EAP, nome, disciplina e datas previstas (AAAA-MM-DD). Depois vincule cômodos com vincular_comodos e rode simular_4d.","esquema":{"type":"object","properties":{"nome":{"type":"string"},"codigoEap":{"type":"string","description":"ex.: 03.02.01"},"disciplina":{"type":"string","description":"arq|est|ele|hid|esg|ter"},"inicioPrev":{"type":"string","description":"AAAA-MM-DD"},"fimPrev":{"type":"string","description":"AAAA-MM-DD"},"pesoFisico":{"type":"number","description":"peso p/ a curva de avanço (opcional)"}},"required":["nome"]},"semTela":true},{"nome":"listar_atividades","descricao":"Lista as atividades da obra (id, EAP, nome, período previsto, nº de cômodos vinculados).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"vincular_comodos","descricao":"Vincula cômodos (ids de listar_comodos) a uma atividade — a quantidade (área) é puxada do cômodo, não digitada. Use o id de listar_atividades.","esquema":{"type":"object","properties":{"atividadeId":{"type":"string"},"comodos":{"type":"array","description":"ids de cômodo","items":{"type":"string"}}},"required":["atividadeId","comodos"]},"semTela":true},{"nome":"simular_4d","descricao":"Liga/desliga a SIMULAÇÃO 4D e define a data — pinta a planta pelo status previsto de cada cômodo (concluído/em andamento/não iniciado) e devolve o avanço físico previsto (%) da obra na data.","esquema":{"type":"object","properties":{"data":{"type":"string","description":"AAAA-MM-DD"},"ativa":{"type":"boolean","description":"default true"}},"required":["data"]},"semTela":true},{"nome":"listar_composicoes","descricao":"Lista as chaves do catálogo de custo (PRECOS_REF) com descrição, unidade e preço de referência. Use a chave em definir_composicao. Filtro opcional por texto.","esquema":{"type":"object","properties":{"busca":{"type":"string","description":"filtra por chave ou descrição"}}},"semTela":true},{"nome":"definir_composicao","descricao":"Define a COMPOSIÇÃO de custo (5D) de uma atividade a partir do catálogo do orçamento (chave de PRECOS_REF, ex.: alvenaria, concreto, aco, porta, janela, piso, pintura — as chaves são no SINGULAR; use listar_composicoes para ver todas). O custo da atividade = quantidade dos cômodos vinculados × custo unitário × (1+BDI). Use listar_atividades p/ o id.","esquema":{"type":"object","properties":{"atividadeId":{"type":"string"},"composicao":{"type":"string","description":"chave do catálogo (ex.: alvenaria)"}},"required":["atividadeId","composicao"]},"semTela":true},{"nome":"custo_5d","descricao":"Custo 5D da obra: por atividade (quantidade × composição × BDI) + totais previsto e realizado (× avanço apontado).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"orcamento","descricao":"Quantitativo do projeto (área, paredes, alvenaria, portas, janelas, concreto, pavimentos) e o CUSTO ESTIMADO (mesmo motor do 💰 Orçamento: quantitativos × composições × BDI), com a base e a data de referência dos preços e os itens. Com `comodo`, devolve também o custo MARGINAL daquele cômodo (o que o orçamento perde sem ele) e os itens que mudam.","esquema":{"type":"object","properties":{"comodo":{"type":"string","description":"id do cômodo (de listar_comodos) para o custo marginal"},"pavimento":{"type":"integer","description":"índice do pavimento do cômodo (padrão: o ativo)"}}},"semTela":true},{"nome":"rodar_clash","descricao":"Clash federado entre disciplinas (estrutura × elétrica × hidráulica × esgoto).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"fechar_em_comodos","descricao":"Fecha as paredes desenhadas ou importadas em CÔMODOS editáveis — o passo que transforma desenho em projeto (sem ele a área, o quantitativo e a estrutura ficam em zero). Mesmo motor do botão 🧱→🏠 da Arquitetura.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"importar_cad","descricao":"Importa uma planta CAD de fora (.dxf ou .dwg). Desenho emitido pelo BIM Studio volta como PROJETO (cômodos com a área e o nome originais); desenho de terceiro entra como geometria para desenhar por cima. Gratuito em qualquer plano.","esquema":{"type":"object","properties":{}},"semTela":false,"motivo":"abre o seletor de arquivo do computador — pela API, mande o projeto em POST /api/v1/projetos (campo `projeto`)"},{"nome":"quadro_areas_12721","descricao":"Emite o QUADRO DE ÁREAS da ABNT NBR 12721:2006 (VC3:2021) — Quadro I do §5.8.1: área REAL e área EQUIVALENTE em área de custo padrão, por pavimento e global, com as 18 colunas da norma e a composição por dependência. É o quadro que vai a registro de imóveis, diferente do quadro de áreas do projeto (útil/construída). Onde a norma dá FAIXA de coeficiente (§5.7.3, ex.: varanda 0,75 a 1,00) a linha fica pendente até o projeto adotar um valor em proj.coef12721 — o programa não escolhe pelo responsável técnico.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"areas_unidades_12721","descricao":"Emite as ÁREAS DAS UNIDADES AUTÔNOMAS da ABNT NBR 12721:2006 (VC3:2021) — Quadro II (§5.8.2) e Quadro IV-B (§5.8.3): por unidade, áreas privativas (principal e acessória) real e equivalente, o COEFICIENTE DE PROPORCIONALIDADE (col. 31 = área equivalente da unidade ÷ total), o rateio das áreas de uso comum de divisão proporcional, e o resumo para registro/escrituração. É a base da FRAÇÃO IDEAL (§3.13). Precisa que os cômodos estejam atribuídos a UNIDADES AUTÔNOMAS (no painel do cômodo, campo 🏢 unidade); sem unidades, recusa. Quadros de custo (III e IV-A) não são emitidos: dependem do CUB da localidade.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"exportar_bcf","descricao":"Exporta os APONTAMENTOS do projeto em BCF 2.1 (.bcfzip) — o formato que o BIMcollab, o Solibri e o Navisworks abrem para revisão de projeto. Cria os apontamentos na aba 🗂 Projeto antes.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"laudo_inspecao_predial","descricao":"Abre o LAUDO DE INSPEÇÃO PREDIAL a partir dos dados da aba 🔍 Perícia (anomalias, vistorias, grau de risco). Documento diferente do laudo PERICIAL da NBR 13752 — para aquele, use `gerar_laudo_pericial`.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"folha_eletrica","descricao":"Abre o PROJETO ELÉTRICO em folha: planta elétrica, quadro de cargas, diagrama multifilar e lista de materiais (NBR 5410).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"folha_hidraulica","descricao":"Abre o PROJETO HIDRÁULICO em folha: planta, ramais, coluna, isométrico, verificação de pressões e materiais (NBR 5626).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"folha_esgoto","descricao":"Abre o PROJETO DE ESGOTO em folha: planta, ramais, tubo de queda, ventilação e pluvial (NBR 8160).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"folha_telecom","descricao":"Abre o PROJETO DE TELECOM em folha: planta, quadro de pontos, cabos e equipamentos (NBR 14565).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"quadros_esquadrias","descricao":"Abre os QUADROS DE ESQUADRIAS E REVESTIMENTOS: portas e janelas agrupadas por tipo com quantidade para compra, e área de piso e parede por ambiente.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"carga_termica","descricao":"Abre o documento de CARGA TÉRMICA (HVAC) do pavimento ativo: ganhos por ambiente e capacidade sugerida de climatização.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"relatorio_obra","descricao":"Abre o RELATÓRIO DE PLANEJAMENTO DE OBRA (4D/5D): atividades, cronograma e custo por etapa.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"exportar_dxf_disciplina","descricao":"Exporta em DXF o desenho de UMA DISCIPLINA (elétrica, hidráulica, esgoto, telecom, fôrmas…), não a planta de arquitetura. Chamada sem `desenho`, devolve a lista dos desenhos disponíveis neste projeto.","esquema":{"type":"object","properties":{"desenho":{"type":"string","description":"id do desenho, como devolvido pela chamada sem argumento"}}},"semTela":true},{"nome":"dados_de_terceiro","descricao":"Lista os DADOS DE TERCEIRO que as normas exigem e que só fabricante, concessionária, laudo ou o responsável técnico podem fornecer (integral de Joule do disjuntor, corrente de curto presumida, emitância da telha metálica, absortância da cobertura…). Mostra o que já foi informado, o que falta e QUAL VERIFICAÇÃO deixa de rodar por causa de cada falta. Sem argumento, só relata.","esquema":{"type":"object","properties":{"campo":{"type":"string","description":"id do campo a informar"},"valor":{"type":"string","description":"valor a registrar (número ou texto)"}}},"semTela":true},{"nome":"comparar_preco_lojas","descricao":"Cota o MESMO material nas quatro redes de material de construção (Telhanorte · Obramax · Chatuba · Tumelero) e devolve o preço de cada uma, a mediana, a dispersão e qual é a mais barata. Marca o que está a mais de 4× da mediana como FORA DE FAMÍLIA — provavelmente outro produto (uma caixa, um kit), não outro preço. Serve para escolher a loja da sua praça e para desconfiar de preço que destoa.","esquema":{"type":"object","properties":{"termo":{"type":"string","description":"o que buscar, ex.: \"cimento cp2 50kg\""},"confirma":{"type":"string","description":"tokens separados por vírgula que o nome do produto deve conter, ex.: \"cpii,cp ii\""}},"required":["termo"]},"semTela":true},{"nome":"fornecedores_locais","descricao":"AGENDA dos fornecedores do próprio usuário (o depósito da esquina, que não tem e-commerce). Sem argumento, lista a agenda ordenada por DISTÂNCIA até a obra. `acao: \"salvar\"` cadastra (nome obrigatório; informe o CEP para calcular a distância). `acao: \"remover\"` apaga. `acao: \"cotacao\"` gera a LISTA DE COTAÇÃO do quantitativo do projeto, endereçada ao fornecedor e pronta para enviar — sem preço, porque quem forma preço é ele.","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"listar | salvar | remover | cotacao"},"id":{"type":"string","description":"id do fornecedor (remover/cotação)"},"nome":{"type":"string"},"cep":{"type":"string"},"whatsapp":{"type":"string"},"email":{"type":"string"},"contato":{"type":"string","description":"a/c — pessoa de contato"},"cidade":{"type":"string"},"fornece":{"type":"string","description":"o que fornece"}}},"semTela":false,"motivo":"localizar a obra pelo CEP; folha de cotação para o fornecedor"},{"nome":"documento_arquitetonico","descricao":"Abre o PROJETO ARQUITETÔNICO COMPLETO num único documento: plantas baixas cotadas, cortes, fachadas e a perspectiva 3D do modelo. É o mesmo do botão 📘 em Compartilhar.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"planta_cotada","descricao":"Abre a PLANTA BAIXA COTADA e mobiliada de todos os pavimentos, com quadro de áreas, escadas e acabamentos.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"cortes_fachadas","descricao":"Abre os CORTES e as FACHADAS do projeto, com níveis, laje e telhado. Usa os planos de corte posicionados no projeto, quando houver.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"memorial_descritivo","descricao":"Abre o MEMORIAL descritivo e de cálculo de todas as disciplinas presentes, com as hipóteses adotadas, as normas aplicadas e o que NÃO foi verificado.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"pranchas_estrutura","descricao":"Abre as PRANCHAS DE ESTRUTURA: planta de fôrmas, pilares, vigas, detalhamento das lajes e quadro de aço. Usa o resultado do FEM quando já calculado.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"estruturas_especiais","descricao":"Abre o documento de ESTRUTURAS ESPECIAIS (muro de arrimo, via, ponte, silo, reservatório elevado, torre) com as verificações e o custo de cada uma.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"prancha_instalacoes","descricao":"Abre a PRANCHA EXECUTIVA DE INSTALAÇÕES: elétrica, hidráulica e esgoto na mesma folha, com quadros, ramais e materiais.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"orcamento_analitico","descricao":"Abre o ORÇAMENTO ANALÍTICO em prancha: composições, quantitativos por item e cronograma. (A ferramenta `orcamento` devolve os NÚMEROS; esta abre o documento.)","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"maquete_3d","descricao":"Gera a MAQUETE 3D NAVEGÁVEL para enviar ao cliente — um arquivo que abre no navegador e permite girar e passear pelo modelo.","esquema":{"type":"object","properties":{}},"semTela":false,"motivo":"maquete 3D"},{"nome":"gerar_folhas_arq","descricao":"Emite as FOLHAS ARQUITETÔNICAS COMPLEMENTARES exigidas pela NBR 6492:2021: planta de IMPLANTAÇÃO (lote, recuos, projeção da cobertura, áreas permeáveis, acessos), planta das COBERTURAS (com sentido de escoamento e inclinação), TERRAPLENAGEM (planta e corte, cotas projetadas e existentes, corte e aterro medidos pela topografia) e AMBIENTES ESPECIAIS (áreas molhadas quantificadas), mais a LISTA DE PRANCHAS. Folha sem dado sai marcada NÃO EMITIDA com o motivo — implantação precisa do terreno, terraplenagem precisa de pontos de nível.","esquema":{"type":"object","properties":{"etapa":{"type":"string","description":"etapa do projeto para o conteúdo exigido: EP | AP | PE (padrão PE)"}}},"semTela":true},{"nome":"exportar_dxf","descricao":"Exporta a planta do pavimento ativo em DXF (baixa o arquivo).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"exportar_ifc","descricao":"Exporta o modelo inteiro em IFC (baixa o arquivo).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"projeto_legal","descricao":"Gera o PROJETO LEGAL — pacote de pranchas para APROVAÇÃO NA PREFEITURA no padrão do perfil municipal (Bauru/SP inicial: Lei 7.028/2017 + Decreto 13.711/2018, com fonte e data): requerimento com o selo padrão, checklist dos documentos, quadro de parâmetros urbanísticos exigido × projeto (origem de cada índice), quadro de áreas, implantação, plantas, cortes, fachadas, cobertura, memorial resumido e declarações. Sem `gerar`, só devolve as PENDÊNCIAS antes de protocolar.","esquema":{"type":"object","properties":{"gerar":{"type":"string","description":"sim para abrir o documento; vazio só lista as pendências"}}},"semTela":true},{"nome":"gerar_caderno","descricao":"Gera o CADERNO DE PROJETO COMPLETO (entregável final): um único PDF com capa, índice de pranchas e as folhas de TODAS as disciplinas presentes — Arquitetura (planta/cortes/fachadas/3D), Estrutural, Hidráulica, Esgoto, Elétrica, Estruturas especiais, Memorial e Orçamento. Abre o documento pronto para imprimir/salvar.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"gerar_folha","descricao":"Monta a FOLHA COMPONÍVEL (prancha de verdade): moldura e margens da NBR 16752:2020, carimbo no canto e VÁRIAS vistas na mesma página, cada uma na sua escala, em milímetros reais (imprimir a 100%). Confere se cada vista CABE no seu quadro e, se não couber, diz qual escala caberia. Sem vistas escolhidas, entram todas as plantas e cortes do projeto.","esquema":{"type":"object","properties":{"formato":{"type":"string","description":"A0 | A1 | A2 | A3 | A4 (padrão A1)"},"orientacao":{"type":"string","description":"paisagem | retrato (padrão paisagem)"},"escala":{"type":"integer","description":"denominador: 50 = 1:50 (padrão: a escala do projeto, ou 50)"},"folha":{"type":"string","description":"código da folha, ex.: ARQ-01"},"vistas":{"type":"array","items":{"type":"string"},"description":"ids das vistas (planta-0, corte-A-A…); vazio = todas"},"dividir":{"type":"boolean","description":"quando o desenho não cabe: divide em VÁRIAS folhas com matchline, mantendo a escala, em vez de reduzi-la. Exige UMA vista"}}},"semTela":true},{"nome":"colocar_componente_detalhe","descricao":"Coloca um COMPONENTE DE DETALHE 2D sobre um corte (manta asfáltica, selante, rufo, sarrafo, isolamento, armadura em corte, tela, terreno, pingadeira, linha de quebra). Cada peça tem dimensão de OBRA em metros e é desenhada NA ESCALA da vista — em escala pequena o motor avisa que a espessura some ou deixa de ser proporcional. Sem tipo, devolve o catálogo.","esquema":{"type":"object","properties":{"tipo":{"type":"string","description":"id do componente; vazio = lista o catálogo"},"x":{"type":"number","description":"posição x, em metros da vista"},"y":{"type":"number","description":"altura y, em metros"},"comprimento":{"type":"number","description":"em metros (padrão 0,60)"},"espessura":{"type":"number","description":"dimensão característica em METROS (padrão: a do catálogo)"},"rotacao":{"type":"number","description":"graus"},"vista":{"type":"string","description":"corte-A-A | corte-B-B; vazio = todas"}}},"semTela":true},{"nome":"keynote","descricao":"KEYNOTES: a especificação escrita UMA vez numa tabela, referenciada por código no desenho. acao=\"tabela\" lista · \"criar\" cria entrada (com `ref` de item do orçamento, o texto vem dele e desenho+orçamento passam a apontar a mesma peça) · \"colocar\" põe o código numa vista · \"conferir\" denuncia código sem entrada, código repetido com textos diferentes e divergência contra o orçamento · \"semear\" cria a tabela a partir do orçamento do projeto.","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"tabela | criar | colocar | conferir | semear"},"codigo":{"type":"string"},"texto":{"type":"string"},"ref":{"type":"string","description":"chave de item do orçamento"},"x":{"type":"number","description":"metros"},"y":{"type":"number","description":"metros"},"vista":{"type":"string","description":"corte-A-A | corte-B-B"}},"required":["acao"]},"semTela":true},{"nome":"linework","descricao":"LINEWORK: desenho 2D de detalhe sobre uma vista — linha (8 estilos, espessura em mm de PAPEL), região hachurada e MÁSCARA (esconde graficamente o que está embaixo). ⚠️ NÃO é modelo: nada disto entra no quantitativo, no IFC ou no cálculo. acao=\"estilos\" lista o catálogo · \"linha\"/\"regiao\"/\"mascara\" criam · \"conferir\" avisa o que não imprime e o que a máscara esconde.","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"estilos | linha | regiao | mascara | conferir"},"estilo":{"type":"string","description":"continua|media|grossa|tracejada|oculta|eixo|demolir|auxiliar"},"padrao":{"type":"string","description":"solido|concreto|alvenaria|terra|isolante|vazio"},"pts":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"pontos [[x,y],…] em METROS da vista"},"vista":{"type":"string","description":"corte-A-A | corte-B-B"}},"required":["acao"]},"semTela":true},{"nome":"parametro_global","descricao":"PARÂMETRO GLOBAL: valor nomeado do projeto inteiro, que pode ser FÓRMULA sobre outros (parede + laje * 2). Use {nome} em texto de keynote/memorial para acompanhar a mudança. acao=\"listar\" (com os valores resolvidos) · \"criar\" · \"remover\" · \"semear\" (do que o projeto já usa). Ciclo de dependência é DETECTADO e o laço vai nomeado.","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"listar | criar | remover | semear"},"nome":{"type":"string"},"valor":{"type":"string","description":"número ou fórmula"},"un":{"type":"string"}},"required":["acao"]},"semTela":true},{"nome":"filtro_vista","descricao":"FILTRO DE VISTA por qualquer campo — mesma regra da 🧮 Tabela paramétrica, para as duas telas nunca discordarem. Modos: destacar | isolar | ocultar. ⚠️ esconder NÃO é apagar: o oculto continua no modelo, no quantitativo, no orçamento e no cálculo. acao=\"campos\" lista fontes e campos · \"criar\" · \"listar\" · \"remover\" · \"limpar\".","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"campos | criar | listar | remover | limpar"},"fonte":{"type":"string","description":"comodos | paredes | esquadrias | patologias"},"campo":{"type":"string"},"op":{"type":"string","description":"= ≠ > < ≥ ≤ contém"},"valor":{"type":"string"},"modo":{"type":"string","description":"destacar | isolar | ocultar"},"id":{"type":"string"}},"required":["acao"]},"semTela":true},{"nome":"produto_fabricante","descricao":"FICHA DE PRODUTO do fabricante ligada a um tipo do catálogo: marca, linha, código, dimensões REAIS, preço e amarra ao orçamento. ⚠️ CONFERE A DEFORMAÇÃO: o .glb é escalado para a medida da peça do projeto, então um produto de 1,20 m numa peça de 0,80 aparece ESPREMIDO 33% — a tela deixa de mostrar o produto. acao=\"listar\" · \"especificar\" · \"remover\" · \"conferir\" (deformação + duplicidade por tipo) · \"lista\" (caderno de encargos, com quantidade e total).","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"listar | especificar | remover | conferir | lista"},"tipo":{"type":"string","description":"tipo do catálogo de mobiliário"},"marca":{"type":"string"},"linha":{"type":"string"},"codigo":{"type":"string"},"w":{"type":"number","description":"largura REAL, m"},"d":{"type":"number","description":"profundidade REAL, m"},"h":{"type":"number","description":"altura REAL, m"},"preco":{"type":"number"},"ref":{"type":"string","description":"chave de item do orçamento"},"url":{"type":"string"}},"required":["acao"]},"semTela":true},{"nome":"converter_importado","descricao":"MOTOR DE CONVERSÃO: recebe a caixa envolvente de um objeto importado (IFC/.glb/OBJ/DXF) e devolve um LAUDO com três graus separados — MEDIDO (caixa, eixo, exato), INFERIDO (unidade, com o fator proposto) e ADIVINHADO (a classe). ⚠️ Pega o arquivo mil vezes fora de escala ANTES de virar desenho e orçamento. ⚠️ Classe adivinhada NÃO habilita cálculo normativo.","esquema":{"type":"object","properties":{"nome":{"type":"string","description":"nome do objeto no arquivo"},"classeIFC":{"type":"string","description":"IFCWALL, IFCBEAM…"},"x":{"type":"number","description":"dimensão do arquivo"},"y":{"type":"number"},"z":{"type":"number"},"eixoCima":{"type":"string","description":"z (padrão do app) | y (glTF/OBJ)"},"malhaAberta":{"type":"boolean","description":"malha não fechada: volume não é confiável"}},"required":["x","y","z"]},"semTela":true},{"nome":"paredes_duplas","descricao":"VERIFICAÇÃO DE MODELO — acha PAREDES PARALELAS COLADAS com faixa órfã entre elas (duas paredes onde deveria haver uma), mede o desperdício em m² e em R$, e diz em quantos pavimentos se repete. ⚠️ Não decide a intenção: parede dupla é solução legítima de meação acústica (NBR 15575) — quando for, use acao=\"declarar\" com o motivo e o aviso silencia, ficando o motivo registrado no projeto para o memorial citar. Corredor, shaft e poço NÃO são apontados: o que denuncia o acidente é o vão entre as faces não pertencer a cômodo nenhum. acao=\"verificar\" (padrão) | \"declarar\".","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"verificar | declarar"},"orientacao":{"type":"string","description":"horizontal | vertical"},"pos":{"type":"number","description":"coordenada do EIXO MÉDIO entre as duas paredes, em metros"},"motivo":{"type":"string","description":"por que a parede dupla é intencional — obrigatório para declarar"}}},"semTela":true},{"nome":"etapa_projeto","descricao":"ETAPA DO PROJETO (NBR 16636-1:2017: LV-PRE·PGN·EV·EP·AP·PL·PE) — gradua o RIGOR da verificação conforme o momento. Um projeto em construção não é um projeto errado: o que a etapa ainda não exige vira PENDENTE (dizendo em que etapa passa a valer), não erro. ⚠️ a norma NÃO foi conferida no texto oficial — as siglas e a ordem são as correntes na prática, e é a ORDEM que o sistema usa. acao=\"ver\" (padrão, com a varredura graduada e o DELTA desde a última) | \"definir\" | \"marcar\" (grava a varredura atual como referência do próximo delta).","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"ver | definir | marcar"},"etapa":{"type":"string","description":"LV | PN | EV | EP | AP | PL | PB | PE"}}},"semTela":true},{"nome":"vazios_planta","descricao":"VERIFICAÇÃO DE MODELO — mede os ESPAÇOS DESNECESSÁRIOS da planta: todo pedaço que não é cômodo nem parede e está espremido entre cômodos. Pega frestas (resíduo de grade, meação dupla) e bolsões (recorte que ninguém fechou), COM ou SEM acesso — os dois desperdiçam área útil, e o retorno diz qual é qual. ⚠️ Não aponta o lado de fora da fachada nem recorte de fachada em L. Shaft e poço de ventilação são legítimos: DECLARE com o motivo e o aviso silencia. acao=\"verificar\" (padrão) | \"declarar\".","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"verificar | declarar"},"pavimento":{"type":"integer","description":"índice, para declarar"},"x":{"type":"number","description":"canto do vazio, em metros (vem do verificar)"},"y":{"type":"number"},"motivo":{"type":"string","description":"por que o vazio é intencional — obrigatório para declarar"}}},"semTela":true},{"nome":"registrar_anomalia","descricao":"PERÍCIA — registra uma anomalia (patologia) com vistoria DATADA, na taxonomia da NBR 13752:2024. tipo: fissura | infiltracao | corrosao | desplacamento | eflorescencia | recalque | flecha | mofo | desvio | outra. grau (NBR 16747 §5.3.7): critico (Prioridade 1) | medio (2) | minimo (3). ⚠️ origem e natureza são EXIGIDAS pela 13752 §7.2.2-e para a caracterização — sem elas a anomalia entra marcada \"a classificar\". As medidas alimentam a avaliação automática (ex.: abertura_mm de fissura contra o limite da CAA).","esquema":{"type":"object","properties":{"tipo":{"type":"string","description":"fissura | infiltracao | corrosao | desplacamento | eflorescencia | recalque | flecha | mofo | desvio | outra"},"grau":{"type":"string","description":"critico | medio | minimo"},"origem":{"type":"string","description":"endogena | exogena | funcional | falha_uso | falha_manutencao | falha_operacao | caso_fortuito | vandalismo"},"natureza":{"type":"string","description":"vicio_aparente | vicio_oculto | vicio_informacao | defeito | avaria | mutilacao | deterioracao"},"pavimento":{"type":"integer","description":"índice; padrão = ativo"},"comodo":{"type":"string","description":"id do cômodo (de listar_comodos)"},"data":{"type":"string","description":"AAAA-MM-DD; padrão = hoje"},"abertura_mm":{"type":"number","description":"fissura: abertura em MILÍMETROS"},"comprimento_m":{"type":"number"},"flecha_mm":{"type":"number"},"vao_m":{"type":"number"},"custoReparo":{"type":"number","description":"R$ estimado pelo perito"},"nota":{"type":"string"}},"required":["tipo"]},"semTela":true},{"nome":"listar_anomalias","descricao":"PERÍCIA — quadro das anomalias registradas com a avaliação automática de cada uma (abertura contra o limite da CAA, flecha contra a Tabela 13.3, progressão entre vistorias) e os custos segmentados por natureza, como a NBR 13752 §7.3.3.4.7-c exige.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"evoluir_anomalia","descricao":"PERÍCIA — acrescenta uma NOVA VISTORIA datada a uma anomalia. O histórico nunca é editado, só cresce: é a comparação entre vistorias que diz se a anomalia é PROGRESSIVA ou estável, e isso é o que sustenta o laudo.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da anomalia (de listar_anomalias)"},"data":{"type":"string","description":"AAAA-MM-DD"},"abertura_mm":{"type":"number"},"comprimento_m":{"type":"number"},"flecha_mm":{"type":"number"},"vao_m":{"type":"number"},"nota":{"type":"string"}},"required":["id","data"]},"semTela":true},{"nome":"gerar_laudo_pericial","descricao":"PERÍCIA — monta a MINUTA de laudo pericial na estrutura da NBR 13752:2024 §7.2.2, com hash SHA-256 do conteúdo (reproduzível) e as anomalias, vistorias e avaliações. ⚠️ É INSTRUMENTO DE TRABALHO DO PERITO: os campos que a norma exige do profissional (natureza, modalidade, finalidade) saem marcados \"A PREENCHER\" em vez de inventados, e o documento não substitui laudo assinado com ART.","esquema":{"type":"object","properties":{"requerente":{"type":"string"},"requerido":{"type":"string"},"objeto":{"type":"string","description":"objeto da perícia"},"analise":{"type":"string"},"conclusao":{"type":"string"},"processo":{"type":"string","description":"nº do processo, se judicial"}}},"semTela":true},{"nome":"peca_parametrica","descricao":"PEÇA PARAMÉTRICA com FLEXING: perfil por fórmula sobre parâmetros, cada um com faixa declarada. A peça é testada na FAIXA INTEIRA antes de existir e a que quebra é RECUSADA — com o valor exato da quebra, achado por bisseção, e as saídas possíveis. ⚠️ Amostragem não é prova: o laudo diz quantos pontos foram testados. acao=\"publicar\" | \"flexar\" (só testa) | \"listar\".","esquema":{"type":"object","properties":{"acao":{"type":"string","description":"publicar | flexar | listar"},"nome":{"type":"string"},"altura":{"type":"string","description":"fórmula da extrusão"},"params":{"type":"array","items":{"type":"object"},"description":"[{nome,min,max,padrao}]"},"perfil":{"type":"array","items":{"type":"array"},"description":"[[\"0\",\"0\"],[\"b\",\"0\"],…] cada coordenada é fórmula"},"furos":{"type":"array","items":{"type":"object"},"description":"[{x,y,r}] por fórmula"}},"required":["acao"]},"semTela":true},{"nome":"render_hq","descricao":"Renderiza uma imagem HQ da cena 3D (escala 1..4) no enquadramento atual, com acabamento de apresentação: fundo neutro de estúdio, piso que recebe a sombra, sombra ajustada ao tamanho do modelo e reflexo suave no vidro — a vista de trabalho não muda. Com o estudo de sol ligado, a imagem usa o sol do estudo (mês e hora escolhidos).","esquema":{"type":"object","properties":{"escala":{"type":"integer"}}},"semTela":false,"motivo":"render fotorrealista"},{"nome":"listar_elementos_estruturais","descricao":"Consulta o catálogo de elementos ESTRUTURAIS: 64 correntes + 17 de alta tecnologia = 81 no total, MAS os 17 avançados só entram com avancado:true (o padrão devolve 64). Filtros opcionais. Devolve id, nome, geometria, material, categoria, esforço, norma e a primitiva (traco-barra = desenhável). Use antes de inserir_elemento_estrutural.","esquema":{"type":"object","properties":{"porte":{"type":"string","description":"casa | galpao | predio"},"material":{"type":"string","description":"CONCRETO_ARMADO | ACO | MADEIRA | ALVENARIA_ESTRUTURAL | CONCRETO_PRE_MOLDADO | CONCRETO_PROTENDIDO | SISTEMA_MISTO"},"categoria":{"type":"string","description":"INFRAESTRUTURA | SUPRAESTRUTURA | COBERTURA | CONEXAO"},"geometria":{"type":"string","description":"UNIDIMENSIONAL | BIDIMENSIONAL | TRIDIMENSIONAL"},"avancado":{"type":"boolean","description":"incluir alta tecnologia (default false)"}}},"semTela":true},{"nome":"inserir_elemento_estrutural","descricao":"DESENHA um elemento estrutural linear (barra 1D: pilar/viga/tirante/terça…) no pavimento ativo, ligando os pontos dados (metros). Pilar = 1 ponto por posição; viga/tirante = 2 pontos. O elemento entra no cálculo (FEM/orçamento). Use listar_elementos_estruturais para ver os ids desenháveis.","esquema":{"type":"object","properties":{"elementoId":{"type":"string","description":"id do elemento (ex.: pilar_estrutural, viga_estrutural, terca)"},"pontos":{"type":"array","description":"lista de [x,y] em metros","items":{"type":"array","items":{"type":"number"}}}},"required":["elementoId","pontos"]},"semTela":true},{"nome":"listar_elementos_arquitetonicos","descricao":"Consulta o catálogo de elementos ARQUITETÔNICOS (vedação, aberturas, fluxo, cobertura/forro, proteção). Filtros: tipoArq, localizacao, ambiente. Devolve id, nome, tipo, unidade, preço e norma.","esquema":{"type":"object","properties":{"tipoArq":{"type":"string","description":"VEDACAO | ABERTURA_ILUMINACAO | FLUXO_CIRCULACAO | COBERTURA_FORRO | PROTECAO_CONFORTO"},"localizacao":{"type":"string","description":"INTERNO | EXTERNO"},"ambiente":{"type":"string","description":"RESIDENCIAL | COMERCIAL | INDUSTRIAL"}}},"semTela":true},{"nome":"listar_elementos_eletricos","descricao":"Consulta o catálogo ELÉTRICO (60 elementos, 11 tipos: entrada/medição, transformação/geração, proteção, condutores, encaminhamento, terminais, iluminação, SPDA, telecom, automação, energia alternativa solar/EV). Filtros: tipoEletrico, tensao, porte. Devolve id, nome, tipo, tensão, circuito, unidade, preço, potência VA.","esquema":{"type":"object","properties":{"tipoEletrico":{"type":"string","description":"ENTRADA_MEDICAO | TRANSFORMACAO_GERACAO | PROTECAO_MANOBRA | CONDUTORES | INFRAESTRUTURA_ENCAMINHAMENTO | TERMINAIS_INTERRUPTORES | ILUMINACAO | SPDA_ATERRAMENTO | TELECOM_DADOS | AUTOMACAO_CONTROLE | ENERGIA_ALTERNATIVA"},"tensao":{"type":"string","description":"BAIXA_TENSAO | MEDIA_ALTA_TENSAO | EXTRA_BAIXA_TENSAO"},"porte":{"type":"string","description":"casa | galpao | predio"}}},"semTela":true},{"nome":"listar_elementos_hidraulicos","descricao":"Consulta o catálogo HIDROSSANITÁRIO/MEP (67 elementos, 7 sistemas: água fria/quente, esgoto, ventilação, pluvial, tratamento local, reúso). Filtros: sistema, tipoHidro, porte. Devolve id, nome, sistema, tipo, material, unidade, preço, DN mínimo e UHC.","esquema":{"type":"object","properties":{"sistema":{"type":"string","description":"AGUA_FRIA | AGUA_QUENTE | ESGOTO_SANITARIO | VENTILACAO_ESGOTO | AGUAS_PLUVIAIS | TRATAMENTO_LOCAL | REUSO_APROVEITAMENTO"},"tipoHidro":{"type":"string","description":"RESERVACAO | TUBULACAO | APARELHO_SANITARIO | PONTO_CONSUMO | VALVULA_REGISTRO | CAPTACAO_DRENAGEM | INSPECAO_MANUTENCAO | TRATAMENTO | AQUECIMENTO | ALIMENTACAO_MEDICAO | PRESSURIZACAO_BOMBEAMENTO | CONEXAO"},"porte":{"type":"string","description":"casa | galpao | predio"}}},"semTela":true},{"nome":"listar_elementos_infra","descricao":"Consulta o catálogo TERRENO/INFRAESTRUTURA (53 elementos, 9 tipos: levantamento/geotecnia, terraplenagem, contenção, drenagem superficial, drenagem profunda/galeria, retenção/infiltração, pavimentação/viário, redes externas, lote/urbanização). Filtros: tipoInfra, localizacao, porte. Devolve id, nome, tipo, localização, unidade e preço.","esquema":{"type":"object","properties":{"tipoInfra":{"type":"string","description":"LEVANTAMENTO_GEOTECNIA | TERRAPLENAGEM | CONTENCAO_ESTABILIZACAO | DRENAGEM_SUPERFICIAL | DRENAGEM_PROFUNDA_GALERIA | RETENCAO_INFILTRACAO | PAVIMENTACAO_VIARIO | REDES_EXTERNAS | LOTE_URBANIZACAO"},"localizacao":{"type":"string","description":"LOTE | VIA_PUBLICA | MISTO"},"porte":{"type":"string","description":"casa | galpao | predio"}}},"semTela":true},{"nome":"validar_compatibilizacao","descricao":"Roda o MOTOR DE CONFORMIDADE UNIFICADO (106 checks das 5 disciplinas): cruzado estrutura×arq×elétrica (parede→viga, esquadria→verga, telha→terça, SPDA, cabo→eletroduto, DR) + HIDROSSANITÁRIO (HID-001..023, ex.: prumada desalinhada, caixa de gordura, ventilação) + ELÉTRICA (ELE-001..022, ex.: TUG por perímetro, iluminação por área, DR em molhada) + ARQUITETURA (ARQ: pé-direito, áreas mínimas, corredor) + TERRENO/INFRA (TER: recuos vs implantação, nº SPT por área NBR 8036, piscininha). Devolve {id, severidade, disciplina, norma, titulo}.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"gerar_modelo","descricao":"GERA uma planta residencial VÁLIDA POR CONSTRUÇÃO (gerador corridor-first: o corredor nasce primeiro e os cômodos penduram nele — suíte com banheiro anexo, quarto abrindo p/ circulação, garagem com portão, varanda gourmet). Tipologias: CASA_TERREA / APARTAMENTO_TIPO / KITNET_STUDIO / PREDIO_MULTIFAMILIAR (torre completa: térreo com saguão+salão de festas + N pavimentos-tipo com 2 aptos estanques, núcleo rígido p/ o FEM). Padrão: ECONOMICO/MEDIO/ALTO (alto = garagem 3+ vagas). Pipeline de CHECKPOINTS C1 programa→C2 layout→C3 aberturas (reparo local)→C4 conformidade completa; `variacao` muda a planta DETERMINISTICAMENTE (mesma variação = mesma planta). ⚠️ SUBSTITUI o projeto atual (confirme com o cliente antes). Devolve resumo + validação + checkpoints.","esquema":{"type":"object","properties":{"tipologia":{"type":"string","description":"CASA_TERREA | APARTAMENTO_TIPO | KITNET_STUDIO | PREDIO_MULTIFAMILIAR"},"padrao":{"type":"string","description":"ECONOMICO | MEDIO | ALTO"},"variacao":{"type":"number","description":"1..6 — variação determinística do layout (opcional, default 1)"},"loteW":{"type":"number","description":"largura do lote em m (opcional — ativa o encaixe no terreno)"},"loteD":{"type":"number","description":"profundidade do lote em m (opcional)"},"recuoFrente":{"type":"number","description":"recuo/afastamento de frente (m) do plano diretor"},"recuoFundo":{"type":"number","description":"recuo de fundo (m)"},"recuoEsq":{"type":"number","description":"recuo lateral esquerdo (m)"},"recuoDir":{"type":"number","description":"recuo lateral direito (m)"}}},"semTela":true},{"nome":"normalizar_projeto","descricao":"NORMALIZAÇÃO GERAL do projeto (passe canônico, determinístico e idempotente): ajusta cômodos à grade 0,25, remove degenerados e aberturas órfãs, garante ids únicos, dimensiona escada REAL nos vãos de multipavimento (NBR 9077), detecta o núcleo rígido (shear core no FEM), volta fundação inválida ao fluxo automático e clampa recuos. Devolve a lista de correções aplicadas (log honesto — vazia se o projeto já era canônico).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"sugerir_completacoes","descricao":"ASSISTENTE DETERMINÍSTICO — lista o que está FALTANDO no projeto, por norma (não por IA): elétrica não lançada ou com déficit de TUGs (NBR 5410, ex.: \"faltam tomadas na cozinha\"), áreas molhadas sem hidráulica (NBR 5626), hidráulica sem esgoto (NBR 8160), lote sem fechamento perimetral, pavimento sem escada. Cada item traz `acao` aplicável via gerar_eletrica/gerar_hidraulica/gerar_esgoto ou configuração. Use para guiar o usuário na construção assistida.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"analisar_balancos","descricao":"ANÁLISE ESTRUTURAL — detecta as vigas/lajes em BALANÇO (cantilever) do projeto e verifica cada uma pela NBR 6118 (Tab. 13.3: flecha ≤ ℓ/250 com ℓ=2× o balanço) por teoria exata do cantilever (δ=wc⁴/8EI, M_raiz=wc²/2). Devolve os balanços com comprimento, flecha vs limite, momento na raiz e se passa. Útil p/ arquitetura em balanço (marquises, pórticos tipo MAM-RJ).","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"dimensionar_protendido","descricao":"DIMENSIONA concreto PROTENDIDO (viga ou laje) por LOAD BALANCING (T.Y. Lin) + perdas (imediatas+progressivas) + cordoalhas CP-190 RB Ø12,7 + verificação de ELS-D (descompressão) da NBR 6118 §9.6/§17.2. Params: L (vão m), b/h (seção m; laje = b:1,0 por metro de largura), g (carga PERMANENTE kN/m), q (variável kN/m), fck (MPa), e (excentricidade do cabo, opcional). Devolve P_inf/P0, nº de cordoalhas, momentos, tensões nas bordas (σ_inf/σ_sup) e se passa no ELS-D.","esquema":{"type":"object","properties":{"L":{"type":"number","description":"vão (m)"},"b":{"type":"number","description":"base da seção (m); laje = 1,0"},"h":{"type":"number","description":"altura (m)"},"g":{"type":"number","description":"carga permanente (kN/m)"},"q":{"type":"number","description":"carga variável (kN/m)"},"fck":{"type":"number","description":"resistência do concreto (MPa)"},"e":{"type":"number","description":"excentricidade do cabo (m, opcional)"}}},"semTela":true},{"nome":"listar_tipos_telhado","descricao":"Lista os TELHADOS PRONTOS do catálogo (id, nome, família, inclinação padrão): 1/2/3/4 águas, tacaniça, piramidal, meia-tacaniça, borboleta, mansarda, gambrel, lanternim, dente de serra, escalonado, laje plana e escondida atrás de platibanda.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"definir_cobertura","descricao":"COBERTURA do edifício — a mesma configuração do painel de cobertura da tela. forma: \"platibanda\" = laje plana impermeabilizada ESCONDIDA atrás de platibanda (o \"moderno\"); \"laje\" = laje plana impermeabilizada sem mureta; \"sem\" = laje aparente; \"1agua\"…\"4aguas\" = telhado aparente. Também: material da telha (ceramica, metalica, fibrocimento, laje), inclinação (%), platibanda ligada/altura (m, de 0,3 a 3, medida da laje para cima), beiral (m), testeira, calha e forro. Só muda o que for passado. Um telhado DESENHADO ou do catálogo (aplicar_tipo_telhado) continua valendo por cima; para a cobertura ficar só na laje, passe removerTelhadoDesenhado: true. Entra no 3D, na carga da laje de cobertura, no orçamento e nas pranchas.","esquema":{"type":"object","properties":{"forma":{"type":"string","enum":["sem","platibanda","laje","1agua","2aguas","3aguas","4aguas"],"description":"platibanda | laje | sem | 1agua | 2aguas | 3aguas | 4aguas"},"material":{"type":"string","enum":["ceramica","metalica","fibrocimento","laje"],"description":"telha (só vale com telhado aparente)"},"inclinacao":{"type":"number","description":"inclinação do telhado em % (só com telhado aparente)"},"platibanda":{"type":"boolean","description":"mureta de platibanda no perímetro (a forma \"platibanda\" já a liga)"},"platibandaAlt":{"type":"number","description":"altura da platibanda em m, medida da laje (0,3 a 3; padrão 0,80 na forma escondida)"},"beiral":{"type":"number","description":"beiral uniforme em m (0 a 3)"},"testeira":{"type":"boolean"},"calha":{"type":"boolean"},"forro":{"type":"boolean"},"removerTelhadoDesenhado":{"type":"boolean","description":"apaga o telhado desenhado/do catálogo, para valer só esta cobertura"}}},"semTela":true},{"nome":"estrutura_espacial_definir","descricao":"Define a ESTRUTURA ESPACIAL (treliça espacial de cobertura) do projeto — os mesmos campos do painel \"Treliça espacial\". Malha gerada \"quadrado sobre quadrado deslocado\": nx/ny (nº de módulos), moduloX/moduloY e altura (m), apoios \"perimetro\" ou \"cantos\", restricao \"deslizante\" ou \"fixo\". OU modelo livre: texto com uma linha por nó/barra/apoio (\"N;id;x;y;z\", \"B;id;ni;nj;grupo[;AA|RR|AR|RA]\" com a ligação articulada/rígida de cada ponta, \"A;no;ux;uy;uz\" com 1/0 ou mola kN/m) — conectividade explícita, nós e barras em 3D. flambagem: {grupo: K}. Seções por grupo (banzo_superior, banzo_inferior, diagonal): {tipo: tubo_circular D t | tubo_retangular H B t | cantoneira b1 b2 t} em mm. aco: chave (NBR8261_B_circular, MR250, AR350, A572_50…) ou \"auto\". ligacao: {tipo: chapa_concentrica | direta | parafusada_aba | soldada_aba, chapaT, chapaNoT, dw, lw, db, n, classe, e1, e2, s} em mm. cargas em kN/m²: permanente (além do peso próprio do aço, que entra sozinho), sobrecarga, ventoSuccao, ventoPressao. opcoes: nos articulados|rigidos, segundaOrdem, imperfeicoes, deslocabilidade pequena|media, rigidezLigacoes, limiteFlecha (L/…), combinacaoFlecha. Só muda o que for passado; resetar: true volta ao padrão.","esquema":{"type":"object","properties":{"nx":{"type":"integer","description":"módulos em x"},"ny":{"type":"integer","description":"módulos em y"},"moduloX":{"type":"number","description":"módulo em x (m)"},"moduloY":{"type":"number","description":"módulo em y (m)"},"altura":{"type":"number","description":"altura entre camadas (m)"},"x0":{"type":"number","description":"canto da malha em x (m)"},"y0":{"type":"number","description":"canto da malha em y (m)"},"z0":{"type":"number","description":"cota da camada inferior (m) — posição no modelo, não muda o cálculo"},"apoios":{"type":"string","enum":["perimetro","cantos"]},"restricao":{"type":"string","enum":["deslizante","fixo"]},"texto":{"type":"string","description":"modelo livre (N;…, B;…, A;…); string vazia volta ao gerador"},"secoes":{"type":"object","description":"{ grupo: {tipo, D|H|b1, B|b2, t} } em mm"},"aco":{"type":"string","description":"chave do aço ou \"auto\""},"ligacao":{"type":"object","description":"{ tipo, chapaT, chapaNoT, dw, lw, db, n, classe, e1, e2, s } (mm)"},"cargas":{"type":"object","description":"{ permanente, categoriaPermanente, sobrecarga, ventoSuccao, ventoPressao } (kN/m²)"},"opcoes":{"type":"object","description":"{ nos, segundaOrdem, imperfeicoes, deslocabilidade, rigidezLigacoes, limiteFlecha, combinacaoFlecha }"},"flambagem":{"type":"object","description":"{ grupo: K } coeficiente de flambagem (1,0 = articulada nos nós)"},"resetar":{"type":"boolean","description":"volta tudo ao padrão antes de aplicar"}}},"semTela":true},{"nome":"estrutura_espacial_calcular","descricao":"CALCULA a estrutura espacial do projeto (definida por estrutura_espacial_definir ou no painel) pela NBR 8800:2024: análise 3D de 1ª ou 2ª ordem com ligações articuladas ou rígidas e apoios com mola, peso próprio pela massa real (perfis + chapas + parafusos + soldas), combinações últimas e de serviço com imperfeição geométrica, verificação de CADA barra em CADA combinação (tração com Ct, compressão com área efetiva e flambagem por eixo/torção/flexo-torção e cantoneira §5.3.5.4, flexão, cortante, torção, interações, B1), ligações de extremidade (parafusos, contato, rasgamento, soldas, chapa), flecha (Anexo B) e flambagem global. Devolve o resumo, as barras e ligações mais solicitadas e a massa; exportar: \"csv\" ou \"json\" devolve também o arquivo auditável com UMA LINHA POR BARRA × COMBINAÇÃO (motor, norma, unidades e assinatura da entrada no cabeçalho).","esquema":{"type":"object","properties":{"maxBarras":{"type":"integer","description":"quantas barras mais solicitadas listar (padrão 15)"},"exportar":{"type":"string","enum":["csv","json"],"description":"devolve o arquivo auditável junto"}}},"semTela":true},{"nome":"estrutura_espacial_otimizar","descricao":"OTIMIZA as seções da estrutura espacial: para cada grupo (ou cada barra, unidade: \"barra\") escolhe do catálogo discreto a seção mais leve que passa em TODAS as verificações da NBR 8800 (barra em todas as combinações e ligação na maior tração e compressão), com limite opcional de PERFIS DISTINTOS e de MASSA total (kg). Histórico reproduzível (massa, perfis distintos, utilização e mudanças por rodada) e a assinatura da entrada. gravar: true (padrão) grava as seções escolhidas no projeto.","esquema":{"type":"object","properties":{"maxPerfisDistintos":{"type":"integer","description":"limite de perfis distintos"},"massaMaxima":{"type":"number","description":"massa total máxima (kg)"},"unidade":{"type":"string","enum":["grupo","barra"]},"gravar":{"type":"boolean","description":"grava as seções no projeto (padrão true)"}}},"semTela":true},{"nome":"aplicar_tipo_telhado","descricao":"Aplica um TELHADO PRONTO do catálogo à planta (veja os ids em listar_tipos_telhado). O telhado se ADEQUA sozinho ao que está construído: cobre a pegada real, gera um telhado por CORPO separado (casa + edícula/garagem) e, onde o pavimento de cima recua, dá ao de baixo uma saia própria na cota certa. Substitui o telhado desenhado anterior. O resultado são águas COMUNS: cada uma continua editável (inclinação, caimento, beiral) no painel ou por ajustar_agua_telhado.","esquema":{"type":"object","properties":{"tipo":{"type":"string","description":"id do tipo (de listar_tipos_telhado)"},"inc":{"type":"number","description":"inclinação em % (padrão: a do tipo)"},"beiral":{"type":"number","description":"beiral em m (padrão 0,60)"}},"required":["tipo"]},"semTela":true},{"nome":"desenhar_telhado","descricao":"Cria o TELHADO DESENHADO à mão: cada ÁGUA é um contorno em planta com caimento e inclinação próprios (o \"roof by footprint\" do Revit). Substitui a forma paramétrica do seletor — vale no 3D, no orçamento (área REAL das águas recortadas + cumeeira/espigão/rincão por metro), no IFC, no DXF e no madeiramento. ⚠️ Para o sistema calcular a CUMEEIRA entre duas águas elas precisam se SOBREPOR em planta (acima de 90% de sobreposição vale \"mesma superfície\"); águas apenas encostadas aresta com aresta não geram arremate. Use listar_telhado depois para conferir o que o sistema entendeu.","esquema":{"type":"object","properties":{"aguas":{"type":"array","description":"lista de águas; cada uma { poly:[[x,y],…] (m), dir (graus, 0=+X, para onde a água CORRE), inc (% de inclinação), altBeiral (m acima da laje, opcional) }","items":{"type":"object","properties":{"poly":{"type":"array","items":{"type":"array","items":{"type":"number"}}},"dir":{"type":"number","description":"graus, para onde a água corre"},"inc":{"type":"number","description":"inclinação em %"},"altBeiral":{"type":"number","description":"m acima da laje de cobertura"}},"required":["poly"]}},"substituir":{"type":"boolean","description":"true (padrão) apaga o telhado desenhado anterior; false acrescenta"}},"required":["aguas"]},"semTela":true},{"nome":"listar_telhado","descricao":"Lista as águas do telhado desenhado à mão com a área REAL de cada uma (já recortada pelas vizinhas), a inclinação, a cota de cumeeira, os arremates em metros (cumeeira/espigão/rincão/beiral) e o DIAGNÓSTICO do desenho — inclusive o regime que o sistema aplicou a cada encontro e por quê.","esquema":{"type":"object","properties":{}},"semTela":true},{"nome":"ajustar_agua_telhado","descricao":"Muda a inclinação (%), o caimento (graus), a cota de beiral (m) ou a TELHA de UMA água do telhado desenhado — ou a REMOVE. A telha por água permite casa cerâmica com garagem metálica: cada uma leva o seu peso (0,65 × 0,15 kN/m²), o seu preço e a sua inclinação mínima (30% × 5%). Descubra o id em listar_telhado.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id da água (de listar_telhado)"},"inc":{"type":"number","description":"nova inclinação em %"},"dir":{"type":"number","description":"novo caimento em graus"},"altBeiral":{"type":"number","description":"nova cota de beiral em m"},"material":{"type":"string","enum":["ceramica","metalica","fibrocimento",""],"description":"telha DESTA água; \"\" volta a herdar a do projeto"},"remover":{"type":"boolean","description":"true remove a água"}},"required":["id"]},"semTela":true},{"nome":"ajustar_peca_telhado","descricao":"Manda por cima do dimensionamento automático de UMA peça do madeiramento do telhado desenhado: REMOVE a peça, RESTAURA uma removida, ou DECLARA a seção b×h que deve ser executada. A remoção dobra o vão de quem se apoiava na peça (ripa→caibro→terça) e a seção declarada é conferida pelo próprio dimensionamento (flexão oblíqua e flambagem incluídas) — o que não fecha é RECUSADO e nada entra no modelo. Sem argumentos, LISTA as peças da cena e as decisões já tomadas. A chave é \"papel:x,y,z\" (ponto médio) e sai desta mesma listagem.","esquema":{"type":"object","properties":{"chave":{"type":"string","description":"chave da peça, ex. \"terca:6.00,1.24,3.47\" (veja a listagem)"},"acao":{"type":"string","enum":["remover","restaurar","secao","listar"],"description":"o que fazer com a peça"},"b":{"type":"number","description":"largura da seção em m (ação \"secao\"), ex. 0.12"},"h":{"type":"number","description":"altura da seção em m (ação \"secao\"), ex. 0.24"}}},"semTela":false,"motivo":"peças montadas na cena 3D"},{"nome":"criar_comodo_forma","descricao":"ARQUITETURA AVANÇADA: cria um cômodo NÃO-RETANGULAR no pavimento ativo — circular, eliptico, chanfrado (canto cortado, lote de esquina), trapezio (fachada oblíqua), semicircular ou poligono (contorno livre). Usa room.poly, então entra no cálculo REAL (área por shoelace, paredes de QUALQUER ângulo, FEM, orçamento, 2D/3D). Params por forma: circular {cx,cy,raio}; eliptico {cx,cy,a,b,rot}; chanfrado {x,y,w,d,corte,canto}; trapezio {x,y,w,d,recuoEsq,recuoDir}; semicircular {x,y,w,flecha}; poligono {pontos:[[x,y]...]}.","esquema":{"type":"object","properties":{"forma":{"type":"string","description":"circular | eliptico | chanfrado | trapezio | semicircular | poligono"},"nome":{"type":"string"},"cx":{"type":"number"},"cy":{"type":"number"},"raio":{"type":"number"},"a":{"type":"number"},"b":{"type":"number"},"rot":{"type":"number"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"d":{"type":"number"},"corte":{"type":"number"},"canto":{"type":"string","description":"sw|se|ne|nw"},"recuoEsq":{"type":"number"},"recuoDir":{"type":"number"},"flecha":{"type":"number"},"pontos":{"type":"array","description":"polígono livre: [[x,y],...] em metros","items":{"type":"array","items":{"type":"number"}}}}},"semTela":true},{"nome":"inserir_detalhe","descricao":"DETALHAMENTO — insere no ORÇAMENTO um elemento de conexão estrutural (chapa de base, consolo, aparelho de apoio, stud, junta de dilatação, isolador sísmico, TMD, nó espacial, inserto, enrijecedor, barra de transferência) ou um acabamento de arquitetura (telha, forro, impermeabilização, isolamento acústico, claraboia, rampa, shaft, piso elevado) que não têm solver dedicado. A quantidade é AUTO-ESTIMADA do modelo (base normativa) se você não passar `qtd`. O item vira linha quantificada na curva ABC do orçamento.","esquema":{"type":"object","properties":{"id":{"type":"string","description":"id do elemento (ex.: chapa_base_chumbadores, telha_ceramica_mad)"},"qtd":{"type":"number","description":"quantidade (opcional; padrão = estimada do modelo)"}},"required":["id"]},"semTela":true},{"nome":"listar_detalhes","descricao":"Lista os itens de DETALHAMENTO/avulsos já inseridos no orçamento (conexões estruturais + acabamentos), com quantidade, preço e total.","esquema":{"type":"object","properties":{}},"semTela":true}]}