Aplicações práticas com o Python e o RFEM 6 | Gerador de treliças 2D
Artigo técnico
Os recentemente introduzidos WebServices permitem aos utilizadores comunicar com o RFEM 6 utilizando a linguagem de programação da sua escolha. Esse recurso é aprimorado com nossa biblioteca de funções de alto nível (HLF). As bibliotecas estão disponíveis para Python, JavaScript e C#. Este artigo analisa um caso de aplicação prática da programação de um gerador de treliças 2D com Python. "Aprender na prática", como diz o ditado.
Resumo
Utilizar o poder do RFEM 6 para além da interface gráfica do utilizador (GUI) e controlar/automatizar o processo de modelação e dimensionamento é uma vantagem considerável. No entanto, o poder da programação com o RFEM 6 vai além do mero controlo automático. Os utilizadores podem combinar a biblioteca HLF do RFEM 6 com outras bibliotecas HLF populares para desenvolver aplicações personalizadas.
Neste artigo, será apresentado um gerador de treliças 2D. O 2D Truss Generator foi escrito em Python e utiliza poderosas bibliotecas Python, tais como PyQt e Numpy, em combinação com o RFEM HLF. O resultado final é uma GUI, que permite uma geração de treliças flexível.
Conceitos básicos
Este artigo destacará apenas partes do código exclusivas para sua aplicação no desenvolvimento do gerador de treliças 2D. Os fundamentos da programação com o RFEM 6 e o Python podem ser encontrados na nossa curta série de vídeos de seis partes na seguinte ligação:
Seguindo em frente
O código para este exemplo pode ser encontrado na biblioteca HLF acima mencionada (RFEM_Python_Client/Examples/TrussGenerator_2D). O código é fornecido como código aberto e esperamos que sirva de inspiração aos utilizadores para os seus próprios projetos. Os detalhes sobre como trabalhar com o RFEM HLF (por exemplo, clonar o repositório) são explicados na série de vídeos acima.
Partes específicas do código
Experimentar e exceto
Como mencionado, este exemplo utiliza muitas bibliotecas diferentes em conjunto com o RFEM HLF (por exemplo, Numpy e PyQt5). Caso os utilizadores não tenham uma biblioteca específica instalada, o comando "importar" gerará um erro. Para ultrapassar este potencial problema, são utilizados os blocos try e except. A "importação" está no bloco try e, caso isso falhe, o código irá para o bloco except, o qual solicitará ao utilizador que instale as bibliotecas necessárias utilizando o pip.
Construindo a GUI usando o PyQt5
A PQt5 é uma biblioteca destinada à criação de GUIs. Uma grande parte do código é composta pelas definições e instruções exigidas pelo PyQt5 para construir a GUI do 2D Truss Generator.
A documentação para usar o PyQt5 pode ser encontrada no link:
Uma variedade de tutoriais também pode ser encontrada no YouTube.
Definição de treliças
Com os HLFs do RFEM, é possível definir rapidamente uma treliça. Para apoio na programação de uma treliça, segue o sexto vídeo da série de vídeos acima mencionada.
As variáveis inicializadas nas definições do PyQt5 também são integradas aqui como argumentos para as definições da treliça do RFEM. Isto cria uma intre-operabilidade entre as duas bibliotecas.
Uma série de instruções try, exceto e se são implementadas para validar as informações fornecidas na GUI.
Considerações finais
O artigo acima procura dar uma breve visão geral de como foi criada uma GUI paramétrico de um gerador de treliças 2D. Caso necessite de informação adicional, utilize a secção de comentários deste artigo e teremos todo o gosto em responder.
Autor

Björn Steinhagen, B.Sc.
Engenharia de produto
O Sr. Steinhagen apoia o desenvolvimento e a garantia de qualidade dos programas da Dlubal.
Palavras-chave
Python Serviço web Interface de utilizador Programação
Ligações
- Guia de referência do PyQt5
- Programação com RFEM 6 e Python | 006 Exemplo | Estrutura de treliça plana
- Vídeos de e-learning | Programação com RFEM 6 e Python
Escreva um comentário...
Escreva um comentário...
- Visualizações 676x
- Atualizado 24 de janeiro de 2023
Contacto
Tem alguma outra questão ou necessita de aconselhamento? Contacte-nos através de telefone, e-mail, chat ou fórum, ou pesquise na página de FAQ, disponível 24 horas por dia, 7 dias por semana.

Novo
- A distribuição de carga nas minhas barras tem um aspeto diferente quando se utiliza a superfície de transferência de carga e os assistentes de carga. Qual é o motivo e o que posso fazer?
- Recebi a mensagem de erro "Superfície de tipo incompatível... (A superfície no plano superior do piso do edifício tem de ser do tipo 'Transferência de carga')” ao realizar o cálculo. Qual é o motivo e o que posso fazer?
- A minha viga tem um apoio lateral contínuo e, portanto, a encurvadura por flexão-torção (LTB) não é uma preocupação. Como é que defino o comprimento efetivo?
- Como é que posso definir de forma eficaz as articulações de linha em várias superfícies?
- Como é que incluo os fatores de sobrerresistência Ωo nas combinações de carga ASCE 7?
- Como é que incluo os fatores de sobrerresistência, Ωo nas combinações de carga ASCE 7?
- Como é que incluo os fatores de redundância ρ nas combinações de carga ASCE 7?
- A minha carga variável é inferior ou igual a 100 psf. Como é que considero o fator de carga reduzido nas combinações de carga ASCE 7?
- Não consigo ver os casos de cargas sísmicas nas minhas combinações de carga (COs) ASCE 7 geradas. Como é que os adiciono?
- Como é que posso criar uma imperfeição no RFEM 6 com base num modo próprio?
Programas relacionados com este tema