dlubal.api 2.12.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dlubal/__init__.py +0 -0
- dlubal/api/__init__.py +0 -0
- dlubal/api/common/__init__.py +8 -0
- dlubal/api/common/common_messages_pb2.py +78 -0
- dlubal/api/common/common_messages_pb2.pyi +230 -0
- dlubal/api/common/common_pb2.py +48 -0
- dlubal/api/common/common_pb2.pyi +65 -0
- dlubal/api/common/connection.py +252 -0
- dlubal/api/common/exceptions.py +12 -0
- dlubal/api/common/import_export/__init__.py +2 -0
- dlubal/api/common/import_export/export_attributes_pb2.py +46 -0
- dlubal/api/common/import_export/export_attributes_pb2.pyi +77 -0
- dlubal/api/common/import_export/import_attributes_pb2.py +40 -0
- dlubal/api/common/import_export/import_attributes_pb2.pyi +17 -0
- dlubal/api/common/model_id_pb2.py +38 -0
- dlubal/api/common/model_id_pb2.pyi +17 -0
- dlubal/api/common/options_pb2.py +35 -0
- dlubal/api/common/options_pb2.pyi +7 -0
- dlubal/api/common/packing.py +144 -0
- dlubal/api/common/table.py +37 -0
- dlubal/api/common/table_data_pb2.py +39 -0
- dlubal/api/common/table_data_pb2.pyi +21 -0
- dlubal/api/common/utility.py +131 -0
- dlubal/api/rfem/__init__.py +55 -0
- dlubal/api/rfem/all_pb2.py +36 -0
- dlubal/api/rfem/all_pb2.pyi +9 -0
- dlubal/api/rfem/aluminum_design/__init__.py +4 -0
- dlubal/api/rfem/aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
- dlubal/api/rfem/aluminum_design/aluminum_boundary_conditions_pb2.pyi +192 -0
- dlubal/api/rfem/aluminum_design/aluminum_effective_lengths_pb2.py +91 -0
- dlubal/api/rfem/aluminum_design/aluminum_effective_lengths_pb2.pyi +382 -0
- dlubal/api/rfem/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.py +47 -0
- dlubal/api/rfem/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.pyi +170 -0
- dlubal/api/rfem/aluminum_design/aluminum_member_transverse_weld_pb2.py +48 -0
- dlubal/api/rfem/aluminum_design/aluminum_member_transverse_weld_pb2.pyi +105 -0
- dlubal/api/rfem/aluminum_design_objects/__init__.py +2 -0
- dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +77 -0
- dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +269 -0
- dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +77 -0
- dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +269 -0
- dlubal/api/rfem/application.py +893 -0
- dlubal/api/rfem/application_pb2.py +77 -0
- dlubal/api/rfem/application_pb2.pyi +167 -0
- dlubal/api/rfem/application_pb2_grpc.py +2002 -0
- dlubal/api/rfem/base_data_objects/__init__.py +1 -0
- dlubal/api/rfem/base_data_objects/terrain_pb2.py +42 -0
- dlubal/api/rfem/base_data_objects/terrain_pb2.pyi +71 -0
- dlubal/api/rfem/base_data_pb2.py +108 -0
- dlubal/api/rfem/base_data_pb2.pyi +2639 -0
- dlubal/api/rfem/beam_panels/__init__.py +4 -0
- dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.py +38 -0
- dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.pyi +39 -0
- dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.py +38 -0
- dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.pyi +55 -0
- dlubal/api/rfem/beam_panels/sheathing_pb2.py +38 -0
- dlubal/api/rfem/beam_panels/sheathing_pb2.pyi +63 -0
- dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.py +44 -0
- dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.pyi +95 -0
- dlubal/api/rfem/building_model/__init__.py +4 -0
- dlubal/api/rfem/building_model/building_story_pb2.py +59 -0
- dlubal/api/rfem/building_model/building_story_pb2.pyi +194 -0
- dlubal/api/rfem/building_model/deep_beam_pb2.py +271 -0
- dlubal/api/rfem/building_model/deep_beam_pb2.pyi +3606 -0
- dlubal/api/rfem/building_model/floor_set_pb2.py +39 -0
- dlubal/api/rfem/building_model/floor_set_pb2.pyi +60 -0
- dlubal/api/rfem/building_model/shear_wall_pb2.py +169 -0
- dlubal/api/rfem/building_model/shear_wall_pb2.pyi +1966 -0
- dlubal/api/rfem/calculation_diagrams/__init__.py +1 -0
- dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +61 -0
- dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.pyi +1762 -0
- dlubal/api/rfem/component_design_objects/__init__.py +2 -0
- dlubal/api/rfem/component_design_objects/component_pb2.py +55 -0
- dlubal/api/rfem/component_design_objects/component_pb2.pyi +164 -0
- dlubal/api/rfem/component_design_objects/component_serie_pb2.py +38 -0
- dlubal/api/rfem/component_design_objects/component_serie_pb2.pyi +56 -0
- dlubal/api/rfem/concrete_design_objects/__init__.py +5 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.py +105 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +435 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +61 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +193 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +65 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +215 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +125 -0
- dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +545 -0
- dlubal/api/rfem/concrete_design_objects/concrete_effective_lengths_pb2.py +107 -0
- dlubal/api/rfem/concrete_design_objects/concrete_effective_lengths_pb2.pyi +496 -0
- dlubal/api/rfem/concrete_foundations/__init__.py +1 -0
- dlubal/api/rfem/concrete_foundations/single_foundation_pb2.py +75 -0
- dlubal/api/rfem/concrete_foundations/single_foundation_pb2.pyi +314 -0
- dlubal/api/rfem/construction_stages/__init__.py +1 -0
- dlubal/api/rfem/construction_stages/construction_stage_pb2.py +86 -0
- dlubal/api/rfem/construction_stages/construction_stage_pb2.pyi +535 -0
- dlubal/api/rfem/design_addons_pb2.py +36 -0
- dlubal/api/rfem/design_addons_pb2.pyi +28 -0
- dlubal/api/rfem/digital_twins/__init__.py +1 -0
- dlubal/api/rfem/digital_twins/digital_twins/__init__.py +3 -0
- dlubal/api/rfem/digital_twins/digital_twins/sensor_pb2.py +47 -0
- dlubal/api/rfem/digital_twins/digital_twins/sensor_pb2.pyi +126 -0
- dlubal/api/rfem/digital_twins/digital_twins/sensor_set_pb2.py +44 -0
- dlubal/api/rfem/digital_twins/digital_twins/sensor_set_pb2.pyi +71 -0
- dlubal/api/rfem/digital_twins/digital_twins/sensor_value_definition_pb2.py +44 -0
- dlubal/api/rfem/digital_twins/digital_twins/sensor_value_definition_pb2.pyi +98 -0
- dlubal/api/rfem/dynamic_analysis_pb2.py +36 -0
- dlubal/api/rfem/dynamic_analysis_pb2.pyi +23 -0
- dlubal/api/rfem/dynamic_loads/__init__.py +3 -0
- dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +42 -0
- dlubal/api/rfem/dynamic_loads/accelerogram_pb2.pyi +67 -0
- dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +44 -0
- dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.pyi +91 -0
- dlubal/api/rfem/dynamic_loads/time_diagram_pb2.py +46 -0
- dlubal/api/rfem/dynamic_loads/time_diagram_pb2.pyi +83 -0
- dlubal/api/rfem/foundation_design_objects/__init__.py +2 -0
- dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
- dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
- dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
- dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
- dlubal/api/rfem/geotechnical_analysis/__init__.py +3 -0
- dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +43 -0
- dlubal/api/rfem/geotechnical_analysis/borehole_pb2.pyi +70 -0
- dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.py +42 -0
- dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.pyi +75 -0
- dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +53 -0
- dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.pyi +164 -0
- dlubal/api/rfem/glass_design/__init__.py +1 -0
- dlubal/api/rfem/glass_design/glass_composition_model_pb2.py +91 -0
- dlubal/api/rfem/glass_design/glass_composition_model_pb2.pyi +456 -0
- dlubal/api/rfem/glass_design_objects/__init__.py +2 -0
- dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.py +69 -0
- dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.pyi +213 -0
- dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.py +69 -0
- dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.pyi +213 -0
- dlubal/api/rfem/global_parameters/__init__.py +1 -0
- dlubal/api/rfem/global_parameters/global_parameter_pb2.py +40 -0
- dlubal/api/rfem/global_parameters/global_parameter_pb2.pyi +294 -0
- dlubal/api/rfem/guide_objects/__init__.py +15 -0
- dlubal/api/rfem/guide_objects/building_grid_pb2.py +53 -0
- dlubal/api/rfem/guide_objects/building_grid_pb2.pyi +211 -0
- dlubal/api/rfem/guide_objects/clipping_box_pb2.py +37 -0
- dlubal/api/rfem/guide_objects/clipping_box_pb2.pyi +40 -0
- dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +45 -0
- dlubal/api/rfem/guide_objects/clipping_plane_pb2.pyi +121 -0
- dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +41 -0
- dlubal/api/rfem/guide_objects/coordinate_system_pb2.pyi +91 -0
- dlubal/api/rfem/guide_objects/dimension_pb2.py +79 -0
- dlubal/api/rfem/guide_objects/dimension_pb2.pyi +422 -0
- dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +41 -0
- dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.pyi +121 -0
- dlubal/api/rfem/guide_objects/dxf_model_object_pb2.py +36 -0
- dlubal/api/rfem/guide_objects/dxf_model_object_pb2.pyi +15 -0
- dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.py +38 -0
- dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.pyi +35 -0
- dlubal/api/rfem/guide_objects/guideline_pb2.py +42 -0
- dlubal/api/rfem/guide_objects/guideline_pb2.pyi +90 -0
- dlubal/api/rfem/guide_objects/layer_group_pb2.py +36 -0
- dlubal/api/rfem/guide_objects/layer_group_pb2.pyi +22 -0
- dlubal/api/rfem/guide_objects/layer_pb2.py +38 -0
- dlubal/api/rfem/guide_objects/layer_pb2.pyi +44 -0
- dlubal/api/rfem/guide_objects/note_pb2.py +47 -0
- dlubal/api/rfem/guide_objects/note_pb2.pyi +163 -0
- dlubal/api/rfem/guide_objects/object_snap_pb2.py +38 -0
- dlubal/api/rfem/guide_objects/object_snap_pb2.pyi +86 -0
- dlubal/api/rfem/guide_objects/texture_pb2.py +36 -0
- dlubal/api/rfem/guide_objects/texture_pb2.pyi +41 -0
- dlubal/api/rfem/guide_objects/visual_object_pb2.py +43 -0
- dlubal/api/rfem/guide_objects/visual_object_pb2.pyi +135 -0
- dlubal/api/rfem/ifc_objects/__init__.py +2 -0
- dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.py +46 -0
- dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
- dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.py +38 -0
- dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.pyi +32 -0
- dlubal/api/rfem/imperfections/__init__.py +3 -0
- dlubal/api/rfem/imperfections/imperfection_case_pb2.py +60 -0
- dlubal/api/rfem/imperfections/imperfection_case_pb2.pyi +215 -0
- dlubal/api/rfem/imperfections/member_imperfection_pb2.py +50 -0
- dlubal/api/rfem/imperfections/member_imperfection_pb2.pyi +205 -0
- dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +50 -0
- dlubal/api/rfem/imperfections/member_set_imperfection_pb2.pyi +203 -0
- dlubal/api/rfem/layout_and_drawing/__init__.py +2 -0
- dlubal/api/rfem/layout_and_drawing/cad_line_pb2.py +65 -0
- dlubal/api/rfem/layout_and_drawing/cad_line_pb2.pyi +372 -0
- dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.py +39 -0
- dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.pyi +37 -0
- dlubal/api/rfem/load_wizards/__init__.py +7 -0
- dlubal/api/rfem/load_wizards/import_support_reactions_pb2.py +46 -0
- dlubal/api/rfem/load_wizards/import_support_reactions_pb2.pyi +91 -0
- dlubal/api/rfem/load_wizards/load_model_pb2.py +50 -0
- dlubal/api/rfem/load_wizards/load_model_pb2.pyi +113 -0
- dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.py +46 -0
- dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
- dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
- dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
- dlubal/api/rfem/load_wizards/moving_load_pb2.py +52 -0
- dlubal/api/rfem/load_wizards/moving_load_pb2.pyi +715 -0
- dlubal/api/rfem/load_wizards/wind_profile_pb2.py +48 -0
- dlubal/api/rfem/load_wizards/wind_profile_pb2.pyi +777 -0
- dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +55 -0
- dlubal/api/rfem/load_wizards/wind_simulation_pb2.pyi +148 -0
- dlubal/api/rfem/loading/__init__.py +16 -0
- dlubal/api/rfem/loading/action_combination_pb2.py +48 -0
- dlubal/api/rfem/loading/action_combination_pb2.pyi +155 -0
- dlubal/api/rfem/loading/action_pb2.py +54 -0
- dlubal/api/rfem/loading/action_pb2.pyi +719 -0
- dlubal/api/rfem/loading/combination_wizard_pb2.py +49 -0
- dlubal/api/rfem/loading/combination_wizard_pb2.pyi +116 -0
- dlubal/api/rfem/loading/design_situation_pb2.py +47 -0
- dlubal/api/rfem/loading/design_situation_pb2.pyi +1222 -0
- dlubal/api/rfem/loading/load_case_pb2.py +104 -0
- dlubal/api/rfem/loading/load_case_pb2.pyi +1385 -0
- dlubal/api/rfem/loading/load_combination_pb2.py +65 -0
- dlubal/api/rfem/loading/load_combination_pb2.pyi +390 -0
- dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +52 -0
- dlubal/api/rfem/loading/modal_analysis_settings_pb2.pyi +155 -0
- dlubal/api/rfem/loading/optimization_settings_pb2.py +46 -0
- dlubal/api/rfem/loading/optimization_settings_pb2.pyi +111 -0
- dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +38 -0
- dlubal/api/rfem/loading/pushover_analysis_settings_pb2.pyi +50 -0
- dlubal/api/rfem/loading/relationship_between_load_cases_pb2.py +44 -0
- dlubal/api/rfem/loading/relationship_between_load_cases_pb2.pyi +66 -0
- dlubal/api/rfem/loading/result_combination_pb2.py +59 -0
- dlubal/api/rfem/loading/result_combination_pb2.pyi +304 -0
- dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +46 -0
- dlubal/api/rfem/loading/spectral_analysis_settings_pb2.pyi +80 -0
- dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +44 -0
- dlubal/api/rfem/loading/stability_analysis_settings_pb2.pyi +118 -0
- dlubal/api/rfem/loading/static_analysis_settings_pb2.py +48 -0
- dlubal/api/rfem/loading/static_analysis_settings_pb2.pyi +172 -0
- dlubal/api/rfem/loading/time_history_analysis_settings_pb2.py +54 -0
- dlubal/api/rfem/loading/time_history_analysis_settings_pb2.pyi +169 -0
- dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +52 -0
- dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.pyi +176 -0
- dlubal/api/rfem/loads/__init__.py +19 -0
- dlubal/api/rfem/loads/additional_foundation_load_pb2.py +41 -0
- dlubal/api/rfem/loads/additional_foundation_load_pb2.pyi +80 -0
- dlubal/api/rfem/loads/cutting_pattern_load_pb2.py +40 -0
- dlubal/api/rfem/loads/cutting_pattern_load_pb2.pyi +49 -0
- dlubal/api/rfem/loads/free_circular_load_pb2.py +42 -0
- dlubal/api/rfem/loads/free_circular_load_pb2.pyi +97 -0
- dlubal/api/rfem/loads/free_concentrated_load_pb2.py +44 -0
- dlubal/api/rfem/loads/free_concentrated_load_pb2.pyi +103 -0
- dlubal/api/rfem/loads/free_line_load_pb2.py +48 -0
- dlubal/api/rfem/loads/free_line_load_pb2.pyi +149 -0
- dlubal/api/rfem/loads/free_polygon_load_pb2.py +46 -0
- dlubal/api/rfem/loads/free_polygon_load_pb2.pyi +123 -0
- dlubal/api/rfem/loads/free_rectangular_load_pb2.py +53 -0
- dlubal/api/rfem/loads/free_rectangular_load_pb2.pyi +194 -0
- dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +37 -0
- dlubal/api/rfem/loads/imposed_line_deformation_pb2.pyi +47 -0
- dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +37 -0
- dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.pyi +43 -0
- dlubal/api/rfem/loads/line_load_pb2.py +59 -0
- dlubal/api/rfem/loads/line_load_pb2.pyi +266 -0
- dlubal/api/rfem/loads/line_set_load_pb2.py +59 -0
- dlubal/api/rfem/loads/line_set_load_pb2.pyi +266 -0
- dlubal/api/rfem/loads/member_load_pb2.py +79 -0
- dlubal/api/rfem/loads/member_load_pb2.pyi +492 -0
- dlubal/api/rfem/loads/member_set_load_pb2.py +79 -0
- dlubal/api/rfem/loads/member_set_load_pb2.pyi +490 -0
- dlubal/api/rfem/loads/nodal_load_pb2.py +49 -0
- dlubal/api/rfem/loads/nodal_load_pb2.pyi +228 -0
- dlubal/api/rfem/loads/opening_load_pb2.py +43 -0
- dlubal/api/rfem/loads/opening_load_pb2.pyi +82 -0
- dlubal/api/rfem/loads/solid_load_pb2.py +53 -0
- dlubal/api/rfem/loads/solid_load_pb2.pyi +172 -0
- dlubal/api/rfem/loads/solid_set_load_pb2.py +53 -0
- dlubal/api/rfem/loads/solid_set_load_pb2.pyi +172 -0
- dlubal/api/rfem/loads/surface_load_pb2.py +65 -0
- dlubal/api/rfem/loads/surface_load_pb2.pyi +340 -0
- dlubal/api/rfem/loads/surface_set_load_pb2.py +65 -0
- dlubal/api/rfem/loads/surface_set_load_pb2.pyi +340 -0
- dlubal/api/rfem/manipulation/__init__.py +1 -0
- dlubal/api/rfem/manipulation/manipulation_pb2.py +38 -0
- dlubal/api/rfem/manipulation/manipulation_pb2.pyi +25 -0
- dlubal/api/rfem/mesh/__init__.py +1 -0
- dlubal/api/rfem/mesh/mesh_settings_pb2.py +51 -0
- dlubal/api/rfem/mesh/mesh_settings_pb2.pyi +218 -0
- dlubal/api/rfem/object_id_pb2.py +39 -0
- dlubal/api/rfem/object_id_pb2.pyi +25 -0
- dlubal/api/rfem/object_type_pb2.py +36 -0
- dlubal/api/rfem/object_type_pb2.pyi +416 -0
- dlubal/api/rfem/reinforcement/__init__.py +4 -0
- dlubal/api/rfem/reinforcement/concrete_durability_pb2.py +68 -0
- dlubal/api/rfem/reinforcement/concrete_durability_pb2.pyi +257 -0
- dlubal/api/rfem/reinforcement/punching_reinforcement_pb2.py +58 -0
- dlubal/api/rfem/reinforcement/punching_reinforcement_pb2.pyi +319 -0
- dlubal/api/rfem/reinforcement/reinforcement_direction_pb2.py +38 -0
- dlubal/api/rfem/reinforcement/reinforcement_direction_pb2.pyi +47 -0
- dlubal/api/rfem/reinforcement/surface_reinforcement_pb2.py +84 -0
- dlubal/api/rfem/reinforcement/surface_reinforcement_pb2.pyi +743 -0
- dlubal/api/rfem/result_objects/__init__.py +2 -0
- dlubal/api/rfem/result_objects/result_point_pb2.py +41 -0
- dlubal/api/rfem/result_objects/result_point_pb2.pyi +75 -0
- dlubal/api/rfem/result_objects/result_section_pb2.py +43 -0
- dlubal/api/rfem/result_objects/result_section_pb2.pyi +116 -0
- dlubal/api/rfem/results/__init__.py +4 -0
- dlubal/api/rfem/results/result_table_pb2.py +36 -0
- dlubal/api/rfem/results/result_table_pb2.pyi +1462 -0
- dlubal/api/rfem/results/results_query_pb2.py +41 -0
- dlubal/api/rfem/results/results_query_pb2.pyi +31 -0
- dlubal/api/rfem/results/results_type_pb2.py +36 -0
- dlubal/api/rfem/results/results_type_pb2.pyi +1200 -0
- dlubal/api/rfem/results/settings/__init__.py +1 -0
- dlubal/api/rfem/results/settings/result_settings_pb2.py +38 -0
- dlubal/api/rfem/results/settings/result_settings_pb2.pyi +23 -0
- dlubal/api/rfem/rsection_stresses/__init__.py +1 -0
- dlubal/api/rfem/rsection_stresses/member_configuration_pb2.py +41 -0
- dlubal/api/rfem/rsection_stresses/member_configuration_pb2.pyi +53 -0
- dlubal/api/rfem/steel_design/__init__.py +4 -0
- dlubal/api/rfem/steel_design/steel_boundary_conditions_pb2.py +51 -0
- dlubal/api/rfem/steel_design/steel_boundary_conditions_pb2.pyi +192 -0
- dlubal/api/rfem/steel_design/steel_effective_lengths_pb2.py +117 -0
- dlubal/api/rfem/steel_design/steel_effective_lengths_pb2.pyi +524 -0
- dlubal/api/rfem/steel_design/steel_member_local_cross_section_reduction_pb2.py +47 -0
- dlubal/api/rfem/steel_design/steel_member_local_cross_section_reduction_pb2.pyi +170 -0
- dlubal/api/rfem/steel_design/steel_member_transverse_weld_pb2.py +48 -0
- dlubal/api/rfem/steel_design/steel_member_transverse_weld_pb2.pyi +105 -0
- dlubal/api/rfem/steel_design_objects/__init__.py +4 -0
- dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.py +57 -0
- dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.pyi +151 -0
- dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.py +53 -0
- dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +129 -0
- dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.py +141 -0
- dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.pyi +621 -0
- dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.py +141 -0
- dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.pyi +621 -0
- dlubal/api/rfem/steel_joint_design_addon_objects/__init__.py +2 -0
- dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.py +49 -0
- dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.pyi +91 -0
- dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.py +49 -0
- dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.pyi +91 -0
- dlubal/api/rfem/stress_analysis_objects/__init__.py +3 -0
- dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.py +41 -0
- dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.pyi +47 -0
- dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.py +36 -0
- dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.pyi +26 -0
- dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.py +36 -0
- dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.pyi +26 -0
- dlubal/api/rfem/structure_advanced/__init__.py +15 -0
- dlubal/api/rfem/structure_advanced/block_pb2.py +55 -0
- dlubal/api/rfem/structure_advanced/block_pb2.pyi +196 -0
- dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.py +44 -0
- dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.pyi +71 -0
- dlubal/api/rfem/structure_advanced/design_strip_pb2.py +61 -0
- dlubal/api/rfem/structure_advanced/design_strip_pb2.pyi +460 -0
- dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.py +53 -0
- dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.pyi +158 -0
- dlubal/api/rfem/structure_advanced/intersection_pb2.py +36 -0
- dlubal/api/rfem/structure_advanced/intersection_pb2.pyi +26 -0
- dlubal/api/rfem/structure_advanced/line_release_pb2.py +42 -0
- dlubal/api/rfem/structure_advanced/line_release_pb2.pyi +71 -0
- dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +42 -0
- dlubal/api/rfem/structure_advanced/nodal_release_pb2.pyi +69 -0
- dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +41 -0
- dlubal/api/rfem/structure_advanced/rigid_link_pb2.pyi +104 -0
- dlubal/api/rfem/structure_advanced/rule_based_link_generator_pb2.py +49 -0
- dlubal/api/rfem/structure_advanced/rule_based_link_generator_pb2.pyi +108 -0
- dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +98 -0
- dlubal/api/rfem/structure_advanced/structure_modification_pb2.pyi +473 -0
- dlubal/api/rfem/structure_advanced/surface_cell_pb2.py +41 -0
- dlubal/api/rfem/structure_advanced/surface_cell_pb2.pyi +74 -0
- dlubal/api/rfem/structure_advanced/surface_cell_set_pb2.py +39 -0
- dlubal/api/rfem/structure_advanced/surface_cell_set_pb2.pyi +56 -0
- dlubal/api/rfem/structure_advanced/surface_release_pb2.py +42 -0
- dlubal/api/rfem/structure_advanced/surface_release_pb2.pyi +73 -0
- dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +61 -0
- dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.pyi +165 -0
- dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.py +38 -0
- dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.pyi +39 -0
- dlubal/api/rfem/structure_core/__init__.py +15 -0
- dlubal/api/rfem/structure_core/cross_section_pb2.py +76 -0
- dlubal/api/rfem/structure_core/cross_section_pb2.pyi +2141 -0
- dlubal/api/rfem/structure_core/line_pb2.py +87 -0
- dlubal/api/rfem/structure_core/line_pb2.pyi +592 -0
- dlubal/api/rfem/structure_core/line_set_pb2.py +39 -0
- dlubal/api/rfem/structure_core/line_set_pb2.pyi +62 -0
- dlubal/api/rfem/structure_core/material_pb2.py +161 -0
- dlubal/api/rfem/structure_core/material_pb2.pyi +1586 -0
- dlubal/api/rfem/structure_core/member_pb2.py +240 -0
- dlubal/api/rfem/structure_core/member_pb2.pyi +2767 -0
- dlubal/api/rfem/structure_core/member_representative_pb2.py +336 -0
- dlubal/api/rfem/structure_core/member_representative_pb2.pyi +4383 -0
- dlubal/api/rfem/structure_core/member_set_pb2.py +168 -0
- dlubal/api/rfem/structure_core/member_set_pb2.pyi +1955 -0
- dlubal/api/rfem/structure_core/member_set_representative_pb2.py +466 -0
- dlubal/api/rfem/structure_core/member_set_representative_pb2.pyi +6333 -0
- dlubal/api/rfem/structure_core/node_pb2.py +49 -0
- dlubal/api/rfem/structure_core/node_pb2.pyi +180 -0
- dlubal/api/rfem/structure_core/opening_pb2.py +37 -0
- dlubal/api/rfem/structure_core/opening_pb2.pyi +45 -0
- dlubal/api/rfem/structure_core/solid_pb2.py +63 -0
- dlubal/api/rfem/structure_core/solid_pb2.pyi +292 -0
- dlubal/api/rfem/structure_core/solid_set_pb2.py +45 -0
- dlubal/api/rfem/structure_core/solid_set_pb2.pyi +92 -0
- dlubal/api/rfem/structure_core/surface_pb2.py +97 -0
- dlubal/api/rfem/structure_core/surface_pb2.pyi +651 -0
- dlubal/api/rfem/structure_core/surface_set_pb2.py +49 -0
- dlubal/api/rfem/structure_core/surface_set_pb2.pyi +182 -0
- dlubal/api/rfem/structure_core/thickness_pb2.py +76 -0
- dlubal/api/rfem/structure_core/thickness_pb2.pyi +555 -0
- dlubal/api/rfem/timber_design/__init__.py +6 -0
- dlubal/api/rfem/timber_design/timber_effective_lengths_pb2.py +105 -0
- dlubal/api/rfem/timber_design/timber_effective_lengths_pb2.pyi +478 -0
- dlubal/api/rfem/timber_design/timber_member_local_cross_section_reduction_pb2.py +48 -0
- dlubal/api/rfem/timber_design/timber_member_local_cross_section_reduction_pb2.pyi +125 -0
- dlubal/api/rfem/timber_design/timber_moisture_class_pb2.py +38 -0
- dlubal/api/rfem/timber_design/timber_moisture_class_pb2.pyi +49 -0
- dlubal/api/rfem/timber_design/timber_screw_type_pb2.py +38 -0
- dlubal/api/rfem/timber_design/timber_screw_type_pb2.pyi +58 -0
- dlubal/api/rfem/timber_design/timber_service_class_pb2.py +38 -0
- dlubal/api/rfem/timber_design/timber_service_class_pb2.pyi +49 -0
- dlubal/api/rfem/timber_design/timber_service_conditions_pb2.py +42 -0
- dlubal/api/rfem/timber_design/timber_service_conditions_pb2.pyi +115 -0
- dlubal/api/rfem/timber_design_objects/__init__.py +3 -0
- dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.py +125 -0
- dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.pyi +525 -0
- dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.py +125 -0
- dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.pyi +525 -0
- dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.py +165 -0
- dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.pyi +753 -0
- dlubal/api/rfem/types_for_craneway_design/__init__.py +2 -0
- dlubal/api/rfem/types_for_craneway_design/crane_pb2.py +36 -0
- dlubal/api/rfem/types_for_craneway_design/crane_pb2.pyi +24 -0
- dlubal/api/rfem/types_for_craneway_design/craneway_pb2.py +52 -0
- dlubal/api/rfem/types_for_craneway_design/craneway_pb2.pyi +117 -0
- dlubal/api/rfem/types_for_lines/__init__.py +6 -0
- dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.py +38 -0
- dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.pyi +30 -0
- dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +155 -0
- dlubal/api/rfem/types_for_lines/line_hinge_pb2.pyi +1008 -0
- dlubal/api/rfem/types_for_lines/line_link_pb2.py +43 -0
- dlubal/api/rfem/types_for_lines/line_link_pb2.pyi +70 -0
- dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +38 -0
- dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.pyi +49 -0
- dlubal/api/rfem/types_for_lines/line_support_pb2.py +159 -0
- dlubal/api/rfem/types_for_lines/line_support_pb2.pyi +1068 -0
- dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +44 -0
- dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.pyi +100 -0
- dlubal/api/rfem/types_for_members/__init__.py +14 -0
- dlubal/api/rfem/types_for_members/design_support_pb2.py +62 -0
- dlubal/api/rfem/types_for_members/design_support_pb2.pyi +253 -0
- dlubal/api/rfem/types_for_members/diagonal_brace_pb2.py +46 -0
- dlubal/api/rfem/types_for_members/diagonal_brace_pb2.pyi +103 -0
- dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +36 -0
- dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
- dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +49 -0
- dlubal/api/rfem/types_for_members/member_eccentricity_pb2.pyi +113 -0
- dlubal/api/rfem/types_for_members/member_hinge_pb2.py +249 -0
- dlubal/api/rfem/types_for_members/member_hinge_pb2.pyi +1782 -0
- dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +38 -0
- dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.pyi +61 -0
- dlubal/api/rfem/types_for_members/member_openings_pb2.py +46 -0
- dlubal/api/rfem/types_for_members/member_openings_pb2.pyi +97 -0
- dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.py +40 -0
- dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.pyi +52 -0
- dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +50 -0
- dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.pyi +127 -0
- dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +40 -0
- dlubal/api/rfem/types_for_members/member_shear_panel_pb2.pyi +80 -0
- dlubal/api/rfem/types_for_members/member_spring_pb2.py +52 -0
- dlubal/api/rfem/types_for_members/member_spring_pb2.pyi +149 -0
- dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +48 -0
- dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.pyi +139 -0
- dlubal/api/rfem/types_for_members/member_support_pb2.py +49 -0
- dlubal/api/rfem/types_for_members/member_support_pb2.pyi +156 -0
- dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.py +48 -0
- dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.pyi +147 -0
- dlubal/api/rfem/types_for_nodes/__init__.py +3 -0
- dlubal/api/rfem/types_for_nodes/nodal_link_pb2.py +43 -0
- dlubal/api/rfem/types_for_nodes/nodal_link_pb2.pyi +78 -0
- dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +40 -0
- dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.pyi +63 -0
- dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +211 -0
- dlubal/api/rfem/types_for_nodes/nodal_support_pb2.pyi +1456 -0
- dlubal/api/rfem/types_for_solids/__init__.py +3 -0
- dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +40 -0
- dlubal/api/rfem/types_for_solids/solid_contacts_pb2.pyi +59 -0
- dlubal/api/rfem/types_for_solids/solid_gas_pb2.py +36 -0
- dlubal/api/rfem/types_for_solids/solid_gas_pb2.pyi +28 -0
- dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.py +36 -0
- dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.pyi +30 -0
- dlubal/api/rfem/types_for_special_objects/__init__.py +4 -0
- dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +156 -0
- dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.pyi +1017 -0
- dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +198 -0
- dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.pyi +1385 -0
- dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +81 -0
- dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.pyi +374 -0
- dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +44 -0
- dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.pyi +77 -0
- dlubal/api/rfem/types_for_steel_joints/__init__.py +1 -0
- dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.py +53 -0
- dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.pyi +188 -0
- dlubal/api/rfem/types_for_surfaces/__init__.py +4 -0
- dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +42 -0
- dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.pyi +71 -0
- dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.py +36 -0
- dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.pyi +30 -0
- dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +40 -0
- dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.pyi +163 -0
- dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +43 -0
- dlubal/api/rfem/types_for_surfaces/surface_support_pb2.pyi +82 -0
- dlubal/api/rfem/types_for_wind_simulation/__init__.py +2 -0
- dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
- dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +85 -0
- dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.py +42 -0
- dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.pyi +73 -0
- dlubal/api/rsection/__init__.py +15 -0
- dlubal/api/rsection/all_pb2.py +36 -0
- dlubal/api/rsection/all_pb2.pyi +9 -0
- dlubal/api/rsection/application.py +572 -0
- dlubal/api/rsection/application_pb2.py +52 -0
- dlubal/api/rsection/application_pb2.pyi +59 -0
- dlubal/api/rsection/application_pb2_grpc.py +1337 -0
- dlubal/api/rsection/base_data_pb2.py +58 -0
- dlubal/api/rsection/base_data_pb2.pyi +158 -0
- dlubal/api/rsection/global_parameters/__init__.py +1 -0
- dlubal/api/rsection/global_parameters/global_parameter_pb2.py +40 -0
- dlubal/api/rsection/global_parameters/global_parameter_pb2.pyi +150 -0
- dlubal/api/rsection/guide_objects/__init__.py +4 -0
- dlubal/api/rsection/guide_objects/dimension_pb2.py +71 -0
- dlubal/api/rsection/guide_objects/dimension_pb2.pyi +314 -0
- dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.py +43 -0
- dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.pyi +125 -0
- dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.py +38 -0
- dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.pyi +35 -0
- dlubal/api/rsection/guide_objects/object_snap_pb2.py +38 -0
- dlubal/api/rsection/guide_objects/object_snap_pb2.pyi +86 -0
- dlubal/api/rsection/internal_forces/__init__.py +1 -0
- dlubal/api/rsection/internal_forces/internal_forces_pb2.py +38 -0
- dlubal/api/rsection/internal_forces/internal_forces_pb2.pyi +58 -0
- dlubal/api/rsection/loading/__init__.py +2 -0
- dlubal/api/rsection/loading/load_case_pb2.py +38 -0
- dlubal/api/rsection/loading/load_case_pb2.pyi +616 -0
- dlubal/api/rsection/loading/load_combination_pb2.py +42 -0
- dlubal/api/rsection/loading/load_combination_pb2.pyi +113 -0
- dlubal/api/rsection/manipulation/__init__.py +1 -0
- dlubal/api/rsection/manipulation/manipulation_pb2.py +38 -0
- dlubal/api/rsection/manipulation/manipulation_pb2.pyi +23 -0
- dlubal/api/rsection/object_id_pb2.py +39 -0
- dlubal/api/rsection/object_id_pb2.pyi +25 -0
- dlubal/api/rsection/object_type_pb2.py +36 -0
- dlubal/api/rsection/object_type_pb2.pyi +60 -0
- dlubal/api/rsection/results/__init__.py +4 -0
- dlubal/api/rsection/results/result_table_pb2.py +36 -0
- dlubal/api/rsection/results/result_table_pb2.pyi +10 -0
- dlubal/api/rsection/results/results_query_pb2.py +41 -0
- dlubal/api/rsection/results/results_query_pb2.pyi +31 -0
- dlubal/api/rsection/results/results_type_pb2.py +36 -0
- dlubal/api/rsection/results/results_type_pb2.pyi +10 -0
- dlubal/api/rsection/results/settings/__init__.py +1 -0
- dlubal/api/rsection/results/settings/result_settings_pb2.py +38 -0
- dlubal/api/rsection/results/settings/result_settings_pb2.pyi +23 -0
- dlubal/api/rsection/rsection_stresses/__init__.py +1 -0
- dlubal/api/rsection/rsection_stresses/member_configuration_pb2.py +41 -0
- dlubal/api/rsection/rsection_stresses/member_configuration_pb2.pyi +53 -0
- dlubal/api/rsection/structure_advanced/__init__.py +1 -0
- dlubal/api/rsection/structure_advanced/block_pb2.py +55 -0
- dlubal/api/rsection/structure_advanced/block_pb2.pyi +190 -0
- dlubal/api/rsection/structure_core/__init__.py +15 -0
- dlubal/api/rsection/structure_core/bar_pb2.py +40 -0
- dlubal/api/rsection/structure_core/bar_pb2.pyi +102 -0
- dlubal/api/rsection/structure_core/cross_section_pb2.py +50 -0
- dlubal/api/rsection/structure_core/cross_section_pb2.pyi +1731 -0
- dlubal/api/rsection/structure_core/element_pb2.py +53 -0
- dlubal/api/rsection/structure_core/element_pb2.pyi +204 -0
- dlubal/api/rsection/structure_core/layer_group_pb2.py +36 -0
- dlubal/api/rsection/structure_core/layer_group_pb2.pyi +22 -0
- dlubal/api/rsection/structure_core/layer_pb2.py +38 -0
- dlubal/api/rsection/structure_core/layer_pb2.pyi +44 -0
- dlubal/api/rsection/structure_core/line_pb2.py +59 -0
- dlubal/api/rsection/structure_core/line_pb2.pyi +222 -0
- dlubal/api/rsection/structure_core/material_pb2.py +127 -0
- dlubal/api/rsection/structure_core/material_pb2.pyi +1122 -0
- dlubal/api/rsection/structure_core/opening_pb2.py +37 -0
- dlubal/api/rsection/structure_core/opening_pb2.pyi +39 -0
- dlubal/api/rsection/structure_core/part_pb2.py +39 -0
- dlubal/api/rsection/structure_core/part_pb2.pyi +58 -0
- dlubal/api/rsection/structure_core/point_pb2.py +43 -0
- dlubal/api/rsection/structure_core/point_pb2.pyi +109 -0
- dlubal/api/rsection/structure_core/reinforcement_layer_pb2.py +36 -0
- dlubal/api/rsection/structure_core/reinforcement_layer_pb2.pyi +23 -0
- dlubal/api/rsection/structure_core/stirrup_pb2.py +36 -0
- dlubal/api/rsection/structure_core/stirrup_pb2.pyi +42 -0
- dlubal/api/rsection/structure_core/stress_point_pb2.py +45 -0
- dlubal/api/rsection/structure_core/stress_point_pb2.pyi +101 -0
- dlubal/api/rsection/structure_core/subpanel_pb2.py +38 -0
- dlubal/api/rsection/structure_core/subpanel_pb2.pyi +49 -0
- dlubal/api/rsection/structure_core/weld_pb2.py +38 -0
- dlubal/api/rsection/structure_core/weld_pb2.pyi +46 -0
- dlubal/api/rstab/__init__.py +39 -0
- dlubal/api/rstab/all_pb2.py +36 -0
- dlubal/api/rstab/all_pb2.pyi +9 -0
- dlubal/api/rstab/aluminum_design/__init__.py +4 -0
- dlubal/api/rstab/aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
- dlubal/api/rstab/aluminum_design/aluminum_boundary_conditions_pb2.pyi +188 -0
- dlubal/api/rstab/aluminum_design/aluminum_effective_lengths_pb2.py +91 -0
- dlubal/api/rstab/aluminum_design/aluminum_effective_lengths_pb2.pyi +382 -0
- dlubal/api/rstab/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.py +47 -0
- dlubal/api/rstab/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.pyi +166 -0
- dlubal/api/rstab/aluminum_design/aluminum_member_transverse_weld_pb2.py +48 -0
- dlubal/api/rstab/aluminum_design/aluminum_member_transverse_weld_pb2.pyi +101 -0
- dlubal/api/rstab/aluminum_design_objects/__init__.py +2 -0
- dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +77 -0
- dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +261 -0
- dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +77 -0
- dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +261 -0
- dlubal/api/rstab/application.py +827 -0
- dlubal/api/rstab/application_pb2.py +72 -0
- dlubal/api/rstab/application_pb2.pyi +148 -0
- dlubal/api/rstab/application_pb2_grpc.py +1780 -0
- dlubal/api/rstab/base_data_objects/__init__.py +1 -0
- dlubal/api/rstab/base_data_objects/terrain_pb2.py +42 -0
- dlubal/api/rstab/base_data_objects/terrain_pb2.pyi +71 -0
- dlubal/api/rstab/base_data_pb2.py +92 -0
- dlubal/api/rstab/base_data_pb2.pyi +2373 -0
- dlubal/api/rstab/calculation_diagrams/__init__.py +1 -0
- dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.py +61 -0
- dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.pyi +1762 -0
- dlubal/api/rstab/concrete_design_objects/__init__.py +5 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.py +105 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +435 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +61 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +193 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.py +65 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +203 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.py +125 -0
- dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +533 -0
- dlubal/api/rstab/concrete_design_objects/concrete_effective_lengths_pb2.py +107 -0
- dlubal/api/rstab/concrete_design_objects/concrete_effective_lengths_pb2.pyi +496 -0
- dlubal/api/rstab/concrete_foundations/__init__.py +1 -0
- dlubal/api/rstab/concrete_foundations/single_foundation_pb2.py +75 -0
- dlubal/api/rstab/concrete_foundations/single_foundation_pb2.pyi +310 -0
- dlubal/api/rstab/design_addons_pb2.py +36 -0
- dlubal/api/rstab/design_addons_pb2.pyi +22 -0
- dlubal/api/rstab/digital_twins/__init__.py +1 -0
- dlubal/api/rstab/digital_twins/digital_twins/__init__.py +3 -0
- dlubal/api/rstab/digital_twins/digital_twins/sensor_pb2.py +47 -0
- dlubal/api/rstab/digital_twins/digital_twins/sensor_pb2.pyi +126 -0
- dlubal/api/rstab/digital_twins/digital_twins/sensor_set_pb2.py +44 -0
- dlubal/api/rstab/digital_twins/digital_twins/sensor_set_pb2.pyi +71 -0
- dlubal/api/rstab/digital_twins/digital_twins/sensor_value_definition_pb2.py +44 -0
- dlubal/api/rstab/digital_twins/digital_twins/sensor_value_definition_pb2.pyi +98 -0
- dlubal/api/rstab/dynamic_analysis_pb2.py +36 -0
- dlubal/api/rstab/dynamic_analysis_pb2.pyi +23 -0
- dlubal/api/rstab/dynamic_loads/__init__.py +3 -0
- dlubal/api/rstab/dynamic_loads/accelerogram_pb2.py +42 -0
- dlubal/api/rstab/dynamic_loads/accelerogram_pb2.pyi +67 -0
- dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.py +44 -0
- dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.pyi +91 -0
- dlubal/api/rstab/dynamic_loads/time_diagram_pb2.py +46 -0
- dlubal/api/rstab/dynamic_loads/time_diagram_pb2.pyi +83 -0
- dlubal/api/rstab/foundation_design_objects/__init__.py +2 -0
- dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
- dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
- dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
- dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
- dlubal/api/rstab/global_parameters/__init__.py +1 -0
- dlubal/api/rstab/global_parameters/global_parameter_pb2.py +40 -0
- dlubal/api/rstab/global_parameters/global_parameter_pb2.pyi +278 -0
- dlubal/api/rstab/guide_objects/__init__.py +15 -0
- dlubal/api/rstab/guide_objects/building_grid_pb2.py +53 -0
- dlubal/api/rstab/guide_objects/building_grid_pb2.pyi +207 -0
- dlubal/api/rstab/guide_objects/clipping_box_pb2.py +37 -0
- dlubal/api/rstab/guide_objects/clipping_box_pb2.pyi +40 -0
- dlubal/api/rstab/guide_objects/clipping_plane_pb2.py +45 -0
- dlubal/api/rstab/guide_objects/clipping_plane_pb2.pyi +121 -0
- dlubal/api/rstab/guide_objects/coordinate_system_pb2.py +41 -0
- dlubal/api/rstab/guide_objects/coordinate_system_pb2.pyi +91 -0
- dlubal/api/rstab/guide_objects/dimension_pb2.py +69 -0
- dlubal/api/rstab/guide_objects/dimension_pb2.pyi +282 -0
- dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.py +41 -0
- dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.pyi +121 -0
- dlubal/api/rstab/guide_objects/dxf_model_object_pb2.py +36 -0
- dlubal/api/rstab/guide_objects/dxf_model_object_pb2.pyi +15 -0
- dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.py +38 -0
- dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.pyi +35 -0
- dlubal/api/rstab/guide_objects/guideline_pb2.py +42 -0
- dlubal/api/rstab/guide_objects/guideline_pb2.pyi +90 -0
- dlubal/api/rstab/guide_objects/layer_group_pb2.py +36 -0
- dlubal/api/rstab/guide_objects/layer_group_pb2.pyi +22 -0
- dlubal/api/rstab/guide_objects/layer_pb2.py +38 -0
- dlubal/api/rstab/guide_objects/layer_pb2.pyi +44 -0
- dlubal/api/rstab/guide_objects/note_pb2.py +43 -0
- dlubal/api/rstab/guide_objects/note_pb2.pyi +121 -0
- dlubal/api/rstab/guide_objects/object_snap_pb2.py +38 -0
- dlubal/api/rstab/guide_objects/object_snap_pb2.pyi +86 -0
- dlubal/api/rstab/guide_objects/texture_pb2.py +36 -0
- dlubal/api/rstab/guide_objects/texture_pb2.pyi +41 -0
- dlubal/api/rstab/guide_objects/visual_object_pb2.py +43 -0
- dlubal/api/rstab/guide_objects/visual_object_pb2.pyi +135 -0
- dlubal/api/rstab/ifc_objects/__init__.py +2 -0
- dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.py +46 -0
- dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
- dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.py +38 -0
- dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.pyi +32 -0
- dlubal/api/rstab/imperfections/__init__.py +3 -0
- dlubal/api/rstab/imperfections/imperfection_case_pb2.py +60 -0
- dlubal/api/rstab/imperfections/imperfection_case_pb2.pyi +215 -0
- dlubal/api/rstab/imperfections/member_imperfection_pb2.py +50 -0
- dlubal/api/rstab/imperfections/member_imperfection_pb2.pyi +205 -0
- dlubal/api/rstab/imperfections/member_set_imperfection_pb2.py +50 -0
- dlubal/api/rstab/imperfections/member_set_imperfection_pb2.pyi +203 -0
- dlubal/api/rstab/load_wizards/__init__.py +7 -0
- dlubal/api/rstab/load_wizards/import_support_reactions_pb2.py +46 -0
- dlubal/api/rstab/load_wizards/import_support_reactions_pb2.pyi +89 -0
- dlubal/api/rstab/load_wizards/load_model_pb2.py +50 -0
- dlubal/api/rstab/load_wizards/load_model_pb2.pyi +113 -0
- dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.py +46 -0
- dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
- dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
- dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
- dlubal/api/rstab/load_wizards/moving_load_pb2.py +52 -0
- dlubal/api/rstab/load_wizards/moving_load_pb2.pyi +715 -0
- dlubal/api/rstab/load_wizards/wind_profile_pb2.py +48 -0
- dlubal/api/rstab/load_wizards/wind_profile_pb2.pyi +777 -0
- dlubal/api/rstab/load_wizards/wind_simulation_pb2.py +55 -0
- dlubal/api/rstab/load_wizards/wind_simulation_pb2.pyi +148 -0
- dlubal/api/rstab/loading/__init__.py +16 -0
- dlubal/api/rstab/loading/action_combination_pb2.py +48 -0
- dlubal/api/rstab/loading/action_combination_pb2.pyi +153 -0
- dlubal/api/rstab/loading/action_pb2.py +54 -0
- dlubal/api/rstab/loading/action_pb2.pyi +719 -0
- dlubal/api/rstab/loading/combination_wizard_pb2.py +49 -0
- dlubal/api/rstab/loading/combination_wizard_pb2.pyi +116 -0
- dlubal/api/rstab/loading/design_situation_pb2.py +47 -0
- dlubal/api/rstab/loading/design_situation_pb2.pyi +1222 -0
- dlubal/api/rstab/loading/load_case_pb2.py +102 -0
- dlubal/api/rstab/loading/load_case_pb2.pyi +1365 -0
- dlubal/api/rstab/loading/load_combination_pb2.py +65 -0
- dlubal/api/rstab/loading/load_combination_pb2.pyi +384 -0
- dlubal/api/rstab/loading/modal_analysis_settings_pb2.py +52 -0
- dlubal/api/rstab/loading/modal_analysis_settings_pb2.pyi +147 -0
- dlubal/api/rstab/loading/optimization_settings_pb2.py +46 -0
- dlubal/api/rstab/loading/optimization_settings_pb2.pyi +111 -0
- dlubal/api/rstab/loading/pushover_analysis_settings_pb2.py +38 -0
- dlubal/api/rstab/loading/pushover_analysis_settings_pb2.pyi +50 -0
- dlubal/api/rstab/loading/relationship_between_load_cases_pb2.py +44 -0
- dlubal/api/rstab/loading/relationship_between_load_cases_pb2.pyi +66 -0
- dlubal/api/rstab/loading/result_combination_pb2.py +59 -0
- dlubal/api/rstab/loading/result_combination_pb2.pyi +300 -0
- dlubal/api/rstab/loading/spectral_analysis_settings_pb2.py +46 -0
- dlubal/api/rstab/loading/spectral_analysis_settings_pb2.pyi +80 -0
- dlubal/api/rstab/loading/stability_analysis_settings_pb2.py +44 -0
- dlubal/api/rstab/loading/stability_analysis_settings_pb2.pyi +118 -0
- dlubal/api/rstab/loading/static_analysis_settings_pb2.py +42 -0
- dlubal/api/rstab/loading/static_analysis_settings_pb2.pyi +110 -0
- dlubal/api/rstab/loading/time_history_analysis_settings_pb2.py +54 -0
- dlubal/api/rstab/loading/time_history_analysis_settings_pb2.pyi +163 -0
- dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.py +52 -0
- dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.pyi +176 -0
- dlubal/api/rstab/loads/__init__.py +5 -0
- dlubal/api/rstab/loads/additional_foundation_load_pb2.py +41 -0
- dlubal/api/rstab/loads/additional_foundation_load_pb2.pyi +80 -0
- dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.py +37 -0
- dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.pyi +43 -0
- dlubal/api/rstab/loads/member_load_pb2.py +79 -0
- dlubal/api/rstab/loads/member_load_pb2.pyi +492 -0
- dlubal/api/rstab/loads/member_set_load_pb2.py +79 -0
- dlubal/api/rstab/loads/member_set_load_pb2.pyi +490 -0
- dlubal/api/rstab/loads/nodal_load_pb2.py +49 -0
- dlubal/api/rstab/loads/nodal_load_pb2.pyi +224 -0
- dlubal/api/rstab/manipulation/__init__.py +1 -0
- dlubal/api/rstab/manipulation/manipulation_pb2.py +38 -0
- dlubal/api/rstab/manipulation/manipulation_pb2.pyi +25 -0
- dlubal/api/rstab/object_id_pb2.py +39 -0
- dlubal/api/rstab/object_id_pb2.pyi +25 -0
- dlubal/api/rstab/object_type_pb2.py +36 -0
- dlubal/api/rstab/object_type_pb2.pyi +256 -0
- dlubal/api/rstab/reinforcement/__init__.py +1 -0
- dlubal/api/rstab/reinforcement/concrete_durability_pb2.py +68 -0
- dlubal/api/rstab/reinforcement/concrete_durability_pb2.pyi +251 -0
- dlubal/api/rstab/results/__init__.py +4 -0
- dlubal/api/rstab/results/result_table_pb2.py +36 -0
- dlubal/api/rstab/results/result_table_pb2.pyi +584 -0
- dlubal/api/rstab/results/results_query_pb2.py +41 -0
- dlubal/api/rstab/results/results_query_pb2.pyi +31 -0
- dlubal/api/rstab/results/results_type_pb2.py +36 -0
- dlubal/api/rstab/results/results_type_pb2.pyi +454 -0
- dlubal/api/rstab/results/settings/__init__.py +1 -0
- dlubal/api/rstab/results/settings/result_settings_pb2.py +38 -0
- dlubal/api/rstab/results/settings/result_settings_pb2.pyi +23 -0
- dlubal/api/rstab/rsection_stresses/__init__.py +1 -0
- dlubal/api/rstab/rsection_stresses/member_configuration_pb2.py +41 -0
- dlubal/api/rstab/rsection_stresses/member_configuration_pb2.pyi +53 -0
- dlubal/api/rstab/steel_design/__init__.py +4 -0
- dlubal/api/rstab/steel_design/steel_boundary_conditions_pb2.py +51 -0
- dlubal/api/rstab/steel_design/steel_boundary_conditions_pb2.pyi +188 -0
- dlubal/api/rstab/steel_design/steel_effective_lengths_pb2.py +117 -0
- dlubal/api/rstab/steel_design/steel_effective_lengths_pb2.pyi +524 -0
- dlubal/api/rstab/steel_design/steel_member_local_cross_section_reduction_pb2.py +47 -0
- dlubal/api/rstab/steel_design/steel_member_local_cross_section_reduction_pb2.pyi +166 -0
- dlubal/api/rstab/steel_design/steel_member_transverse_weld_pb2.py +48 -0
- dlubal/api/rstab/steel_design/steel_member_transverse_weld_pb2.pyi +101 -0
- dlubal/api/rstab/steel_design_objects/__init__.py +4 -0
- dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.py +57 -0
- dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.pyi +143 -0
- dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.py +53 -0
- dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +121 -0
- dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.py +141 -0
- dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.pyi +613 -0
- dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.py +141 -0
- dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.pyi +613 -0
- dlubal/api/rstab/structure_advanced/__init__.py +5 -0
- dlubal/api/rstab/structure_advanced/block_pb2.py +55 -0
- dlubal/api/rstab/structure_advanced/block_pb2.pyi +192 -0
- dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.py +44 -0
- dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.pyi +71 -0
- dlubal/api/rstab/structure_advanced/nodal_release_pb2.py +42 -0
- dlubal/api/rstab/structure_advanced/nodal_release_pb2.pyi +65 -0
- dlubal/api/rstab/structure_advanced/rule_based_link_generator_pb2.py +49 -0
- dlubal/api/rstab/structure_advanced/rule_based_link_generator_pb2.pyi +108 -0
- dlubal/api/rstab/structure_advanced/structure_modification_pb2.py +70 -0
- dlubal/api/rstab/structure_advanced/structure_modification_pb2.pyi +275 -0
- dlubal/api/rstab/structure_core/__init__.py +7 -0
- dlubal/api/rstab/structure_core/cross_section_pb2.py +76 -0
- dlubal/api/rstab/structure_core/cross_section_pb2.pyi +2141 -0
- dlubal/api/rstab/structure_core/material_pb2.py +129 -0
- dlubal/api/rstab/structure_core/material_pb2.pyi +1132 -0
- dlubal/api/rstab/structure_core/member_pb2.py +228 -0
- dlubal/api/rstab/structure_core/member_pb2.pyi +2605 -0
- dlubal/api/rstab/structure_core/member_representative_pb2.py +324 -0
- dlubal/api/rstab/structure_core/member_representative_pb2.pyi +4221 -0
- dlubal/api/rstab/structure_core/member_set_pb2.py +168 -0
- dlubal/api/rstab/structure_core/member_set_pb2.pyi +1955 -0
- dlubal/api/rstab/structure_core/member_set_representative_pb2.py +456 -0
- dlubal/api/rstab/structure_core/member_set_representative_pb2.pyi +6215 -0
- dlubal/api/rstab/structure_core/node_pb2.py +49 -0
- dlubal/api/rstab/structure_core/node_pb2.pyi +172 -0
- dlubal/api/rstab/timber_design/__init__.py +6 -0
- dlubal/api/rstab/timber_design/timber_effective_lengths_pb2.py +105 -0
- dlubal/api/rstab/timber_design/timber_effective_lengths_pb2.pyi +478 -0
- dlubal/api/rstab/timber_design/timber_member_local_cross_section_reduction_pb2.py +48 -0
- dlubal/api/rstab/timber_design/timber_member_local_cross_section_reduction_pb2.pyi +121 -0
- dlubal/api/rstab/timber_design/timber_moisture_class_pb2.py +38 -0
- dlubal/api/rstab/timber_design/timber_moisture_class_pb2.pyi +41 -0
- dlubal/api/rstab/timber_design/timber_screw_type_pb2.py +38 -0
- dlubal/api/rstab/timber_design/timber_screw_type_pb2.pyi +58 -0
- dlubal/api/rstab/timber_design/timber_service_class_pb2.py +38 -0
- dlubal/api/rstab/timber_design/timber_service_class_pb2.pyi +41 -0
- dlubal/api/rstab/timber_design/timber_service_conditions_pb2.py +42 -0
- dlubal/api/rstab/timber_design/timber_service_conditions_pb2.pyi +107 -0
- dlubal/api/rstab/timber_design_objects/__init__.py +3 -0
- dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.py +125 -0
- dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.pyi +517 -0
- dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.py +125 -0
- dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.pyi +517 -0
- dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.py +165 -0
- dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.pyi +745 -0
- dlubal/api/rstab/types_for_craneway_design/__init__.py +2 -0
- dlubal/api/rstab/types_for_craneway_design/crane_pb2.py +36 -0
- dlubal/api/rstab/types_for_craneway_design/crane_pb2.pyi +24 -0
- dlubal/api/rstab/types_for_craneway_design/craneway_pb2.py +52 -0
- dlubal/api/rstab/types_for_craneway_design/craneway_pb2.pyi +117 -0
- dlubal/api/rstab/types_for_members/__init__.py +13 -0
- dlubal/api/rstab/types_for_members/design_support_pb2.py +62 -0
- dlubal/api/rstab/types_for_members/design_support_pb2.pyi +249 -0
- dlubal/api/rstab/types_for_members/diagonal_brace_pb2.py +46 -0
- dlubal/api/rstab/types_for_members/diagonal_brace_pb2.pyi +99 -0
- dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.py +36 -0
- dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
- dlubal/api/rstab/types_for_members/member_eccentricity_pb2.py +49 -0
- dlubal/api/rstab/types_for_members/member_eccentricity_pb2.pyi +107 -0
- dlubal/api/rstab/types_for_members/member_hinge_pb2.py +249 -0
- dlubal/api/rstab/types_for_members/member_hinge_pb2.pyi +1782 -0
- dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.py +38 -0
- dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.pyi +61 -0
- dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.py +40 -0
- dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.pyi +52 -0
- dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.py +50 -0
- dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.pyi +127 -0
- dlubal/api/rstab/types_for_members/member_shear_panel_pb2.py +40 -0
- dlubal/api/rstab/types_for_members/member_shear_panel_pb2.pyi +80 -0
- dlubal/api/rstab/types_for_members/member_spring_pb2.py +52 -0
- dlubal/api/rstab/types_for_members/member_spring_pb2.pyi +149 -0
- dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.py +48 -0
- dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.pyi +139 -0
- dlubal/api/rstab/types_for_members/member_support_pb2.py +49 -0
- dlubal/api/rstab/types_for_members/member_support_pb2.pyi +156 -0
- dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.py +48 -0
- dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.pyi +143 -0
- dlubal/api/rstab/types_for_nodes/__init__.py +2 -0
- dlubal/api/rstab/types_for_nodes/nodal_link_pb2.py +43 -0
- dlubal/api/rstab/types_for_nodes/nodal_link_pb2.pyi +78 -0
- dlubal/api/rstab/types_for_nodes/nodal_support_pb2.py +211 -0
- dlubal/api/rstab/types_for_nodes/nodal_support_pb2.pyi +1444 -0
- dlubal/api/rstab/types_for_special_objects/__init__.py +1 -0
- dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.py +198 -0
- dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.pyi +1383 -0
- dlubal/api/rstab/types_for_wind_simulation/__init__.py +2 -0
- dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
- dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +81 -0
- dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.py +42 -0
- dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.pyi +69 -0
- dlubal_api-2.12.11.dist-info/METADATA +76 -0
- dlubal_api-2.12.11.dist-info/RECORD +960 -0
- dlubal_api-2.12.11.dist-info/WHEEL +5 -0
- dlubal_api-2.12.11.dist-info/top_level.txt +3 -0
- examples/rfem/base_data.py +28 -0
- examples/rfem/block.py +29 -0
- examples/rfem/bus_station.py +395 -0
- examples/rfem/cantilever.py +172 -0
- examples/rfem/column.py +185 -0
- examples/rfem/component_design.py +161 -0
- examples/rfem/demo_limits.py +373 -0
- examples/rfem/design_configuration.py +87 -0
- examples/rfem/design_results.py +58 -0
- examples/rfem/design_settings.py +37 -0
- examples/rfem/excel.py +86 -0
- examples/rfem/export_model_to.py +159 -0
- examples/rfem/frame.py +285 -0
- examples/rfem/import_from_ifc.py +60 -0
- examples/rfem/import_from_rsection.py +107 -0
- examples/rfem/import_from_xml.py +29 -0
- examples/rfem/material_user_defined.py +64 -0
- examples/rfem/mesh_settings.py +25 -0
- examples/rfem/modal_analysis.py +243 -0
- examples/rfem/multiple_models.py +93 -0
- examples/rfem/nurbs_topology.py +54 -0
- examples/rfem/results_access.py +38 -0
- examples/rfem/results_axes_system.py +53 -0
- examples/rfem/results_filtering.py +43 -0
- examples/rfem/results_in_location.py +39 -0
- examples/rfem/results_multiple_models.py +45 -0
- examples/rfem/sectioned_roof.py +449 -0
- examples/rfem/select_objects.py +39 -0
- examples/rfem/silo.py +750 -0
- examples/rfem/spectral_analysis.py +21124 -0
- examples/rfem/steel_hall.py +175 -0
- examples/rfem/steel_station.py +890 -0
- examples/rfem/stress_strain_analysis.py +95 -0
- examples/rfem/tank_wind_load.py +180 -0
- examples/rsection/base_data.py +20 -0
- examples/rsection/steel_section.py +114 -0
- examples/rstab/base_data.py +27 -0
- examples/rstab/cantilever.py +166 -0
- examples/rstab/column.py +184 -0
- examples/rstab/dataframe.py +20 -0
- examples/rstab/design_configuration.py +87 -0
- examples/rstab/design_settings.py +37 -0
- examples/rstab/excel.py +86 -0
- examples/rstab/export_model_to.py +154 -0
- examples/rstab/frame.py +285 -0
- examples/rstab/import_from_ifc.py +46 -0
- examples/rstab/import_from_rsection.py +107 -0
- examples/rstab/import_from_xml.py +29 -0
- examples/rstab/modal_analysis.py +238 -0
- examples/rstab/multiple_models.py +91 -0
- examples/rstab/results_access.py +38 -0
- examples/rstab/results_axes_system.py +53 -0
- examples/rstab/results_in_location.py +39 -0
- examples/rstab/results_multiple_models.py +40 -0
- examples/rstab/select_objects.py +39 -0
- examples/rstab/steel_hall.py +165 -0
- google/protobuf/any_pb2.py +37 -0
- google/protobuf/any_pb2.pyi +14 -0
- google/protobuf/descriptor_pb2.py +3363 -0
- google/protobuf/descriptor_pb2.pyi +723 -0
- google/protobuf/empty_pb2.py +37 -0
- google/protobuf/empty_pb2.pyi +9 -0
- google/protobuf/wrappers_pb2.py +53 -0
- google/protobuf/wrappers_pb2.pyi +59 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
from dlubal.api import rfem
|
|
2
|
+
from dlubal.api import common
|
|
3
|
+
|
|
4
|
+
# Connect to the RFEM application
|
|
5
|
+
with rfem.Application() as rfem_app:
|
|
6
|
+
|
|
7
|
+
# --- Create a new material ---
|
|
8
|
+
|
|
9
|
+
rfem_app.create_model(name='user_defined_material')
|
|
10
|
+
|
|
11
|
+
base_data = rfem_app.get_base_data()
|
|
12
|
+
base_data.addons.concrete_design_active = True
|
|
13
|
+
rfem_app.set_base_data(base_data=base_data)
|
|
14
|
+
|
|
15
|
+
rfem_app.create_object(
|
|
16
|
+
rfem.structure_core.Material(no=1, name='C30/37')
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
# Retrieve a specific material (ID = 1) from the active model
|
|
20
|
+
material:rfem.structure_core.Material = rfem_app.get_object(
|
|
21
|
+
rfem.structure_core.Material(no=1)
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
# --- Update material properties ---
|
|
25
|
+
|
|
26
|
+
# Print material values for all temperatures (=rows)
|
|
27
|
+
for material_values in material.material_values.rows:
|
|
28
|
+
print(material_values)
|
|
29
|
+
|
|
30
|
+
# Define paths for material properties to be updated
|
|
31
|
+
fck_path = ['strengths', 'f_ck']
|
|
32
|
+
ecm_path = ['moduli', 'e_cm']
|
|
33
|
+
|
|
34
|
+
# Create an empty MaterialValuesTreeTable and set the desired material property values
|
|
35
|
+
material_values_tree = rfem.structure_core.Material.MaterialValuesRow.MaterialValuesTreeTable()
|
|
36
|
+
common.set_tree_value(material_values_tree, fck_path, 28000000.0)
|
|
37
|
+
common.set_tree_value(material_values_tree, ecm_path, 25000000000.0)
|
|
38
|
+
|
|
39
|
+
# Copy the updated material values to the first temperature row of the material's values table.
|
|
40
|
+
material.material_values.rows[0].material_values_tree.CopyFrom(material_values_tree)
|
|
41
|
+
|
|
42
|
+
# --- Update standard parameters ---
|
|
43
|
+
|
|
44
|
+
# Print material values for all temperature rows
|
|
45
|
+
standard_params = material.standard_parameters
|
|
46
|
+
print(standard_params)
|
|
47
|
+
|
|
48
|
+
# Define paths for material properties to be updated
|
|
49
|
+
gamma_c_path = ['2_basis_of_design', '2_4_2_4_partial_factors_for_materials', 'gamma_c']
|
|
50
|
+
|
|
51
|
+
# Create an empty MaterialValuesTreeTable and set the desired material property values
|
|
52
|
+
standard_params_tree = rfem.structure_core.Material.StandardParametersTreeTable()
|
|
53
|
+
common.set_tree_value(standard_params_tree, gamma_c_path, 1.35)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# --- Apply modified Material back to the model ---
|
|
57
|
+
rfem_app.update_object(
|
|
58
|
+
obj=rfem.structure_core.Material(
|
|
59
|
+
no=1,
|
|
60
|
+
user_defined=True,
|
|
61
|
+
material_values=material.material_values, # material values
|
|
62
|
+
standard_parameters=standard_params_tree # standard parameters
|
|
63
|
+
)
|
|
64
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from dlubal.api import rfem
|
|
2
|
+
|
|
3
|
+
with rfem.Application() as rfem_app:
|
|
4
|
+
|
|
5
|
+
mesh_settings: rfem.mesh.MeshSettings = rfem_app.get_mesh_settings()
|
|
6
|
+
print(mesh_settings)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
mesh_stats_current = rfem_app.get_mesh_statistics()
|
|
10
|
+
print(mesh_stats_current)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
mesh_settings.general_target_length_of_fe = 0.005
|
|
14
|
+
rfem_app.set_mesh_settings(
|
|
15
|
+
mesh_settings=mesh_settings
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
rfem_app.delete_mesh()
|
|
19
|
+
|
|
20
|
+
rfem_app.generate_mesh(
|
|
21
|
+
skip_warnings=True
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
mesh_stats_new = rfem_app.get_mesh_statistics()
|
|
25
|
+
print(mesh_stats_new)
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
from dlubal.api import rfem, common
|
|
2
|
+
from math import inf
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def initialize_model():
|
|
6
|
+
|
|
7
|
+
# Create new empty model
|
|
8
|
+
rfem_app.close_all_models(save_changes=False)
|
|
9
|
+
rfem_app.create_model(name="Modal Analysis")
|
|
10
|
+
|
|
11
|
+
# Set global model settings:
|
|
12
|
+
base_data: rfem.BaseData = rfem_app.get_base_data()
|
|
13
|
+
|
|
14
|
+
# Activate add-ons
|
|
15
|
+
base_data.addons.modal_analysis_active = True
|
|
16
|
+
# Set standard
|
|
17
|
+
base_data.standards.dynamic_analysis_standard = rfem.BaseData.Standards.DYNAMIC_ANALYSIS_NATIONAL_ANNEX_AND_EDITION_EN_1998_1_DIN_2023_11_STANDARD
|
|
18
|
+
# Adjust general settings
|
|
19
|
+
base_data.general_settings.gravitational_acceleration = 9.81
|
|
20
|
+
|
|
21
|
+
# Activate combination wizard
|
|
22
|
+
base_data.combinations_settings.combination_wizard_active = True
|
|
23
|
+
|
|
24
|
+
rfem_app.set_base_data(base_data=base_data)
|
|
25
|
+
rfem_app.delete_all_objects()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def create_structure():
|
|
29
|
+
|
|
30
|
+
structure = [
|
|
31
|
+
|
|
32
|
+
# Material
|
|
33
|
+
rfem.structure_core.Material(
|
|
34
|
+
no=1,
|
|
35
|
+
name="S235 | EN 1993-1-1:2005-05",
|
|
36
|
+
),
|
|
37
|
+
|
|
38
|
+
# CrossSection
|
|
39
|
+
rfem.structure_core.CrossSection(
|
|
40
|
+
no=1,
|
|
41
|
+
name="IPE 550 | DIN 1025-5:1994-03 | Ferona",
|
|
42
|
+
material=1,
|
|
43
|
+
),
|
|
44
|
+
|
|
45
|
+
# Nodes
|
|
46
|
+
rfem.structure_core.Node(
|
|
47
|
+
no=1,
|
|
48
|
+
coordinate_2=-2,
|
|
49
|
+
),
|
|
50
|
+
rfem.structure_core.Node(
|
|
51
|
+
no=2,
|
|
52
|
+
coordinate_2=-2,
|
|
53
|
+
coordinate_3=-4,
|
|
54
|
+
),
|
|
55
|
+
|
|
56
|
+
# Line
|
|
57
|
+
rfem.structure_core.Line(
|
|
58
|
+
no=1,
|
|
59
|
+
definition_nodes=[1, 2],
|
|
60
|
+
),
|
|
61
|
+
|
|
62
|
+
# Member
|
|
63
|
+
rfem.structure_core.Member(
|
|
64
|
+
no=1,
|
|
65
|
+
line=1,
|
|
66
|
+
cross_section_start=1,
|
|
67
|
+
),
|
|
68
|
+
|
|
69
|
+
# Support
|
|
70
|
+
rfem.types_for_nodes.NodalSupport(
|
|
71
|
+
no=1,
|
|
72
|
+
user_defined_name_enabled=True,
|
|
73
|
+
name="Fixed",
|
|
74
|
+
nodes=[1],
|
|
75
|
+
spring=common.Vector3d(x=inf, y=inf, z=inf),
|
|
76
|
+
rotational_restraint=common.Vector3d(x=inf, y=inf, z=inf),
|
|
77
|
+
)
|
|
78
|
+
]
|
|
79
|
+
|
|
80
|
+
rfem_app.create_object_list(structure)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def create_loading():
|
|
84
|
+
|
|
85
|
+
loading = [
|
|
86
|
+
# Load Case | LC1
|
|
87
|
+
rfem.loading.LoadCase(
|
|
88
|
+
no=1,
|
|
89
|
+
name="Static | Self-weight",
|
|
90
|
+
static_analysis_settings=1,
|
|
91
|
+
),
|
|
92
|
+
# Nodal Loads | LC1
|
|
93
|
+
rfem.loads.NodalLoad( # Force
|
|
94
|
+
no=1,
|
|
95
|
+
nodes=[2],
|
|
96
|
+
force_magnitude=1000,
|
|
97
|
+
load_direction=rfem.loads.NodalLoad.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE_LENGTH,
|
|
98
|
+
load_case=1,
|
|
99
|
+
),
|
|
100
|
+
rfem.loads.NodalLoad( # Mass
|
|
101
|
+
no=2,
|
|
102
|
+
load_type=rfem.loads.NodalLoad.LOAD_TYPE_MASS,
|
|
103
|
+
nodes=[2],
|
|
104
|
+
individual_mass_components=True,
|
|
105
|
+
mass=common.Vector3d(x=100, y=100, z=100),
|
|
106
|
+
mass_moment_of_inertia=common.Vector3d(x=100, y=100, z=100),
|
|
107
|
+
load_case=1,
|
|
108
|
+
),
|
|
109
|
+
|
|
110
|
+
# Static Analysis Settings
|
|
111
|
+
rfem.loading.StaticAnalysisSettings(
|
|
112
|
+
no=1,
|
|
113
|
+
analysis_type=rfem.loading.StaticAnalysisSettings.ANALYSIS_TYPE_SECOND_ORDER_P_DELTA,
|
|
114
|
+
mass_conversion_enabled=True,
|
|
115
|
+
),
|
|
116
|
+
|
|
117
|
+
# --- Combinatoric for Seismic Mass ---
|
|
118
|
+
|
|
119
|
+
# Combination Wizard
|
|
120
|
+
rfem.loading.CombinationWizard(
|
|
121
|
+
no=1,
|
|
122
|
+
static_analysis_settings=1,
|
|
123
|
+
consider_imperfection_case=True,
|
|
124
|
+
),
|
|
125
|
+
|
|
126
|
+
# Design Situations
|
|
127
|
+
rfem.loading.DesignSituation(
|
|
128
|
+
no=1,
|
|
129
|
+
name="Seismic/Mass Combination - psi-E,i",
|
|
130
|
+
design_situation_type=rfem.loading.DesignSituation.DESIGN_SITUATION_TYPE_SEISMIC_MASS,
|
|
131
|
+
combination_wizard=1,
|
|
132
|
+
),
|
|
133
|
+
]
|
|
134
|
+
|
|
135
|
+
rfem_app.create_object_list(loading)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def define_modal_analysis_cases():
|
|
139
|
+
|
|
140
|
+
modal_analysis = [
|
|
141
|
+
|
|
142
|
+
# Modal Analysis Settings
|
|
143
|
+
rfem.loading.ModalAnalysisSettings(
|
|
144
|
+
no=1,
|
|
145
|
+
name='User-defined | Mode=2',
|
|
146
|
+
user_defined_name_enabled=True,
|
|
147
|
+
acting_masses_about_axis_x_enabled=False,
|
|
148
|
+
acting_masses_about_axis_y_enabled=False,
|
|
149
|
+
acting_masses_about_axis_z_enabled=False,
|
|
150
|
+
acting_masses_in_direction_z_enabled=False,
|
|
151
|
+
activate_minimum_initial_prestress=True,
|
|
152
|
+
solution_method=rfem.loading.ModalAnalysisSettings.SOLUTION_METHOD_ROOT_OF_CHARACTERISTIC_POLYNOMIAL,
|
|
153
|
+
number_of_modes=2,
|
|
154
|
+
),
|
|
155
|
+
rfem.loading.ModalAnalysisSettings(
|
|
156
|
+
no=2,
|
|
157
|
+
name='Automated | Mass=95%',
|
|
158
|
+
user_defined_name_enabled=True,
|
|
159
|
+
acting_masses_about_axis_x_enabled=False,
|
|
160
|
+
acting_masses_about_axis_y_enabled=False,
|
|
161
|
+
acting_masses_about_axis_z_enabled=False,
|
|
162
|
+
acting_masses_in_direction_z_enabled=False,
|
|
163
|
+
activate_minimum_initial_prestress=True,
|
|
164
|
+
solution_method=rfem.loading.ModalAnalysisSettings.SOLUTION_METHOD_ROOT_OF_CHARACTERISTIC_POLYNOMIAL,
|
|
165
|
+
number_of_modes_method=rfem.loading.ModalAnalysisSettings.NUMBER_OF_MODES_METHOD_EFFECTIVE_MASS_FACTORS,
|
|
166
|
+
effective_modal_mass_factor=0.95
|
|
167
|
+
),
|
|
168
|
+
|
|
169
|
+
# Modal Load Cases
|
|
170
|
+
rfem.loading.LoadCase(
|
|
171
|
+
no=2,
|
|
172
|
+
analysis_type=rfem.loading.LoadCase.ANALYSIS_TYPE_MODAL_ANALYSIS,
|
|
173
|
+
name="Modal | Self-mass",
|
|
174
|
+
modal_analysis_settings=1,
|
|
175
|
+
),
|
|
176
|
+
rfem.loading.LoadCase(
|
|
177
|
+
no=3,
|
|
178
|
+
analysis_type=rfem.loading.LoadCase.ANALYSIS_TYPE_MODAL_ANALYSIS,
|
|
179
|
+
name="Modal | Mass=95%",
|
|
180
|
+
modal_analysis_settings=2,
|
|
181
|
+
),
|
|
182
|
+
]
|
|
183
|
+
|
|
184
|
+
rfem_app.create_object_list(modal_analysis)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
def import_masses_to_cases():
|
|
188
|
+
|
|
189
|
+
rfem_app.generate_combinations()
|
|
190
|
+
|
|
191
|
+
object_list = rfem_app.get_object_list(
|
|
192
|
+
objs=[
|
|
193
|
+
rfem.loading.LoadCase()
|
|
194
|
+
]
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
for obj in object_list:
|
|
198
|
+
|
|
199
|
+
lc: rfem.loading.LoadCase = obj
|
|
200
|
+
|
|
201
|
+
if lc.analysis_type is rfem.loading.LoadCase.ANALYSIS_TYPE_MODAL_ANALYSIS:
|
|
202
|
+
|
|
203
|
+
lc.import_masses_from.no = 1
|
|
204
|
+
lc.import_masses_from.object_type = rfem.ObjectType.OBJECT_TYPE_LOAD_COMBINATION
|
|
205
|
+
|
|
206
|
+
rfem_app.update_object_list(object_list)
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def get_effective_modal_masses():
|
|
210
|
+
|
|
211
|
+
rfem_app.calculate_all(skip_warnings=True)
|
|
212
|
+
|
|
213
|
+
results = rfem_app.get_results(
|
|
214
|
+
results_type=rfem.results.ResultsType.MODAL_ANALYSIS_EFFECTIVE_MODAL_MASSES
|
|
215
|
+
)
|
|
216
|
+
print(f"\nEffective Modal Masses:\n{results.data}")
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
with rfem.Application() as rfem_app:
|
|
223
|
+
|
|
224
|
+
# Modal Analysis Procedure
|
|
225
|
+
|
|
226
|
+
initialize_model() # Activate add-on, ...
|
|
227
|
+
|
|
228
|
+
create_structure() # Column IPE 550 (fixed)
|
|
229
|
+
create_loading() # Force + Mass
|
|
230
|
+
|
|
231
|
+
define_modal_analysis_cases() # Self-mass (Mode=2) | Mass=95% (Mode=auto)
|
|
232
|
+
import_masses_to_cases() # Import masses from generated combination
|
|
233
|
+
|
|
234
|
+
get_effective_modal_masses() # Calculation + reading results
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
from dlubal.api import rfem, common
|
|
2
|
+
|
|
3
|
+
# -------------------------------------------------------
|
|
4
|
+
# This example demonstrates how to interact with multiple RFEM models
|
|
5
|
+
# using the RFEM API. The script includes creating, updating,
|
|
6
|
+
# and querying model object/s in two separate models in one script.
|
|
7
|
+
# -------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
# Function to create, update, and query model object/s
|
|
10
|
+
def create_update_and_query_objects(rfem_app, model_id=None):
|
|
11
|
+
|
|
12
|
+
# Create a list of objects
|
|
13
|
+
rfem_app.create_object_list(
|
|
14
|
+
objs=[
|
|
15
|
+
rfem.structure_core.Node(no=1, coordinate_1=0.0),
|
|
16
|
+
rfem.structure_core.Node(no=2, coordinate_1=2.0),
|
|
17
|
+
rfem.structure_core.Node(no=3, coordinate_1=3.0),
|
|
18
|
+
rfem.structure_core.Line(no=1, definition_nodes=[1, 2, 3]),
|
|
19
|
+
rfem.structure_core.Material(no=1, name='S235'),
|
|
20
|
+
rfem.structure_core.CrossSection(no=1, name='IPE 200', material=1)
|
|
21
|
+
],
|
|
22
|
+
model_id=model_id
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
# Create a single object
|
|
26
|
+
rfem_app.create_object(
|
|
27
|
+
obj=rfem.structure_core.Member(no=1, line=1, cross_section_start=1),
|
|
28
|
+
model_id=model_id
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
# Update a list of objects
|
|
32
|
+
rfem_app.update_object_list(
|
|
33
|
+
objs=[
|
|
34
|
+
rfem.structure_core.Node(no=1, coordinate_2=1.0),
|
|
35
|
+
rfem.structure_core.Node(no=2, coordinate_2=1.0),
|
|
36
|
+
rfem.structure_core.Node(no=3, coordinate_2=1.0),
|
|
37
|
+
rfem.structure_core.Line(no=1, definition_nodes=[1, 3]),
|
|
38
|
+
],
|
|
39
|
+
model_id=model_id
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
# Update a single object
|
|
43
|
+
rfem_app.update_object(
|
|
44
|
+
obj=rfem.structure_core.Node(
|
|
45
|
+
no=2,
|
|
46
|
+
type=rfem.structure_core.Node.TYPE_ON_MEMBER,
|
|
47
|
+
on_member_reference_member=1,
|
|
48
|
+
distance_from_start_absolute=2.0
|
|
49
|
+
),
|
|
50
|
+
model_id=model_id
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
# Retrieve a list of objects
|
|
54
|
+
node_list = rfem_app.get_object_list(
|
|
55
|
+
objs=[rfem.structure_core.Node()],
|
|
56
|
+
model_id=model_id
|
|
57
|
+
)
|
|
58
|
+
for node in node_list:
|
|
59
|
+
print(f"{node.DESCRIPTOR.name}: {node.no} [X={node.coordinate_1}, Y={node.coordinate_2}] | Type: {node.type}")
|
|
60
|
+
|
|
61
|
+
# Retrieve a single objects
|
|
62
|
+
member = rfem_app.get_object(
|
|
63
|
+
obj=rfem.structure_core.Member(no=1)
|
|
64
|
+
)
|
|
65
|
+
print(f"{member.DESCRIPTOR.name}: {member.no}, Length: {member.length} [m]")
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
# --- MAIN SCRIPT ---
|
|
69
|
+
|
|
70
|
+
# Connect to the RFEM application
|
|
71
|
+
with rfem.Application() as rfem_app:
|
|
72
|
+
|
|
73
|
+
rfem_app.close_all_models(save_changes=False)
|
|
74
|
+
|
|
75
|
+
# Create two separate models and store their model IDs
|
|
76
|
+
model_1: common.ModelId = rfem_app.create_model(name="model_1")
|
|
77
|
+
model_2: common.ModelId = rfem_app.create_model(name="model_2")
|
|
78
|
+
model_list = rfem_app.get_model_list()
|
|
79
|
+
print(f"\nModel list:\n {model_list}")
|
|
80
|
+
|
|
81
|
+
# Make operations on currently active model (default is model_2)
|
|
82
|
+
active_model = rfem_app.get_active_model()
|
|
83
|
+
print(f"\nCurrently active model_2:\n {active_model}")
|
|
84
|
+
create_update_and_query_objects(rfem_app) # Use default active model
|
|
85
|
+
|
|
86
|
+
# Perform operations on model_1 by passing its model ID
|
|
87
|
+
print(f"\nSwitching to model_1 (by ID):\n {model_1}")
|
|
88
|
+
create_update_and_query_objects(rfem_app, model_id=model_1)
|
|
89
|
+
|
|
90
|
+
# Set model_1 as the active model
|
|
91
|
+
rfem_app.set_active_model(model_id=model_1)
|
|
92
|
+
active_model = rfem_app.get_active_model()
|
|
93
|
+
print(f"\nSetting model_1 as active:\n {active_model}")
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import dlubal.api.rfem as rfem
|
|
2
|
+
from dlubal.api.common import Vector3d
|
|
3
|
+
|
|
4
|
+
with rfem.Application() as client:
|
|
5
|
+
|
|
6
|
+
client.close_all_models(save_changes=False)
|
|
7
|
+
client.create_model(name="nurbs_topology")
|
|
8
|
+
client.delete_all_objects()
|
|
9
|
+
|
|
10
|
+
client.create_object_list([
|
|
11
|
+
rfem.structure_core.Node(no=1, global_coordinates=Vector3d(x=3.000, y=-1.000, z=0.000)),
|
|
12
|
+
rfem.structure_core.Node(no=2, global_coordinates=Vector3d(x=4.000, y=-1.000, z=0.000))
|
|
13
|
+
])
|
|
14
|
+
|
|
15
|
+
# Prepare NURBS control points table.
|
|
16
|
+
# The first and last row correspond to the end nodes so we don't need to set any data for them.
|
|
17
|
+
control_points = rfem.structure_core.Line.NurbsControlPointsTable(
|
|
18
|
+
rows=[
|
|
19
|
+
rfem.structure_core.Line.NurbsControlPointsRow(),
|
|
20
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=1.205, y=-2.793, z=0.000), weight=1.100),
|
|
21
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=1.000, y=-4.000, z=0.000), weight=1.200),
|
|
22
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=3.000, y=-4.000, z=0.000), weight=1.300),
|
|
23
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=2.000, y=-6.000, z=0.000), weight=1.400),
|
|
24
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=1.000, y=-8.000, z=0.000), weight=1.500),
|
|
25
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=3.000, y=-8.000, z=0.000), weight=1.600),
|
|
26
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=5.000, y=-5.000, z=0.000), weight=1.700),
|
|
27
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=4.000, y=-3.000, z=0.000), weight=1.800),
|
|
28
|
+
rfem.structure_core.Line.NurbsControlPointsRow(global_coordinates=Vector3d(x=6.000, y=-1.000, z=0.000), weight=1.900),
|
|
29
|
+
rfem.structure_core.Line.NurbsControlPointsRow(),
|
|
30
|
+
]
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
# If we use the 'no' attribute, we are able to set specific rows.
|
|
34
|
+
# If we don't use the 'no' attribute, the entire table will be reset,
|
|
35
|
+
# and table will be truncated or enlarged to the number of rows set (if possible).
|
|
36
|
+
# If the 'no' attribute is set, the table will only be enlarged to fit the largest row number,
|
|
37
|
+
# but never truncated.
|
|
38
|
+
# In this case, we set only row number 5 and other rows are left to be default.
|
|
39
|
+
knot_values = rfem.structure_core.Line.NurbsKnotsTable(
|
|
40
|
+
rows=[
|
|
41
|
+
rfem.structure_core.Line.NurbsKnotsRow(no=5, knot_value=0.15),
|
|
42
|
+
]
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
line = rfem.structure_core.Line(
|
|
46
|
+
no=1,
|
|
47
|
+
type=rfem.structure_core.Line.TYPE_NURBS,
|
|
48
|
+
definition_nodes=[1, 2],
|
|
49
|
+
nurbs_control_points=control_points,
|
|
50
|
+
nurbs_order=3,
|
|
51
|
+
nurbs_knots=knot_values)
|
|
52
|
+
|
|
53
|
+
client.create_object(line)
|
|
54
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from dlubal.api import rfem, common
|
|
2
|
+
|
|
3
|
+
with rfem.Application() as rfem_app:
|
|
4
|
+
|
|
5
|
+
# --- get_results ---
|
|
6
|
+
# Retrieves complete, unprocessed results from the RFEM database.
|
|
7
|
+
# These results are returned wrapped in a DataFrame (.data).
|
|
8
|
+
results:common.Table = rfem_app.get_results(
|
|
9
|
+
results_type=rfem.results.ResultsType.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES
|
|
10
|
+
)
|
|
11
|
+
print(f"\nResults:\n{results.data}")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# --- get_result_table ---
|
|
16
|
+
# Retrieves a pre-processed result table wrapped in a DataFrame (.data),
|
|
17
|
+
# containing only the most relevant values as displayed in the RFEM desktop application.
|
|
18
|
+
result_table:common.Table = rfem_app.get_result_table(
|
|
19
|
+
table = rfem.results.ResultTable.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES_TABLE,
|
|
20
|
+
loading= rfem.ObjectId(
|
|
21
|
+
no=1,
|
|
22
|
+
object_type=rfem.OBJECT_TYPE_LOAD_COMBINATION
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
print(f"\nResult Table:\n{result_table.data}")
|
|
26
|
+
|
|
27
|
+
# --- has_results ---
|
|
28
|
+
# Checks if results exist for a specified loading condition.
|
|
29
|
+
# This is useful to confirm results availability before retrieving them,
|
|
30
|
+
# preventing errors or unnecessary data requests.
|
|
31
|
+
has_results = rfem_app.has_results(
|
|
32
|
+
loading = rfem.ObjectId
|
|
33
|
+
(
|
|
34
|
+
no = 1,
|
|
35
|
+
object_type = rfem.OBJECT_TYPE_LOAD_COMBINATION,
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
print(f"\nResults Available: {has_results.value}")
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from dlubal.api import rfem, common
|
|
2
|
+
|
|
3
|
+
with rfem.Application() as rfem_app:
|
|
4
|
+
|
|
5
|
+
# --- Support Forces ---
|
|
6
|
+
# The direction of support forces can be defined in either the Local (default) or Global
|
|
7
|
+
# Coordinate System (CS). This choice affects how the support reactions are
|
|
8
|
+
# recalculated and aligned with the selected coordinate system for correct results.
|
|
9
|
+
|
|
10
|
+
# Get results
|
|
11
|
+
support_forces: common.Table = rfem_app.get_results(
|
|
12
|
+
results_type=rfem.results.ResultsType.STATIC_ANALYSIS_NODES_SUPPORT_FORCES,
|
|
13
|
+
support_coordinate_system=rfem.results.settings.CoordinateSystem.COORDINATE_SYSTEM_GLOBAL
|
|
14
|
+
)
|
|
15
|
+
print(f"\nSupport Forces:\n{support_forces.data}")
|
|
16
|
+
|
|
17
|
+
# Get result table
|
|
18
|
+
support_forces_table: common.Table = rfem_app.get_result_table(
|
|
19
|
+
table=rfem.results.ResultTable.STATIC_ANALYSIS_NODES_SUPPORT_FORCES_TABLE,
|
|
20
|
+
loading= rfem.ObjectId(
|
|
21
|
+
no=1,
|
|
22
|
+
object_type=rfem.OBJECT_TYPE_LOAD_CASE
|
|
23
|
+
),
|
|
24
|
+
support_coordinate_system=rfem.results.settings.CoordinateSystem.COORDINATE_SYSTEM_GLOBAL
|
|
25
|
+
)
|
|
26
|
+
print(f"\nSupport Forces Table:\n{support_forces_table.data}")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# --- Member Forces ---
|
|
30
|
+
# Member forces can be defined in either the Member Local XYZ (default)
|
|
31
|
+
# or the Principal Axes XUV coordinate system. This choice determines how
|
|
32
|
+
# the forces are calculated and aligned according to the respective axes
|
|
33
|
+
# system of the member's geometry.
|
|
34
|
+
|
|
35
|
+
# Get results
|
|
36
|
+
member_forces: common.Table = rfem_app.get_results(
|
|
37
|
+
results_type=rfem.results.ResultsType.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES,
|
|
38
|
+
member_axes_system=rfem.results.settings.MEMBER_AXES_SYSTEM_PRINCIPAL_AXES_X_U_V,
|
|
39
|
+
)
|
|
40
|
+
print(f"\nMember Forces:\n{member_forces.data}")
|
|
41
|
+
|
|
42
|
+
# Get result table
|
|
43
|
+
member_forces_table: common.Table = rfem_app.get_result_table(
|
|
44
|
+
table=rfem.results.ResultTable.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES_TABLE,
|
|
45
|
+
loading= rfem.ObjectId(
|
|
46
|
+
no=1,
|
|
47
|
+
object_type=rfem.OBJECT_TYPE_LOAD_CASE
|
|
48
|
+
),
|
|
49
|
+
member_axes_system=rfem.results.settings.MEMBER_AXES_SYSTEM_PRINCIPAL_AXES_X_U_V,
|
|
50
|
+
)
|
|
51
|
+
print(f"\nMember Forces Table:\n{member_forces_table.data}")
|
|
52
|
+
|
|
53
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from dlubal.api import rfem
|
|
2
|
+
import pandas, os
|
|
3
|
+
|
|
4
|
+
with rfem.Application() as rfem_app:
|
|
5
|
+
|
|
6
|
+
# --- Pre-processing results by Filters ---
|
|
7
|
+
|
|
8
|
+
# Add optional filters to limit the amount of data retrieved from the database.
|
|
9
|
+
# Currently, filters can only be applied to 'object_no' and/or 'loading'!
|
|
10
|
+
filters=[
|
|
11
|
+
rfem.results.ResultsFilter(column_id='member_no', filter_expression='1,3,6'),
|
|
12
|
+
rfem.results.ResultsFilter(column_id='loading', filter_expression='LC1, CO1'),
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
# Retrieve filtered results as a Pandas DataFrame (.data)
|
|
16
|
+
results: pandas.DataFrame = rfem_app.get_results(
|
|
17
|
+
results_type=rfem.results.ResultsType.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES,
|
|
18
|
+
filters=filters
|
|
19
|
+
).data
|
|
20
|
+
print(f"\nResults Pre-processed (Filters):\n{results}")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# --- Post-processing results by Pandas DataFrame ---
|
|
24
|
+
|
|
25
|
+
# Once the relevant data has been filtered, we can further process and analyze it using the Pandas DataFrame.
|
|
26
|
+
# Pandas provides powerful tools to manipulate and analyze data in an efficient and flexible manner.
|
|
27
|
+
|
|
28
|
+
# Retrieve the entire row that corresponds to this minimum 'n' value
|
|
29
|
+
row_n_min = results.loc[results['n'].idxmin()]
|
|
30
|
+
print(f"\nResults Post-processed (Pandas):\n{row_n_min}")
|
|
31
|
+
|
|
32
|
+
# Find the minimum value of the 'n' column
|
|
33
|
+
n_min = results['n'].min()
|
|
34
|
+
print("n_min:", n_min)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# # --- Export the results to a CSV file ---
|
|
38
|
+
|
|
39
|
+
# Save the Pandas dataframe to a CSV file in the current working directory.
|
|
40
|
+
file_path = os.path.abspath('./results.csv')
|
|
41
|
+
results.to_csv(path_or_buf=file_path)
|
|
42
|
+
print(f"\nResults Exported:\n{file_path}")
|
|
43
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
from dlubal.api import rfem
|
|
3
|
+
import numpy
|
|
4
|
+
|
|
5
|
+
def get_member_internal_force(member_no: int, loading: str = 'LC1', force: str = 'm_y', location: float = 0) -> float:
|
|
6
|
+
df_results = rfem_app.get_results(
|
|
7
|
+
results_type=rfem.results.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES,
|
|
8
|
+
filters=[
|
|
9
|
+
rfem.results.ResultsFilter(
|
|
10
|
+
column_id="member_no",
|
|
11
|
+
filter_expression=str(member_no)
|
|
12
|
+
),
|
|
13
|
+
rfem.results.ResultsFilter(
|
|
14
|
+
column_id="loading",
|
|
15
|
+
filter_expression=str(loading)
|
|
16
|
+
),
|
|
17
|
+
]
|
|
18
|
+
).data
|
|
19
|
+
|
|
20
|
+
# Get locations and forces as arrays
|
|
21
|
+
locations = df_results['location_x'].to_numpy(dtype=float)
|
|
22
|
+
forces = df_results[force].to_numpy(dtype=float)
|
|
23
|
+
|
|
24
|
+
# Check range
|
|
25
|
+
if not (locations[0] <= location <= locations[-1]):
|
|
26
|
+
print('Location is out of range')
|
|
27
|
+
return 0
|
|
28
|
+
|
|
29
|
+
# Linear interpolation
|
|
30
|
+
return float(numpy.interp(location, locations, forces))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
with rfem.Application() as rfem_app:
|
|
35
|
+
|
|
36
|
+
# --- Retriev results from the active model (already calculated) ---
|
|
37
|
+
|
|
38
|
+
v_z = get_member_internal_force(member_no=46, loading = 'CO2', force = 'v_z', location = 0.4)
|
|
39
|
+
print(v_z)
|