Descarregar grátis

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.

XFEM4U, vista em perspetiva: uma ponte treliçada em forma de tubo gerada por um script Python, desenhada como linhas com nós.
Fig. 1Uma ponte a partir de um script: um tubo de 1312 barras e 672 nós, aberto no XFEM4U. Um dos exemplos do manual, inspirado na ponte «Netkous» de Roterdão.
1Como funciona

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. 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. 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. 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.

2Funções

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.

3Exemplo

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.

Vista da geometria no XFEM4U da escada em caracol que este script cria: um pilar central tubular, degraus de perfil tubular retangular e uma viga de bordo que dá duas voltas em torno dele.
Fig. 2O modelo que o script cria: 62 barras e 64 nós. Do manual, página 10.
5Comparar

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.
XSpreadsheets

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.
6Aprender

As newsletters estão em inglês e neerlandês; indicamos a versão inglesa.

Manual, exemplos e formação.

Manual

Exemplos

  • ExamplesXFEM4U.py, no zip9 exemplos para começar: estruturas de aço, uma placa de betão, uma escada em caracol, uma grelha de fundação, uma treliça, uma ponte, uma esfera e uma árvore de Natal.
  • Manual (PDF, em inglês)O manual mostra cinco deles, com imagens do resultado.

Formação

A formação em Python está disponível a pedido.

Pedir informações sobre uma formação

Nas nossas newsletters

  • XFEM4U - Python(em inglês) · A biblioteca, simplificada e alargada, com o manual, os exemplos e três passos para começar.
  • Adjustments and rearrangement of rates(em inglês) · O Python continua na Premium 2D + 3D; os dados paramétricos a partir do Excel estão na Basic.
  • Adjustments and rearrangement of rates(em inglês) · A modelação paramétrica com Python passa para a nova licença Premium 2D + 3D.
  • Trainings(em inglês) · A formação em projeto paramétrico com Excel e Python.
  • Thank you!!(em inglês) · Uma árvore de Natal, gerada com Python.
  • Struct4U NL Academy Parametric Design with Excel and Python(em inglês) · Projeto paramétrico com Python ou com Excel: para que serve cada um.
  • XFrame2D(em inglês) · A ligação XML do XFrame2D com o Excel e o Python, alargada.
  • Open day 24 May 2024(em inglês) · Uma palestra sobre projeto paramétrico em Python e Excel, com o Speckle.
  • Last year / Preview coming year(em inglês) · Gerar modelos complexos com Python, na retrospetiva de 2023.
7Perguntas

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.