dlubal.api 0.1.293714a1__py3-none-any.whl → 2.12.2__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.

Potentially problematic release.


This version of dlubal.api might be problematic. Click here for more details.

Files changed (929) hide show
  1. dlubal/api/common/__init__.py +8 -3
  2. dlubal/api/common/common_messages_pb2.py +78 -0
  3. dlubal/api/common/common_messages_pb2.pyi +230 -0
  4. dlubal/api/common/common_pb2.py +7 -3
  5. dlubal/api/common/common_pb2.pyi +16 -0
  6. dlubal/api/common/connection.py +243 -251
  7. dlubal/api/common/exceptions.py +11 -11
  8. dlubal/api/common/import_export/__init__.py +2 -0
  9. dlubal/api/common/import_export/export_attributes_pb2.py +46 -0
  10. dlubal/api/common/import_export/export_attributes_pb2.pyi +77 -0
  11. dlubal/api/common/import_export/import_attributes_pb2.py +40 -0
  12. dlubal/api/common/import_export/import_attributes_pb2.pyi +17 -0
  13. dlubal/api/common/model_id_pb2.py +4 -4
  14. dlubal/api/common/model_id_pb2.pyi +8 -8
  15. dlubal/api/{rfem/results/results_id_pb2.py → common/options_pb2.py} +5 -6
  16. dlubal/api/common/options_pb2.pyi +7 -0
  17. dlubal/api/common/packing.py +144 -0
  18. dlubal/api/common/table.py +36 -34
  19. dlubal/api/common/utility.py +131 -0
  20. dlubal/api/rfem/__init__.py +53 -32
  21. dlubal/api/rfem/all_pb2.py +36 -0
  22. dlubal/api/rfem/all_pb2.pyi +9 -0
  23. dlubal/api/rfem/aluminum_design_objects/__init__.py +2 -2
  24. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +44 -3
  25. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +242 -3
  26. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +44 -3
  27. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +242 -3
  28. dlubal/api/rfem/application.py +807 -290
  29. dlubal/api/rfem/application_pb2.py +37 -30
  30. dlubal/api/rfem/application_pb2.pyi +107 -102
  31. dlubal/api/rfem/application_pb2_grpc.py +1046 -61
  32. dlubal/api/rfem/{base_data → base_data_objects}/__init__.py +1 -1
  33. dlubal/api/rfem/base_data_objects/terrain_pb2.py +42 -0
  34. dlubal/api/rfem/base_data_objects/terrain_pb2.pyi +71 -0
  35. dlubal/api/rfem/base_data_pb2.py +108 -0
  36. dlubal/api/rfem/base_data_pb2.pyi +2627 -0
  37. dlubal/api/rfem/beam_panels/__init__.py +4 -0
  38. dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.py +38 -0
  39. dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.pyi +39 -0
  40. dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.py +38 -0
  41. dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.pyi +53 -0
  42. dlubal/api/rfem/beam_panels/sheathing_pb2.py +38 -0
  43. dlubal/api/rfem/beam_panels/sheathing_pb2.pyi +59 -0
  44. dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.py +44 -0
  45. dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.pyi +93 -0
  46. dlubal/api/rfem/building_model/__init__.py +4 -4
  47. dlubal/api/rfem/building_model/building_story_pb2.py +24 -20
  48. dlubal/api/rfem/building_model/building_story_pb2.pyi +133 -95
  49. dlubal/api/rfem/building_model/deep_beam_pb2.py +225 -7
  50. dlubal/api/rfem/building_model/deep_beam_pb2.pyi +3505 -42
  51. dlubal/api/rfem/building_model/floor_set_pb2.py +4 -4
  52. dlubal/api/rfem/building_model/floor_set_pb2.pyi +8 -9
  53. dlubal/api/rfem/building_model/shear_wall_pb2.py +123 -7
  54. dlubal/api/rfem/building_model/shear_wall_pb2.pyi +1843 -20
  55. dlubal/api/rfem/calculation_diagrams/__init__.py +1 -1
  56. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +28 -17
  57. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.pyi +1729 -1661
  58. dlubal/api/rfem/component_design_objects/__init__.py +2 -0
  59. dlubal/api/rfem/component_design_objects/component_pb2.py +55 -0
  60. dlubal/api/rfem/component_design_objects/component_pb2.pyi +164 -0
  61. dlubal/api/rfem/component_design_objects/component_serie_pb2.py +38 -0
  62. dlubal/api/rfem/component_design_objects/component_serie_pb2.pyi +54 -0
  63. dlubal/api/rfem/concrete_design_objects/__init__.py +4 -2
  64. dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.py +93 -0
  65. dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +369 -0
  66. dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +57 -0
  67. dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +171 -0
  68. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +28 -3
  69. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +150 -3
  70. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +76 -3
  71. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +414 -3
  72. dlubal/api/rfem/construction_stages/__init__.py +1 -1
  73. dlubal/api/rfem/construction_stages/construction_stage_pb2.py +52 -12
  74. dlubal/api/rfem/construction_stages/construction_stage_pb2.pyi +390 -31
  75. dlubal/api/rfem/design_addons_pb2.py +36 -0
  76. dlubal/api/rfem/design_addons_pb2.pyi +28 -0
  77. dlubal/api/rfem/dynamic_analysis_pb2.py +36 -0
  78. dlubal/api/rfem/dynamic_analysis_pb2.pyi +23 -0
  79. dlubal/api/rfem/dynamic_loads/__init__.py +3 -2
  80. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +8 -6
  81. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.pyi +33 -17
  82. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +10 -8
  83. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.pyi +49 -30
  84. dlubal/api/rfem/dynamic_loads/time_diagram_pb2.py +46 -0
  85. dlubal/api/rfem/dynamic_loads/time_diagram_pb2.pyi +83 -0
  86. dlubal/api/rfem/foundation_design_objects/__init__.py +2 -0
  87. dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
  88. dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
  89. dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
  90. dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
  91. dlubal/api/rfem/geotechnical_analysis/__init__.py +3 -2
  92. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +8 -6
  93. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.pyi +31 -15
  94. dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.py +42 -0
  95. dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.pyi +71 -0
  96. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +20 -12
  97. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.pyi +107 -50
  98. dlubal/api/rfem/glass_design_objects/__init__.py +2 -0
  99. dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.py +69 -0
  100. dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.pyi +213 -0
  101. dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.py +69 -0
  102. dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.pyi +213 -0
  103. dlubal/api/rfem/global_parameters/__init__.py +1 -1
  104. dlubal/api/rfem/global_parameters/global_parameter_pb2.py +6 -6
  105. dlubal/api/rfem/global_parameters/global_parameter_pb2.pyi +254 -244
  106. dlubal/api/rfem/guide_objects/__init__.py +15 -10
  107. dlubal/api/rfem/guide_objects/building_grid_pb2.py +18 -18
  108. dlubal/api/rfem/guide_objects/building_grid_pb2.pyi +120 -128
  109. dlubal/api/rfem/guide_objects/clipping_box_pb2.py +2 -2
  110. dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +10 -10
  111. dlubal/api/rfem/guide_objects/clipping_plane_pb2.pyi +57 -52
  112. dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +6 -6
  113. dlubal/api/rfem/guide_objects/coordinate_system_pb2.pyi +31 -33
  114. dlubal/api/rfem/guide_objects/dimension_pb2.py +40 -26
  115. dlubal/api/rfem/guide_objects/dimension_pb2.pyi +266 -129
  116. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +6 -6
  117. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.pyi +54 -52
  118. dlubal/api/rfem/guide_objects/dxf_model_object_pb2.py +2 -2
  119. dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.py +38 -0
  120. dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  121. dlubal/api/rfem/guide_objects/guideline_pb2.py +42 -0
  122. dlubal/api/rfem/guide_objects/guideline_pb2.pyi +90 -0
  123. dlubal/api/rfem/guide_objects/layer_group_pb2.py +36 -0
  124. dlubal/api/rfem/guide_objects/layer_group_pb2.pyi +22 -0
  125. dlubal/api/rfem/guide_objects/layer_pb2.py +38 -0
  126. dlubal/api/rfem/guide_objects/layer_pb2.pyi +44 -0
  127. dlubal/api/rfem/guide_objects/note_pb2.py +12 -10
  128. dlubal/api/rfem/guide_objects/note_pb2.pyi +90 -60
  129. dlubal/api/rfem/guide_objects/object_snap_pb2.py +4 -4
  130. dlubal/api/rfem/guide_objects/object_snap_pb2.pyi +27 -26
  131. dlubal/api/rfem/guide_objects/texture_pb2.py +36 -0
  132. dlubal/api/rfem/guide_objects/texture_pb2.pyi +41 -0
  133. dlubal/api/rfem/guide_objects/visual_object_pb2.py +8 -8
  134. dlubal/api/rfem/guide_objects/visual_object_pb2.pyi +68 -62
  135. dlubal/api/rfem/ifc_objects/__init__.py +2 -0
  136. dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.py +46 -0
  137. dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
  138. dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.py +38 -0
  139. dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.pyi +32 -0
  140. dlubal/api/rfem/imperfections/__init__.py +3 -5
  141. dlubal/api/rfem/imperfections/imperfection_case_pb2.py +26 -16
  142. dlubal/api/rfem/imperfections/imperfection_case_pb2.pyi +155 -98
  143. dlubal/api/rfem/imperfections/member_imperfection_pb2.py +17 -15
  144. dlubal/api/rfem/imperfections/member_imperfection_pb2.pyi +128 -128
  145. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +17 -15
  146. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.pyi +130 -130
  147. dlubal/api/rfem/layout_and_drawing/__init__.py +2 -0
  148. dlubal/api/rfem/layout_and_drawing/cad_line_pb2.py +69 -0
  149. dlubal/api/rfem/layout_and_drawing/cad_line_pb2.pyi +410 -0
  150. dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.py +39 -0
  151. dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.pyi +37 -0
  152. dlubal/api/rfem/load_wizards/__init__.py +7 -2
  153. dlubal/api/rfem/load_wizards/import_support_reactions_pb2.py +46 -0
  154. dlubal/api/rfem/load_wizards/import_support_reactions_pb2.pyi +91 -0
  155. dlubal/api/rfem/load_wizards/load_model_pb2.py +50 -0
  156. dlubal/api/rfem/load_wizards/load_model_pb2.pyi +113 -0
  157. dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.py +46 -0
  158. dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
  159. dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
  160. dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
  161. dlubal/api/rfem/load_wizards/moving_load_pb2.py +52 -0
  162. dlubal/api/rfem/load_wizards/moving_load_pb2.pyi +715 -0
  163. dlubal/api/rfem/load_wizards/wind_profile_pb2.py +14 -10
  164. dlubal/api/rfem/load_wizards/wind_profile_pb2.pyi +748 -698
  165. dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +22 -13
  166. dlubal/api/rfem/load_wizards/wind_simulation_pb2.pyi +107 -43
  167. dlubal/api/rfem/loading/__init__.py +16 -15
  168. dlubal/api/rfem/loading/action_combination_pb2.py +14 -6
  169. dlubal/api/rfem/loading/action_combination_pb2.pyi +118 -21
  170. dlubal/api/rfem/loading/action_pb2.py +21 -9
  171. dlubal/api/rfem/loading/action_pb2.pyi +676 -37
  172. dlubal/api/rfem/loading/combination_wizard_pb2.py +14 -7
  173. dlubal/api/rfem/loading/combination_wizard_pb2.pyi +61 -20
  174. dlubal/api/rfem/loading/design_situation_pb2.py +14 -5
  175. dlubal/api/rfem/loading/design_situation_pb2.pyi +1164 -9
  176. dlubal/api/rfem/loading/load_case_pb2.py +70 -43
  177. dlubal/api/rfem/loading/load_case_pb2.pyi +1151 -255
  178. dlubal/api/rfem/loading/load_combination_pb2.py +32 -15
  179. dlubal/api/rfem/loading/load_combination_pb2.pyi +312 -72
  180. dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +18 -14
  181. dlubal/api/rfem/loading/modal_analysis_settings_pb2.pyi +133 -93
  182. dlubal/api/rfem/loading/optimization_settings_pb2.py +12 -8
  183. dlubal/api/rfem/loading/optimization_settings_pb2.pyi +81 -42
  184. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +4 -4
  185. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.pyi +8 -9
  186. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.py +10 -6
  187. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.pyi +44 -14
  188. dlubal/api/rfem/loading/result_combination_pb2.py +26 -9
  189. dlubal/api/rfem/loading/result_combination_pb2.pyi +266 -36
  190. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +12 -12
  191. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.pyi +45 -56
  192. dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +10 -10
  193. dlubal/api/rfem/loading/stability_analysis_settings_pb2.pyi +53 -57
  194. dlubal/api/rfem/loading/static_analysis_settings_pb2.py +14 -12
  195. dlubal/api/rfem/loading/static_analysis_settings_pb2.pyi +65 -52
  196. dlubal/api/rfem/loading/time_history_analysis_settings_pb2.py +54 -0
  197. dlubal/api/rfem/loading/time_history_analysis_settings_pb2.pyi +167 -0
  198. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +18 -14
  199. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.pyi +116 -90
  200. dlubal/api/rfem/loads/__init__.py +19 -17
  201. dlubal/api/rfem/loads/additional_foundation_load_pb2.py +41 -0
  202. dlubal/api/rfem/loads/additional_foundation_load_pb2.pyi +80 -0
  203. dlubal/api/rfem/loads/cutting_pattern_load_pb2.py +40 -0
  204. dlubal/api/rfem/loads/cutting_pattern_load_pb2.pyi +49 -0
  205. dlubal/api/rfem/loads/free_circular_load_pb2.py +8 -8
  206. dlubal/api/rfem/loads/free_circular_load_pb2.pyi +57 -60
  207. dlubal/api/rfem/loads/free_concentrated_load_pb2.py +10 -8
  208. dlubal/api/rfem/loads/free_concentrated_load_pb2.pyi +70 -51
  209. dlubal/api/rfem/loads/free_line_load_pb2.py +14 -8
  210. dlubal/api/rfem/loads/free_line_load_pb2.pyi +108 -63
  211. dlubal/api/rfem/loads/free_polygon_load_pb2.py +12 -10
  212. dlubal/api/rfem/loads/free_polygon_load_pb2.pyi +80 -69
  213. dlubal/api/rfem/loads/free_rectangular_load_pb2.py +18 -14
  214. dlubal/api/rfem/loads/free_rectangular_load_pb2.pyi +114 -86
  215. dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +2 -2
  216. dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +2 -2
  217. dlubal/api/rfem/loads/line_load_pb2.py +26 -13
  218. dlubal/api/rfem/loads/line_load_pb2.pyi +189 -78
  219. dlubal/api/rfem/loads/line_set_load_pb2.py +26 -13
  220. dlubal/api/rfem/loads/line_set_load_pb2.pyi +196 -85
  221. dlubal/api/rfem/loads/member_load_pb2.py +44 -32
  222. dlubal/api/rfem/loads/member_load_pb2.pyi +334 -232
  223. dlubal/api/rfem/loads/member_set_load_pb2.py +44 -32
  224. dlubal/api/rfem/loads/member_set_load_pb2.pyi +336 -234
  225. dlubal/api/rfem/loads/nodal_load_pb2.py +14 -12
  226. dlubal/api/rfem/loads/nodal_load_pb2.pyi +101 -80
  227. dlubal/api/rfem/loads/opening_load_pb2.py +10 -9
  228. dlubal/api/rfem/loads/opening_load_pb2.pyi +39 -41
  229. dlubal/api/rfem/loads/solid_load_pb2.py +18 -18
  230. dlubal/api/rfem/loads/solid_load_pb2.pyi +81 -89
  231. dlubal/api/rfem/loads/solid_set_load_pb2.py +18 -18
  232. dlubal/api/rfem/loads/solid_set_load_pb2.pyi +84 -92
  233. dlubal/api/rfem/loads/surface_load_pb2.py +30 -22
  234. dlubal/api/rfem/loads/surface_load_pb2.pyi +203 -148
  235. dlubal/api/rfem/loads/surface_set_load_pb2.py +30 -22
  236. dlubal/api/rfem/loads/surface_set_load_pb2.pyi +210 -155
  237. dlubal/api/rfem/mesh/__init__.py +1 -0
  238. dlubal/api/rfem/mesh/mesh_settings_pb2.py +51 -0
  239. dlubal/api/rfem/mesh/mesh_settings_pb2.pyi +218 -0
  240. dlubal/api/rfem/object_id_pb2.py +39 -0
  241. dlubal/api/rfem/object_id_pb2.pyi +25 -0
  242. dlubal/api/rfem/object_type_pb2.py +36 -0
  243. dlubal/api/rfem/object_type_pb2.pyi +406 -0
  244. dlubal/api/rfem/result_objects/__init__.py +2 -1
  245. dlubal/api/rfem/result_objects/result_point_pb2.py +41 -0
  246. dlubal/api/rfem/result_objects/result_point_pb2.pyi +75 -0
  247. dlubal/api/rfem/result_objects/result_section_pb2.py +8 -8
  248. dlubal/api/rfem/result_objects/result_section_pb2.pyi +48 -51
  249. dlubal/api/rfem/results/__init__.py +4 -2
  250. dlubal/api/rfem/results/result_table_pb2.py +36 -0
  251. dlubal/api/rfem/results/result_table_pb2.pyi +1176 -0
  252. dlubal/api/rfem/results/results_query_pb2.py +7 -6
  253. dlubal/api/rfem/results/results_query_pb2.pyi +10 -5
  254. dlubal/api/rfem/results/results_type_pb2.py +36 -0
  255. dlubal/api/rfem/results/results_type_pb2.pyi +678 -0
  256. dlubal/api/rfem/results/settings/__init__.py +1 -0
  257. dlubal/api/rfem/results/settings/result_settings_pb2.py +38 -0
  258. dlubal/api/rfem/results/settings/result_settings_pb2.pyi +23 -0
  259. dlubal/api/rfem/rsection_stresses/__init__.py +1 -0
  260. dlubal/api/rfem/rsection_stresses/member_configuration_pb2.py +41 -0
  261. dlubal/api/rfem/rsection_stresses/member_configuration_pb2.pyi +53 -0
  262. dlubal/api/rfem/steel_design_objects/__init__.py +4 -4
  263. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.py +24 -3
  264. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.pyi +124 -3
  265. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.py +20 -3
  266. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +102 -3
  267. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.py +108 -3
  268. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.pyi +594 -3
  269. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.py +108 -3
  270. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.pyi +594 -3
  271. dlubal/api/rfem/steel_joint_design_addon_objects/__init__.py +2 -0
  272. dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.py +49 -0
  273. dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.pyi +91 -0
  274. dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.py +49 -0
  275. dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.pyi +91 -0
  276. dlubal/api/rfem/stress_analysis_objects/__init__.py +3 -0
  277. dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.py +41 -0
  278. dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.pyi +47 -0
  279. dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.py +36 -0
  280. dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.pyi +26 -0
  281. dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.py +36 -0
  282. dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.pyi +26 -0
  283. dlubal/api/rfem/structure_advanced/__init__.py +13 -9
  284. dlubal/api/rfem/structure_advanced/block_pb2.py +20 -16
  285. dlubal/api/rfem/structure_advanced/block_pb2.pyi +99 -83
  286. dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.py +44 -0
  287. dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.pyi +71 -0
  288. dlubal/api/rfem/structure_advanced/design_strip_pb2.py +61 -0
  289. dlubal/api/rfem/structure_advanced/design_strip_pb2.pyi +460 -0
  290. dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.py +53 -0
  291. dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.pyi +158 -0
  292. dlubal/api/rfem/structure_advanced/intersection_pb2.py +2 -2
  293. dlubal/api/rfem/structure_advanced/intersection_pb2.pyi +8 -8
  294. dlubal/api/rfem/structure_advanced/line_release_pb2.py +8 -6
  295. dlubal/api/rfem/structure_advanced/line_release_pb2.pyi +25 -14
  296. dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +8 -4
  297. dlubal/api/rfem/structure_advanced/nodal_release_pb2.pyi +30 -11
  298. dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +6 -6
  299. dlubal/api/rfem/structure_advanced/rigid_link_pb2.pyi +24 -24
  300. dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +60 -22
  301. dlubal/api/rfem/structure_advanced/structure_modification_pb2.pyi +345 -53
  302. dlubal/api/rfem/structure_advanced/surface_cell_pb2.py +41 -0
  303. dlubal/api/rfem/structure_advanced/surface_cell_pb2.pyi +74 -0
  304. dlubal/api/rfem/structure_advanced/surface_release_pb2.py +8 -4
  305. dlubal/api/rfem/structure_advanced/surface_release_pb2.pyi +30 -11
  306. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +26 -20
  307. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.pyi +113 -88
  308. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.py +4 -2
  309. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.pyi +20 -5
  310. dlubal/api/rfem/structure_core/__init__.py +15 -15
  311. dlubal/api/rfem/structure_core/line_pb2.py +53 -19
  312. dlubal/api/rfem/structure_core/line_pb2.pyi +401 -109
  313. dlubal/api/rfem/structure_core/line_set_pb2.py +4 -4
  314. dlubal/api/rfem/structure_core/line_set_pb2.pyi +19 -10
  315. dlubal/api/rfem/structure_core/material_pb2.py +111 -67
  316. dlubal/api/rfem/structure_core/material_pb2.pyi +1235 -689
  317. dlubal/api/rfem/structure_core/member_pb2.py +192 -45
  318. dlubal/api/rfem/structure_core/member_pb2.pyi +2434 -317
  319. dlubal/api/rfem/structure_core/member_representative_pb2.py +288 -49
  320. dlubal/api/rfem/structure_core/member_representative_pb2.pyi +4011 -302
  321. dlubal/api/rfem/structure_core/member_set_pb2.py +122 -19
  322. dlubal/api/rfem/structure_core/member_set_pb2.pyi +1739 -79
  323. dlubal/api/rfem/structure_core/member_set_representative_pb2.py +406 -65
  324. dlubal/api/rfem/structure_core/member_set_representative_pb2.pyi +5761 -393
  325. dlubal/api/rfem/structure_core/node_pb2.py +14 -8
  326. dlubal/api/rfem/structure_core/node_pb2.pyi +93 -53
  327. dlubal/api/rfem/structure_core/opening_pb2.py +2 -2
  328. dlubal/api/rfem/structure_core/opening_pb2.pyi +12 -8
  329. dlubal/api/rfem/structure_core/section_pb2.py +42 -32
  330. dlubal/api/rfem/structure_core/section_pb2.pyi +1582 -1386
  331. dlubal/api/rfem/structure_core/solid_pb2.py +28 -18
  332. dlubal/api/rfem/structure_core/solid_pb2.pyi +202 -128
  333. dlubal/api/rfem/structure_core/solid_set_pb2.py +10 -4
  334. dlubal/api/rfem/structure_core/solid_set_pb2.pyi +49 -12
  335. dlubal/api/rfem/structure_core/surface_pb2.py +63 -33
  336. dlubal/api/rfem/structure_core/surface_pb2.pyi +346 -168
  337. dlubal/api/rfem/structure_core/surface_set_pb2.py +14 -12
  338. dlubal/api/rfem/structure_core/surface_set_pb2.pyi +67 -49
  339. dlubal/api/rfem/structure_core/thickness_pb2.py +42 -30
  340. dlubal/api/rfem/structure_core/thickness_pb2.pyi +356 -280
  341. dlubal/api/rfem/timber_design_objects/__init__.py +3 -3
  342. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.py +92 -3
  343. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.pyi +498 -3
  344. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.py +92 -3
  345. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.pyi +498 -3
  346. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.py +132 -3
  347. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.pyi +726 -3
  348. dlubal/api/rfem/types_for_aluminum_design/__init__.py +4 -3
  349. dlubal/api/rfem/types_for_aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
  350. dlubal/api/rfem/types_for_aluminum_design/aluminum_boundary_conditions_pb2.pyi +192 -0
  351. dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +58 -23
  352. dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.pyi +315 -83
  353. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.py +14 -5
  354. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.pyi +141 -7
  355. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.py +14 -4
  356. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.pyi +76 -7
  357. dlubal/api/rfem/types_for_concrete_design/__init__.py +5 -5
  358. dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.py +34 -34
  359. dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.pyi +164 -176
  360. dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.py +74 -33
  361. dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.pyi +423 -113
  362. dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.py +24 -18
  363. dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.pyi +217 -128
  364. dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.py +4 -4
  365. dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.pyi +13 -14
  366. dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.py +47 -39
  367. dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.pyi +546 -381
  368. dlubal/api/rfem/types_for_craneway_design/__init__.py +2 -0
  369. dlubal/api/rfem/types_for_craneway_design/crane_pb2.py +36 -0
  370. dlubal/api/rfem/types_for_craneway_design/crane_pb2.pyi +24 -0
  371. dlubal/api/rfem/types_for_craneway_design/craneway_pb2.py +52 -0
  372. dlubal/api/rfem/types_for_craneway_design/craneway_pb2.pyi +117 -0
  373. dlubal/api/rfem/types_for_foundations/__init__.py +1 -0
  374. dlubal/api/rfem/types_for_foundations/single_foundation_pb2.py +79 -0
  375. dlubal/api/rfem/types_for_foundations/single_foundation_pb2.pyi +336 -0
  376. dlubal/api/rfem/types_for_glass_design/__init__.py +1 -0
  377. dlubal/api/rfem/types_for_glass_design/glass_composition_model_pb2.py +91 -0
  378. dlubal/api/rfem/types_for_glass_design/glass_composition_model_pb2.pyi +456 -0
  379. dlubal/api/rfem/types_for_lines/__init__.py +6 -4
  380. dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.py +38 -0
  381. dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.pyi +30 -0
  382. dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +121 -69
  383. dlubal/api/rfem/types_for_lines/line_hinge_pb2.pyi +826 -428
  384. dlubal/api/rfem/types_for_lines/line_link_pb2.py +43 -0
  385. dlubal/api/rfem/types_for_lines/line_link_pb2.pyi +66 -0
  386. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +4 -4
  387. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.pyi +25 -26
  388. dlubal/api/rfem/types_for_lines/line_support_pb2.py +124 -92
  389. dlubal/api/rfem/types_for_lines/line_support_pb2.pyi +884 -699
  390. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +10 -8
  391. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.pyi +63 -56
  392. dlubal/api/rfem/types_for_members/__init__.py +14 -13
  393. dlubal/api/rfem/types_for_members/design_support_pb2.py +28 -16
  394. dlubal/api/rfem/types_for_members/design_support_pb2.pyi +206 -119
  395. dlubal/api/rfem/types_for_members/diagonal_brace_pb2.py +46 -0
  396. dlubal/api/rfem/types_for_members/diagonal_brace_pb2.pyi +103 -0
  397. dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +2 -2
  398. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +14 -14
  399. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.pyi +59 -63
  400. dlubal/api/rfem/types_for_members/member_hinge_pb2.py +214 -116
  401. dlubal/api/rfem/types_for_members/member_hinge_pb2.pyi +1286 -742
  402. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +4 -4
  403. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.pyi +40 -41
  404. dlubal/api/rfem/types_for_members/member_openings_pb2.py +12 -4
  405. dlubal/api/rfem/types_for_members/member_openings_pb2.pyi +68 -7
  406. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.py +6 -4
  407. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.pyi +18 -6
  408. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +16 -14
  409. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.pyi +66 -50
  410. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +6 -6
  411. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.pyi +32 -34
  412. dlubal/api/rfem/types_for_members/member_spring_pb2.py +18 -16
  413. dlubal/api/rfem/types_for_members/member_spring_pb2.pyi +90 -80
  414. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +14 -12
  415. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.pyi +77 -68
  416. dlubal/api/rfem/types_for_members/member_support_pb2.py +14 -14
  417. dlubal/api/rfem/types_for_members/member_support_pb2.pyi +90 -96
  418. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.py +14 -4
  419. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.pyi +120 -9
  420. dlubal/api/rfem/types_for_nodes/__init__.py +3 -2
  421. dlubal/api/rfem/types_for_nodes/nodal_link_pb2.py +43 -0
  422. dlubal/api/rfem/types_for_nodes/nodal_link_pb2.pyi +74 -0
  423. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +6 -6
  424. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.pyi +19 -21
  425. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +176 -136
  426. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.pyi +1293 -1039
  427. dlubal/api/rfem/types_for_solids/__init__.py +3 -3
  428. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +6 -6
  429. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.pyi +27 -29
  430. dlubal/api/rfem/types_for_solids/solid_gas_pb2.py +2 -2
  431. dlubal/api/rfem/types_for_solids/solid_gas_pb2.pyi +8 -8
  432. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.py +2 -2
  433. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.pyi +4 -4
  434. dlubal/api/rfem/types_for_special_objects/__init__.py +4 -4
  435. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +122 -71
  436. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.pyi +796 -442
  437. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +165 -77
  438. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.pyi +1215 -564
  439. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +46 -34
  440. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.pyi +277 -209
  441. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +10 -10
  442. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.pyi +42 -46
  443. dlubal/api/rfem/types_for_steel_design/__init__.py +4 -3
  444. dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.py +18 -9
  445. dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.pyi +154 -22
  446. dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.py +84 -57
  447. dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.pyi +423 -236
  448. dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.py +14 -5
  449. dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.pyi +141 -7
  450. dlubal/api/rfem/types_for_steel_design/steel_member_transverse_weld_pb2.py +48 -0
  451. dlubal/api/rfem/types_for_steel_design/steel_member_transverse_weld_pb2.pyi +105 -0
  452. dlubal/api/rfem/types_for_steel_joints/__init__.py +1 -0
  453. dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.py +51 -0
  454. dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.pyi +160 -0
  455. dlubal/api/rfem/types_for_surfaces/__init__.py +4 -4
  456. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +8 -8
  457. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.pyi +28 -31
  458. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.py +2 -2
  459. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.pyi +4 -4
  460. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +6 -6
  461. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.pyi +36 -30
  462. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +8 -8
  463. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.pyi +37 -38
  464. dlubal/api/rfem/types_for_timber_design/__init__.py +6 -5
  465. dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.py +72 -23
  466. dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.pyi +404 -65
  467. dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.py +14 -4
  468. dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.pyi +96 -7
  469. dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.py +4 -4
  470. dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.pyi +17 -14
  471. dlubal/api/rfem/types_for_timber_design/timber_screw_type_pb2.py +38 -0
  472. dlubal/api/rfem/types_for_timber_design/timber_screw_type_pb2.pyi +58 -0
  473. dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.py +4 -4
  474. dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.pyi +17 -14
  475. dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.py +8 -8
  476. dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.pyi +61 -56
  477. dlubal/api/rfem/types_for_wind_simulation/__init__.py +2 -0
  478. dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
  479. dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +85 -0
  480. dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.py +40 -0
  481. dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.pyi +59 -0
  482. dlubal/api/rsection/__init__.py +14 -0
  483. dlubal/api/rsection/all_pb2.py +36 -0
  484. dlubal/api/rsection/all_pb2.pyi +9 -0
  485. dlubal/api/rsection/application.py +508 -0
  486. dlubal/api/rsection/application_pb2.py +48 -0
  487. dlubal/api/rsection/application_pb2.pyi +39 -0
  488. dlubal/api/rsection/application_pb2_grpc.py +1293 -0
  489. dlubal/api/rsection/base_data_pb2.py +58 -0
  490. dlubal/api/rsection/base_data_pb2.pyi +158 -0
  491. dlubal/api/rsection/global_parameters/__init__.py +1 -0
  492. dlubal/api/rsection/global_parameters/global_parameter_pb2.py +40 -0
  493. dlubal/api/rsection/global_parameters/global_parameter_pb2.pyi +150 -0
  494. dlubal/api/rsection/guide_objects/__init__.py +4 -0
  495. dlubal/api/rsection/guide_objects/dimension_pb2.py +71 -0
  496. dlubal/api/rsection/guide_objects/dimension_pb2.pyi +312 -0
  497. dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.py +43 -0
  498. dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.pyi +125 -0
  499. dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.py +38 -0
  500. dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  501. dlubal/api/rsection/guide_objects/object_snap_pb2.py +38 -0
  502. dlubal/api/rsection/guide_objects/object_snap_pb2.pyi +86 -0
  503. dlubal/api/rsection/internal_forces/__init__.py +1 -0
  504. dlubal/api/rsection/internal_forces/internal_forces_pb2.py +38 -0
  505. dlubal/api/rsection/internal_forces/internal_forces_pb2.pyi +58 -0
  506. dlubal/api/rsection/loading/__init__.py +2 -0
  507. dlubal/api/rsection/loading/load_case_pb2.py +38 -0
  508. dlubal/api/rsection/loading/load_case_pb2.pyi +616 -0
  509. dlubal/api/rsection/loading/load_combination_pb2.py +42 -0
  510. dlubal/api/rsection/loading/load_combination_pb2.pyi +113 -0
  511. dlubal/api/rsection/object_id_pb2.py +39 -0
  512. dlubal/api/rsection/object_id_pb2.pyi +25 -0
  513. dlubal/api/rsection/object_type_pb2.py +36 -0
  514. dlubal/api/rsection/object_type_pb2.pyi +60 -0
  515. dlubal/api/rsection/results/__init__.py +4 -0
  516. dlubal/api/rsection/results/result_table_pb2.py +36 -0
  517. dlubal/api/rsection/results/result_table_pb2.pyi +10 -0
  518. dlubal/api/rsection/results/results_query_pb2.py +41 -0
  519. dlubal/api/rsection/results/results_query_pb2.pyi +31 -0
  520. dlubal/api/rsection/results/results_type_pb2.py +36 -0
  521. dlubal/api/rsection/results/results_type_pb2.pyi +10 -0
  522. dlubal/api/rsection/results/settings/__init__.py +1 -0
  523. dlubal/api/rsection/results/settings/result_settings_pb2.py +38 -0
  524. dlubal/api/rsection/results/settings/result_settings_pb2.pyi +23 -0
  525. dlubal/api/rsection/rsection_stresses/__init__.py +1 -0
  526. dlubal/api/rsection/rsection_stresses/member_configuration_pb2.py +41 -0
  527. dlubal/api/rsection/rsection_stresses/member_configuration_pb2.pyi +53 -0
  528. dlubal/api/rsection/structure_advanced/__init__.py +1 -0
  529. dlubal/api/rsection/structure_advanced/block_pb2.py +55 -0
  530. dlubal/api/rsection/structure_advanced/block_pb2.pyi +190 -0
  531. dlubal/api/rsection/structure_core/__init__.py +15 -0
  532. dlubal/api/rsection/structure_core/bar_pb2.py +40 -0
  533. dlubal/api/rsection/structure_core/bar_pb2.pyi +102 -0
  534. dlubal/api/rsection/structure_core/element_pb2.py +53 -0
  535. dlubal/api/rsection/structure_core/element_pb2.pyi +204 -0
  536. dlubal/api/rsection/structure_core/layer_group_pb2.py +36 -0
  537. dlubal/api/rsection/structure_core/layer_group_pb2.pyi +22 -0
  538. dlubal/api/rsection/structure_core/layer_pb2.py +38 -0
  539. dlubal/api/rsection/structure_core/layer_pb2.pyi +44 -0
  540. dlubal/api/rsection/structure_core/line_pb2.py +59 -0
  541. dlubal/api/rsection/structure_core/line_pb2.pyi +222 -0
  542. dlubal/api/rsection/structure_core/material_pb2.py +110 -0
  543. dlubal/api/rsection/structure_core/material_pb2.pyi +1037 -0
  544. dlubal/api/rsection/structure_core/opening_pb2.py +37 -0
  545. dlubal/api/rsection/structure_core/opening_pb2.pyi +39 -0
  546. dlubal/api/rsection/structure_core/part_pb2.py +39 -0
  547. dlubal/api/rsection/structure_core/part_pb2.pyi +58 -0
  548. dlubal/api/rsection/structure_core/point_pb2.py +43 -0
  549. dlubal/api/rsection/structure_core/point_pb2.pyi +109 -0
  550. dlubal/api/rsection/structure_core/reinforcement_layer_pb2.py +36 -0
  551. dlubal/api/rsection/structure_core/reinforcement_layer_pb2.pyi +23 -0
  552. dlubal/api/rsection/structure_core/section_pb2.py +50 -0
  553. dlubal/api/rsection/structure_core/section_pb2.pyi +1723 -0
  554. dlubal/api/rsection/structure_core/stirrup_pb2.py +36 -0
  555. dlubal/api/rsection/structure_core/stirrup_pb2.pyi +42 -0
  556. dlubal/api/rsection/structure_core/stress_point_pb2.py +45 -0
  557. dlubal/api/rsection/structure_core/stress_point_pb2.pyi +101 -0
  558. dlubal/api/rsection/structure_core/subpanel_pb2.py +38 -0
  559. dlubal/api/rsection/structure_core/subpanel_pb2.pyi +49 -0
  560. dlubal/api/rsection/structure_core/weld_pb2.py +38 -0
  561. dlubal/api/rsection/structure_core/weld_pb2.pyi +46 -0
  562. dlubal/api/rstab/__init__.py +37 -0
  563. dlubal/api/rstab/all_pb2.py +36 -0
  564. dlubal/api/rstab/all_pb2.pyi +9 -0
  565. dlubal/api/rstab/aluminum_design_objects/__init__.py +2 -0
  566. dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +77 -0
  567. dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +261 -0
  568. dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +77 -0
  569. dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +261 -0
  570. dlubal/api/rstab/application.py +740 -0
  571. dlubal/api/rstab/application_pb2.py +69 -0
  572. dlubal/api/rstab/application_pb2.pyi +121 -0
  573. dlubal/api/rstab/application_pb2_grpc.py +1736 -0
  574. dlubal/api/rstab/base_data_objects/__init__.py +1 -0
  575. dlubal/api/rstab/base_data_objects/terrain_pb2.py +42 -0
  576. dlubal/api/rstab/base_data_objects/terrain_pb2.pyi +71 -0
  577. dlubal/api/rstab/base_data_pb2.py +92 -0
  578. dlubal/api/rstab/base_data_pb2.pyi +2361 -0
  579. dlubal/api/rstab/calculation_diagrams/__init__.py +1 -0
  580. dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.py +61 -0
  581. dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.pyi +1762 -0
  582. dlubal/api/rstab/concrete_design_objects/__init__.py +4 -0
  583. dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.py +93 -0
  584. dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +369 -0
  585. dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +57 -0
  586. dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +171 -0
  587. dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.py +61 -0
  588. dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +181 -0
  589. dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.py +109 -0
  590. dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +445 -0
  591. dlubal/api/rstab/design_addons_pb2.py +36 -0
  592. dlubal/api/rstab/design_addons_pb2.pyi +22 -0
  593. dlubal/api/rstab/dynamic_analysis_pb2.py +36 -0
  594. dlubal/api/rstab/dynamic_analysis_pb2.pyi +23 -0
  595. dlubal/api/rstab/dynamic_loads/__init__.py +3 -0
  596. dlubal/api/rstab/dynamic_loads/accelerogram_pb2.py +42 -0
  597. dlubal/api/rstab/dynamic_loads/accelerogram_pb2.pyi +67 -0
  598. dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.py +44 -0
  599. dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.pyi +91 -0
  600. dlubal/api/rstab/dynamic_loads/time_diagram_pb2.py +46 -0
  601. dlubal/api/rstab/dynamic_loads/time_diagram_pb2.pyi +83 -0
  602. dlubal/api/rstab/foundation_design_objects/__init__.py +2 -0
  603. dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
  604. dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
  605. dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
  606. dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
  607. dlubal/api/rstab/global_parameters/__init__.py +1 -0
  608. dlubal/api/rstab/global_parameters/global_parameter_pb2.py +40 -0
  609. dlubal/api/rstab/global_parameters/global_parameter_pb2.pyi +278 -0
  610. dlubal/api/rstab/guide_objects/__init__.py +15 -0
  611. dlubal/api/rstab/guide_objects/building_grid_pb2.py +53 -0
  612. dlubal/api/rstab/guide_objects/building_grid_pb2.pyi +207 -0
  613. dlubal/api/rstab/guide_objects/clipping_box_pb2.py +37 -0
  614. dlubal/api/rstab/guide_objects/clipping_box_pb2.pyi +40 -0
  615. dlubal/api/rstab/guide_objects/clipping_plane_pb2.py +45 -0
  616. dlubal/api/rstab/guide_objects/clipping_plane_pb2.pyi +121 -0
  617. dlubal/api/rstab/guide_objects/coordinate_system_pb2.py +41 -0
  618. dlubal/api/rstab/guide_objects/coordinate_system_pb2.pyi +91 -0
  619. dlubal/api/rstab/guide_objects/dimension_pb2.py +69 -0
  620. dlubal/api/rstab/guide_objects/dimension_pb2.pyi +280 -0
  621. dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.py +41 -0
  622. dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.pyi +121 -0
  623. dlubal/api/rstab/guide_objects/dxf_model_object_pb2.py +36 -0
  624. dlubal/api/rstab/guide_objects/dxf_model_object_pb2.pyi +15 -0
  625. dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.py +38 -0
  626. dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  627. dlubal/api/rstab/guide_objects/guideline_pb2.py +42 -0
  628. dlubal/api/rstab/guide_objects/guideline_pb2.pyi +90 -0
  629. dlubal/api/rstab/guide_objects/layer_group_pb2.py +36 -0
  630. dlubal/api/rstab/guide_objects/layer_group_pb2.pyi +22 -0
  631. dlubal/api/rstab/guide_objects/layer_pb2.py +38 -0
  632. dlubal/api/rstab/guide_objects/layer_pb2.pyi +44 -0
  633. dlubal/api/rstab/guide_objects/note_pb2.py +43 -0
  634. dlubal/api/rstab/guide_objects/note_pb2.pyi +117 -0
  635. dlubal/api/rstab/guide_objects/object_snap_pb2.py +38 -0
  636. dlubal/api/rstab/guide_objects/object_snap_pb2.pyi +86 -0
  637. dlubal/api/rstab/guide_objects/texture_pb2.py +36 -0
  638. dlubal/api/rstab/guide_objects/texture_pb2.pyi +41 -0
  639. dlubal/api/rstab/guide_objects/visual_object_pb2.py +43 -0
  640. dlubal/api/rstab/guide_objects/visual_object_pb2.pyi +135 -0
  641. dlubal/api/rstab/ifc_objects/__init__.py +2 -0
  642. dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.py +46 -0
  643. dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
  644. dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.py +38 -0
  645. dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.pyi +32 -0
  646. dlubal/api/rstab/imperfections/__init__.py +3 -0
  647. dlubal/api/rstab/imperfections/imperfection_case_pb2.py +60 -0
  648. dlubal/api/rstab/imperfections/imperfection_case_pb2.pyi +215 -0
  649. dlubal/api/rstab/imperfections/member_imperfection_pb2.py +50 -0
  650. dlubal/api/rstab/imperfections/member_imperfection_pb2.pyi +205 -0
  651. dlubal/api/rstab/imperfections/member_set_imperfection_pb2.py +50 -0
  652. dlubal/api/rstab/imperfections/member_set_imperfection_pb2.pyi +203 -0
  653. dlubal/api/rstab/load_wizards/__init__.py +7 -0
  654. dlubal/api/rstab/load_wizards/import_support_reactions_pb2.py +46 -0
  655. dlubal/api/rstab/load_wizards/import_support_reactions_pb2.pyi +89 -0
  656. dlubal/api/rstab/load_wizards/load_model_pb2.py +50 -0
  657. dlubal/api/rstab/load_wizards/load_model_pb2.pyi +113 -0
  658. dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.py +46 -0
  659. dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
  660. dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
  661. dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
  662. dlubal/api/rstab/load_wizards/moving_load_pb2.py +52 -0
  663. dlubal/api/rstab/load_wizards/moving_load_pb2.pyi +715 -0
  664. dlubal/api/rstab/load_wizards/wind_profile_pb2.py +48 -0
  665. dlubal/api/rstab/load_wizards/wind_profile_pb2.pyi +777 -0
  666. dlubal/api/rstab/load_wizards/wind_simulation_pb2.py +55 -0
  667. dlubal/api/rstab/load_wizards/wind_simulation_pb2.pyi +148 -0
  668. dlubal/api/rstab/loading/__init__.py +16 -0
  669. dlubal/api/rstab/loading/action_combination_pb2.py +48 -0
  670. dlubal/api/rstab/loading/action_combination_pb2.pyi +153 -0
  671. dlubal/api/rstab/loading/action_pb2.py +54 -0
  672. dlubal/api/rstab/loading/action_pb2.pyi +719 -0
  673. dlubal/api/rstab/loading/combination_wizard_pb2.py +47 -0
  674. dlubal/api/rstab/loading/combination_wizard_pb2.pyi +106 -0
  675. dlubal/api/rstab/loading/design_situation_pb2.py +47 -0
  676. dlubal/api/rstab/loading/design_situation_pb2.pyi +1196 -0
  677. dlubal/api/rstab/loading/load_case_pb2.py +102 -0
  678. dlubal/api/rstab/loading/load_case_pb2.pyi +1365 -0
  679. dlubal/api/rstab/loading/load_combination_pb2.py +65 -0
  680. dlubal/api/rstab/loading/load_combination_pb2.pyi +384 -0
  681. dlubal/api/rstab/loading/modal_analysis_settings_pb2.py +52 -0
  682. dlubal/api/rstab/loading/modal_analysis_settings_pb2.pyi +147 -0
  683. dlubal/api/rstab/loading/optimization_settings_pb2.py +46 -0
  684. dlubal/api/rstab/loading/optimization_settings_pb2.pyi +111 -0
  685. dlubal/api/rstab/loading/pushover_analysis_settings_pb2.py +38 -0
  686. dlubal/api/rstab/loading/pushover_analysis_settings_pb2.pyi +50 -0
  687. dlubal/api/rstab/loading/relationship_between_load_cases_pb2.py +44 -0
  688. dlubal/api/rstab/loading/relationship_between_load_cases_pb2.pyi +66 -0
  689. dlubal/api/rstab/loading/result_combination_pb2.py +59 -0
  690. dlubal/api/rstab/loading/result_combination_pb2.pyi +300 -0
  691. dlubal/api/rstab/loading/spectral_analysis_settings_pb2.py +46 -0
  692. dlubal/api/rstab/loading/spectral_analysis_settings_pb2.pyi +80 -0
  693. dlubal/api/rstab/loading/stability_analysis_settings_pb2.py +44 -0
  694. dlubal/api/rstab/loading/stability_analysis_settings_pb2.pyi +114 -0
  695. dlubal/api/rstab/loading/static_analysis_settings_pb2.py +42 -0
  696. dlubal/api/rstab/loading/static_analysis_settings_pb2.pyi +110 -0
  697. dlubal/api/rstab/loading/time_history_analysis_settings_pb2.py +54 -0
  698. dlubal/api/rstab/loading/time_history_analysis_settings_pb2.pyi +159 -0
  699. dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.py +52 -0
  700. dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.pyi +176 -0
  701. dlubal/api/rstab/loads/__init__.py +5 -0
  702. dlubal/api/rstab/loads/additional_foundation_load_pb2.py +41 -0
  703. dlubal/api/rstab/loads/additional_foundation_load_pb2.pyi +80 -0
  704. dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.py +37 -0
  705. dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.pyi +43 -0
  706. dlubal/api/rstab/loads/member_load_pb2.py +79 -0
  707. dlubal/api/rstab/loads/member_load_pb2.pyi +492 -0
  708. dlubal/api/rstab/loads/member_set_load_pb2.py +79 -0
  709. dlubal/api/rstab/loads/member_set_load_pb2.pyi +490 -0
  710. dlubal/api/rstab/loads/nodal_load_pb2.py +49 -0
  711. dlubal/api/rstab/loads/nodal_load_pb2.pyi +224 -0
  712. dlubal/api/rstab/object_id_pb2.py +39 -0
  713. dlubal/api/rstab/object_id_pb2.pyi +25 -0
  714. dlubal/api/rstab/object_type_pb2.py +36 -0
  715. dlubal/api/rstab/object_type_pb2.pyi +248 -0
  716. dlubal/api/rstab/results/__init__.py +4 -0
  717. dlubal/api/rstab/results/result_table_pb2.py +36 -0
  718. dlubal/api/rstab/results/result_table_pb2.pyi +480 -0
  719. dlubal/api/rstab/results/results_query_pb2.py +41 -0
  720. dlubal/api/rstab/results/results_query_pb2.pyi +31 -0
  721. dlubal/api/rstab/results/results_type_pb2.py +36 -0
  722. dlubal/api/rstab/results/results_type_pb2.pyi +338 -0
  723. dlubal/api/rstab/results/settings/__init__.py +1 -0
  724. dlubal/api/rstab/results/settings/result_settings_pb2.py +38 -0
  725. dlubal/api/rstab/results/settings/result_settings_pb2.pyi +23 -0
  726. dlubal/api/rstab/rsection_stresses/__init__.py +1 -0
  727. dlubal/api/rstab/rsection_stresses/member_configuration_pb2.py +41 -0
  728. dlubal/api/rstab/rsection_stresses/member_configuration_pb2.pyi +53 -0
  729. dlubal/api/rstab/steel_design_objects/__init__.py +4 -0
  730. dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.py +57 -0
  731. dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.pyi +143 -0
  732. dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.py +53 -0
  733. dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +121 -0
  734. dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.py +141 -0
  735. dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.pyi +613 -0
  736. dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.py +141 -0
  737. dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.pyi +613 -0
  738. dlubal/api/rstab/structure_advanced/__init__.py +4 -0
  739. dlubal/api/rstab/structure_advanced/block_pb2.py +55 -0
  740. dlubal/api/rstab/structure_advanced/block_pb2.pyi +192 -0
  741. dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.py +44 -0
  742. dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.pyi +71 -0
  743. dlubal/api/rstab/structure_advanced/nodal_release_pb2.py +42 -0
  744. dlubal/api/rstab/structure_advanced/nodal_release_pb2.pyi +61 -0
  745. dlubal/api/rstab/structure_advanced/structure_modification_pb2.py +66 -0
  746. dlubal/api/rstab/structure_advanced/structure_modification_pb2.pyi +255 -0
  747. dlubal/api/rstab/structure_core/__init__.py +7 -0
  748. dlubal/api/rstab/structure_core/material_pb2.py +112 -0
  749. dlubal/api/rstab/structure_core/material_pb2.pyi +1047 -0
  750. dlubal/api/rstab/structure_core/member_pb2.py +214 -0
  751. dlubal/api/rstab/structure_core/member_pb2.pyi +2525 -0
  752. dlubal/api/rstab/structure_core/member_representative_pb2.py +310 -0
  753. dlubal/api/rstab/structure_core/member_representative_pb2.pyi +4141 -0
  754. dlubal/api/rstab/structure_core/member_set_pb2.py +156 -0
  755. dlubal/api/rstab/structure_core/member_set_pb2.pyi +1885 -0
  756. dlubal/api/rstab/structure_core/member_set_representative_pb2.py +430 -0
  757. dlubal/api/rstab/structure_core/member_set_representative_pb2.pyi +6065 -0
  758. dlubal/api/rstab/structure_core/node_pb2.py +49 -0
  759. dlubal/api/rstab/structure_core/node_pb2.pyi +174 -0
  760. dlubal/api/rstab/structure_core/section_pb2.py +76 -0
  761. dlubal/api/rstab/structure_core/section_pb2.pyi +2135 -0
  762. dlubal/api/rstab/timber_design_objects/__init__.py +3 -0
  763. dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.py +125 -0
  764. dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.pyi +517 -0
  765. dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.py +125 -0
  766. dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.pyi +517 -0
  767. dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.py +165 -0
  768. dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.pyi +745 -0
  769. dlubal/api/rstab/types_for_aluminum_design/__init__.py +4 -0
  770. dlubal/api/rstab/types_for_aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
  771. dlubal/api/rstab/types_for_aluminum_design/aluminum_boundary_conditions_pb2.pyi +188 -0
  772. dlubal/api/rstab/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +91 -0
  773. dlubal/api/rstab/types_for_aluminum_design/aluminum_effective_lengths_pb2.pyi +382 -0
  774. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.py +47 -0
  775. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.pyi +166 -0
  776. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.py +48 -0
  777. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.pyi +101 -0
  778. dlubal/api/rstab/types_for_concrete_design/__init__.py +2 -0
  779. dlubal/api/rstab/types_for_concrete_design/concrete_durability_pb2.py +68 -0
  780. dlubal/api/rstab/types_for_concrete_design/concrete_durability_pb2.pyi +251 -0
  781. dlubal/api/rstab/types_for_concrete_design/concrete_effective_lengths_pb2.py +107 -0
  782. dlubal/api/rstab/types_for_concrete_design/concrete_effective_lengths_pb2.pyi +496 -0
  783. dlubal/api/rstab/types_for_craneway_design/__init__.py +2 -0
  784. dlubal/api/rstab/types_for_craneway_design/crane_pb2.py +36 -0
  785. dlubal/api/rstab/types_for_craneway_design/crane_pb2.pyi +24 -0
  786. dlubal/api/rstab/types_for_craneway_design/craneway_pb2.py +52 -0
  787. dlubal/api/rstab/types_for_craneway_design/craneway_pb2.pyi +117 -0
  788. dlubal/api/rstab/types_for_foundations/__init__.py +1 -0
  789. dlubal/api/rstab/types_for_foundations/single_foundation_pb2.py +79 -0
  790. dlubal/api/rstab/types_for_foundations/single_foundation_pb2.pyi +334 -0
  791. dlubal/api/rstab/types_for_members/__init__.py +13 -0
  792. dlubal/api/rstab/types_for_members/design_support_pb2.py +62 -0
  793. dlubal/api/rstab/types_for_members/design_support_pb2.pyi +249 -0
  794. dlubal/api/rstab/types_for_members/diagonal_brace_pb2.py +46 -0
  795. dlubal/api/rstab/types_for_members/diagonal_brace_pb2.pyi +99 -0
  796. dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.py +36 -0
  797. dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
  798. dlubal/api/rstab/types_for_members/member_eccentricity_pb2.py +49 -0
  799. dlubal/api/rstab/types_for_members/member_eccentricity_pb2.pyi +107 -0
  800. dlubal/api/rstab/types_for_members/member_hinge_pb2.py +249 -0
  801. dlubal/api/rstab/types_for_members/member_hinge_pb2.pyi +1770 -0
  802. dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.py +38 -0
  803. dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.pyi +61 -0
  804. dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.py +40 -0
  805. dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.pyi +52 -0
  806. dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.py +50 -0
  807. dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.pyi +127 -0
  808. dlubal/api/rstab/types_for_members/member_shear_panel_pb2.py +40 -0
  809. dlubal/api/rstab/types_for_members/member_shear_panel_pb2.pyi +80 -0
  810. dlubal/api/rstab/types_for_members/member_spring_pb2.py +52 -0
  811. dlubal/api/rstab/types_for_members/member_spring_pb2.pyi +149 -0
  812. dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.py +48 -0
  813. dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.pyi +139 -0
  814. dlubal/api/rstab/types_for_members/member_support_pb2.py +49 -0
  815. dlubal/api/rstab/types_for_members/member_support_pb2.pyi +156 -0
  816. dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.py +48 -0
  817. dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.pyi +143 -0
  818. dlubal/api/rstab/types_for_nodes/__init__.py +2 -0
  819. dlubal/api/rstab/types_for_nodes/nodal_link_pb2.py +43 -0
  820. dlubal/api/rstab/types_for_nodes/nodal_link_pb2.pyi +74 -0
  821. dlubal/api/rstab/types_for_nodes/nodal_support_pb2.py +211 -0
  822. dlubal/api/rstab/types_for_nodes/nodal_support_pb2.pyi +1444 -0
  823. dlubal/api/rstab/types_for_special_objects/__init__.py +1 -0
  824. dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.py +198 -0
  825. dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.pyi +1381 -0
  826. dlubal/api/rstab/types_for_steel_design/__init__.py +4 -0
  827. dlubal/api/rstab/types_for_steel_design/steel_boundary_conditions_pb2.py +51 -0
  828. dlubal/api/rstab/types_for_steel_design/steel_boundary_conditions_pb2.pyi +188 -0
  829. dlubal/api/rstab/types_for_steel_design/steel_effective_lengths_pb2.py +117 -0
  830. dlubal/api/rstab/types_for_steel_design/steel_effective_lengths_pb2.pyi +524 -0
  831. dlubal/api/rstab/types_for_steel_design/steel_member_local_section_reduction_pb2.py +47 -0
  832. dlubal/api/rstab/types_for_steel_design/steel_member_local_section_reduction_pb2.pyi +166 -0
  833. dlubal/api/rstab/types_for_steel_design/steel_member_transverse_weld_pb2.py +48 -0
  834. dlubal/api/rstab/types_for_steel_design/steel_member_transverse_weld_pb2.pyi +101 -0
  835. dlubal/api/rstab/types_for_timber_design/__init__.py +6 -0
  836. dlubal/api/rstab/types_for_timber_design/timber_effective_lengths_pb2.py +105 -0
  837. dlubal/api/rstab/types_for_timber_design/timber_effective_lengths_pb2.pyi +478 -0
  838. dlubal/api/rstab/types_for_timber_design/timber_member_local_section_reduction_pb2.py +48 -0
  839. dlubal/api/rstab/types_for_timber_design/timber_member_local_section_reduction_pb2.pyi +121 -0
  840. dlubal/api/rstab/types_for_timber_design/timber_moisture_class_pb2.py +38 -0
  841. dlubal/api/rstab/types_for_timber_design/timber_moisture_class_pb2.pyi +41 -0
  842. dlubal/api/rstab/types_for_timber_design/timber_screw_type_pb2.py +38 -0
  843. dlubal/api/rstab/types_for_timber_design/timber_screw_type_pb2.pyi +58 -0
  844. dlubal/api/rstab/types_for_timber_design/timber_service_class_pb2.py +38 -0
  845. dlubal/api/rstab/types_for_timber_design/timber_service_class_pb2.pyi +41 -0
  846. dlubal/api/rstab/types_for_timber_design/timber_service_conditions_pb2.py +42 -0
  847. dlubal/api/rstab/types_for_timber_design/timber_service_conditions_pb2.pyi +107 -0
  848. dlubal/api/rstab/types_for_wind_simulation/__init__.py +2 -0
  849. dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
  850. dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +81 -0
  851. dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.py +40 -0
  852. dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.pyi +55 -0
  853. dlubal_api-2.12.2.dist-info/METADATA +76 -0
  854. dlubal_api-2.12.2.dist-info/RECORD +927 -0
  855. {dlubal.api-0.1.293714a1.dist-info → dlubal_api-2.12.2.dist-info}/WHEEL +1 -1
  856. dlubal_api-2.12.2.dist-info/top_level.txt +3 -0
  857. examples/rfem/base_data.py +26 -0
  858. examples/rfem/block.py +29 -0
  859. examples/rfem/bus_station.py +395 -0
  860. examples/rfem/cantilever.py +172 -0
  861. examples/rfem/column.py +185 -0
  862. examples/rfem/component_design.py +161 -0
  863. examples/rfem/demo_limits.py +373 -0
  864. examples/rfem/design_configuration.py +71 -0
  865. examples/rfem/design_settings.py +37 -0
  866. examples/rfem/excel.py +86 -0
  867. examples/rfem/export_model_to.py +159 -0
  868. examples/rfem/frame.py +285 -0
  869. examples/rfem/import_from_ifc.py +60 -0
  870. examples/rfem/import_from_rsection.py +107 -0
  871. examples/rfem/import_from_xml.py +29 -0
  872. examples/rfem/material_user_defined.py +25 -0
  873. examples/rfem/mesh_settings.py +25 -0
  874. examples/rfem/multiple_models.py +1608 -0
  875. examples/rfem/nested_tables.py +81 -0
  876. examples/rfem/pydantic_streamlit.py +101 -0
  877. examples/rfem/results_access.py +38 -0
  878. examples/rfem/results_axes_system.py +53 -0
  879. examples/rfem/results_design_addons.py +58 -0
  880. examples/rfem/results_filtering.py +43 -0
  881. examples/rfem/results_in_location.py +39 -0
  882. examples/rfem/results_multiple_models.py +45 -0
  883. examples/rfem/sectioned_roof.py +449 -0
  884. examples/rfem/select_objects.py +39 -0
  885. examples/rfem/silo.py +750 -0
  886. examples/rfem/steel_design_configuration.py +27 -0
  887. examples/rfem/steel_hall.py +670 -0
  888. examples/rfem/steel_station.py +890 -0
  889. examples/rfem/tank_wind_load.py +180 -0
  890. examples/rsection/base_data.py +20 -0
  891. examples/rsection/steel_section.py +114 -0
  892. examples/rstab/base_data.py +25 -0
  893. examples/rstab/cantilever.py +166 -0
  894. examples/rstab/column.py +184 -0
  895. examples/rstab/dataframe.py +20 -0
  896. examples/rstab/design_settings.py +37 -0
  897. examples/rstab/excel.py +86 -0
  898. examples/rstab/export_model_to.py +154 -0
  899. examples/rstab/frame.py +285 -0
  900. examples/rstab/import_from_ifc.py +46 -0
  901. examples/rstab/import_from_rsection.py +107 -0
  902. examples/rstab/import_from_xml.py +29 -0
  903. examples/rstab/multiple_models.py +1358 -0
  904. examples/rstab/nested_tables.py +29 -0
  905. examples/rstab/pydantic_streamlit.py +101 -0
  906. examples/rstab/results_access.py +38 -0
  907. examples/rstab/results_axes_system.py +53 -0
  908. examples/rstab/results_in_location.py +39 -0
  909. examples/rstab/results_multiple_models.py +40 -0
  910. examples/rstab/select_objects.py +39 -0
  911. google/protobuf/any_pb2.py +37 -0
  912. google/protobuf/any_pb2.pyi +14 -0
  913. google/protobuf/descriptor_pb2.py +3363 -0
  914. google/protobuf/descriptor_pb2.pyi +723 -0
  915. google/protobuf/empty_pb2.py +37 -0
  916. google/protobuf/empty_pb2.pyi +9 -0
  917. google/protobuf/wrappers_pb2.py +53 -0
  918. google/protobuf/wrappers_pb2.pyi +59 -0
  919. dlubal/api/rfem/base_data/terrain_pb2.py +0 -40
  920. dlubal/api/rfem/base_data/terrain_pb2.pyi +0 -53
  921. dlubal/api/rfem/imperfections/surface_imperfection_pb2.py +0 -40
  922. dlubal/api/rfem/imperfections/surface_imperfection_pb2.pyi +0 -55
  923. dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.py +0 -40
  924. dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.pyi +0 -55
  925. dlubal/api/rfem/packing.py +0 -45
  926. dlubal/api/rfem/results/results_id_pb2.pyi +0 -14
  927. dlubal.api-0.1.293714a1.dist-info/METADATA +0 -40
  928. dlubal.api-0.1.293714a1.dist-info/RECORD +0 -342
  929. dlubal.api-0.1.293714a1.dist-info/top_level.txt +0 -1
@@ -0,0 +1,20 @@
1
+ from dlubal.api import rstab
2
+
3
+ # Connect to the RSTAB application
4
+ with rstab.Application() as rstab_app:
5
+
6
+ rstab_app.close_all_models(save_changes=False)
7
+ rstab_app.create_model(name='dataframe')
8
+
9
+ # GetResults returns Table, which is just a convenience wrapper around a Pandas Dataframe.
10
+ # The Dataframe can be directly accessed as .data
11
+
12
+ print("Filtered results:")
13
+ results = rstab_app.get_results(
14
+ rstab.results.TEST,
15
+ filters=[rstab.results.ResultsFilter(
16
+ column_id="support_force_p_x",
17
+ filter_expression="max")],
18
+ )
19
+
20
+ print(results.data)
@@ -0,0 +1,37 @@
1
+ from dlubal.api import rstab, common
2
+
3
+ # Connect to the rstab application
4
+ with rstab.Application() as rstab_app:
5
+
6
+ # Step 1: Retrieve the global settings tree table for Steel Design (active model)
7
+ design_settings: rstab.GlobalSettingsTreeTable = rstab_app.get_design_settings(
8
+ addon=rstab.DesignAddons.STEEL_DESIGN
9
+ )
10
+ print(f"DESIGN SETTINGS:\n{design_settings}")
11
+
12
+ # Step 2: Retrieve a specific value
13
+ # Path to access the member slenderness setting
14
+ member_slendernesses_path = [
15
+ 'member_slendernesses',
16
+ 'member_slendernesses_tension_ec3'
17
+ ]
18
+ # Fetch the value of the specific setting
19
+ member_slendernesses_val = common.get_tree_value(
20
+ tree=design_settings,
21
+ path=member_slendernesses_path
22
+ )
23
+ print(f"\nMember slendernesses: {member_slendernesses_val}")
24
+
25
+ # Step 3: Modify the value and save the updated design settings
26
+ # Set a new value
27
+ common.set_tree_value(
28
+ tree=design_settings,
29
+ path=member_slendernesses_path,
30
+ value=250,
31
+ )
32
+ # Apply the updated design settings to the model
33
+ rstab_app.set_design_settings(
34
+ addon=rstab.DesignAddons.STEEL_DESIGN,
35
+ global_settings_tree_table=design_settings
36
+ )
37
+
@@ -0,0 +1,86 @@
1
+ import os
2
+ import xlwings as xw
3
+ from dlubal.api import rstab
4
+
5
+ def open_work_book():
6
+ """Open excel file."""
7
+
8
+ dirname = os.path.join(os.getcwd(), os.path.dirname(__file__))
9
+ path = os.path.join(dirname,'src/Nodes.xlsx')
10
+
11
+ wb = xw.Book(path)
12
+
13
+ return wb
14
+
15
+ def close_work_book(wb):
16
+ """Close excel file."""
17
+
18
+ wb.save()
19
+ app = wb.app
20
+ wb.close()
21
+ app.kill()
22
+
23
+ def get_node_from_excel(work_book) -> dict:
24
+ """Retrieve node from excel file."""
25
+
26
+ input_sheet = work_book.sheets('Nodes')
27
+
28
+ node1 = {'no' : int(input_sheet["A2"].value),
29
+ 'x' : input_sheet["B2"].value,
30
+ 'y' : input_sheet["C2"].value,
31
+ 'z' : input_sheet["D2"].value}
32
+
33
+ return node1
34
+
35
+ def write_node_to_excel(node, work_book) -> None:
36
+ """Write data to excel file."""
37
+
38
+ input_sheet = work_book.sheets('Nodes')
39
+
40
+ input_sheet["A3"].value = node.no
41
+ input_sheet["B3"].value = node.coordinate_1
42
+ input_sheet["C3"].value = node.coordinate_2
43
+ input_sheet["D3"].value = node.coordinate_3
44
+ if node.comment:
45
+ input_sheet["E3"].value = node.comment
46
+
47
+
48
+ if __name__ == "__main__":
49
+ """Main routine."""
50
+
51
+ with rstab.Application() as rstab_app:
52
+
53
+ # Step 1: Create a new model
54
+ rstab_app.close_all_models(save_changes=False)
55
+ rstab_app.create_model(name='excel')
56
+
57
+ # Step 2: Clear existing objects
58
+ rstab_app.delete_all_objects()
59
+
60
+ # Step 3: Get data for node from excel
61
+ work_book = open_work_book()
62
+
63
+ # Step 4: Create nodes in RSTAB
64
+ node1 = get_node_from_excel(work_book)
65
+
66
+ rstab_app.create_object_list(objs = [
67
+ rstab.structure_core.Node(
68
+ no = node1['no'],
69
+ coordinate_1 = node1['x'],
70
+ coordinate_2 = node1['y'],
71
+ coordinate_3 = node1['z']),
72
+ rstab.structure_core.Node(
73
+ no = 2,
74
+ coordinate_1 = 1,
75
+ coordinate_2 = 2,
76
+ coordinate_3 = 4,
77
+ comment = 'Node 2')])
78
+
79
+ # Step 4: Get node 2 from RSTAB
80
+ node2 = rstab_app.get_object(
81
+ obj = rstab.structure_core.Node(
82
+ no = 2))
83
+ write_node_to_excel(node2, work_book)
84
+
85
+ # Step 5: Save and close excel file
86
+ close_work_book(work_book)
@@ -0,0 +1,154 @@
1
+ import os
2
+ from math import inf
3
+ from dlubal.api import rstab, common
4
+
5
+ def define_structure() -> list:
6
+ """Define and return a list of structural objects."""
7
+
8
+ return [
9
+ # Define material
10
+ rstab.structure_core.Material(
11
+ no=1,
12
+ name='S235',
13
+ ),
14
+
15
+ # Define section
16
+ rstab.structure_core.Section(
17
+ no=1,
18
+ name='HE 300 A',
19
+ material=1,
20
+ ),
21
+
22
+ # Define nodes
23
+ rstab.structure_core.Node(
24
+ no=1,
25
+ ),
26
+ rstab.structure_core.Node(
27
+ no=2,
28
+ coordinate_1=6.0,
29
+ ),
30
+
31
+ # Define member
32
+ rstab.structure_core.Member(
33
+ no=1,
34
+ node_start=1,
35
+ node_end=2,
36
+ section_start=1,
37
+ ),
38
+
39
+ # Define nodal support at Node 1 (fully fixed)
40
+ rstab.types_for_nodes.NodalSupport(
41
+ no=1,
42
+ nodes=[1],
43
+ spring_x=inf,
44
+ spring_y=inf,
45
+ spring_z=inf,
46
+ rotational_restraint_x=inf,
47
+ rotational_restraint_y=inf,
48
+ rotational_restraint_z=inf,
49
+ ),
50
+ ]
51
+
52
+ def define_loading() -> list:
53
+ """Define and return a list of loading objects."""
54
+
55
+ return [
56
+ # Static analysis settings
57
+ rstab.loading.StaticAnalysisSettings(
58
+ no=1,
59
+ analysis_type=rstab.loading.StaticAnalysisSettings.ANALYSIS_TYPE_GEOMETRICALLY_LINEAR
60
+ ),
61
+
62
+ # Define load cases
63
+ rstab.loading.LoadCase(
64
+ no=1,
65
+ static_analysis_settings=1,
66
+ ),
67
+ rstab.loading.LoadCase(
68
+ no=2,
69
+ static_analysis_settings=1,
70
+ ),
71
+
72
+ # Define nodal loads
73
+ rstab.loads.NodalLoad(
74
+ no=1,
75
+ load_case=1,
76
+ nodes=[2],
77
+ load_type=rstab.loads.NodalLoad.LOAD_TYPE_COMPONENTS,
78
+ components_force_y=5000, # Force in Y direction (N)
79
+ components_force_z=10000, # Force in Z direction (N)
80
+ ),
81
+ rstab.loads.MemberLoad(
82
+ no=1,
83
+ load_case=2,
84
+ members=[1],
85
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
86
+ magnitude=10000,
87
+ ),
88
+
89
+ # Define design situation
90
+ rstab.loading.DesignSituation(
91
+ no=1,
92
+ design_situation_type=rstab.loading.DesignSituation.DESIGN_SITUATION_TYPE_STR_PERMANENT_AND_TRANSIENT_6_10,
93
+ ),
94
+
95
+ # Define load combination
96
+ rstab.loading.LoadCombination(
97
+ no=1,
98
+ name='CO1',
99
+ items = rstab.loading.LoadCombination.ItemsTable(
100
+ rows=[
101
+ rstab.loading.LoadCombination.ItemsRow(
102
+ load_case=1,
103
+ factor=1.35,
104
+ ),
105
+ rstab.loading.LoadCombination.ItemsRow(
106
+ load_case=2,
107
+ factor=1.5,
108
+ )
109
+ ]
110
+ ),
111
+ design_situation=1,
112
+ ),
113
+ rstab.loading.LoadCombination(
114
+ no=2,
115
+ name='CO2',
116
+ items = rstab.loading.LoadCombination.ItemsTable(
117
+ rows=[
118
+ rstab.loading.LoadCombination.ItemsRow(
119
+ load_case=1,
120
+ factor=0.85,
121
+ ),
122
+ rstab.loading.LoadCombination.ItemsRow(
123
+ load_case=2,
124
+ factor=1.0,
125
+ )
126
+ ]
127
+ ),
128
+ design_situation=1,
129
+ ),
130
+ ]
131
+
132
+
133
+ """Runs the structural analysis example."""
134
+
135
+ with rstab.Application() as rstab_app:
136
+
137
+ # Step 1: Create a model
138
+ rstab_app.create_model(name='cantilever')
139
+ rstab_app.delete_all_objects()
140
+ rstab_app.create_object_list(
141
+ objs=define_structure() + define_loading()
142
+ )
143
+
144
+ # Step 2: Export the model to Python script
145
+ rstab_app.export_to(
146
+ filepath=os.path.abspath('./model_export.py'),
147
+ export_attributes=common.import_export.PythonGrpcExportAttributes()
148
+ )
149
+
150
+ # Step 3: Export the model to IFC
151
+ rstab_app.export_to(
152
+ filepath=os.path.abspath('./model_export.ifc'),
153
+ export_attributes=common.import_export.IfcExportAttributes()
154
+ )
@@ -0,0 +1,285 @@
1
+ from dlubal.api import rstab
2
+
3
+
4
+ def define_structure() -> list:
5
+ """Define and return a list of structural objects."""
6
+
7
+ inf = float('inf')
8
+
9
+ return [
10
+ # Define material
11
+ rstab.structure_core.Material(no=1, name='S235'),
12
+
13
+ # Define section
14
+ rstab.structure_core.Section(no=1, name='HE 200 A', material=1),
15
+
16
+ # Define nodes
17
+ rstab.structure_core.Node(no=1),
18
+ rstab.structure_core.Node(no=2, coordinate_3=-3.0),
19
+ rstab.structure_core.Node(no=3, coordinate_1=4.0, coordinate_3=-3.0),
20
+ rstab.structure_core.Node(no=4, coordinate_1=4.0),
21
+
22
+ # Define member
23
+ rstab.structure_core.Member(no=1, node_start=1, node_end=2, section_start=1),
24
+ rstab.structure_core.Member(no=2, node_start=2, node_end=3, section_start=1),
25
+ rstab.structure_core.Member(no=3, node_start=3, node_end=4, section_start=1),
26
+
27
+ # Define nodal support at Node 1 (fully fixed)
28
+ rstab.types_for_nodes.NodalSupport(
29
+ no=1,
30
+ nodes=[1,4],
31
+ spring_x=inf, spring_y=inf, spring_z=inf,
32
+ rotational_restraint_x=inf,
33
+ rotational_restraint_y=inf,
34
+ rotational_restraint_z=inf
35
+ ),
36
+ ]
37
+
38
+
39
+ def define_loads() -> list:
40
+ """Define and return a list of loading objects."""
41
+
42
+ return [
43
+ # Static analysis settings
44
+ rstab.loading.StaticAnalysisSettings(
45
+ no=1,
46
+ analysis_type=rstab.loading.StaticAnalysisSettings.ANALYSIS_TYPE_GEOMETRICALLY_LINEAR,
47
+ ),
48
+
49
+ # Define load cases
50
+ rstab.loading.LoadCase(
51
+ no=1,
52
+ name='Self-weight',
53
+ self_weight_active=True,
54
+ static_analysis_settings=1,
55
+ ),
56
+ rstab.loading.LoadCase(
57
+ no=2,
58
+ name='Snow',
59
+ action_category=rstab.loading.LoadCase.ACTION_CATEGORY_SNOW_ICE_LOADS_H_LESS_OR_EQUAL_TO_1000_M_QS,
60
+ static_analysis_settings=1,
61
+ ),
62
+ rstab.loading.LoadCase(
63
+ no=3,
64
+ name='Wind +x',
65
+ action_category=rstab.loading.LoadCase.ACTION_CATEGORY_WIND_QW,
66
+ static_analysis_settings=1,
67
+ ),
68
+ rstab.loading.LoadCase(
69
+ no=4,
70
+ name='Wind +x, with wind suction',
71
+ action_category=rstab.loading.LoadCase.ACTION_CATEGORY_WIND_QW,
72
+ static_analysis_settings=1,
73
+ ),
74
+ rstab.loading.LoadCase(
75
+ no=5,
76
+ name='Wind -x',
77
+ action_category=rstab.loading.LoadCase.ACTION_CATEGORY_WIND_QW,
78
+ static_analysis_settings=1,
79
+ ),
80
+ rstab.loading.LoadCase(
81
+ no=6,
82
+ name='Wind -x, with wind suction',
83
+ action_category=rstab.loading.LoadCase.ACTION_CATEGORY_WIND_QW,
84
+ static_analysis_settings=1,
85
+ ),
86
+
87
+ # Define loads
88
+ rstab.loads.MemberLoad(
89
+ no=1,
90
+ load_case=1,
91
+ members=[2],
92
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
93
+ magnitude=1000
94
+ ),
95
+ rstab.loads.MemberLoad(
96
+ no=2,
97
+ load_case=2,
98
+ members=[2],
99
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
100
+ magnitude=3000
101
+ ),
102
+ rstab.loads.MemberLoad(
103
+ no=3,
104
+ load_case=3,
105
+ members=[1],
106
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
107
+ magnitude=2000,
108
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
109
+ ),
110
+ rstab.loads.MemberLoad(
111
+ no=4,
112
+ load_case=3,
113
+ members=[3],
114
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
115
+ magnitude=1000,
116
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
117
+ ),
118
+ rstab.loads.MemberLoad(
119
+ no=5,
120
+ load_case=4,
121
+ members=[1],
122
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
123
+ magnitude=2000,
124
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
125
+ ),
126
+ rstab.loads.MemberLoad(
127
+ no=6,
128
+ load_case=4,
129
+ members=[3],
130
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
131
+ magnitude=1000,
132
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
133
+ ),
134
+ rstab.loads.MemberLoad(
135
+ no=7,
136
+ load_case=4,
137
+ members=[2],
138
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
139
+ magnitude=-500
140
+ ),
141
+ rstab.loads.MemberLoad(
142
+ no=8,
143
+ load_case=5,
144
+ members=[1],
145
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
146
+ magnitude=-2000,
147
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
148
+ ),
149
+ rstab.loads.MemberLoad(
150
+ no=9,
151
+ load_case=5,
152
+ members=[3],
153
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
154
+ magnitude=-1000,
155
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
156
+ ),
157
+ rstab.loads.MemberLoad(
158
+ no=10,
159
+ load_case=6,
160
+ members=[1],
161
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
162
+ magnitude=-2000,
163
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
164
+ ),
165
+ rstab.loads.MemberLoad(
166
+ no=11,
167
+ load_case=6,
168
+ members=[3],
169
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
170
+ magnitude=-1000,
171
+ load_direction=rstab.loads.MemberLoad.LOAD_DIRECTION_GLOBAL_X_OR_USER_DEFINED_U_TRUE_LENGTH,
172
+ ),
173
+ rstab.loads.MemberLoad(
174
+ no=12,
175
+ load_case=6,
176
+ members=[2],
177
+ load_type=rstab.loads.MemberLoad.LOAD_TYPE_FORCE,
178
+ magnitude=-500
179
+ ),
180
+ rstab.loading.CombinationWizard(
181
+ no=1,
182
+ static_analysis_settings=1,
183
+ ),
184
+ rstab.loading.DesignSituation(
185
+ no=1,
186
+ design_situation_type=rstab.loading.DesignSituation.DESIGN_SITUATION_TYPE_STR_PERMANENT_AND_TRANSIENT_6_10,
187
+ combination_wizard=1,
188
+ ),
189
+ ]
190
+
191
+
192
+ with rstab.Application() as rstab_app:
193
+
194
+ # Step 1: Create a new model and clear existing objects
195
+ rstab_app.create_model(name='frame')
196
+ rstab_app.delete_all_objects()
197
+
198
+ # Step 2: Define and create the structure and load objects
199
+ base_data = rstab_app.get_base_data()
200
+ base_data.combinations_settings.combination_wizard_active = True
201
+ base_data.combinations_settings.result_combinations_active = True
202
+ rstab_app.set_base_data(base_data=base_data)
203
+
204
+ # Step 3: Define and create the structure and load objects
205
+ objects = define_structure() + define_loads()
206
+ rstab_app.create_object_list(objects)
207
+
208
+ # Step 4: Generate Load Combinations
209
+ print("\nLoad Combinations:")
210
+ rstab_app.generate_combinations()
211
+ all_load_combi = rstab_app.get_object_list([rstab.loading.LoadCombination()])
212
+
213
+ # Step 5: Create Result Combination as an envelope from all Load Combinations
214
+ result_combi_rows = []
215
+ for i, load_combi in enumerate(all_load_combi):
216
+ # Check if this is the last item in the list
217
+ print(f"CO{load_combi.no} - {load_combi.combination_rule_str}")
218
+
219
+ if i < len(all_load_combi) - 1:
220
+ operator = rstab.loading.ResultCombination.ItemsRow.OPERATOR_OR
221
+ else:
222
+ operator = rstab.loading.ResultCombination.ItemsRow.OPERATOR_NONE
223
+
224
+ result_combi_rows.append(
225
+ rstab.loading.ResultCombination.ItemsRow(
226
+ case_object_item=rstab.ObjectId(
227
+ no=load_combi.no,
228
+ object_type=rstab.OBJECT_TYPE_LOAD_COMBINATION,
229
+ ),
230
+ case_object_factor=1,
231
+ operator=operator,
232
+ )
233
+ )
234
+
235
+ print("\nResult Combination:")
236
+ rstab_app.create_object(
237
+ rstab.loading.ResultCombination(
238
+ no=1,
239
+ user_defined_name_enabled=True,
240
+ name='All ULS',
241
+ design_situation=1,
242
+ items=rstab.loading.ResultCombination.ItemsTable(
243
+ rows = result_combi_rows,
244
+ )
245
+ )
246
+ )
247
+ result_combi = rstab_app.get_object(rstab.loading.ResultCombination(no=1))
248
+ print(f"{result_combi.name} - {result_combi.combination_rule_str}")
249
+
250
+ # Step 6: Calculate specific
251
+ rstab_app.calculate_specific(
252
+ loadings=[
253
+ rstab.ObjectId(
254
+ no=1,
255
+ object_type=rstab.OBJECT_TYPE_RESULT_COMBINATION
256
+ )
257
+ ],
258
+ skip_warnings=False,
259
+ )
260
+
261
+ # Step 7: Read results using optional filtering
262
+ member_filter = rstab.results.ResultsFilter(
263
+ column_id='member_no',
264
+ filter_expression='2'
265
+ )
266
+
267
+ results_df = rstab_app.get_results(
268
+ results_type=rstab.results.STATIC_ANALYSIS_MEMBERS_INTERNAL_FORCES,
269
+ filters=[member_filter],
270
+ ).data
271
+
272
+ print("\nAll Results:")
273
+ print(results_df)
274
+
275
+ # Step 8: Find maximum m_y envelope on specific member
276
+ loading = "RC1"
277
+ tag = 'm_y_max'
278
+
279
+ my_max_df = results_df[
280
+ (results_df['loading'] == loading) &
281
+ (results_df['tag'] == tag)
282
+ ]
283
+
284
+ print("\nMaximum My:")
285
+ print(my_max_df)
@@ -0,0 +1,46 @@
1
+ import os
2
+ from dlubal.api import rstab, common
3
+
4
+
5
+ # Connect to the RSTAB application
6
+ with rstab.Application() as rstab_app:
7
+
8
+ rstab_app.create_model(name='import_from_ifc')
9
+
10
+ # Step 1: Import IFC model from the file
11
+ ifc_file_path = os.path.join(os.path.dirname(__file__), 'src', 'ifc_structure.ifc')
12
+
13
+ rstab_app.import_from(
14
+ filepath=ifc_file_path,
15
+ import_attributes=common.import_export.IfcImportAttributes()
16
+ )
17
+
18
+ # Step 2: Edit IFC model (e.g., mirror it along the Z-axis)
19
+ ifc_model: rstab.ifc_objects.IfcFileModelObject = rstab_app.get_object(
20
+ rstab.ifc_objects.IfcFileModelObject(no=1)
21
+ )
22
+ ifc_model.mirror_axis_z=True
23
+ rstab_app.update_object(ifc_model)
24
+
25
+
26
+ # Step 3: Categorize IFC model objects for conversion
27
+ ifc_object_list = rstab_app.get_object_list(
28
+ objs=[
29
+ rstab.ifc_objects.IfcModelObject()
30
+ ]
31
+ )
32
+
33
+ members = []
34
+
35
+ for ifc_object in ifc_object_list:
36
+ ifc_type = ifc_object.ifc_type
37
+ if ifc_type in ["IfcColumn", "IfcBeam"]:
38
+ members.append(ifc_object)
39
+
40
+ # Step 4: Convert IFC model objects to appropriate RSTAB model objects
41
+ # Convert columns and beams to RSTAB straight members
42
+ rstab_app.convert_objects(
43
+ convert_into=common.ConvertObjectInto.CONVERT_IFC_OBJECT_INTO_STRAIGHT_MEMBER,
44
+ objs=members
45
+ )
46
+