Modelação paramétrica · Python
Python: modelos criados a partir de código
Escreve-se um script, executa-se, e o XFEM4U abre o modelo. O Struct4U.py, a nossa biblioteca Python, gera nós, apoios, perfis, barras, placas, cargas e combinações: quase tudo o que se faz no XFEM4U também se faz em Python. O XFrame2D também aceita dados paramétricos a partir de Python.
PYPython→XFEM4U · XFrame2D
python2xfem4u.zip, 15 kB: Struct4U.py e ExamplesXFEM4U.py. Manual: PDF em inglês, 19 páginas, 1,7 MB. Ambos atualizados a 14 de março de 2025.

O modelo chega ao XFEM4U através do DirectCommands, que também permite ao Excel abrir o XFEM4U e o XFrame2D.
Escrever um script. Executá-lo. O modelo está pronto.
Sem receio, basta experimentar: em pouco tempo as funções tornam-se familiares.
- 1
Escrever o script
Num editor de Python à escolha, como o Visual Studio Code ou o PyCharm. Junte o Struct4U.py ao projeto e comece pelo ExamplesXFEM4U.py.
- 2
Executá-lo
O Struct4U.py cria o modelo e passa-o ao XFEM4U. O ExamplesXFEM4U.py pergunta primeiro qual o exemplo a ver.
- 3
O XFEM4U abre-o
Inicie o XFEM4U ou mude para a sua janela, e o modelo está lá: pronto para calcular, verificar e gerar o relatório.
Nomes dos métodos como no Struct4U.py. A classe chama-se XFEMF4U, com F, como nos exemplos do manual.
Dos nós às combinações.
O Struct4U.py tem um método para cada parte do modelo. O manual descreve-os todos, com os seus parâmetros.
Projeto e geometria
XFEMF4U- O próprio modelo: descrição, número do projeto, classe de consequências (CC1, CC2 ou CC3) e tempo de vida útil de projeto.
AddGrid- Alinhamentos, escritos como no XFEM4U: "0 4x3000 2000".
AddNode- Nós, pelas suas coordenadas, com um apoio se for indicado. Em coordenadas já ocupadas, devolve esse nó.
AddSupport- Apoios: encastrado, articulado, um rolete em X, Y ou Z, uma rótula, ou um apoio próprio por direção, com molas.
Perfis, barras e placas
AddSteelProfile- Perfis de aço: um nome da biblioteca do XFEM4U, ou uma forma própria (H, U, T, RHS, CHS, L e outras).
AddConcreteProfile- Perfis de betão: classes C12/15 a C90/105, formas S1 a S20.
AddBeam- Vigas e pilares, com as condições nas extremidades (encastrado, articulado ou só à tração), travamentos laterais, uma rotação e uma excentricidade.
AddPlate- Placas sobre um polígono de nós, com um material, uma espessura e uma excentricidade.
AddPanel- Painéis de carga sobre um polígono de nós: a direção de distribuição (todas, X ou Y) e o tipo de superfície (parede, cobertura plana, de uma água ou de duas águas …).
Cargas e combinações
AddCase- Casos de carga: permanente, sobrecarga (categorias A a H), neve, vento, temperatura, imperfeição e outros, com os seus coeficientes ψ.
AddNodeLoad- Forças e momentos num nó.
AddBeamLoadQAddBeamLoadFAddBeamLoadM- Cargas distribuídas, cargas pontuais e momentos numa barra.
AddSurfaceLoad- Cargas de superfície: constantes, lineares ou a partir de uma altura de água.
AddCombination- Combinações de até cinco casos de carga: ELU, ELS, quase permanente, permanente ou frequente.
Com o número 0, o Struct4U.py numera a parte automaticamente. Cada método devolve o número que criou, ou -1 em caso de falha.
Código do manual, páginas 10 e 11; a última linha, como no ExamplesXFEM4U.py.
Uma escada em caracol, a partir de um só ciclo.
Do manual: uma escada em caracol de aço em torno de um pilar central. Cada passagem do ciclo acrescenta um degrau, a sua carga e a viga de bordo até ao degrau abaixo; duas voltas de 15 degraus dão 31 degraus.
PythonStruct4U.py
xfem = XFEMF4U("Example in Python","12345", ConsequenceClass.CC2, 100, "")
# …
optrede = 200
ltrede = 1200
ntrede360 = 15
alpha = 360.0 / ntrede360
nspil = 2
a = 0
x = 0
y = 0
z = 0
xfem.AddSteelProfile(1,"HFCHS2191X125","S235")
xfem.AddSteelProfile(2,"HFRHS100X50X4","S235")
xfem.AddSteelProfile(3,"S200x10","S235",90)
k1 = xfem.AddNode(0,x,y,z,SupportType.Fixed)
z = optrede
vnode = 0
for i in range(nspil*ntrede360+1) :
x = ltrede * cos(a * pi/180)
y = ltrede * sin(a * pi/180)
node1 = xfem.AddNode(0,0,0,z)
node2 = xfem.AddNode(0,x,y,z)
beam = xfem.AddBeam(0,node1,node2,2)
xfem.AddNodeLoad(1,node2,0,0,-10)
# …
a += alpha
z += optrede
if vnode!=0:
beam = xfem.AddBeam(0,vnode,node2,3)
vnode = node2
k2 = xfem.AddNode(0,0,0,z,SupportType.Roll_Z)
xfem.AddBeam(0,k1,k2,1)
# …
xfem.Save2XFEM4U("spiral_stairs")
Os nomes neerlandeses são os do manual: optrede é a altura de um degrau, ltrede o seu comprimento, ntrede360 os degraus por volta e nspil o número de voltas. Comprimentos em mm, cargas em kN. Omitido em # …: os alinhamentos e os casos de carga, uma carga linear em cada degrau e as combinações.

Feito com Python.
Modelos do manual e das nossas newsletters, cada um gerado por um script e aberto no XFEM4U.







Nas palavras das nossas newsletters de junho de 2024 e janeiro de 2025.
Python ou XSpreadsheets?
Duas formas de criar um modelo a partir de parâmetros. A mais adequada depende do que se constrói, e do gosto por programar.
XSpreadsheets · Excel
- Módulos prontos num livro de Excel: preenchem-se os valores e abre-se o modelo.
- Gera rapidamente as estruturas 2D e 3D mais comuns.
- Muitos engenheiros de estruturas acham programar em Python bastante complicado. O Excel, pelo contrário, conhecem-no bem.
- Os dados paramétricos a partir do Excel estão em todas as licenças, desde a Basic 2D.
Python · Struct4U.py
- Um script próprio, com os métodos do Struct4U.py.
- Permite enfrentar tudo e gerar as estruturas 2D e 3D mais complexas.
- Com Python faz-se muito mais: parametrizar, mas também gerar uma parte complicada da estrutura.
- A licença Premium 2D + 3D, ou incluído no pagamento por utilização.
As newsletters estão em inglês e neerlandês; indicamos a versão inglesa.
Manual, exemplos e formação.
Manual
Nas nossas newsletters
- XFEM4U - Python(em inglês)
- Adjustments and rearrangement of rates(em inglês)
- Adjustments and rearrangement of rates(em inglês)
- Trainings(em inglês)
- Thank you!!(em inglês)
- Struct4U NL Academy Parametric Design with Excel and Python(em inglês)
- XFrame2D(em inglês)
- Open day 24 May 2024(em inglês)
- Last year / Preview coming year(em inglês)
Perguntas frequentes
01Com que programas funciona?
O XFEM4U e o XFrame2D aceitam dados paramétricos a partir de Python. O Struct4U.py, o seu manual e os exemplos criam modelos do XFEM4U; para o XFrame2D, contacte-nos para saber como começar.
02O que é necessário?
O XFEM4U em Windows, Python com um editor como o Visual Studio Code ou o PyCharm, e o zip desta página: junte o Struct4U.py ao projeto e comece pelo ExamplesXFEM4U.py.
03Que licença é necessária?
O Python vem com a licença Premium 2D + 3D, 2688 € por ano para um utilizador, ou está incluído no pagamento por utilização. Os dados paramétricos a partir do Excel, com o XSpreadsheets, já estão na Basic 2D.
04Como chega o modelo ao XFEM4U?
O Save2XFEM4U escreve o modelo como ficheiro XML na pasta temporária e pede ao XFEM4U, através do DirectCommands, que o abra. Inicie o XFEM4U ou mude para a sua janela, e o modelo está lá.
05A ordem das chamadas importa?
Sim. O Struct4U.py verifica os dados à medida que são acrescentados: uma barra só pode usar nós e um perfil que já existam, e uma carga precisa do seu caso de carga. Cada método devolve o número que criou, ou -1 em caso de falha.
06Há formação?
Sim, a formação em Python está disponível a pedido. Contacte-nos.
Criar o próximo modelo a partir de código.
Descarregue o Struct4U.py com o manual e os exemplos, e o XFEM4U grátis. Registe-se no programa e receba 100 € de crédito de pagamento por utilização como oferta de boas-vindas.