Global Settings#
|
In this example we will demonstrate:
|
from dlubal.api import rfem, common
# -------------------------------------------------------
# This example demonstrates how to modify a design global
# settings in the model by using helper functions to interact
# with the tree table data structure.
# -------------------------------------------------------
# Connect to the RFEM application
with rfem.Application() as rfem_app:
# Retrieve a design global settings
design_settings_tree: rfem.GlobalSettingsTreeTable = rfem_app.get_design_settings(
addon=rfem.DesignAddons.STEEL_DESIGN
)
print(f"DESIGN SETTINGS_TREE:\n{design_settings_tree}")
# Get value/s for the key (there can be multiple occurrences)
member_slenderness_key = 'member_slendernesses_compression_ec3'
member_slendernesses_val = common.get_values_by_key(
tree=design_settings_tree,
key=member_slenderness_key
)
print(f"\nMember slendernesses: {member_slendernesses_val}")
# Modify the value from the tree by the key
common.set_values_by_key(
tree=design_settings_tree,
key=member_slenderness_key,
values=[150],
)
# Apply the updated design settings to the model
rfem_app.set_design_settings(
addon=rfem.DesignAddons.STEEL_DESIGN,
global_settings_tree_table=design_settings_tree
)
using Rfem = Dlubal.Api.Rfem;
using Common = Dlubal.Api.Common;
// -------------------------------------------------------
// This example demonstrates how to modify a design global
// settings in the model by using helper functions to interact
// with the tree table data structure.
// -------------------------------------------------------
ApplicationRfem? rfemApp = null;
try
{
rfemApp = new ApplicationRfem();
// Retrieve a design global settings
Rfem.GlobalSettingsTreeTable? designSettingsTree = await rfemApp.get_design_settings(
addon: Rfem.DesignAddons.SteelDesign
);
Console.WriteLine($"DESIGN SETTINGS:\n{designSettingsTree}");
// Get value/s for the key (there can be multiple occurrences)
var memberSlendernessesKey = "member_slendernesses_compression_ec3";
var memberSlendernessesVal = Common.TreeTable.GetValuesByKey(
tree: designSettingsTree,
key: memberSlendernessesKey
);
Console.WriteLine($"Member Slenderness: {memberSlendernessesVal}");
// Modify the value from the tree by the key
Common.TreeTable.SetValuesByKey(
tree: designSettingsTree,
key: memberSlendernessesKey,
values: new List<object> { 150.0 }
);
// Apply the updated design settings to the model
await rfemApp.set_design_settings(
addon: Rfem.DesignAddons.SteelDesign,
globalSettingsTreeTable: designSettingsTree
);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
finally
{
if (rfemApp != null) await rfemApp.close_connection();
}