À distância de um ficheiro de texto: automatizar Section Cuts no SAP2000 com IA

IA: "Programas informáticos capazes de realizar tarefas cognitivas normalmente associadas à inteligência humana."

 

Todos os engenheiros de estruturas que trabalham com software da CSI conhecem esta rotina. Para verificar os esforços de corte por piso, a distribuição de esforços em paredes ou simplesmente confirmar o equilíbrio de cargas gravíticas, é necessário criar Section Cuts: um abaixo e outro acima de cada piso, tanto para pilares como para paredes. Cada um exige o seu próprio grupo com os elementos corretos e, sobretudo, apenas com os nós situados de um dos lados do corte. Num edifício de 10 pisos, isto traduz-se em dezenas de grupos e cortes definidos clique a clique. É um processo repetitivo, moroso, onde um único nó mal atribuído pode comprometer silenciosamente o somatório dos esforços. O problema agrava-se quando uma parede ou pilar atravessa um nível sem nó a essa cota, tornando impossível definir o corte sem antes dividir o elemento.

É exatamente o tipo de tarefa que os engenheiros tendem a adiar: suficientemente complexa para que a automação via API pareça um projeto de programação moroso, mas suficientemente repetitiva para ser penosa em cada modelo. Contudo, automatizámo-la numa tarde, sem escrever uma única linha de código. Este artigo explica como o fizemos e porque é que esta abordagem se aplica a muito mais do que a Section Cuts.

 

A chave: os modelos da CSI são ficheiros de texto

O fator decisivo reside numa opção estrutural da CSI tomada há muito tempo: qualquer modelo do SAP2000 pode ser totalmente exportado para um ficheiro de texto simples (.s2k) e reconstruído a partir dele (no ETABS, o equivalente é o ficheiro .e2k). Nós, barras, elementos shell, grupos, casos de carga e Section Cuts estão todos registados sob a forma de tabelas legíveis. Atraves da opção Ficheiro > Exportar, o modelo completo transforma-se num documento editável.

Isto é fundamental na era da inteligência artificial. Os modelos de linguagem atuais são extraordinariamente eficazes a ler, interpretar e gerar texto estruturado. Embora não consigam interagir com caixas de diálogo na interface e o uso da API da CSI (OAPI) exija conhecimentos avançados de programação, a introdução de um ficheiro .s2k na IA altera completamente o paradigma: a automação converte-se num problema de processamento de texto, a área por excelência da IA.

Figura 1: O fluxo de trabalho: exportar o modelo para texto, deixar a IA transformá-lo e importar o resultado. A validação fecha o ciclo.
Figura 1: O fluxo de trabalho: exportar o modelo para texto, deixar a IA transformá-lo e importar o resultado. A validação fecha o ciclo.

 

A conversa que se tornou uma ferramenta

Em vez de programar, descrevemos o problema de engenharia à IA em linguagem natural e fomos afinando a solução iterativamente, tal como num diálogo com um colega de trabalho.

PROMPT 1: O DESAFIO

 

PROMPT 2: A CORREÇÃO DECISIVA 

 

PROMPT 3: SUBIR A FASQUIA 

 

PROMPT 4: FECHAR O CICLO 

Note-se o conteúdo destes prompts: tratam-se de critérios de engenharia, não de código. Definem o que exige um Section Cut válido, que nós pertencem ao grupo e por que razão uma parede deve ser dividida ao nível do piso. A IA tratou da implementação; cada refinamento consistiu numa frase explicativa, sem necessidade de sessões de depuração (debugging).

O engenheiro define o critério: as regras de validação do Section Cut e os pontos de divisão dos elementos. A IA gera o código. O ficheiro de texto serve de ponte entre ambos.

 

O resultado

Obtivemos um conjunto leve de ferramentas sem dependências externas. O elemento principal é um ficheiro HTML único que corre em qualquer navegador e computador, sem necessidade de instalação: basta selecionar o ficheiro .s2k exportado, rever a classificação automática numa vista em planta 2D (pilares a vermelho, paredes a azul) e, com um clique, gerar o novo ficheiro do modelo. Uma versão em Python do mesmo algoritmo permite processar vários modelos em lote.

 

Estruturalmente, o ficheiro gerado limita-se a adicionar as tabelas suportadas pelo formato .s2k, organizadas de forma legível para permitir a auditoria de cada linha:

 

TABLE: "SECTION CUTS 1 - GENERAL"
CutName=PIL_P1_inf DefinedBy=Group Group=SC_PIL_P1_inf ResultType=Analysis
CutName=PIL_P1_sup DefinedBy=Group Group=SC_PIL_P1_sup ResultType=Analysis
CutName=PAR_P1_inf DefinedBy=Group Group=SC_PAR_P1_inf ResultType=Analysis
CutName=PAR_P1_sup DefinedBy=Group Group=SC_PAR_P1_sup ResultType=Analysis

 

Após importar o ficheiro e executar a análise, os esforços dos Section Cuts ficam imediatamente disponíveis nas tabelas de resultados (PIL_Pi_inf/sup para pilares e PAR_Pi_inf/sup para paredes, em todos os pisos). A validação é confirmada pela própria física do modelo: as forças verticais dos cortes na base coincidem exatamente com as reações totais de apoio. Um processo que antes exigia horas de trabalho manual passou a demorar escassos segundos, de forma totalmente reprodutível.

A conclusão principal é simples: o maior obstáculo à automação nunca foi a tecnologia, mas sim a ideia de que automatizar exige saber programar. Com os ficheiros de texto abertos da CSI e as capacidades da IA, essa barreira deixou de existir. Escolha a tarefa repetitiva mais morosa do seu día a día, exporte o modelo para .s2k e inicie a conversa. A solução está, literalmente, à distância de um ficheiro de texto.