Concrete Design: change Global Settings

Hi,

I am trying to uncheck the “Detailing and particular rules for reinforcement” in the global settings for concrete design, configurations to calculate (via the api).

I found the guidance to do this manually below:

Design Configurations | Concrete Design Settings | RFEM 6 | Tutorial – Concrete Design

I did a bit of digging in the api docs, namely in the pages on concrete_design_objects — Dlubal API documentation. There is a tab for ultimate, serviceability, fire resistence and seismic but non for detailing.

Using the new api and 6.11.0010

Is this possible to do? If so, how would you do it?

Thanks!

Samuel

I work off a template file that I copy and then edit via the api. In my workflow there are certain cases where I need this checked vs unchecked so as a workaround I could have two templates (one checked manually and one unchecked), but I’d prefer to keep with the one template and toggle via the api if it is possible :slight_smile:

Hi Samuel,

Good news for you, we are already working on it, and unless something unusual happens, it should be available in version 6.11.0011 / 2.11.11. However, a few tests still need to be carried out, so I cannot promise anything. Please keep an eye on the release notes, where it will be listed if applicable.

Have a nice weekend.

Best regards
Robert Milrath

1 Like

Hi Samuel,

Good news! The solution you're looking for is already available in version 6.11.0011/2.11.11. You can now toggle the settings via the API without needing to maintain separate templates. Here's an example of how you can achieve that:

from dlubal.api import common

# Step 1: Retrieve the global settings tree table for Concrete Design (active model)
design_settings: rfem.GlobalSettingsTreeTable = rfem_app.get_design_settings(
    addon=rfem.DesignAddons.CONCRETE_DESIGN
)
print(f"DESIGN SETTINGS:\n{design_settings}")

# Step 2: Retrieve a specific value
# Path to access specific value
reinf_detailing_path = [
    'configuration',
    'detailing_of_reinforcement'
]
# Get and print specific value
reinf_detailing_val = common.get_tree_value(
    tree=design_settings,
    path=reinf_detailing_path
)
print(f"\nReinforcement Detailing: {reinf_detailing_val}")

# Step 3: Modify the value and save the updated design settings
# Set a new value
common.set_tree_value(
    tree=design_settings,
    path=reinf_detailing_path,
    value=False,
)
# Apply the updated design settings to the model
rfem_app.set_design_settings(
    addon=rfem.DesignAddons.CONCRETE_DESIGN,
    global_settings_tree_table=design_settings
)

Let me know if you need further assistance!

Best regards,

2 Likes

Thanks Tomas,

I was able to get this working first try! Thanks for giving me the example code for my use case :slight_smile:

Samuel

1 Like