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.
Files changed (960) hide show
  1. dlubal/__init__.py +0 -0
  2. dlubal/api/__init__.py +0 -0
  3. dlubal/api/common/__init__.py +8 -0
  4. dlubal/api/common/common_messages_pb2.py +78 -0
  5. dlubal/api/common/common_messages_pb2.pyi +230 -0
  6. dlubal/api/common/common_pb2.py +48 -0
  7. dlubal/api/common/common_pb2.pyi +65 -0
  8. dlubal/api/common/connection.py +252 -0
  9. dlubal/api/common/exceptions.py +12 -0
  10. dlubal/api/common/import_export/__init__.py +2 -0
  11. dlubal/api/common/import_export/export_attributes_pb2.py +46 -0
  12. dlubal/api/common/import_export/export_attributes_pb2.pyi +77 -0
  13. dlubal/api/common/import_export/import_attributes_pb2.py +40 -0
  14. dlubal/api/common/import_export/import_attributes_pb2.pyi +17 -0
  15. dlubal/api/common/model_id_pb2.py +38 -0
  16. dlubal/api/common/model_id_pb2.pyi +17 -0
  17. dlubal/api/common/options_pb2.py +35 -0
  18. dlubal/api/common/options_pb2.pyi +7 -0
  19. dlubal/api/common/packing.py +144 -0
  20. dlubal/api/common/table.py +37 -0
  21. dlubal/api/common/table_data_pb2.py +39 -0
  22. dlubal/api/common/table_data_pb2.pyi +21 -0
  23. dlubal/api/common/utility.py +131 -0
  24. dlubal/api/rfem/__init__.py +55 -0
  25. dlubal/api/rfem/all_pb2.py +36 -0
  26. dlubal/api/rfem/all_pb2.pyi +9 -0
  27. dlubal/api/rfem/aluminum_design/__init__.py +4 -0
  28. dlubal/api/rfem/aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
  29. dlubal/api/rfem/aluminum_design/aluminum_boundary_conditions_pb2.pyi +192 -0
  30. dlubal/api/rfem/aluminum_design/aluminum_effective_lengths_pb2.py +91 -0
  31. dlubal/api/rfem/aluminum_design/aluminum_effective_lengths_pb2.pyi +382 -0
  32. dlubal/api/rfem/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.py +47 -0
  33. dlubal/api/rfem/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.pyi +170 -0
  34. dlubal/api/rfem/aluminum_design/aluminum_member_transverse_weld_pb2.py +48 -0
  35. dlubal/api/rfem/aluminum_design/aluminum_member_transverse_weld_pb2.pyi +105 -0
  36. dlubal/api/rfem/aluminum_design_objects/__init__.py +2 -0
  37. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +77 -0
  38. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +269 -0
  39. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +77 -0
  40. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +269 -0
  41. dlubal/api/rfem/application.py +893 -0
  42. dlubal/api/rfem/application_pb2.py +77 -0
  43. dlubal/api/rfem/application_pb2.pyi +167 -0
  44. dlubal/api/rfem/application_pb2_grpc.py +2002 -0
  45. dlubal/api/rfem/base_data_objects/__init__.py +1 -0
  46. dlubal/api/rfem/base_data_objects/terrain_pb2.py +42 -0
  47. dlubal/api/rfem/base_data_objects/terrain_pb2.pyi +71 -0
  48. dlubal/api/rfem/base_data_pb2.py +108 -0
  49. dlubal/api/rfem/base_data_pb2.pyi +2639 -0
  50. dlubal/api/rfem/beam_panels/__init__.py +4 -0
  51. dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.py +38 -0
  52. dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.pyi +39 -0
  53. dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.py +38 -0
  54. dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.pyi +55 -0
  55. dlubal/api/rfem/beam_panels/sheathing_pb2.py +38 -0
  56. dlubal/api/rfem/beam_panels/sheathing_pb2.pyi +63 -0
  57. dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.py +44 -0
  58. dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.pyi +95 -0
  59. dlubal/api/rfem/building_model/__init__.py +4 -0
  60. dlubal/api/rfem/building_model/building_story_pb2.py +59 -0
  61. dlubal/api/rfem/building_model/building_story_pb2.pyi +194 -0
  62. dlubal/api/rfem/building_model/deep_beam_pb2.py +271 -0
  63. dlubal/api/rfem/building_model/deep_beam_pb2.pyi +3606 -0
  64. dlubal/api/rfem/building_model/floor_set_pb2.py +39 -0
  65. dlubal/api/rfem/building_model/floor_set_pb2.pyi +60 -0
  66. dlubal/api/rfem/building_model/shear_wall_pb2.py +169 -0
  67. dlubal/api/rfem/building_model/shear_wall_pb2.pyi +1966 -0
  68. dlubal/api/rfem/calculation_diagrams/__init__.py +1 -0
  69. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +61 -0
  70. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.pyi +1762 -0
  71. dlubal/api/rfem/component_design_objects/__init__.py +2 -0
  72. dlubal/api/rfem/component_design_objects/component_pb2.py +55 -0
  73. dlubal/api/rfem/component_design_objects/component_pb2.pyi +164 -0
  74. dlubal/api/rfem/component_design_objects/component_serie_pb2.py +38 -0
  75. dlubal/api/rfem/component_design_objects/component_serie_pb2.pyi +56 -0
  76. dlubal/api/rfem/concrete_design_objects/__init__.py +5 -0
  77. dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.py +105 -0
  78. dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +435 -0
  79. dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +61 -0
  80. dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +193 -0
  81. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +65 -0
  82. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +215 -0
  83. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +125 -0
  84. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +545 -0
  85. dlubal/api/rfem/concrete_design_objects/concrete_effective_lengths_pb2.py +107 -0
  86. dlubal/api/rfem/concrete_design_objects/concrete_effective_lengths_pb2.pyi +496 -0
  87. dlubal/api/rfem/concrete_foundations/__init__.py +1 -0
  88. dlubal/api/rfem/concrete_foundations/single_foundation_pb2.py +75 -0
  89. dlubal/api/rfem/concrete_foundations/single_foundation_pb2.pyi +314 -0
  90. dlubal/api/rfem/construction_stages/__init__.py +1 -0
  91. dlubal/api/rfem/construction_stages/construction_stage_pb2.py +86 -0
  92. dlubal/api/rfem/construction_stages/construction_stage_pb2.pyi +535 -0
  93. dlubal/api/rfem/design_addons_pb2.py +36 -0
  94. dlubal/api/rfem/design_addons_pb2.pyi +28 -0
  95. dlubal/api/rfem/digital_twins/__init__.py +1 -0
  96. dlubal/api/rfem/digital_twins/digital_twins/__init__.py +3 -0
  97. dlubal/api/rfem/digital_twins/digital_twins/sensor_pb2.py +47 -0
  98. dlubal/api/rfem/digital_twins/digital_twins/sensor_pb2.pyi +126 -0
  99. dlubal/api/rfem/digital_twins/digital_twins/sensor_set_pb2.py +44 -0
  100. dlubal/api/rfem/digital_twins/digital_twins/sensor_set_pb2.pyi +71 -0
  101. dlubal/api/rfem/digital_twins/digital_twins/sensor_value_definition_pb2.py +44 -0
  102. dlubal/api/rfem/digital_twins/digital_twins/sensor_value_definition_pb2.pyi +98 -0
  103. dlubal/api/rfem/dynamic_analysis_pb2.py +36 -0
  104. dlubal/api/rfem/dynamic_analysis_pb2.pyi +23 -0
  105. dlubal/api/rfem/dynamic_loads/__init__.py +3 -0
  106. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +42 -0
  107. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.pyi +67 -0
  108. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +44 -0
  109. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.pyi +91 -0
  110. dlubal/api/rfem/dynamic_loads/time_diagram_pb2.py +46 -0
  111. dlubal/api/rfem/dynamic_loads/time_diagram_pb2.pyi +83 -0
  112. dlubal/api/rfem/foundation_design_objects/__init__.py +2 -0
  113. dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
  114. dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
  115. dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
  116. dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
  117. dlubal/api/rfem/geotechnical_analysis/__init__.py +3 -0
  118. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +43 -0
  119. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.pyi +70 -0
  120. dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.py +42 -0
  121. dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.pyi +75 -0
  122. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +53 -0
  123. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.pyi +164 -0
  124. dlubal/api/rfem/glass_design/__init__.py +1 -0
  125. dlubal/api/rfem/glass_design/glass_composition_model_pb2.py +91 -0
  126. dlubal/api/rfem/glass_design/glass_composition_model_pb2.pyi +456 -0
  127. dlubal/api/rfem/glass_design_objects/__init__.py +2 -0
  128. dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.py +69 -0
  129. dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.pyi +213 -0
  130. dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.py +69 -0
  131. dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.pyi +213 -0
  132. dlubal/api/rfem/global_parameters/__init__.py +1 -0
  133. dlubal/api/rfem/global_parameters/global_parameter_pb2.py +40 -0
  134. dlubal/api/rfem/global_parameters/global_parameter_pb2.pyi +294 -0
  135. dlubal/api/rfem/guide_objects/__init__.py +15 -0
  136. dlubal/api/rfem/guide_objects/building_grid_pb2.py +53 -0
  137. dlubal/api/rfem/guide_objects/building_grid_pb2.pyi +211 -0
  138. dlubal/api/rfem/guide_objects/clipping_box_pb2.py +37 -0
  139. dlubal/api/rfem/guide_objects/clipping_box_pb2.pyi +40 -0
  140. dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +45 -0
  141. dlubal/api/rfem/guide_objects/clipping_plane_pb2.pyi +121 -0
  142. dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +41 -0
  143. dlubal/api/rfem/guide_objects/coordinate_system_pb2.pyi +91 -0
  144. dlubal/api/rfem/guide_objects/dimension_pb2.py +79 -0
  145. dlubal/api/rfem/guide_objects/dimension_pb2.pyi +422 -0
  146. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +41 -0
  147. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.pyi +121 -0
  148. dlubal/api/rfem/guide_objects/dxf_model_object_pb2.py +36 -0
  149. dlubal/api/rfem/guide_objects/dxf_model_object_pb2.pyi +15 -0
  150. dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.py +38 -0
  151. dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  152. dlubal/api/rfem/guide_objects/guideline_pb2.py +42 -0
  153. dlubal/api/rfem/guide_objects/guideline_pb2.pyi +90 -0
  154. dlubal/api/rfem/guide_objects/layer_group_pb2.py +36 -0
  155. dlubal/api/rfem/guide_objects/layer_group_pb2.pyi +22 -0
  156. dlubal/api/rfem/guide_objects/layer_pb2.py +38 -0
  157. dlubal/api/rfem/guide_objects/layer_pb2.pyi +44 -0
  158. dlubal/api/rfem/guide_objects/note_pb2.py +47 -0
  159. dlubal/api/rfem/guide_objects/note_pb2.pyi +163 -0
  160. dlubal/api/rfem/guide_objects/object_snap_pb2.py +38 -0
  161. dlubal/api/rfem/guide_objects/object_snap_pb2.pyi +86 -0
  162. dlubal/api/rfem/guide_objects/texture_pb2.py +36 -0
  163. dlubal/api/rfem/guide_objects/texture_pb2.pyi +41 -0
  164. dlubal/api/rfem/guide_objects/visual_object_pb2.py +43 -0
  165. dlubal/api/rfem/guide_objects/visual_object_pb2.pyi +135 -0
  166. dlubal/api/rfem/ifc_objects/__init__.py +2 -0
  167. dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.py +46 -0
  168. dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
  169. dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.py +38 -0
  170. dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.pyi +32 -0
  171. dlubal/api/rfem/imperfections/__init__.py +3 -0
  172. dlubal/api/rfem/imperfections/imperfection_case_pb2.py +60 -0
  173. dlubal/api/rfem/imperfections/imperfection_case_pb2.pyi +215 -0
  174. dlubal/api/rfem/imperfections/member_imperfection_pb2.py +50 -0
  175. dlubal/api/rfem/imperfections/member_imperfection_pb2.pyi +205 -0
  176. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +50 -0
  177. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.pyi +203 -0
  178. dlubal/api/rfem/layout_and_drawing/__init__.py +2 -0
  179. dlubal/api/rfem/layout_and_drawing/cad_line_pb2.py +65 -0
  180. dlubal/api/rfem/layout_and_drawing/cad_line_pb2.pyi +372 -0
  181. dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.py +39 -0
  182. dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.pyi +37 -0
  183. dlubal/api/rfem/load_wizards/__init__.py +7 -0
  184. dlubal/api/rfem/load_wizards/import_support_reactions_pb2.py +46 -0
  185. dlubal/api/rfem/load_wizards/import_support_reactions_pb2.pyi +91 -0
  186. dlubal/api/rfem/load_wizards/load_model_pb2.py +50 -0
  187. dlubal/api/rfem/load_wizards/load_model_pb2.pyi +113 -0
  188. dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.py +46 -0
  189. dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
  190. dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
  191. dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
  192. dlubal/api/rfem/load_wizards/moving_load_pb2.py +52 -0
  193. dlubal/api/rfem/load_wizards/moving_load_pb2.pyi +715 -0
  194. dlubal/api/rfem/load_wizards/wind_profile_pb2.py +48 -0
  195. dlubal/api/rfem/load_wizards/wind_profile_pb2.pyi +777 -0
  196. dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +55 -0
  197. dlubal/api/rfem/load_wizards/wind_simulation_pb2.pyi +148 -0
  198. dlubal/api/rfem/loading/__init__.py +16 -0
  199. dlubal/api/rfem/loading/action_combination_pb2.py +48 -0
  200. dlubal/api/rfem/loading/action_combination_pb2.pyi +155 -0
  201. dlubal/api/rfem/loading/action_pb2.py +54 -0
  202. dlubal/api/rfem/loading/action_pb2.pyi +719 -0
  203. dlubal/api/rfem/loading/combination_wizard_pb2.py +49 -0
  204. dlubal/api/rfem/loading/combination_wizard_pb2.pyi +116 -0
  205. dlubal/api/rfem/loading/design_situation_pb2.py +47 -0
  206. dlubal/api/rfem/loading/design_situation_pb2.pyi +1222 -0
  207. dlubal/api/rfem/loading/load_case_pb2.py +104 -0
  208. dlubal/api/rfem/loading/load_case_pb2.pyi +1385 -0
  209. dlubal/api/rfem/loading/load_combination_pb2.py +65 -0
  210. dlubal/api/rfem/loading/load_combination_pb2.pyi +390 -0
  211. dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +52 -0
  212. dlubal/api/rfem/loading/modal_analysis_settings_pb2.pyi +155 -0
  213. dlubal/api/rfem/loading/optimization_settings_pb2.py +46 -0
  214. dlubal/api/rfem/loading/optimization_settings_pb2.pyi +111 -0
  215. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +38 -0
  216. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.pyi +50 -0
  217. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.py +44 -0
  218. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.pyi +66 -0
  219. dlubal/api/rfem/loading/result_combination_pb2.py +59 -0
  220. dlubal/api/rfem/loading/result_combination_pb2.pyi +304 -0
  221. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +46 -0
  222. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.pyi +80 -0
  223. dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +44 -0
  224. dlubal/api/rfem/loading/stability_analysis_settings_pb2.pyi +118 -0
  225. dlubal/api/rfem/loading/static_analysis_settings_pb2.py +48 -0
  226. dlubal/api/rfem/loading/static_analysis_settings_pb2.pyi +172 -0
  227. dlubal/api/rfem/loading/time_history_analysis_settings_pb2.py +54 -0
  228. dlubal/api/rfem/loading/time_history_analysis_settings_pb2.pyi +169 -0
  229. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +52 -0
  230. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.pyi +176 -0
  231. dlubal/api/rfem/loads/__init__.py +19 -0
  232. dlubal/api/rfem/loads/additional_foundation_load_pb2.py +41 -0
  233. dlubal/api/rfem/loads/additional_foundation_load_pb2.pyi +80 -0
  234. dlubal/api/rfem/loads/cutting_pattern_load_pb2.py +40 -0
  235. dlubal/api/rfem/loads/cutting_pattern_load_pb2.pyi +49 -0
  236. dlubal/api/rfem/loads/free_circular_load_pb2.py +42 -0
  237. dlubal/api/rfem/loads/free_circular_load_pb2.pyi +97 -0
  238. dlubal/api/rfem/loads/free_concentrated_load_pb2.py +44 -0
  239. dlubal/api/rfem/loads/free_concentrated_load_pb2.pyi +103 -0
  240. dlubal/api/rfem/loads/free_line_load_pb2.py +48 -0
  241. dlubal/api/rfem/loads/free_line_load_pb2.pyi +149 -0
  242. dlubal/api/rfem/loads/free_polygon_load_pb2.py +46 -0
  243. dlubal/api/rfem/loads/free_polygon_load_pb2.pyi +123 -0
  244. dlubal/api/rfem/loads/free_rectangular_load_pb2.py +53 -0
  245. dlubal/api/rfem/loads/free_rectangular_load_pb2.pyi +194 -0
  246. dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +37 -0
  247. dlubal/api/rfem/loads/imposed_line_deformation_pb2.pyi +47 -0
  248. dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +37 -0
  249. dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.pyi +43 -0
  250. dlubal/api/rfem/loads/line_load_pb2.py +59 -0
  251. dlubal/api/rfem/loads/line_load_pb2.pyi +266 -0
  252. dlubal/api/rfem/loads/line_set_load_pb2.py +59 -0
  253. dlubal/api/rfem/loads/line_set_load_pb2.pyi +266 -0
  254. dlubal/api/rfem/loads/member_load_pb2.py +79 -0
  255. dlubal/api/rfem/loads/member_load_pb2.pyi +492 -0
  256. dlubal/api/rfem/loads/member_set_load_pb2.py +79 -0
  257. dlubal/api/rfem/loads/member_set_load_pb2.pyi +490 -0
  258. dlubal/api/rfem/loads/nodal_load_pb2.py +49 -0
  259. dlubal/api/rfem/loads/nodal_load_pb2.pyi +228 -0
  260. dlubal/api/rfem/loads/opening_load_pb2.py +43 -0
  261. dlubal/api/rfem/loads/opening_load_pb2.pyi +82 -0
  262. dlubal/api/rfem/loads/solid_load_pb2.py +53 -0
  263. dlubal/api/rfem/loads/solid_load_pb2.pyi +172 -0
  264. dlubal/api/rfem/loads/solid_set_load_pb2.py +53 -0
  265. dlubal/api/rfem/loads/solid_set_load_pb2.pyi +172 -0
  266. dlubal/api/rfem/loads/surface_load_pb2.py +65 -0
  267. dlubal/api/rfem/loads/surface_load_pb2.pyi +340 -0
  268. dlubal/api/rfem/loads/surface_set_load_pb2.py +65 -0
  269. dlubal/api/rfem/loads/surface_set_load_pb2.pyi +340 -0
  270. dlubal/api/rfem/manipulation/__init__.py +1 -0
  271. dlubal/api/rfem/manipulation/manipulation_pb2.py +38 -0
  272. dlubal/api/rfem/manipulation/manipulation_pb2.pyi +25 -0
  273. dlubal/api/rfem/mesh/__init__.py +1 -0
  274. dlubal/api/rfem/mesh/mesh_settings_pb2.py +51 -0
  275. dlubal/api/rfem/mesh/mesh_settings_pb2.pyi +218 -0
  276. dlubal/api/rfem/object_id_pb2.py +39 -0
  277. dlubal/api/rfem/object_id_pb2.pyi +25 -0
  278. dlubal/api/rfem/object_type_pb2.py +36 -0
  279. dlubal/api/rfem/object_type_pb2.pyi +416 -0
  280. dlubal/api/rfem/reinforcement/__init__.py +4 -0
  281. dlubal/api/rfem/reinforcement/concrete_durability_pb2.py +68 -0
  282. dlubal/api/rfem/reinforcement/concrete_durability_pb2.pyi +257 -0
  283. dlubal/api/rfem/reinforcement/punching_reinforcement_pb2.py +58 -0
  284. dlubal/api/rfem/reinforcement/punching_reinforcement_pb2.pyi +319 -0
  285. dlubal/api/rfem/reinforcement/reinforcement_direction_pb2.py +38 -0
  286. dlubal/api/rfem/reinforcement/reinforcement_direction_pb2.pyi +47 -0
  287. dlubal/api/rfem/reinforcement/surface_reinforcement_pb2.py +84 -0
  288. dlubal/api/rfem/reinforcement/surface_reinforcement_pb2.pyi +743 -0
  289. dlubal/api/rfem/result_objects/__init__.py +2 -0
  290. dlubal/api/rfem/result_objects/result_point_pb2.py +41 -0
  291. dlubal/api/rfem/result_objects/result_point_pb2.pyi +75 -0
  292. dlubal/api/rfem/result_objects/result_section_pb2.py +43 -0
  293. dlubal/api/rfem/result_objects/result_section_pb2.pyi +116 -0
  294. dlubal/api/rfem/results/__init__.py +4 -0
  295. dlubal/api/rfem/results/result_table_pb2.py +36 -0
  296. dlubal/api/rfem/results/result_table_pb2.pyi +1462 -0
  297. dlubal/api/rfem/results/results_query_pb2.py +41 -0
  298. dlubal/api/rfem/results/results_query_pb2.pyi +31 -0
  299. dlubal/api/rfem/results/results_type_pb2.py +36 -0
  300. dlubal/api/rfem/results/results_type_pb2.pyi +1200 -0
  301. dlubal/api/rfem/results/settings/__init__.py +1 -0
  302. dlubal/api/rfem/results/settings/result_settings_pb2.py +38 -0
  303. dlubal/api/rfem/results/settings/result_settings_pb2.pyi +23 -0
  304. dlubal/api/rfem/rsection_stresses/__init__.py +1 -0
  305. dlubal/api/rfem/rsection_stresses/member_configuration_pb2.py +41 -0
  306. dlubal/api/rfem/rsection_stresses/member_configuration_pb2.pyi +53 -0
  307. dlubal/api/rfem/steel_design/__init__.py +4 -0
  308. dlubal/api/rfem/steel_design/steel_boundary_conditions_pb2.py +51 -0
  309. dlubal/api/rfem/steel_design/steel_boundary_conditions_pb2.pyi +192 -0
  310. dlubal/api/rfem/steel_design/steel_effective_lengths_pb2.py +117 -0
  311. dlubal/api/rfem/steel_design/steel_effective_lengths_pb2.pyi +524 -0
  312. dlubal/api/rfem/steel_design/steel_member_local_cross_section_reduction_pb2.py +47 -0
  313. dlubal/api/rfem/steel_design/steel_member_local_cross_section_reduction_pb2.pyi +170 -0
  314. dlubal/api/rfem/steel_design/steel_member_transverse_weld_pb2.py +48 -0
  315. dlubal/api/rfem/steel_design/steel_member_transverse_weld_pb2.pyi +105 -0
  316. dlubal/api/rfem/steel_design_objects/__init__.py +4 -0
  317. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.py +57 -0
  318. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.pyi +151 -0
  319. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.py +53 -0
  320. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +129 -0
  321. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.py +141 -0
  322. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.pyi +621 -0
  323. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.py +141 -0
  324. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.pyi +621 -0
  325. dlubal/api/rfem/steel_joint_design_addon_objects/__init__.py +2 -0
  326. dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.py +49 -0
  327. dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.pyi +91 -0
  328. dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.py +49 -0
  329. dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.pyi +91 -0
  330. dlubal/api/rfem/stress_analysis_objects/__init__.py +3 -0
  331. dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.py +41 -0
  332. dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.pyi +47 -0
  333. dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.py +36 -0
  334. dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.pyi +26 -0
  335. dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.py +36 -0
  336. dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.pyi +26 -0
  337. dlubal/api/rfem/structure_advanced/__init__.py +15 -0
  338. dlubal/api/rfem/structure_advanced/block_pb2.py +55 -0
  339. dlubal/api/rfem/structure_advanced/block_pb2.pyi +196 -0
  340. dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.py +44 -0
  341. dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.pyi +71 -0
  342. dlubal/api/rfem/structure_advanced/design_strip_pb2.py +61 -0
  343. dlubal/api/rfem/structure_advanced/design_strip_pb2.pyi +460 -0
  344. dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.py +53 -0
  345. dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.pyi +158 -0
  346. dlubal/api/rfem/structure_advanced/intersection_pb2.py +36 -0
  347. dlubal/api/rfem/structure_advanced/intersection_pb2.pyi +26 -0
  348. dlubal/api/rfem/structure_advanced/line_release_pb2.py +42 -0
  349. dlubal/api/rfem/structure_advanced/line_release_pb2.pyi +71 -0
  350. dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +42 -0
  351. dlubal/api/rfem/structure_advanced/nodal_release_pb2.pyi +69 -0
  352. dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +41 -0
  353. dlubal/api/rfem/structure_advanced/rigid_link_pb2.pyi +104 -0
  354. dlubal/api/rfem/structure_advanced/rule_based_link_generator_pb2.py +49 -0
  355. dlubal/api/rfem/structure_advanced/rule_based_link_generator_pb2.pyi +108 -0
  356. dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +98 -0
  357. dlubal/api/rfem/structure_advanced/structure_modification_pb2.pyi +473 -0
  358. dlubal/api/rfem/structure_advanced/surface_cell_pb2.py +41 -0
  359. dlubal/api/rfem/structure_advanced/surface_cell_pb2.pyi +74 -0
  360. dlubal/api/rfem/structure_advanced/surface_cell_set_pb2.py +39 -0
  361. dlubal/api/rfem/structure_advanced/surface_cell_set_pb2.pyi +56 -0
  362. dlubal/api/rfem/structure_advanced/surface_release_pb2.py +42 -0
  363. dlubal/api/rfem/structure_advanced/surface_release_pb2.pyi +73 -0
  364. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +61 -0
  365. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.pyi +165 -0
  366. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.py +38 -0
  367. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.pyi +39 -0
  368. dlubal/api/rfem/structure_core/__init__.py +15 -0
  369. dlubal/api/rfem/structure_core/cross_section_pb2.py +76 -0
  370. dlubal/api/rfem/structure_core/cross_section_pb2.pyi +2141 -0
  371. dlubal/api/rfem/structure_core/line_pb2.py +87 -0
  372. dlubal/api/rfem/structure_core/line_pb2.pyi +592 -0
  373. dlubal/api/rfem/structure_core/line_set_pb2.py +39 -0
  374. dlubal/api/rfem/structure_core/line_set_pb2.pyi +62 -0
  375. dlubal/api/rfem/structure_core/material_pb2.py +161 -0
  376. dlubal/api/rfem/structure_core/material_pb2.pyi +1586 -0
  377. dlubal/api/rfem/structure_core/member_pb2.py +240 -0
  378. dlubal/api/rfem/structure_core/member_pb2.pyi +2767 -0
  379. dlubal/api/rfem/structure_core/member_representative_pb2.py +336 -0
  380. dlubal/api/rfem/structure_core/member_representative_pb2.pyi +4383 -0
  381. dlubal/api/rfem/structure_core/member_set_pb2.py +168 -0
  382. dlubal/api/rfem/structure_core/member_set_pb2.pyi +1955 -0
  383. dlubal/api/rfem/structure_core/member_set_representative_pb2.py +466 -0
  384. dlubal/api/rfem/structure_core/member_set_representative_pb2.pyi +6333 -0
  385. dlubal/api/rfem/structure_core/node_pb2.py +49 -0
  386. dlubal/api/rfem/structure_core/node_pb2.pyi +180 -0
  387. dlubal/api/rfem/structure_core/opening_pb2.py +37 -0
  388. dlubal/api/rfem/structure_core/opening_pb2.pyi +45 -0
  389. dlubal/api/rfem/structure_core/solid_pb2.py +63 -0
  390. dlubal/api/rfem/structure_core/solid_pb2.pyi +292 -0
  391. dlubal/api/rfem/structure_core/solid_set_pb2.py +45 -0
  392. dlubal/api/rfem/structure_core/solid_set_pb2.pyi +92 -0
  393. dlubal/api/rfem/structure_core/surface_pb2.py +97 -0
  394. dlubal/api/rfem/structure_core/surface_pb2.pyi +651 -0
  395. dlubal/api/rfem/structure_core/surface_set_pb2.py +49 -0
  396. dlubal/api/rfem/structure_core/surface_set_pb2.pyi +182 -0
  397. dlubal/api/rfem/structure_core/thickness_pb2.py +76 -0
  398. dlubal/api/rfem/structure_core/thickness_pb2.pyi +555 -0
  399. dlubal/api/rfem/timber_design/__init__.py +6 -0
  400. dlubal/api/rfem/timber_design/timber_effective_lengths_pb2.py +105 -0
  401. dlubal/api/rfem/timber_design/timber_effective_lengths_pb2.pyi +478 -0
  402. dlubal/api/rfem/timber_design/timber_member_local_cross_section_reduction_pb2.py +48 -0
  403. dlubal/api/rfem/timber_design/timber_member_local_cross_section_reduction_pb2.pyi +125 -0
  404. dlubal/api/rfem/timber_design/timber_moisture_class_pb2.py +38 -0
  405. dlubal/api/rfem/timber_design/timber_moisture_class_pb2.pyi +49 -0
  406. dlubal/api/rfem/timber_design/timber_screw_type_pb2.py +38 -0
  407. dlubal/api/rfem/timber_design/timber_screw_type_pb2.pyi +58 -0
  408. dlubal/api/rfem/timber_design/timber_service_class_pb2.py +38 -0
  409. dlubal/api/rfem/timber_design/timber_service_class_pb2.pyi +49 -0
  410. dlubal/api/rfem/timber_design/timber_service_conditions_pb2.py +42 -0
  411. dlubal/api/rfem/timber_design/timber_service_conditions_pb2.pyi +115 -0
  412. dlubal/api/rfem/timber_design_objects/__init__.py +3 -0
  413. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.py +125 -0
  414. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.pyi +525 -0
  415. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.py +125 -0
  416. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.pyi +525 -0
  417. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.py +165 -0
  418. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.pyi +753 -0
  419. dlubal/api/rfem/types_for_craneway_design/__init__.py +2 -0
  420. dlubal/api/rfem/types_for_craneway_design/crane_pb2.py +36 -0
  421. dlubal/api/rfem/types_for_craneway_design/crane_pb2.pyi +24 -0
  422. dlubal/api/rfem/types_for_craneway_design/craneway_pb2.py +52 -0
  423. dlubal/api/rfem/types_for_craneway_design/craneway_pb2.pyi +117 -0
  424. dlubal/api/rfem/types_for_lines/__init__.py +6 -0
  425. dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.py +38 -0
  426. dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.pyi +30 -0
  427. dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +155 -0
  428. dlubal/api/rfem/types_for_lines/line_hinge_pb2.pyi +1008 -0
  429. dlubal/api/rfem/types_for_lines/line_link_pb2.py +43 -0
  430. dlubal/api/rfem/types_for_lines/line_link_pb2.pyi +70 -0
  431. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +38 -0
  432. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.pyi +49 -0
  433. dlubal/api/rfem/types_for_lines/line_support_pb2.py +159 -0
  434. dlubal/api/rfem/types_for_lines/line_support_pb2.pyi +1068 -0
  435. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +44 -0
  436. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.pyi +100 -0
  437. dlubal/api/rfem/types_for_members/__init__.py +14 -0
  438. dlubal/api/rfem/types_for_members/design_support_pb2.py +62 -0
  439. dlubal/api/rfem/types_for_members/design_support_pb2.pyi +253 -0
  440. dlubal/api/rfem/types_for_members/diagonal_brace_pb2.py +46 -0
  441. dlubal/api/rfem/types_for_members/diagonal_brace_pb2.pyi +103 -0
  442. dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +36 -0
  443. dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
  444. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +49 -0
  445. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.pyi +113 -0
  446. dlubal/api/rfem/types_for_members/member_hinge_pb2.py +249 -0
  447. dlubal/api/rfem/types_for_members/member_hinge_pb2.pyi +1782 -0
  448. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +38 -0
  449. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.pyi +61 -0
  450. dlubal/api/rfem/types_for_members/member_openings_pb2.py +46 -0
  451. dlubal/api/rfem/types_for_members/member_openings_pb2.pyi +97 -0
  452. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.py +40 -0
  453. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.pyi +52 -0
  454. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +50 -0
  455. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.pyi +127 -0
  456. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +40 -0
  457. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.pyi +80 -0
  458. dlubal/api/rfem/types_for_members/member_spring_pb2.py +52 -0
  459. dlubal/api/rfem/types_for_members/member_spring_pb2.pyi +149 -0
  460. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +48 -0
  461. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.pyi +139 -0
  462. dlubal/api/rfem/types_for_members/member_support_pb2.py +49 -0
  463. dlubal/api/rfem/types_for_members/member_support_pb2.pyi +156 -0
  464. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.py +48 -0
  465. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.pyi +147 -0
  466. dlubal/api/rfem/types_for_nodes/__init__.py +3 -0
  467. dlubal/api/rfem/types_for_nodes/nodal_link_pb2.py +43 -0
  468. dlubal/api/rfem/types_for_nodes/nodal_link_pb2.pyi +78 -0
  469. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +40 -0
  470. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.pyi +63 -0
  471. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +211 -0
  472. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.pyi +1456 -0
  473. dlubal/api/rfem/types_for_solids/__init__.py +3 -0
  474. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +40 -0
  475. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.pyi +59 -0
  476. dlubal/api/rfem/types_for_solids/solid_gas_pb2.py +36 -0
  477. dlubal/api/rfem/types_for_solids/solid_gas_pb2.pyi +28 -0
  478. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.py +36 -0
  479. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.pyi +30 -0
  480. dlubal/api/rfem/types_for_special_objects/__init__.py +4 -0
  481. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +156 -0
  482. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.pyi +1017 -0
  483. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +198 -0
  484. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.pyi +1385 -0
  485. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +81 -0
  486. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.pyi +374 -0
  487. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +44 -0
  488. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.pyi +77 -0
  489. dlubal/api/rfem/types_for_steel_joints/__init__.py +1 -0
  490. dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.py +53 -0
  491. dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.pyi +188 -0
  492. dlubal/api/rfem/types_for_surfaces/__init__.py +4 -0
  493. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +42 -0
  494. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.pyi +71 -0
  495. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.py +36 -0
  496. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.pyi +30 -0
  497. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +40 -0
  498. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.pyi +163 -0
  499. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +43 -0
  500. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.pyi +82 -0
  501. dlubal/api/rfem/types_for_wind_simulation/__init__.py +2 -0
  502. dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
  503. dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +85 -0
  504. dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.py +42 -0
  505. dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.pyi +73 -0
  506. dlubal/api/rsection/__init__.py +15 -0
  507. dlubal/api/rsection/all_pb2.py +36 -0
  508. dlubal/api/rsection/all_pb2.pyi +9 -0
  509. dlubal/api/rsection/application.py +572 -0
  510. dlubal/api/rsection/application_pb2.py +52 -0
  511. dlubal/api/rsection/application_pb2.pyi +59 -0
  512. dlubal/api/rsection/application_pb2_grpc.py +1337 -0
  513. dlubal/api/rsection/base_data_pb2.py +58 -0
  514. dlubal/api/rsection/base_data_pb2.pyi +158 -0
  515. dlubal/api/rsection/global_parameters/__init__.py +1 -0
  516. dlubal/api/rsection/global_parameters/global_parameter_pb2.py +40 -0
  517. dlubal/api/rsection/global_parameters/global_parameter_pb2.pyi +150 -0
  518. dlubal/api/rsection/guide_objects/__init__.py +4 -0
  519. dlubal/api/rsection/guide_objects/dimension_pb2.py +71 -0
  520. dlubal/api/rsection/guide_objects/dimension_pb2.pyi +314 -0
  521. dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.py +43 -0
  522. dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.pyi +125 -0
  523. dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.py +38 -0
  524. dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  525. dlubal/api/rsection/guide_objects/object_snap_pb2.py +38 -0
  526. dlubal/api/rsection/guide_objects/object_snap_pb2.pyi +86 -0
  527. dlubal/api/rsection/internal_forces/__init__.py +1 -0
  528. dlubal/api/rsection/internal_forces/internal_forces_pb2.py +38 -0
  529. dlubal/api/rsection/internal_forces/internal_forces_pb2.pyi +58 -0
  530. dlubal/api/rsection/loading/__init__.py +2 -0
  531. dlubal/api/rsection/loading/load_case_pb2.py +38 -0
  532. dlubal/api/rsection/loading/load_case_pb2.pyi +616 -0
  533. dlubal/api/rsection/loading/load_combination_pb2.py +42 -0
  534. dlubal/api/rsection/loading/load_combination_pb2.pyi +113 -0
  535. dlubal/api/rsection/manipulation/__init__.py +1 -0
  536. dlubal/api/rsection/manipulation/manipulation_pb2.py +38 -0
  537. dlubal/api/rsection/manipulation/manipulation_pb2.pyi +23 -0
  538. dlubal/api/rsection/object_id_pb2.py +39 -0
  539. dlubal/api/rsection/object_id_pb2.pyi +25 -0
  540. dlubal/api/rsection/object_type_pb2.py +36 -0
  541. dlubal/api/rsection/object_type_pb2.pyi +60 -0
  542. dlubal/api/rsection/results/__init__.py +4 -0
  543. dlubal/api/rsection/results/result_table_pb2.py +36 -0
  544. dlubal/api/rsection/results/result_table_pb2.pyi +10 -0
  545. dlubal/api/rsection/results/results_query_pb2.py +41 -0
  546. dlubal/api/rsection/results/results_query_pb2.pyi +31 -0
  547. dlubal/api/rsection/results/results_type_pb2.py +36 -0
  548. dlubal/api/rsection/results/results_type_pb2.pyi +10 -0
  549. dlubal/api/rsection/results/settings/__init__.py +1 -0
  550. dlubal/api/rsection/results/settings/result_settings_pb2.py +38 -0
  551. dlubal/api/rsection/results/settings/result_settings_pb2.pyi +23 -0
  552. dlubal/api/rsection/rsection_stresses/__init__.py +1 -0
  553. dlubal/api/rsection/rsection_stresses/member_configuration_pb2.py +41 -0
  554. dlubal/api/rsection/rsection_stresses/member_configuration_pb2.pyi +53 -0
  555. dlubal/api/rsection/structure_advanced/__init__.py +1 -0
  556. dlubal/api/rsection/structure_advanced/block_pb2.py +55 -0
  557. dlubal/api/rsection/structure_advanced/block_pb2.pyi +190 -0
  558. dlubal/api/rsection/structure_core/__init__.py +15 -0
  559. dlubal/api/rsection/structure_core/bar_pb2.py +40 -0
  560. dlubal/api/rsection/structure_core/bar_pb2.pyi +102 -0
  561. dlubal/api/rsection/structure_core/cross_section_pb2.py +50 -0
  562. dlubal/api/rsection/structure_core/cross_section_pb2.pyi +1731 -0
  563. dlubal/api/rsection/structure_core/element_pb2.py +53 -0
  564. dlubal/api/rsection/structure_core/element_pb2.pyi +204 -0
  565. dlubal/api/rsection/structure_core/layer_group_pb2.py +36 -0
  566. dlubal/api/rsection/structure_core/layer_group_pb2.pyi +22 -0
  567. dlubal/api/rsection/structure_core/layer_pb2.py +38 -0
  568. dlubal/api/rsection/structure_core/layer_pb2.pyi +44 -0
  569. dlubal/api/rsection/structure_core/line_pb2.py +59 -0
  570. dlubal/api/rsection/structure_core/line_pb2.pyi +222 -0
  571. dlubal/api/rsection/structure_core/material_pb2.py +127 -0
  572. dlubal/api/rsection/structure_core/material_pb2.pyi +1122 -0
  573. dlubal/api/rsection/structure_core/opening_pb2.py +37 -0
  574. dlubal/api/rsection/structure_core/opening_pb2.pyi +39 -0
  575. dlubal/api/rsection/structure_core/part_pb2.py +39 -0
  576. dlubal/api/rsection/structure_core/part_pb2.pyi +58 -0
  577. dlubal/api/rsection/structure_core/point_pb2.py +43 -0
  578. dlubal/api/rsection/structure_core/point_pb2.pyi +109 -0
  579. dlubal/api/rsection/structure_core/reinforcement_layer_pb2.py +36 -0
  580. dlubal/api/rsection/structure_core/reinforcement_layer_pb2.pyi +23 -0
  581. dlubal/api/rsection/structure_core/stirrup_pb2.py +36 -0
  582. dlubal/api/rsection/structure_core/stirrup_pb2.pyi +42 -0
  583. dlubal/api/rsection/structure_core/stress_point_pb2.py +45 -0
  584. dlubal/api/rsection/structure_core/stress_point_pb2.pyi +101 -0
  585. dlubal/api/rsection/structure_core/subpanel_pb2.py +38 -0
  586. dlubal/api/rsection/structure_core/subpanel_pb2.pyi +49 -0
  587. dlubal/api/rsection/structure_core/weld_pb2.py +38 -0
  588. dlubal/api/rsection/structure_core/weld_pb2.pyi +46 -0
  589. dlubal/api/rstab/__init__.py +39 -0
  590. dlubal/api/rstab/all_pb2.py +36 -0
  591. dlubal/api/rstab/all_pb2.pyi +9 -0
  592. dlubal/api/rstab/aluminum_design/__init__.py +4 -0
  593. dlubal/api/rstab/aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
  594. dlubal/api/rstab/aluminum_design/aluminum_boundary_conditions_pb2.pyi +188 -0
  595. dlubal/api/rstab/aluminum_design/aluminum_effective_lengths_pb2.py +91 -0
  596. dlubal/api/rstab/aluminum_design/aluminum_effective_lengths_pb2.pyi +382 -0
  597. dlubal/api/rstab/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.py +47 -0
  598. dlubal/api/rstab/aluminum_design/aluminum_member_local_cross_section_reduction_pb2.pyi +166 -0
  599. dlubal/api/rstab/aluminum_design/aluminum_member_transverse_weld_pb2.py +48 -0
  600. dlubal/api/rstab/aluminum_design/aluminum_member_transverse_weld_pb2.pyi +101 -0
  601. dlubal/api/rstab/aluminum_design_objects/__init__.py +2 -0
  602. dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +77 -0
  603. dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +261 -0
  604. dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +77 -0
  605. dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +261 -0
  606. dlubal/api/rstab/application.py +827 -0
  607. dlubal/api/rstab/application_pb2.py +72 -0
  608. dlubal/api/rstab/application_pb2.pyi +148 -0
  609. dlubal/api/rstab/application_pb2_grpc.py +1780 -0
  610. dlubal/api/rstab/base_data_objects/__init__.py +1 -0
  611. dlubal/api/rstab/base_data_objects/terrain_pb2.py +42 -0
  612. dlubal/api/rstab/base_data_objects/terrain_pb2.pyi +71 -0
  613. dlubal/api/rstab/base_data_pb2.py +92 -0
  614. dlubal/api/rstab/base_data_pb2.pyi +2373 -0
  615. dlubal/api/rstab/calculation_diagrams/__init__.py +1 -0
  616. dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.py +61 -0
  617. dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.pyi +1762 -0
  618. dlubal/api/rstab/concrete_design_objects/__init__.py +5 -0
  619. dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.py +105 -0
  620. dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +435 -0
  621. dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +61 -0
  622. dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +193 -0
  623. dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.py +65 -0
  624. dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +203 -0
  625. dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.py +125 -0
  626. dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +533 -0
  627. dlubal/api/rstab/concrete_design_objects/concrete_effective_lengths_pb2.py +107 -0
  628. dlubal/api/rstab/concrete_design_objects/concrete_effective_lengths_pb2.pyi +496 -0
  629. dlubal/api/rstab/concrete_foundations/__init__.py +1 -0
  630. dlubal/api/rstab/concrete_foundations/single_foundation_pb2.py +75 -0
  631. dlubal/api/rstab/concrete_foundations/single_foundation_pb2.pyi +310 -0
  632. dlubal/api/rstab/design_addons_pb2.py +36 -0
  633. dlubal/api/rstab/design_addons_pb2.pyi +22 -0
  634. dlubal/api/rstab/digital_twins/__init__.py +1 -0
  635. dlubal/api/rstab/digital_twins/digital_twins/__init__.py +3 -0
  636. dlubal/api/rstab/digital_twins/digital_twins/sensor_pb2.py +47 -0
  637. dlubal/api/rstab/digital_twins/digital_twins/sensor_pb2.pyi +126 -0
  638. dlubal/api/rstab/digital_twins/digital_twins/sensor_set_pb2.py +44 -0
  639. dlubal/api/rstab/digital_twins/digital_twins/sensor_set_pb2.pyi +71 -0
  640. dlubal/api/rstab/digital_twins/digital_twins/sensor_value_definition_pb2.py +44 -0
  641. dlubal/api/rstab/digital_twins/digital_twins/sensor_value_definition_pb2.pyi +98 -0
  642. dlubal/api/rstab/dynamic_analysis_pb2.py +36 -0
  643. dlubal/api/rstab/dynamic_analysis_pb2.pyi +23 -0
  644. dlubal/api/rstab/dynamic_loads/__init__.py +3 -0
  645. dlubal/api/rstab/dynamic_loads/accelerogram_pb2.py +42 -0
  646. dlubal/api/rstab/dynamic_loads/accelerogram_pb2.pyi +67 -0
  647. dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.py +44 -0
  648. dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.pyi +91 -0
  649. dlubal/api/rstab/dynamic_loads/time_diagram_pb2.py +46 -0
  650. dlubal/api/rstab/dynamic_loads/time_diagram_pb2.pyi +83 -0
  651. dlubal/api/rstab/foundation_design_objects/__init__.py +2 -0
  652. dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
  653. dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
  654. dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
  655. dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
  656. dlubal/api/rstab/global_parameters/__init__.py +1 -0
  657. dlubal/api/rstab/global_parameters/global_parameter_pb2.py +40 -0
  658. dlubal/api/rstab/global_parameters/global_parameter_pb2.pyi +278 -0
  659. dlubal/api/rstab/guide_objects/__init__.py +15 -0
  660. dlubal/api/rstab/guide_objects/building_grid_pb2.py +53 -0
  661. dlubal/api/rstab/guide_objects/building_grid_pb2.pyi +207 -0
  662. dlubal/api/rstab/guide_objects/clipping_box_pb2.py +37 -0
  663. dlubal/api/rstab/guide_objects/clipping_box_pb2.pyi +40 -0
  664. dlubal/api/rstab/guide_objects/clipping_plane_pb2.py +45 -0
  665. dlubal/api/rstab/guide_objects/clipping_plane_pb2.pyi +121 -0
  666. dlubal/api/rstab/guide_objects/coordinate_system_pb2.py +41 -0
  667. dlubal/api/rstab/guide_objects/coordinate_system_pb2.pyi +91 -0
  668. dlubal/api/rstab/guide_objects/dimension_pb2.py +69 -0
  669. dlubal/api/rstab/guide_objects/dimension_pb2.pyi +282 -0
  670. dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.py +41 -0
  671. dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.pyi +121 -0
  672. dlubal/api/rstab/guide_objects/dxf_model_object_pb2.py +36 -0
  673. dlubal/api/rstab/guide_objects/dxf_model_object_pb2.pyi +15 -0
  674. dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.py +38 -0
  675. dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  676. dlubal/api/rstab/guide_objects/guideline_pb2.py +42 -0
  677. dlubal/api/rstab/guide_objects/guideline_pb2.pyi +90 -0
  678. dlubal/api/rstab/guide_objects/layer_group_pb2.py +36 -0
  679. dlubal/api/rstab/guide_objects/layer_group_pb2.pyi +22 -0
  680. dlubal/api/rstab/guide_objects/layer_pb2.py +38 -0
  681. dlubal/api/rstab/guide_objects/layer_pb2.pyi +44 -0
  682. dlubal/api/rstab/guide_objects/note_pb2.py +43 -0
  683. dlubal/api/rstab/guide_objects/note_pb2.pyi +121 -0
  684. dlubal/api/rstab/guide_objects/object_snap_pb2.py +38 -0
  685. dlubal/api/rstab/guide_objects/object_snap_pb2.pyi +86 -0
  686. dlubal/api/rstab/guide_objects/texture_pb2.py +36 -0
  687. dlubal/api/rstab/guide_objects/texture_pb2.pyi +41 -0
  688. dlubal/api/rstab/guide_objects/visual_object_pb2.py +43 -0
  689. dlubal/api/rstab/guide_objects/visual_object_pb2.pyi +135 -0
  690. dlubal/api/rstab/ifc_objects/__init__.py +2 -0
  691. dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.py +46 -0
  692. dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
  693. dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.py +38 -0
  694. dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.pyi +32 -0
  695. dlubal/api/rstab/imperfections/__init__.py +3 -0
  696. dlubal/api/rstab/imperfections/imperfection_case_pb2.py +60 -0
  697. dlubal/api/rstab/imperfections/imperfection_case_pb2.pyi +215 -0
  698. dlubal/api/rstab/imperfections/member_imperfection_pb2.py +50 -0
  699. dlubal/api/rstab/imperfections/member_imperfection_pb2.pyi +205 -0
  700. dlubal/api/rstab/imperfections/member_set_imperfection_pb2.py +50 -0
  701. dlubal/api/rstab/imperfections/member_set_imperfection_pb2.pyi +203 -0
  702. dlubal/api/rstab/load_wizards/__init__.py +7 -0
  703. dlubal/api/rstab/load_wizards/import_support_reactions_pb2.py +46 -0
  704. dlubal/api/rstab/load_wizards/import_support_reactions_pb2.pyi +89 -0
  705. dlubal/api/rstab/load_wizards/load_model_pb2.py +50 -0
  706. dlubal/api/rstab/load_wizards/load_model_pb2.pyi +113 -0
  707. dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.py +46 -0
  708. dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
  709. dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
  710. dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
  711. dlubal/api/rstab/load_wizards/moving_load_pb2.py +52 -0
  712. dlubal/api/rstab/load_wizards/moving_load_pb2.pyi +715 -0
  713. dlubal/api/rstab/load_wizards/wind_profile_pb2.py +48 -0
  714. dlubal/api/rstab/load_wizards/wind_profile_pb2.pyi +777 -0
  715. dlubal/api/rstab/load_wizards/wind_simulation_pb2.py +55 -0
  716. dlubal/api/rstab/load_wizards/wind_simulation_pb2.pyi +148 -0
  717. dlubal/api/rstab/loading/__init__.py +16 -0
  718. dlubal/api/rstab/loading/action_combination_pb2.py +48 -0
  719. dlubal/api/rstab/loading/action_combination_pb2.pyi +153 -0
  720. dlubal/api/rstab/loading/action_pb2.py +54 -0
  721. dlubal/api/rstab/loading/action_pb2.pyi +719 -0
  722. dlubal/api/rstab/loading/combination_wizard_pb2.py +49 -0
  723. dlubal/api/rstab/loading/combination_wizard_pb2.pyi +116 -0
  724. dlubal/api/rstab/loading/design_situation_pb2.py +47 -0
  725. dlubal/api/rstab/loading/design_situation_pb2.pyi +1222 -0
  726. dlubal/api/rstab/loading/load_case_pb2.py +102 -0
  727. dlubal/api/rstab/loading/load_case_pb2.pyi +1365 -0
  728. dlubal/api/rstab/loading/load_combination_pb2.py +65 -0
  729. dlubal/api/rstab/loading/load_combination_pb2.pyi +384 -0
  730. dlubal/api/rstab/loading/modal_analysis_settings_pb2.py +52 -0
  731. dlubal/api/rstab/loading/modal_analysis_settings_pb2.pyi +147 -0
  732. dlubal/api/rstab/loading/optimization_settings_pb2.py +46 -0
  733. dlubal/api/rstab/loading/optimization_settings_pb2.pyi +111 -0
  734. dlubal/api/rstab/loading/pushover_analysis_settings_pb2.py +38 -0
  735. dlubal/api/rstab/loading/pushover_analysis_settings_pb2.pyi +50 -0
  736. dlubal/api/rstab/loading/relationship_between_load_cases_pb2.py +44 -0
  737. dlubal/api/rstab/loading/relationship_between_load_cases_pb2.pyi +66 -0
  738. dlubal/api/rstab/loading/result_combination_pb2.py +59 -0
  739. dlubal/api/rstab/loading/result_combination_pb2.pyi +300 -0
  740. dlubal/api/rstab/loading/spectral_analysis_settings_pb2.py +46 -0
  741. dlubal/api/rstab/loading/spectral_analysis_settings_pb2.pyi +80 -0
  742. dlubal/api/rstab/loading/stability_analysis_settings_pb2.py +44 -0
  743. dlubal/api/rstab/loading/stability_analysis_settings_pb2.pyi +118 -0
  744. dlubal/api/rstab/loading/static_analysis_settings_pb2.py +42 -0
  745. dlubal/api/rstab/loading/static_analysis_settings_pb2.pyi +110 -0
  746. dlubal/api/rstab/loading/time_history_analysis_settings_pb2.py +54 -0
  747. dlubal/api/rstab/loading/time_history_analysis_settings_pb2.pyi +163 -0
  748. dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.py +52 -0
  749. dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.pyi +176 -0
  750. dlubal/api/rstab/loads/__init__.py +5 -0
  751. dlubal/api/rstab/loads/additional_foundation_load_pb2.py +41 -0
  752. dlubal/api/rstab/loads/additional_foundation_load_pb2.pyi +80 -0
  753. dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.py +37 -0
  754. dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.pyi +43 -0
  755. dlubal/api/rstab/loads/member_load_pb2.py +79 -0
  756. dlubal/api/rstab/loads/member_load_pb2.pyi +492 -0
  757. dlubal/api/rstab/loads/member_set_load_pb2.py +79 -0
  758. dlubal/api/rstab/loads/member_set_load_pb2.pyi +490 -0
  759. dlubal/api/rstab/loads/nodal_load_pb2.py +49 -0
  760. dlubal/api/rstab/loads/nodal_load_pb2.pyi +224 -0
  761. dlubal/api/rstab/manipulation/__init__.py +1 -0
  762. dlubal/api/rstab/manipulation/manipulation_pb2.py +38 -0
  763. dlubal/api/rstab/manipulation/manipulation_pb2.pyi +25 -0
  764. dlubal/api/rstab/object_id_pb2.py +39 -0
  765. dlubal/api/rstab/object_id_pb2.pyi +25 -0
  766. dlubal/api/rstab/object_type_pb2.py +36 -0
  767. dlubal/api/rstab/object_type_pb2.pyi +256 -0
  768. dlubal/api/rstab/reinforcement/__init__.py +1 -0
  769. dlubal/api/rstab/reinforcement/concrete_durability_pb2.py +68 -0
  770. dlubal/api/rstab/reinforcement/concrete_durability_pb2.pyi +251 -0
  771. dlubal/api/rstab/results/__init__.py +4 -0
  772. dlubal/api/rstab/results/result_table_pb2.py +36 -0
  773. dlubal/api/rstab/results/result_table_pb2.pyi +584 -0
  774. dlubal/api/rstab/results/results_query_pb2.py +41 -0
  775. dlubal/api/rstab/results/results_query_pb2.pyi +31 -0
  776. dlubal/api/rstab/results/results_type_pb2.py +36 -0
  777. dlubal/api/rstab/results/results_type_pb2.pyi +454 -0
  778. dlubal/api/rstab/results/settings/__init__.py +1 -0
  779. dlubal/api/rstab/results/settings/result_settings_pb2.py +38 -0
  780. dlubal/api/rstab/results/settings/result_settings_pb2.pyi +23 -0
  781. dlubal/api/rstab/rsection_stresses/__init__.py +1 -0
  782. dlubal/api/rstab/rsection_stresses/member_configuration_pb2.py +41 -0
  783. dlubal/api/rstab/rsection_stresses/member_configuration_pb2.pyi +53 -0
  784. dlubal/api/rstab/steel_design/__init__.py +4 -0
  785. dlubal/api/rstab/steel_design/steel_boundary_conditions_pb2.py +51 -0
  786. dlubal/api/rstab/steel_design/steel_boundary_conditions_pb2.pyi +188 -0
  787. dlubal/api/rstab/steel_design/steel_effective_lengths_pb2.py +117 -0
  788. dlubal/api/rstab/steel_design/steel_effective_lengths_pb2.pyi +524 -0
  789. dlubal/api/rstab/steel_design/steel_member_local_cross_section_reduction_pb2.py +47 -0
  790. dlubal/api/rstab/steel_design/steel_member_local_cross_section_reduction_pb2.pyi +166 -0
  791. dlubal/api/rstab/steel_design/steel_member_transverse_weld_pb2.py +48 -0
  792. dlubal/api/rstab/steel_design/steel_member_transverse_weld_pb2.pyi +101 -0
  793. dlubal/api/rstab/steel_design_objects/__init__.py +4 -0
  794. dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.py +57 -0
  795. dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.pyi +143 -0
  796. dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.py +53 -0
  797. dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +121 -0
  798. dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.py +141 -0
  799. dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.pyi +613 -0
  800. dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.py +141 -0
  801. dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.pyi +613 -0
  802. dlubal/api/rstab/structure_advanced/__init__.py +5 -0
  803. dlubal/api/rstab/structure_advanced/block_pb2.py +55 -0
  804. dlubal/api/rstab/structure_advanced/block_pb2.pyi +192 -0
  805. dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.py +44 -0
  806. dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.pyi +71 -0
  807. dlubal/api/rstab/structure_advanced/nodal_release_pb2.py +42 -0
  808. dlubal/api/rstab/structure_advanced/nodal_release_pb2.pyi +65 -0
  809. dlubal/api/rstab/structure_advanced/rule_based_link_generator_pb2.py +49 -0
  810. dlubal/api/rstab/structure_advanced/rule_based_link_generator_pb2.pyi +108 -0
  811. dlubal/api/rstab/structure_advanced/structure_modification_pb2.py +70 -0
  812. dlubal/api/rstab/structure_advanced/structure_modification_pb2.pyi +275 -0
  813. dlubal/api/rstab/structure_core/__init__.py +7 -0
  814. dlubal/api/rstab/structure_core/cross_section_pb2.py +76 -0
  815. dlubal/api/rstab/structure_core/cross_section_pb2.pyi +2141 -0
  816. dlubal/api/rstab/structure_core/material_pb2.py +129 -0
  817. dlubal/api/rstab/structure_core/material_pb2.pyi +1132 -0
  818. dlubal/api/rstab/structure_core/member_pb2.py +228 -0
  819. dlubal/api/rstab/structure_core/member_pb2.pyi +2605 -0
  820. dlubal/api/rstab/structure_core/member_representative_pb2.py +324 -0
  821. dlubal/api/rstab/structure_core/member_representative_pb2.pyi +4221 -0
  822. dlubal/api/rstab/structure_core/member_set_pb2.py +168 -0
  823. dlubal/api/rstab/structure_core/member_set_pb2.pyi +1955 -0
  824. dlubal/api/rstab/structure_core/member_set_representative_pb2.py +456 -0
  825. dlubal/api/rstab/structure_core/member_set_representative_pb2.pyi +6215 -0
  826. dlubal/api/rstab/structure_core/node_pb2.py +49 -0
  827. dlubal/api/rstab/structure_core/node_pb2.pyi +172 -0
  828. dlubal/api/rstab/timber_design/__init__.py +6 -0
  829. dlubal/api/rstab/timber_design/timber_effective_lengths_pb2.py +105 -0
  830. dlubal/api/rstab/timber_design/timber_effective_lengths_pb2.pyi +478 -0
  831. dlubal/api/rstab/timber_design/timber_member_local_cross_section_reduction_pb2.py +48 -0
  832. dlubal/api/rstab/timber_design/timber_member_local_cross_section_reduction_pb2.pyi +121 -0
  833. dlubal/api/rstab/timber_design/timber_moisture_class_pb2.py +38 -0
  834. dlubal/api/rstab/timber_design/timber_moisture_class_pb2.pyi +41 -0
  835. dlubal/api/rstab/timber_design/timber_screw_type_pb2.py +38 -0
  836. dlubal/api/rstab/timber_design/timber_screw_type_pb2.pyi +58 -0
  837. dlubal/api/rstab/timber_design/timber_service_class_pb2.py +38 -0
  838. dlubal/api/rstab/timber_design/timber_service_class_pb2.pyi +41 -0
  839. dlubal/api/rstab/timber_design/timber_service_conditions_pb2.py +42 -0
  840. dlubal/api/rstab/timber_design/timber_service_conditions_pb2.pyi +107 -0
  841. dlubal/api/rstab/timber_design_objects/__init__.py +3 -0
  842. dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.py +125 -0
  843. dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.pyi +517 -0
  844. dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.py +125 -0
  845. dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.pyi +517 -0
  846. dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.py +165 -0
  847. dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.pyi +745 -0
  848. dlubal/api/rstab/types_for_craneway_design/__init__.py +2 -0
  849. dlubal/api/rstab/types_for_craneway_design/crane_pb2.py +36 -0
  850. dlubal/api/rstab/types_for_craneway_design/crane_pb2.pyi +24 -0
  851. dlubal/api/rstab/types_for_craneway_design/craneway_pb2.py +52 -0
  852. dlubal/api/rstab/types_for_craneway_design/craneway_pb2.pyi +117 -0
  853. dlubal/api/rstab/types_for_members/__init__.py +13 -0
  854. dlubal/api/rstab/types_for_members/design_support_pb2.py +62 -0
  855. dlubal/api/rstab/types_for_members/design_support_pb2.pyi +249 -0
  856. dlubal/api/rstab/types_for_members/diagonal_brace_pb2.py +46 -0
  857. dlubal/api/rstab/types_for_members/diagonal_brace_pb2.pyi +99 -0
  858. dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.py +36 -0
  859. dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
  860. dlubal/api/rstab/types_for_members/member_eccentricity_pb2.py +49 -0
  861. dlubal/api/rstab/types_for_members/member_eccentricity_pb2.pyi +107 -0
  862. dlubal/api/rstab/types_for_members/member_hinge_pb2.py +249 -0
  863. dlubal/api/rstab/types_for_members/member_hinge_pb2.pyi +1782 -0
  864. dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.py +38 -0
  865. dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.pyi +61 -0
  866. dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.py +40 -0
  867. dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.pyi +52 -0
  868. dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.py +50 -0
  869. dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.pyi +127 -0
  870. dlubal/api/rstab/types_for_members/member_shear_panel_pb2.py +40 -0
  871. dlubal/api/rstab/types_for_members/member_shear_panel_pb2.pyi +80 -0
  872. dlubal/api/rstab/types_for_members/member_spring_pb2.py +52 -0
  873. dlubal/api/rstab/types_for_members/member_spring_pb2.pyi +149 -0
  874. dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.py +48 -0
  875. dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.pyi +139 -0
  876. dlubal/api/rstab/types_for_members/member_support_pb2.py +49 -0
  877. dlubal/api/rstab/types_for_members/member_support_pb2.pyi +156 -0
  878. dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.py +48 -0
  879. dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.pyi +143 -0
  880. dlubal/api/rstab/types_for_nodes/__init__.py +2 -0
  881. dlubal/api/rstab/types_for_nodes/nodal_link_pb2.py +43 -0
  882. dlubal/api/rstab/types_for_nodes/nodal_link_pb2.pyi +78 -0
  883. dlubal/api/rstab/types_for_nodes/nodal_support_pb2.py +211 -0
  884. dlubal/api/rstab/types_for_nodes/nodal_support_pb2.pyi +1444 -0
  885. dlubal/api/rstab/types_for_special_objects/__init__.py +1 -0
  886. dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.py +198 -0
  887. dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.pyi +1383 -0
  888. dlubal/api/rstab/types_for_wind_simulation/__init__.py +2 -0
  889. dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
  890. dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +81 -0
  891. dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.py +42 -0
  892. dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.pyi +69 -0
  893. dlubal_api-2.12.11.dist-info/METADATA +76 -0
  894. dlubal_api-2.12.11.dist-info/RECORD +960 -0
  895. dlubal_api-2.12.11.dist-info/WHEEL +5 -0
  896. dlubal_api-2.12.11.dist-info/top_level.txt +3 -0
  897. examples/rfem/base_data.py +28 -0
  898. examples/rfem/block.py +29 -0
  899. examples/rfem/bus_station.py +395 -0
  900. examples/rfem/cantilever.py +172 -0
  901. examples/rfem/column.py +185 -0
  902. examples/rfem/component_design.py +161 -0
  903. examples/rfem/demo_limits.py +373 -0
  904. examples/rfem/design_configuration.py +87 -0
  905. examples/rfem/design_results.py +58 -0
  906. examples/rfem/design_settings.py +37 -0
  907. examples/rfem/excel.py +86 -0
  908. examples/rfem/export_model_to.py +159 -0
  909. examples/rfem/frame.py +285 -0
  910. examples/rfem/import_from_ifc.py +60 -0
  911. examples/rfem/import_from_rsection.py +107 -0
  912. examples/rfem/import_from_xml.py +29 -0
  913. examples/rfem/material_user_defined.py +64 -0
  914. examples/rfem/mesh_settings.py +25 -0
  915. examples/rfem/modal_analysis.py +243 -0
  916. examples/rfem/multiple_models.py +93 -0
  917. examples/rfem/nurbs_topology.py +54 -0
  918. examples/rfem/results_access.py +38 -0
  919. examples/rfem/results_axes_system.py +53 -0
  920. examples/rfem/results_filtering.py +43 -0
  921. examples/rfem/results_in_location.py +39 -0
  922. examples/rfem/results_multiple_models.py +45 -0
  923. examples/rfem/sectioned_roof.py +449 -0
  924. examples/rfem/select_objects.py +39 -0
  925. examples/rfem/silo.py +750 -0
  926. examples/rfem/spectral_analysis.py +21124 -0
  927. examples/rfem/steel_hall.py +175 -0
  928. examples/rfem/steel_station.py +890 -0
  929. examples/rfem/stress_strain_analysis.py +95 -0
  930. examples/rfem/tank_wind_load.py +180 -0
  931. examples/rsection/base_data.py +20 -0
  932. examples/rsection/steel_section.py +114 -0
  933. examples/rstab/base_data.py +27 -0
  934. examples/rstab/cantilever.py +166 -0
  935. examples/rstab/column.py +184 -0
  936. examples/rstab/dataframe.py +20 -0
  937. examples/rstab/design_configuration.py +87 -0
  938. examples/rstab/design_settings.py +37 -0
  939. examples/rstab/excel.py +86 -0
  940. examples/rstab/export_model_to.py +154 -0
  941. examples/rstab/frame.py +285 -0
  942. examples/rstab/import_from_ifc.py +46 -0
  943. examples/rstab/import_from_rsection.py +107 -0
  944. examples/rstab/import_from_xml.py +29 -0
  945. examples/rstab/modal_analysis.py +238 -0
  946. examples/rstab/multiple_models.py +91 -0
  947. examples/rstab/results_access.py +38 -0
  948. examples/rstab/results_axes_system.py +53 -0
  949. examples/rstab/results_in_location.py +39 -0
  950. examples/rstab/results_multiple_models.py +40 -0
  951. examples/rstab/select_objects.py +39 -0
  952. examples/rstab/steel_hall.py +165 -0
  953. google/protobuf/any_pb2.py +37 -0
  954. google/protobuf/any_pb2.pyi +14 -0
  955. google/protobuf/descriptor_pb2.py +3363 -0
  956. google/protobuf/descriptor_pb2.pyi +723 -0
  957. google/protobuf/empty_pb2.py +37 -0
  958. google/protobuf/empty_pb2.pyi +9 -0
  959. google/protobuf/wrappers_pb2.py +53 -0
  960. 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)