Skip to content

dlubal-software/RFEM_Python_Client

Repository files navigation

Dlubal Software

Dlubal Software GmbH

image image image image

image image image image Open Source? Yes! image

Welcome to RFEM Python High Level Functions

Tutorial

Python client (high-level functions) for RFEM 6 using Web Services (WS), SOAP and WSDL. Available Python SOAP pkgs can be found on wiki.python.org.

Description

This Python project is focused on opening RFEM 6 to all of our customers, enabling them to interact with RFEM 6 on a much higher level. If you are looking for a tool to help you solve parametric models or optimization tasks, you have come to the right place. This community serves as a support portal and base for all of your future projects. The goal is to create an easily expandable Python library, which communicates instructions to RFEM 6 through WebServices (WS). WS enables access to RFEM 6 either via a local instance or a remote internet connection.

Eyes on Upcoming Development! ๐Ÿ‘€

As you may have already heard, brand new Web Services are in the works!

  • Using gRPC will ensure highest performance without compromise. First tests show 15x faster execution compared to current WS. According to source gRPC shows 7 to 10 times better performance than REST(GraphQL).
  • The new common results interface will ensure that users can effectively filter all results to get only the data they want.
  • All code can be tested and prototyped in the console as the syntax will be the same.

Architecture

  • RFEM: folder following the structure of RFEM 6 navigator containing individual types of objects
  • initModel: runs after window and initializes suds.Client by connecting to http://localhost:8081/wsdl and activating model in RFEM. It also envelops essential global functions.
  • enums: definition of enumerations

Getting started

Dependencies

Dependency check is implemented inside dependencies.py with option to install during execution.

Step by step

  1. ๐ŸŒ€ Clone this repository (if you have GitHub account) or download actual release

  2. RFEM Open RFEM 6 application

  3. โ˜‘๏ธ Check if there are no opened dialogues in RFEM and server port range under Options-Web Services corresponds to the one set in initModel

  4. ๐Ÿƒ Run your script. Inspirations can be found in Examples or UnitTests.

Examples

The scripts are intended to be used as templates or examples. Also, they can be used for testing of backward compatibility.

Unit Tests

Collection of scripts used to support further development.

Python package ๐Ÿ“ฆ

The easiest way to enjoy the Client is to install current RFEM package directly to your Python via pip install RFEM. Especially if no code changes are required.

Documentation ๐Ÿ“š

For complete description of classes and functions visit our image.

Wiki

If you run into problems see our Wiki. We are slowly but surely expanding the solutions to the problems found in the Issues section.

License

License: MIT

Contribute

Contributions are always welcome!๐Ÿ™‚ Please ensure your pull request adheres to the following guidelines:

  • Alphabetize your entry.
  • Search previous suggestions before making a new one, as yours may be a duplicate.
  • Suggested READMEs should be beautiful or stand out in some way.
  • Make an individual pull request for each suggestion.
  • New categories, or improvements to the existing categorization are welcome.
  • Keep descriptions short and simple, but descriptive.
  • Start the description with a capital and end with a full stop/period.
  • Check your spelling and grammar.
  • Make sure your text editor is set to remove trailing whitespace.
  • Use the #readme anchor for GitHub READMEs to link them directly

โš ๏ธNOTE: Development is in early stages so please respect that. There will be broken objects or adjustments affecting backward compatibility. Use Issues section to point out any problems. Thank you for your understanding.

Connect with us ๐Ÿค

website ย ย  Youtube ย ย  Twitter ย ย  LinkedIn ย ย  Instagram ย ย  GitHub

Languages and Tools ๐Ÿ› ๏ธ

Visual Studio Code Python RFEM RSTAB GitHub Terminal

GitHub Stargazers over time

Star History Chart

Contributors


Contributors