Applicazioni pratiche usando Python e RFEM 6 | Generatore di travi reticolari 2D
Articolo tecnico
I WebServices introdotti di recente, offrono agli utenti la possibilità di comunicare con RFEM 6 utilizzando il loro linguaggio di programmazione preferito. Questa funzione è stata migliorata con la nostra libreria con funzioni di alto livello (HLF). Le librerie sono disponibili per Python, JavaScript e C#. Questo articolo analizza un caso pratico di programmazione di un generatore di travi reticolari 2D con Python. "Imparare facendo", come si suol dire.
Panoramica
L'utilizzo della potenza di RFEM 6 oltre all'interfaccia utente grafica (GUI) e al controllo/automazione del modello e del processo di progettazione è un vantaggio considerevole. Tuttavia, la potenza della programmazione con RFEM 6 va oltre il semplice controllo automatico. Gli utenti possono combinare la libreria HLF di RFEM 6 con altre librerie HLF popolari per sviluppare applicazioni personalizzate.
In questo articolo, verrà presentato un generatore di travi reticolari 2D. Il generatore di travi reticolari 2D è stato scritto in Python e utilizza potenti librerie Python come PyQt e Numpy in combinazione con RFEM HLF. Il risultato finale è una GUI, che consente una generazione flessibile di travi reticolari.
Imparare le basi
Questo articolo evidenzierà solo porzioni di codice univoche per la sua applicazione nello sviluppo del generatore di travi reticolari 2D. Le basi della programmazione con RFEM 6 e Python possono essere trovate nella nostra breve serie di video in 6 parti al seguente link:
Utilizzo
Il codice per questo esempio può essere trovato nella libreria HLF sopra menzionata (RFEM_Python_Client/Examples/TrussGenerator_2D). Il codice è fornito come open-source e si spera fornisca agli utenti ispirazione per i propri progetti. I dettagli sull'utilizzo di RFEM HLF (ad esempio, la clonazione del repository) sono spiegati nella serie di video del link sopra riportato.
Parti specifiche del codice
Try and Except
Come accennato, questo esempio utilizza diverse librerie contemporaneamente con RFEM HLF (ad esempio, Numpy e PyQt5). Se gli utenti non hanno una libreria specifica installata, un comando di "import" genererà un errore. Per ovviare a questo potenziale problema, vengono utilizzati i blocchi try and except. L'"import" ricade sotto il blocco di "try" e se questo non riesce, il codice va nel blocco "exclude", che chiederà all'utente di installare le librerie richieste usando pip.
Costruire la GUI usando PyQt5
PQt5 è una libreria finalizzata alla creazione di GUI. Gran parte del codice comprende le definizioni e le istruzioni richieste da PyQt5 per creare il generatore di travi reticolari 2D GUI.
La documentazione per l'utilizzo di PyQt5 può essere trovata al loro link:
Una pletora di tutorial può essere trovata anche su YouTube.
Definizione della trave reticolare
Utilizzando gli HLF di RFEM, una trave reticolare può essere definita rapidamente. Per il supporto sulla programmazione di una travatura reticolare, seguire il sesto video della suddetta serie di video.
Le variabili inizializzate nelle definizioni PyQt5 sono anche integrate qui come argomenti per le definizioni di travatura reticolare RFEM. Questo crea interoperabilità tra le due librerie.
Una serie di istruzioni try, except e if sono distribuite per convalidare le informazioni fornite nella GUI.
Osservazioni finali
L'articolo precedente cerca di fornire una breve panoramica di come è stato creato il generatore di travi reticolari 2D GUI. Se sono necessarie ulteriori informazioni, utilizza la sezione commenti su questo articolo e saremo lieti di risponderti.
Autore

Björn Steinhagen, B.Sc.
Ingegneria del prodotto
Il signor Steinhagen supporta lo sviluppo e il controllo della qualità dei programmi Dlubal.
Parole chiave
Python Webservice GUI Programmazione
Link
- Guida di riferimento di PyQt5
- Programmazione con RFEM 6 e Python | 006 Esempio | Trave reticolare piana
- Video di e-learning | Programmazione con RFEM 6 e Python
Scrivi un commento...
Scrivi un commento...
- Visualizzazioni 677x
- Aggiornato 24. gennaio 2023
Contattaci
Ha altre domande o ha bisogno di consigli? Contattaci tramite telefono, e-mail, chat o forum, oppure effettua una ricerca nella pagina delle FAQ, disponibile 24 ore su 24, 7 giorni su 7.

Nuovo
-
La distribuzione del carico sulle mie aste ha un aspetto diverso quando si utilizza la superficie di trasferimento del carico rispetto alle procedure guidate di carico. Qual è il motivo?
- La mia trave ha un vincolo laterale continuo e quindi l'instabilità flesso-torsionale (LTB) non è un problema. Come posso definire la lunghezza libera d'inflessione?
- Ho ricevuto un messaggio di errore "Superficie di tipo incompatibile... (La superficie nel piano superiore del piano dell'edificio deve essere di tipo 'Trasferimento del carico')” quando si esegue il calcolo. Qual è il motivo?
- Come posso definire in modo efficace i vincoli interni delle linee su più superfici?
- Come posso includere il(i) coefficient(i) di sovraresistenza, Ωo nelle combinazioni di carico secondo la norma EN 1991-1-3?
- Il mio carico variabile è minore o uguale a 100 psf. Come posso considerare il coefficiente di carico ridotto nelle combinazioni di carico ASCE 7?
- Come posso includere i coefficienti di ridondanza ρ nelle combinazioni di carico ASCE 7?
- Non vedo i casi di carico sismici nelle mie combinazioni di carico (COs) generate secondo la norma EN 1991-1-3. Come li aggiungo?
- Come posso creare un'imperfezione in RFEM 6 basata su un modo proprio di vibrare?
- La mia trave ha un vincolo laterale continuo e quindi l'instabilità flesso-torsionale (LTB) non è un problema. Come posso definire la lunghezza libera d'inflessione?
Prodotti associati