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,827 @@
1
+ # Autogenerated code. DO NOT EDIT. Manual code can be added to the corresponding .template.py file.
2
+
3
+ from __future__ import annotations
4
+ from dlubal.api.common.connection import _ApiKey, check_ssl, init_channel
5
+ from dlubal.api.common.packing import pack_message_to_any, pack_object, pack_object_list, unpack_object, unpack_object_list, convert_table_data_to_table
6
+ from dlubal.api.common.table_data_pb2 import TableData
7
+ from dlubal.api.common.model_id_pb2 import ModelId
8
+ from dlubal.api.common.common_messages_pb2 import ConvertObjectsRequest, ImportRequest, ExportRequest, GetObjectListRequest
9
+ from dlubal.api.rstab.results import ResultsType
10
+ from dlubal.api.rstab.results.results_query_pb2 import ResultsQuery, ResultsFilter
11
+ import grpc
12
+ from collections.abc import Iterable
13
+ import sys
14
+ from importlib.metadata import version, PackageNotFoundError
15
+ import collections.abc
16
+ import dlubal.api.common.common_messages_pb2
17
+ import dlubal.api.common.model_id_pb2
18
+ import dlubal.api.rstab.application_pb2
19
+ import dlubal.api.rstab.application_pb2_grpc
20
+ import dlubal.api.rstab.base_data_pb2
21
+ import dlubal.api.rstab.design_addons_pb2
22
+ import dlubal.api.rstab.object_id_pb2
23
+ import dlubal.api.rstab.object_type_pb2
24
+ import google.protobuf.empty_pb2
25
+ import google.protobuf.wrappers_pb2
26
+
27
+
28
+ class Application:
29
+
30
+ def __init__(self,
31
+ api_key_value=None,
32
+ api_key_name=None,
33
+ url='127.0.0.1',
34
+ port=9000,
35
+ ssl=False,
36
+ ssl_file=''):
37
+ '''
38
+ Initialize the RSTAB client and connect to gRPC server.
39
+
40
+ Args:
41
+ api_key_value (str | None):
42
+ The API key for authentication, obtained from the Extranet > My Data.
43
+ Can be skipped if an API key is stored in ``config.ini`` file.
44
+ api_key_name (str | None):
45
+ The name of a stored API key in the ``config.ini`` file.
46
+ Used to retrieve the corresponding ``api_key_value``.
47
+ If not provided, the default API key will be used.
48
+ url (str | 127.0.0.1):
49
+ The gRPC server's URL. Use this to connect to a remote server by specifying its IP.
50
+ port (int | 9000):
51
+ The server's port number. Adjust if the server uses a different port.
52
+ ssl (bool | False):
53
+ Enables SSL encryption for secure communication.
54
+ ssl_file (str | None):
55
+ Path to the SSL certificate file (e.g., .crt).
56
+ Used only if SSL encryption is enabled.
57
+ '''
58
+ self.url = url
59
+ self.port = port
60
+ check_ssl(ssl, ssl_file)
61
+ self.ssl = ssl
62
+ self.ssl_file = ssl_file
63
+ self.api_key = _ApiKey(api_key_name, api_key_value)
64
+ self.channel = init_channel(self.api_key.value, self.url, self.port, self.ssl, self.ssl_file)
65
+ self.stub = dlubal.api.rstab.application_pb2_grpc.ApplicationStub(self.channel) if self.channel else None
66
+ self.__check_connection()
67
+
68
+ def __enter__(self):
69
+ '''
70
+ Start a session by entering the context manager
71
+ '''
72
+ return self
73
+
74
+ def __exit__(self, exc_type, exc_value, traceback):
75
+ '''
76
+ Ensure the session is finished and channel is closed properly before handling exceptions.
77
+ '''
78
+
79
+ # Attempt to close the connection first to prevent delays
80
+ try:
81
+ self.close_connection()
82
+ except Exception as e:
83
+ pass
84
+
85
+ # Now handle exceptions that occurred in the `with` block
86
+ if exc_type is not None:
87
+ if issubclass(exc_type, grpc.RpcError):
88
+ raise RuntimeError(f"gRPC Error: {exc_value.code().name} - {exc_value.details()}") from None
89
+ elif issubclass(exc_type, (SystemExit, KeyboardInterrupt)):
90
+ return False
91
+ raise RuntimeError(f"Unexpected error: {str(exc_value)}") from None
92
+
93
+ def __check_connection(self):
94
+ '''
95
+ Check connection and package version compatibility.
96
+ '''
97
+
98
+ # Check connection
99
+ try:
100
+ application_info = self.get_application_info()
101
+ except grpc._channel._InactiveRpcError as e:
102
+ sys.tracebacklimit = 0
103
+ raise RuntimeError(f"gRPC Connection error: {e.code().name} - {e.details()}") from None
104
+
105
+ # Check package version compatibility
106
+ try:
107
+ client_version = version('dlubal.api')
108
+ client_major, client_minor = map(int, client_version.split('.')[1:3])
109
+ app_major, app_minor = map(int, application_info.version.split('.')[1:3])
110
+
111
+ # If the versions differ, print a warning
112
+ if app_major != client_major or app_minor != client_minor:
113
+ print('\033[93mWARNING:\033[0m')
114
+ print(f'Version mismatch between dlubal.api client package \033[91m{client_version}\033[0m and server application {application_info.name}.')
115
+ print(f'To ensure full compatibility, please use the client version 2.{app_major}.{app_minor}.')
116
+ print(f'To update, run: \033[92mpython.exe -m pip install --upgrade dlubal.api==2.{app_major}.{app_minor}\033[0m\n')
117
+
118
+ except PackageNotFoundError:
119
+ return
120
+
121
+ # Functions using packing
122
+
123
+ def get_object(self, obj, model_id: ModelId | None = None):
124
+ """
125
+ Retrieves a single object from the model.
126
+
127
+ Args:
128
+ obj (obj):
129
+ An object to be retrieved defined by its number.
130
+ model_id (:ref:`common_model_id_ModelId` | None):
131
+ Unique identifier of the model. If None, the active model is used.
132
+
133
+ Returns:
134
+ :ref:`rstab_objects`: A retrieved object.
135
+ """
136
+ result = self.stub.get_object_impl(pack_object(obj, model_id))
137
+ return unpack_object(result, type(obj))
138
+
139
+ def get_object_list(self, objs: list, only_selected: bool = False, model_id: ModelId | None = None):
140
+ """
141
+ Retrieves a list of objects from the model.
142
+
143
+ Args:
144
+ objs (list[obj]):
145
+ A list of model objects to retrieve.
146
+ only_selected (bool, optional):
147
+ If True, only returns objects from the list that are currently selected in the model.
148
+ model_id (:ref:`common_model_id_ModelId` | None):
149
+ Unique identifier of the model. If None, the active model is used.
150
+
151
+ Returns:
152
+ list[obj]: A list of the retrieved objects.
153
+ """
154
+ result = self.stub.get_object_list_impl(
155
+ GetObjectListRequest(
156
+ objects=pack_object_list(objs, model_id),
157
+ return_only_selected_objects=only_selected
158
+ )
159
+ )
160
+ return unpack_object_list(result, objs)
161
+
162
+ def create_object(self, obj, model_id: ModelId | None = None):
163
+ """
164
+ Creates a single object in the model.
165
+
166
+ Args:
167
+ obj (obj):
168
+ An object to be created.
169
+ model_id (:ref:`common_model_id_ModelId` | None):
170
+ Unique identifier of the model. If None, the active model is used.
171
+
172
+ Returns:
173
+ None
174
+ """
175
+ return self.stub.create_object_impl(pack_object(obj, model_id))
176
+
177
+ def create_object_list(self, objs:list, model_id: ModelId | None = None):
178
+ """
179
+ Creates a list of objects in the model.
180
+
181
+ Args:
182
+ objs (list[obj]):
183
+ A list of objects to be created.
184
+ model_id (:ref:`common_model_id_ModelId` | None):
185
+ Unique identifier of the model. If None, the active model is used.
186
+
187
+ Returns:
188
+ None
189
+ """
190
+ return self.stub.create_object_list_impl(pack_object_list(objs, model_id))
191
+
192
+ def update_object(self, obj, model_id: ModelId | None = None):
193
+ """
194
+ Updates a single object in the model.
195
+
196
+ Args:
197
+ obj (obj):
198
+ An object to be updated.
199
+ model_id (:ref:`common_model_id_ModelId` | None):
200
+ Unique identifier of the model. If None, the active model is used.
201
+
202
+ Returns:
203
+ None
204
+ """
205
+ self.stub.update_object_impl(pack_object(obj, model_id))
206
+
207
+ def update_object_list(self, objs: list, model_id: ModelId | None = None):
208
+ """
209
+ Updates a list of objects in the model.
210
+
211
+ Args:
212
+ objs (list[obj]):
213
+ A list of objects to be updated.
214
+ model_id (:ref:`common_model_id_ModelId` | None):
215
+ Unique identifier of the model. If None, the active model is used.
216
+
217
+ Returns:
218
+ None
219
+ """
220
+ self.stub.update_object_list_impl(pack_object_list(objs, model_id))
221
+
222
+ def delete_object(self, obj, model_id: ModelId | None = None):
223
+ """
224
+ Deletes a single object from the model.
225
+
226
+ Args:
227
+ obj (obj):
228
+ An object to be deleted.
229
+ model_id (:ref:`common_model_id_ModelId` | None):
230
+ Unique identifier of the model. If None, the active model is used.
231
+
232
+ Returns:
233
+ None
234
+ """
235
+ self.stub.delete_object_impl(pack_object(obj, model_id))
236
+
237
+ def delete_object_list(self, objs: list, model_id: ModelId | None = None):
238
+ """
239
+ Deletes a list of objects from the model.
240
+
241
+ Args:
242
+ objs (list[obj]):
243
+ A list of objects to be deleted.
244
+ model_id (:ref:`common_model_id_ModelId` | None):
245
+ Unique identifier of the model. If None, the active model is used.
246
+
247
+ Returns:
248
+ None
249
+ """
250
+ self.stub.delete_object_list_impl(pack_object_list(objs, model_id))
251
+
252
+ def select_objects(self, objs: list, model_id: ModelId | None = None):
253
+ """
254
+ Selects a list of objects in the model.
255
+
256
+ Args:
257
+ objs (list[obj]):
258
+ A list of objects to be selected.
259
+ model_id (:ref:`common_model_id_ModelId` | None):
260
+ Unique identifier of the model. If None, the active model is used.
261
+
262
+ Returns:
263
+ None
264
+ """
265
+ self.stub.select_objects_impl(pack_object_list(objs, model_id))
266
+
267
+
268
+ def get_results(self, results_type: ResultsType, filters: Iterable[ResultsFilter] | None = None,
269
+ member_axes_system: MemberAxesSystem | None = None,
270
+ support_coordinate_system: CoordinateSystem | None = None,
271
+ model_id: ModelId | None = None, **keyword_filters):
272
+ '''
273
+ Retrieves complete, unprocessed results from the database wrapped in a DataFrame for more efficient analysis.
274
+
275
+ Args:
276
+ results_type (:ref:`rstab_results_results_type_ResultsType`):
277
+ Unique identifier for the result category type.
278
+ filters (:ref:`rstab_results_results_query_ResultsFilter` | None):
279
+ One or more filters to return only relevant results.
280
+ member_axes_system (:ref:`rstab_results_settings_result_settings_MemberAxesSystem` | None):
281
+ The axes system to use for member results. If not provided, it defaults to ``MEMBER_AXES_SYSTEM_MEMBER_AXES_X_Y_Z``.
282
+ support_coordinate_system (:ref:`rstab_results_settings_result_settings_CoordinateSystem` | None):
283
+ The coordinate system to use for support results. If not provided, it defaults to ``COORDINATE_SYSTEM_LOCAL``.
284
+ model_id (:ref:`common_model_id_ModelId` | None):
285
+ Unique identifier of the model. If None, the active model is used.
286
+
287
+ Returns:
288
+ A :ref:`common_table_Table` object containing the results as a DataFrame.
289
+ '''
290
+
291
+ all_filters = list(filters) if filters else []
292
+
293
+ for key, value in keyword_filters.items():
294
+ all_filters.append(ResultsFilter(column_id=key, filter_expression=str(value)))
295
+
296
+ results, call = self.stub.get_results_impl.with_call(
297
+ ResultsQuery(results_type=results_type,
298
+ filters=all_filters,
299
+ member_axes_system=member_axes_system,
300
+ support_coordinate_system=support_coordinate_system,
301
+ model_id=model_id))
302
+
303
+ warning: str = ""
304
+ # trailing_metadata() returns a sequence of (key, value) tuples
305
+ # Some gRPC implementations return bytes for values, decode if possible
306
+ if call is not None:
307
+ for key, value in call.trailing_metadata():
308
+ if key == "warning":
309
+ try:
310
+ warning = value.decode("utf-8")
311
+ except Exception:
312
+ warning = value
313
+
314
+ return convert_table_data_to_table(table_data=results, warning=warning)
315
+
316
+
317
+ def get_result_table(self, table: ResultTable, loading: ObjectId,
318
+ member_axes_system : MemberAxesSystem | None = None,
319
+ support_coordinate_system : CoordinateSystem | None = None,
320
+ model_id: ModelId | None = None):
321
+ """
322
+ Retrieves a pre-processed result table wrapped in a DataFrame for more efficient analysis,
323
+ containing only the most relevant values as displayed in the desktop application.
324
+
325
+ Args:
326
+ table (:ref:`rstab_results_result_table_ResultTable`):
327
+ Unique identifier for the result table type.
328
+ loading (:ref:`rstab_object_id_ObjectId`):
329
+ Reference to the loading (e.g., load case, combination, etc.).
330
+ member_axes_system (:ref:`rstab_results_settings_result_settings_MemberAxesSystem` | None):
331
+ The axes system to use for member results. If not provided, it defaults to ``MEMBER_AXES_SYSTEM_MEMBER_AXES_X_Y_Z``.
332
+ support_coordinate_system (:ref:`rstab_results_settings_result_settings_CoordinateSystem` | None):
333
+ The coordinate system to use for support results. If not provided, it defaults to ``COORDINATE_SYSTEM_LOCAL``.
334
+ model_id (:ref:`common_model_id_ModelId` | None):
335
+ Unique identifier of the model. If None, the active model is used.
336
+
337
+ Returns:
338
+ A :ref:`common_table_Table` object containing the result table as a DataFrame.
339
+ """
340
+
341
+ results, call = self.stub.get_result_table_impl.with_call(
342
+ dlubal.api.rstab.GetResultTableRequest(
343
+ table=table,
344
+ loading=loading,
345
+ model_id=model_id,
346
+ member_axes_system=member_axes_system,
347
+ support_coordinate_system=support_coordinate_system)
348
+ )
349
+
350
+ warning: str = ""
351
+ # trailing_metadata() returns a sequence of (key, value) tuples
352
+ # Some gRPC implementations return bytes for values, decode if possible
353
+ if call is not None:
354
+ for key, value in call.trailing_metadata():
355
+ if key == "warning":
356
+ try:
357
+ warning = value.decode("utf-8")
358
+ except Exception:
359
+ warning = value
360
+
361
+ return convert_table_data_to_table(table_data=results, warning=warning)
362
+
363
+ def convert_objects(self, *, convert_into: ConvertObjectInto, objs: list, model_id: ModelId | None = None):
364
+ """
365
+ Converts specified objects into a different type.
366
+
367
+ Args:
368
+ convert_into (:ref:`common_common_messages_ConvertObjectInto`):
369
+ Specifies the target conversion type.
370
+ objs (list):
371
+ Objects to be converted.
372
+ model_id (:ref:`common_model_id_ModelId` | None):
373
+ Unique identifier of the model. If None, the active model is used.
374
+
375
+ Returns:
376
+ None
377
+ """
378
+ request = ConvertObjectsRequest(convert_into=convert_into, objects=pack_object_list(objs, model_id))
379
+ self.stub.convert_objects_impl(request)
380
+
381
+ def import_from(self, *, filepath: str, import_attributes: google.protobuf.any_pb2.Any, model_id: ModelId | None = None):
382
+ """
383
+ Imports data into the model from the specified file format.
384
+
385
+ Args:
386
+ filepath (str):
387
+ The full path of the file to be imported.
388
+ import_attributes (Any):
389
+ Specifies the format and attributes of the import.
390
+ Supported message types:
391
+ :ref:`common_import_export_import_attributes_IfcImportAttributes`
392
+ :ref:`common_import_export_import_attributes_XmlImportAttributes`
393
+ :ref:`common_import_export_import_attributes_RsectionImportAttributes`
394
+ model_id (:ref:`common_model_id_ModelId` | None):
395
+ The unique identifier of the model. If None, the active model is used.
396
+
397
+ Returns:
398
+ None
399
+ """
400
+ request = ImportRequest(filepath=filepath, import_attributes=pack_message_to_any(import_attributes), model_id=model_id)
401
+ self.stub.import_from_impl(request)
402
+
403
+ def export_to(self, *, filepath: str, export_attributes: google.protobuf.any_pb2.Any, model_id: ModelId | None = None):
404
+ """
405
+ Exports the model to the specified file format.
406
+
407
+ Args:
408
+ filepath (str):
409
+ The full path of the file where the model will be exported.
410
+ export_attributes (Any):
411
+ Specifies the format and attributes for the export.
412
+ Supported message types:
413
+ :ref:`common_import_export_export_attributes_PythonGrpcExportAttributes`
414
+ :ref:`common_import_export_export_attributes_IfcExportAttributes`
415
+ model_id (:ref:`common_model_id_ModelId` | None):
416
+ The unique identifier of the model. If None, the active model is used.
417
+
418
+ Returns:
419
+ None
420
+ """
421
+
422
+ request = ExportRequest(filepath=filepath, export_attributes=pack_message_to_any(export_attributes), model_id=model_id)
423
+ self.stub.export_to_impl(request)
424
+
425
+ def move_objects(self, objects: list,
426
+ direction_through: DirectionThrough,
427
+ coordinate_system: int = 1,
428
+ displacement_vector: common.Vector3d | None = None,
429
+ axis: CoordinateAxis | None = None,
430
+ create_copy: bool = False,
431
+ number_of_steps: int | None = None,
432
+ spacing: float | None = None,
433
+ copy_including_loading: bool = False,
434
+ copy_including_imperfections: bool = False,
435
+ connect_lines_members_surfaces: bool = False,
436
+ model_id: ModelId | None = None):
437
+ """
438
+ Moves or copies the specified objects in a defined direction.
439
+
440
+ Args:
441
+ objs (list):
442
+ The list of specified model objects.
443
+ direction_through (:ref:`rstab_manipulation_manipulation_DirectionThrough`):
444
+ Specifies the type of direction through which the objects will be moved.
445
+ coordinate_system (int | 1):
446
+ Specifies the coordination system to use.
447
+ displacement_vector (:ref:`common_common_Vector3d` | None):
448
+ Specifies the displacement vector for vector-based movement.
449
+ axis (:ref:`rstab_manipulation_manipulation_CoordinateAxis` | None):
450
+ Specifies the axis for parallel movement.
451
+ create_copy (bool | False):
452
+ Specifies whether copies of the specified objects should be created.
453
+ number_of_steps (int | None):
454
+ Specifies the number of copies to create.
455
+ spacing (double | None):
456
+ Specifies the spacing between copies for parallel movement.
457
+ copy_including_loading (bool | False):
458
+ Specifies whether to include the loading when copying the objects.
459
+ copy_including_imperfections (bool | False):
460
+ Specifies whether to include imperfections when copying the objects.
461
+ connect_lines_members_surfaces (bool | False):
462
+ Specifies whether to connect lines, members, or surfaces when they overlap in the copy.
463
+ model_id (:ref:`common_model_id_ModelId` | None):
464
+ The unique identifier of the model. If None, the active model is used.
465
+
466
+ Returns:
467
+ None
468
+ """
469
+ # Build request
470
+ request = dlubal.api.rstab.MoveObjectsRequest()
471
+ # objects field is a common.ObjectList; use pack_object_list to build it
472
+ request.objects.CopyFrom(pack_object_list(objects, model_id))
473
+
474
+ # coordinate_system is required in proto (int32) so set it
475
+ request.coordinate_system = coordinate_system
476
+
477
+ request.direction_through = direction_through
478
+
479
+ if direction_through == dlubal.api.rstab.manipulation.DIRECTION_THROUGH_DISPLACEMENT_VECTOR:
480
+ if displacement_vector is None:
481
+ raise ValueError("Missing required parameter `displacement_vector` for `direction_through` set to `DIRECTION_THROUGH_DISPLACEMENT_VECTOR`")
482
+ if direction_through == dlubal.api.rstab.manipulation.DIRECTION_THROUGH_PARALLEL_TO_AXIS:
483
+ if spacing is None:
484
+ raise ValueError("Missing required parameter `spacing` for `direction_through` set to `DIRECTION_THROUGH_PARALLEL_TO_AXIS`")
485
+ if axis is None:
486
+ raise ValueError("Missing required parameter `axis` for `direction_through` set to `DIRECTION_THROUGH_PARALLEL_TO_AXIS`")
487
+
488
+ # Optional fields: set only when provided to avoid overriding defaults
489
+ if displacement_vector is not None:
490
+ # displacement_vector is a message, copy it
491
+ request.displacement_vector.CopyFrom(displacement_vector)
492
+ if axis is not None:
493
+ request.axis = axis
494
+ if spacing is not None:
495
+ request.spacing = spacing
496
+ if create_copy:
497
+ request.create_copy = create_copy
498
+ if number_of_steps is not None:
499
+ request.number_of_steps = number_of_steps
500
+ else:
501
+ raise ValueError("Missing required parameter `number_of_steps` for `create_copy` set to `True`")
502
+ if copy_including_loading:
503
+ request.copy_including_loading = copy_including_loading
504
+ if copy_including_imperfections:
505
+ request.copy_including_imperfections = copy_including_imperfections
506
+ if connect_lines_members_surfaces:
507
+ request.connect_lines_members_surfaces = connect_lines_members_surfaces
508
+
509
+ # Call RPC
510
+ self.stub.move_objects_impl(request)
511
+
512
+ def create_model(self, *, name: str, template_path: str | None = None) -> dlubal.api.common.model_id_pb2.ModelId:
513
+ """
514
+ Creates new model with the name specified in request.
515
+ Returns model id of created model
516
+
517
+ Args:
518
+ name (str):
519
+ Name of the new model
520
+ template_path (str | None):
521
+ Path to the existing template to be opened
522
+
523
+ Returns:
524
+ :ref:`common_model_id_ModelId`
525
+ """
526
+ request = dlubal.api.common.common_messages_pb2.CreateModelRequest(name=name, template_path=template_path)
527
+ return self.stub.create_model(request)
528
+
529
+ def open_model(self, *, path: str) -> dlubal.api.common.model_id_pb2.ModelId:
530
+ """
531
+ Opens model from path specified in 'name' field of the request
532
+ Returns model id of opened model
533
+
534
+ Args:
535
+ path (str):
536
+ Path to the existing model to be opened
537
+
538
+ Returns:
539
+ :ref:`common_model_id_ModelId`
540
+ """
541
+ request = dlubal.api.common.common_messages_pb2.OpenModelRequest(path=path)
542
+ return self.stub.open_model(request)
543
+
544
+ def save_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None, path: str | None = None, results: bool | None = None, printout_reports: bool | None = None):
545
+ """
546
+ Saves model specified by model id to optional specified path
547
+
548
+ Args:
549
+ model_id (:ref:`common_model_id_ModelId` | None):
550
+ Unique identifier of the model Active model is used if this field is not set.
551
+ path (str | None):
552
+ Path to the model
553
+ results (bool | None):
554
+ When enabled, the model is saved together with the calculated results
555
+ printout_reports (bool | None):
556
+ When enabled, the printout reports are saved
557
+ """
558
+ request = dlubal.api.rstab.application_pb2.SaveModelAsRequest(model_id=model_id, path=path, results=results, printout_reports=printout_reports)
559
+ self.stub.save_model(request)
560
+
561
+ def close_model(self, *, save_changes: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
562
+ """
563
+ Closes model specified by model id
564
+
565
+ Args:
566
+ save_changes (bool):
567
+ Specifies whether to save changes before closing the model
568
+ model_id (:ref:`common_model_id_ModelId` | None):
569
+ Unique identifier of the model Active model is used if this field is not set.
570
+ """
571
+ request = dlubal.api.common.common_messages_pb2.CloseModelRequest(save_changes=save_changes, model_id=model_id)
572
+ self.stub.close_model(request)
573
+
574
+ def close_all_models(self, *, save_changes: bool):
575
+ """
576
+ Closes all open models
577
+
578
+ Args:
579
+ save_changes (bool):
580
+ Specifies whether to save changes before closing the models
581
+ """
582
+ request = dlubal.api.common.common_messages_pb2.CloseAllModelsRequest(save_changes=save_changes)
583
+ self.stub.close_all_models(request)
584
+
585
+ def get_active_model(self) -> dlubal.api.common.model_id_pb2.ModelId:
586
+ """
587
+ Returns model id of an active model
588
+
589
+ Returns:
590
+ :ref:`common_model_id_ModelId`
591
+ """
592
+ return self.stub.get_active_model(google.protobuf.empty_pb2.Empty())
593
+
594
+ def set_active_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId):
595
+ """
596
+ Sets active model specified by model id
597
+
598
+ Args:
599
+ model_id (:ref:`common_model_id_ModelId`):
600
+
601
+ """
602
+ self.stub.set_active_model(model_id)
603
+
604
+ def close_application(self):
605
+ """
606
+ Closes the whole application
607
+ """
608
+ self.stub.close_application(google.protobuf.empty_pb2.Empty())
609
+
610
+ def get_model_list(self) -> dlubal.api.common.common_messages_pb2.ModelList:
611
+ """
612
+ Returns list of models and information about them
613
+
614
+ Returns:
615
+ :ref:`common_common_messages_ModelList`
616
+ """
617
+ return self.stub.get_model_list(google.protobuf.empty_pb2.Empty())
618
+
619
+ def get_application_info(self) -> dlubal.api.common.common_messages_pb2.ApplicationInfo:
620
+ """
621
+ Returns information about the application
622
+
623
+ Returns:
624
+ :ref:`common_common_messages_ApplicationInfo`
625
+ """
626
+ return self.stub.get_application_info(google.protobuf.empty_pb2.Empty())
627
+
628
+ def get_subscription_info(self) -> dlubal.api.common.common_messages_pb2.SubscriptionInfo:
629
+ """
630
+ Returns current company's API subscription information
631
+
632
+ Returns:
633
+ :ref:`common_common_messages_SubscriptionInfo`
634
+ """
635
+ return self.stub.get_subscription_info(google.protobuf.empty_pb2.Empty())
636
+
637
+ def close_connection(self):
638
+ """
639
+ Closes connection to API server
640
+ """
641
+ self.stub.close_connection(google.protobuf.empty_pb2.Empty())
642
+
643
+ def delete_all_objects(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()):
644
+ """
645
+ Deletes all objects
646
+
647
+ Args:
648
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
649
+
650
+ """
651
+ self.stub.delete_all_objects(optional_model_id)
652
+
653
+ def calculate_all(self, *, skip_warnings: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.common.common_messages_pb2.OperationResult:
654
+ """
655
+ Performs a full calculation for all objects.
656
+ Returns result of the operation, description of the result and possibly additional information about an error.
657
+
658
+ Args:
659
+ skip_warnings (bool):
660
+ Specifies whether to skip warnings during the calculation.
661
+ model_id (:ref:`common_model_id_ModelId` | None):
662
+ Unique identifier of the model. Active model is used if this field is not set.
663
+
664
+ Returns:
665
+ :ref:`common_common_messages_OperationResult`
666
+ """
667
+ request = dlubal.api.common.common_messages_pb2.CalculateAllRequest(skip_warnings=skip_warnings, model_id=model_id)
668
+ return self.stub.calculate_all(request)
669
+
670
+ def calculate_specific(self, *, loadings: collections.abc.Iterable[dlubal.api.rstab.object_id_pb2.ObjectId] | None = None, skip_warnings: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.common.common_messages_pb2.OperationResult:
671
+ """
672
+ Performs a calculation for the specific objects.
673
+ Returns result of the operation, description of the result and possibly additional information about an error.
674
+
675
+ Args:
676
+ loadings (list[:ref:`rstab_object_id_ObjectId`] | None):
677
+ Unique identifier of the loading.
678
+ skip_warnings (bool):
679
+ Specifies whether to skip warnings during the calculation.
680
+ model_id (:ref:`common_model_id_ModelId` | None):
681
+ Unique identifier of the model. Active model is used if this field is not set.
682
+
683
+ Returns:
684
+ :ref:`common_common_messages_OperationResult`
685
+ """
686
+ request = dlubal.api.rstab.application_pb2.CalculateSpecificRequest(loadings=loadings, skip_warnings=skip_warnings, model_id=model_id)
687
+ return self.stub.calculate_specific(request)
688
+
689
+ def has_results(self, *, loading: dlubal.api.rstab.object_id_pb2.ObjectId | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> google.protobuf.wrappers_pb2.BoolValue:
690
+ """
691
+ Checks whether the model contains calculation results for the selected loading, loading type, or any loading.
692
+ Returns True if results are available.
693
+
694
+ Args:
695
+ loading (:ref:`rstab_object_id_ObjectId` | None):
696
+ Allowed types: OBJECT_TYPE_CONSTRUCTION_STAGE, OBJECT_TYPE_DESIGN_SITUATION, OBJECT_TYPE_LOAD_CASE, OBJECT_TYPE_LOAD_COMBINATION, OBJECT_TYPE_RESULT_COMBINATION
697
+ model_id (:ref:`common_model_id_ModelId` | None):
698
+ Unique identifier of the model. Active model is used if this field is not set.
699
+
700
+ Returns:
701
+ google.protobuf.BoolValue
702
+ """
703
+ request = dlubal.api.rstab.application_pb2.HasResultsRequest(loading=loading, model_id=model_id)
704
+ return self.stub.has_results(request)
705
+
706
+ def plausibility_check(self, *, type: dlubal.api.common.common_messages_pb2.PlausibilityCheckType, skip_warnings: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.common.common_messages_pb2.OperationResult:
707
+ """
708
+ Performs validation based on the specified validation type.
709
+ Returns result of the operation, description of the result and possibly additional information about an error.
710
+
711
+ Args:
712
+ type (:ref:`common_common_messages_PlausibilityCheckType`):
713
+ Specifies various validation checks that can be performed before generating a mesh, running a calculation, or verifying plausibility.
714
+ skip_warnings (bool):
715
+ Specifies whether to skip warnings during the calculation.
716
+ model_id (:ref:`common_model_id_ModelId` | None):
717
+ Unique identifier of the model. Active model is used if this field is not set.
718
+
719
+ Returns:
720
+ :ref:`common_common_messages_OperationResult`
721
+ """
722
+ request = dlubal.api.common.common_messages_pb2.PlausibilityCheckRequest(type=type, skip_warnings=skip_warnings, model_id=model_id)
723
+ return self.stub.plausibility_check(request)
724
+
725
+ def get_object_id_list(self, *, object_type: dlubal.api.rstab.object_type_pb2.ObjectType | None = None, parent_no: int | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.rstab.object_id_pb2.ObjectIdList:
726
+ """
727
+ Retrieves object ids filtered by a specific type.
728
+ If you want to retrieve all object ids, do not specify the object_type.
729
+
730
+ Args:
731
+ object_type (:ref:`rstab_object_type_ObjectType` | None):
732
+ The type of objects to retrieve. To get all object ids, omit it.
733
+ parent_no (int | None):
734
+ Unique identifier of the parent object. Omit this parameter if the object type does not have a parent or you want to get result for all parent objects.
735
+ model_id (:ref:`common_model_id_ModelId` | None):
736
+ Unique identifier of the model. If not specified, the active model is used.
737
+
738
+ Returns:
739
+ :ref:`rstab_object_id_ObjectIdList`
740
+ """
741
+ request = dlubal.api.rstab.application_pb2.GetObjectIdListRequest(object_type=object_type, parent_no=parent_no, model_id=model_id)
742
+ return self.stub.get_object_id_list(request)
743
+
744
+ def get_model_main_parameters(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()) -> dlubal.api.common.common_messages_pb2.ModelMainParameters:
745
+ """
746
+ Retrieves the main parameters of a model, including its ID, name, description,
747
+ comments, file path, and associated project details.
748
+
749
+ Args:
750
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
751
+
752
+
753
+ Returns:
754
+ :ref:`common_common_messages_ModelMainParameters`
755
+ """
756
+ return self.stub.get_model_main_parameters(optional_model_id)
757
+
758
+ def generate_combinations(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()):
759
+ """
760
+ Generates combinations.
761
+
762
+ Args:
763
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
764
+
765
+ """
766
+ self.stub.generate_combinations(optional_model_id)
767
+
768
+ def get_base_data(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()) -> dlubal.api.rstab.base_data_pb2.BaseData:
769
+ """
770
+ Get the base data.
771
+ This method returns the complete set of data stored for a particular model,
772
+ including add-ons, standards, general and combinations settings, etc.
773
+
774
+ Args:
775
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
776
+
777
+
778
+ Returns:
779
+ :ref:`rstab_base_data_BaseData`
780
+ """
781
+ return self.stub.get_base_data(optional_model_id)
782
+
783
+ def set_base_data(self, *, base_data: dlubal.api.rstab.base_data_pb2.BaseData | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
784
+ """
785
+ Set the base data.
786
+ This method updates the complete set of data for a particular model,
787
+ including add-ons, standards, general and combinations settings, and other parameters.
788
+
789
+ Args:
790
+ base_data (:ref:`rstab_base_data_BaseData` | None):
791
+
792
+ model_id (:ref:`common_model_id_ModelId` | None):
793
+ Unique identifier of the model. If not specified, the active model is used.
794
+ """
795
+ request = dlubal.api.rstab.application_pb2.BaseDataRequest(base_data=base_data, model_id=model_id)
796
+ self.stub.set_base_data(request)
797
+
798
+ def get_design_settings(self, *, addon: dlubal.api.rstab.design_addons_pb2.DesignAddons, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.rstab.application_pb2.GlobalSettingsTreeTable:
799
+ """
800
+ Get global settings for a design addon.
801
+
802
+ Args:
803
+ addon (:ref:`rstab_design_addons_DesignAddons`):
804
+
805
+ model_id (:ref:`common_model_id_ModelId` | None):
806
+ Unique identifier of the model. Active model is used if this field is not set.
807
+
808
+ Returns:
809
+ :ref:`rstab_application_GlobalSettingsTreeTable`
810
+ """
811
+ request = dlubal.api.rstab.application_pb2.GetDesignSettingsRequest(addon=addon, model_id=model_id)
812
+ return self.stub.get_design_settings(request)
813
+
814
+ def set_design_settings(self, *, addon: dlubal.api.rstab.design_addons_pb2.DesignAddons, global_settings_tree_table: dlubal.api.rstab.application_pb2.GlobalSettingsTreeTable | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
815
+ """
816
+ Set global settings for a design addon.
817
+
818
+ Args:
819
+ addon (:ref:`rstab_design_addons_DesignAddons`):
820
+
821
+ global_settings_tree_table (:ref:`rstab_application_GlobalSettingsTreeTable` | None):
822
+
823
+ model_id (:ref:`common_model_id_ModelId` | None):
824
+ Unique identifier of the model. Active model is used if this field is not set.
825
+ """
826
+ request = dlubal.api.rstab.application_pb2.SetDesignSettingsRequest(addon=addon, global_settings_tree_table=global_settings_tree_table, model_id=model_id)
827
+ self.stub.set_design_settings(request)