dlubal.api 0.1.293714a1__py3-none-any.whl → 2.12.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (929) hide show
  1. dlubal/api/common/__init__.py +8 -3
  2. dlubal/api/common/common_messages_pb2.py +78 -0
  3. dlubal/api/common/common_messages_pb2.pyi +230 -0
  4. dlubal/api/common/common_pb2.py +7 -3
  5. dlubal/api/common/common_pb2.pyi +16 -0
  6. dlubal/api/common/connection.py +243 -251
  7. dlubal/api/common/exceptions.py +11 -11
  8. dlubal/api/common/import_export/__init__.py +2 -0
  9. dlubal/api/common/import_export/export_attributes_pb2.py +46 -0
  10. dlubal/api/common/import_export/export_attributes_pb2.pyi +77 -0
  11. dlubal/api/common/import_export/import_attributes_pb2.py +40 -0
  12. dlubal/api/common/import_export/import_attributes_pb2.pyi +17 -0
  13. dlubal/api/common/model_id_pb2.py +4 -4
  14. dlubal/api/common/model_id_pb2.pyi +8 -8
  15. dlubal/api/{rfem/results/results_id_pb2.py → common/options_pb2.py} +5 -6
  16. dlubal/api/common/options_pb2.pyi +7 -0
  17. dlubal/api/common/packing.py +144 -0
  18. dlubal/api/common/table.py +36 -34
  19. dlubal/api/common/utility.py +131 -0
  20. dlubal/api/rfem/__init__.py +53 -32
  21. dlubal/api/rfem/all_pb2.py +36 -0
  22. dlubal/api/rfem/all_pb2.pyi +9 -0
  23. dlubal/api/rfem/aluminum_design_objects/__init__.py +2 -2
  24. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +44 -3
  25. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +242 -3
  26. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +44 -3
  27. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +242 -3
  28. dlubal/api/rfem/application.py +807 -290
  29. dlubal/api/rfem/application_pb2.py +37 -30
  30. dlubal/api/rfem/application_pb2.pyi +107 -102
  31. dlubal/api/rfem/application_pb2_grpc.py +1046 -61
  32. dlubal/api/rfem/{base_data → base_data_objects}/__init__.py +1 -1
  33. dlubal/api/rfem/base_data_objects/terrain_pb2.py +42 -0
  34. dlubal/api/rfem/base_data_objects/terrain_pb2.pyi +71 -0
  35. dlubal/api/rfem/base_data_pb2.py +108 -0
  36. dlubal/api/rfem/base_data_pb2.pyi +2627 -0
  37. dlubal/api/rfem/beam_panels/__init__.py +4 -0
  38. dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.py +38 -0
  39. dlubal/api/rfem/beam_panels/beam_to_beam_connector_pb2.pyi +39 -0
  40. dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.py +38 -0
  41. dlubal/api/rfem/beam_panels/inner_studs_structure_pb2.pyi +53 -0
  42. dlubal/api/rfem/beam_panels/sheathing_pb2.py +38 -0
  43. dlubal/api/rfem/beam_panels/sheathing_pb2.pyi +59 -0
  44. dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.py +44 -0
  45. dlubal/api/rfem/beam_panels/sheathing_to_beam_connector_pb2.pyi +93 -0
  46. dlubal/api/rfem/building_model/__init__.py +4 -4
  47. dlubal/api/rfem/building_model/building_story_pb2.py +24 -20
  48. dlubal/api/rfem/building_model/building_story_pb2.pyi +133 -95
  49. dlubal/api/rfem/building_model/deep_beam_pb2.py +225 -7
  50. dlubal/api/rfem/building_model/deep_beam_pb2.pyi +3505 -42
  51. dlubal/api/rfem/building_model/floor_set_pb2.py +4 -4
  52. dlubal/api/rfem/building_model/floor_set_pb2.pyi +8 -9
  53. dlubal/api/rfem/building_model/shear_wall_pb2.py +123 -7
  54. dlubal/api/rfem/building_model/shear_wall_pb2.pyi +1843 -20
  55. dlubal/api/rfem/calculation_diagrams/__init__.py +1 -1
  56. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +28 -17
  57. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.pyi +1729 -1661
  58. dlubal/api/rfem/component_design_objects/__init__.py +2 -0
  59. dlubal/api/rfem/component_design_objects/component_pb2.py +55 -0
  60. dlubal/api/rfem/component_design_objects/component_pb2.pyi +164 -0
  61. dlubal/api/rfem/component_design_objects/component_serie_pb2.py +38 -0
  62. dlubal/api/rfem/component_design_objects/component_serie_pb2.pyi +54 -0
  63. dlubal/api/rfem/concrete_design_objects/__init__.py +4 -2
  64. dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.py +93 -0
  65. dlubal/api/rfem/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +369 -0
  66. dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +57 -0
  67. dlubal/api/rfem/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +171 -0
  68. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +28 -3
  69. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +150 -3
  70. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +76 -3
  71. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +414 -3
  72. dlubal/api/rfem/construction_stages/__init__.py +1 -1
  73. dlubal/api/rfem/construction_stages/construction_stage_pb2.py +52 -12
  74. dlubal/api/rfem/construction_stages/construction_stage_pb2.pyi +390 -31
  75. dlubal/api/rfem/design_addons_pb2.py +36 -0
  76. dlubal/api/rfem/design_addons_pb2.pyi +28 -0
  77. dlubal/api/rfem/dynamic_analysis_pb2.py +36 -0
  78. dlubal/api/rfem/dynamic_analysis_pb2.pyi +23 -0
  79. dlubal/api/rfem/dynamic_loads/__init__.py +3 -2
  80. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +8 -6
  81. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.pyi +33 -17
  82. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +10 -8
  83. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.pyi +49 -30
  84. dlubal/api/rfem/dynamic_loads/time_diagram_pb2.py +46 -0
  85. dlubal/api/rfem/dynamic_loads/time_diagram_pb2.pyi +83 -0
  86. dlubal/api/rfem/foundation_design_objects/__init__.py +2 -0
  87. dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
  88. dlubal/api/rfem/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
  89. dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
  90. dlubal/api/rfem/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
  91. dlubal/api/rfem/geotechnical_analysis/__init__.py +3 -2
  92. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +8 -6
  93. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.pyi +31 -15
  94. dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.py +42 -0
  95. dlubal/api/rfem/geotechnical_analysis/pile_resistance_pb2.pyi +71 -0
  96. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +20 -12
  97. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.pyi +107 -50
  98. dlubal/api/rfem/glass_design_objects/__init__.py +2 -0
  99. dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.py +69 -0
  100. dlubal/api/rfem/glass_design_objects/glass_design_sls_configuration_pb2.pyi +213 -0
  101. dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.py +69 -0
  102. dlubal/api/rfem/glass_design_objects/glass_design_uls_configuration_pb2.pyi +213 -0
  103. dlubal/api/rfem/global_parameters/__init__.py +1 -1
  104. dlubal/api/rfem/global_parameters/global_parameter_pb2.py +6 -6
  105. dlubal/api/rfem/global_parameters/global_parameter_pb2.pyi +254 -244
  106. dlubal/api/rfem/guide_objects/__init__.py +15 -10
  107. dlubal/api/rfem/guide_objects/building_grid_pb2.py +18 -18
  108. dlubal/api/rfem/guide_objects/building_grid_pb2.pyi +120 -128
  109. dlubal/api/rfem/guide_objects/clipping_box_pb2.py +2 -2
  110. dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +10 -10
  111. dlubal/api/rfem/guide_objects/clipping_plane_pb2.pyi +57 -52
  112. dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +6 -6
  113. dlubal/api/rfem/guide_objects/coordinate_system_pb2.pyi +31 -33
  114. dlubal/api/rfem/guide_objects/dimension_pb2.py +40 -26
  115. dlubal/api/rfem/guide_objects/dimension_pb2.pyi +266 -129
  116. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +6 -6
  117. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.pyi +54 -52
  118. dlubal/api/rfem/guide_objects/dxf_model_object_pb2.py +2 -2
  119. dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.py +38 -0
  120. dlubal/api/rfem/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  121. dlubal/api/rfem/guide_objects/guideline_pb2.py +42 -0
  122. dlubal/api/rfem/guide_objects/guideline_pb2.pyi +90 -0
  123. dlubal/api/rfem/guide_objects/layer_group_pb2.py +36 -0
  124. dlubal/api/rfem/guide_objects/layer_group_pb2.pyi +22 -0
  125. dlubal/api/rfem/guide_objects/layer_pb2.py +38 -0
  126. dlubal/api/rfem/guide_objects/layer_pb2.pyi +44 -0
  127. dlubal/api/rfem/guide_objects/note_pb2.py +12 -10
  128. dlubal/api/rfem/guide_objects/note_pb2.pyi +90 -60
  129. dlubal/api/rfem/guide_objects/object_snap_pb2.py +4 -4
  130. dlubal/api/rfem/guide_objects/object_snap_pb2.pyi +27 -26
  131. dlubal/api/rfem/guide_objects/texture_pb2.py +36 -0
  132. dlubal/api/rfem/guide_objects/texture_pb2.pyi +41 -0
  133. dlubal/api/rfem/guide_objects/visual_object_pb2.py +8 -8
  134. dlubal/api/rfem/guide_objects/visual_object_pb2.pyi +68 -62
  135. dlubal/api/rfem/ifc_objects/__init__.py +2 -0
  136. dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.py +46 -0
  137. dlubal/api/rfem/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
  138. dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.py +38 -0
  139. dlubal/api/rfem/ifc_objects/ifc_model_object_pb2.pyi +32 -0
  140. dlubal/api/rfem/imperfections/__init__.py +3 -5
  141. dlubal/api/rfem/imperfections/imperfection_case_pb2.py +26 -16
  142. dlubal/api/rfem/imperfections/imperfection_case_pb2.pyi +155 -98
  143. dlubal/api/rfem/imperfections/member_imperfection_pb2.py +17 -15
  144. dlubal/api/rfem/imperfections/member_imperfection_pb2.pyi +128 -128
  145. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +17 -15
  146. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.pyi +130 -130
  147. dlubal/api/rfem/layout_and_drawing/__init__.py +2 -0
  148. dlubal/api/rfem/layout_and_drawing/cad_line_pb2.py +69 -0
  149. dlubal/api/rfem/layout_and_drawing/cad_line_pb2.pyi +410 -0
  150. dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.py +39 -0
  151. dlubal/api/rfem/layout_and_drawing/cad_line_point_pb2.pyi +37 -0
  152. dlubal/api/rfem/load_wizards/__init__.py +7 -2
  153. dlubal/api/rfem/load_wizards/import_support_reactions_pb2.py +46 -0
  154. dlubal/api/rfem/load_wizards/import_support_reactions_pb2.pyi +91 -0
  155. dlubal/api/rfem/load_wizards/load_model_pb2.py +50 -0
  156. dlubal/api/rfem/load_wizards/load_model_pb2.pyi +113 -0
  157. dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.py +46 -0
  158. dlubal/api/rfem/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
  159. dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
  160. dlubal/api/rfem/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
  161. dlubal/api/rfem/load_wizards/moving_load_pb2.py +52 -0
  162. dlubal/api/rfem/load_wizards/moving_load_pb2.pyi +715 -0
  163. dlubal/api/rfem/load_wizards/wind_profile_pb2.py +14 -10
  164. dlubal/api/rfem/load_wizards/wind_profile_pb2.pyi +748 -698
  165. dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +22 -13
  166. dlubal/api/rfem/load_wizards/wind_simulation_pb2.pyi +107 -43
  167. dlubal/api/rfem/loading/__init__.py +16 -15
  168. dlubal/api/rfem/loading/action_combination_pb2.py +14 -6
  169. dlubal/api/rfem/loading/action_combination_pb2.pyi +118 -21
  170. dlubal/api/rfem/loading/action_pb2.py +21 -9
  171. dlubal/api/rfem/loading/action_pb2.pyi +676 -37
  172. dlubal/api/rfem/loading/combination_wizard_pb2.py +14 -7
  173. dlubal/api/rfem/loading/combination_wizard_pb2.pyi +61 -20
  174. dlubal/api/rfem/loading/design_situation_pb2.py +14 -5
  175. dlubal/api/rfem/loading/design_situation_pb2.pyi +1164 -9
  176. dlubal/api/rfem/loading/load_case_pb2.py +70 -43
  177. dlubal/api/rfem/loading/load_case_pb2.pyi +1151 -255
  178. dlubal/api/rfem/loading/load_combination_pb2.py +32 -15
  179. dlubal/api/rfem/loading/load_combination_pb2.pyi +312 -72
  180. dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +18 -14
  181. dlubal/api/rfem/loading/modal_analysis_settings_pb2.pyi +133 -93
  182. dlubal/api/rfem/loading/optimization_settings_pb2.py +12 -8
  183. dlubal/api/rfem/loading/optimization_settings_pb2.pyi +81 -42
  184. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +4 -4
  185. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.pyi +8 -9
  186. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.py +10 -6
  187. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.pyi +44 -14
  188. dlubal/api/rfem/loading/result_combination_pb2.py +26 -9
  189. dlubal/api/rfem/loading/result_combination_pb2.pyi +266 -36
  190. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +12 -12
  191. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.pyi +45 -56
  192. dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +10 -10
  193. dlubal/api/rfem/loading/stability_analysis_settings_pb2.pyi +53 -57
  194. dlubal/api/rfem/loading/static_analysis_settings_pb2.py +14 -12
  195. dlubal/api/rfem/loading/static_analysis_settings_pb2.pyi +65 -52
  196. dlubal/api/rfem/loading/time_history_analysis_settings_pb2.py +54 -0
  197. dlubal/api/rfem/loading/time_history_analysis_settings_pb2.pyi +167 -0
  198. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +18 -14
  199. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.pyi +116 -90
  200. dlubal/api/rfem/loads/__init__.py +19 -17
  201. dlubal/api/rfem/loads/additional_foundation_load_pb2.py +41 -0
  202. dlubal/api/rfem/loads/additional_foundation_load_pb2.pyi +80 -0
  203. dlubal/api/rfem/loads/cutting_pattern_load_pb2.py +40 -0
  204. dlubal/api/rfem/loads/cutting_pattern_load_pb2.pyi +49 -0
  205. dlubal/api/rfem/loads/free_circular_load_pb2.py +8 -8
  206. dlubal/api/rfem/loads/free_circular_load_pb2.pyi +57 -60
  207. dlubal/api/rfem/loads/free_concentrated_load_pb2.py +10 -8
  208. dlubal/api/rfem/loads/free_concentrated_load_pb2.pyi +70 -51
  209. dlubal/api/rfem/loads/free_line_load_pb2.py +14 -8
  210. dlubal/api/rfem/loads/free_line_load_pb2.pyi +108 -63
  211. dlubal/api/rfem/loads/free_polygon_load_pb2.py +12 -10
  212. dlubal/api/rfem/loads/free_polygon_load_pb2.pyi +80 -69
  213. dlubal/api/rfem/loads/free_rectangular_load_pb2.py +18 -14
  214. dlubal/api/rfem/loads/free_rectangular_load_pb2.pyi +114 -86
  215. dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +2 -2
  216. dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +2 -2
  217. dlubal/api/rfem/loads/line_load_pb2.py +26 -13
  218. dlubal/api/rfem/loads/line_load_pb2.pyi +189 -78
  219. dlubal/api/rfem/loads/line_set_load_pb2.py +26 -13
  220. dlubal/api/rfem/loads/line_set_load_pb2.pyi +196 -85
  221. dlubal/api/rfem/loads/member_load_pb2.py +44 -32
  222. dlubal/api/rfem/loads/member_load_pb2.pyi +334 -232
  223. dlubal/api/rfem/loads/member_set_load_pb2.py +44 -32
  224. dlubal/api/rfem/loads/member_set_load_pb2.pyi +336 -234
  225. dlubal/api/rfem/loads/nodal_load_pb2.py +14 -12
  226. dlubal/api/rfem/loads/nodal_load_pb2.pyi +101 -80
  227. dlubal/api/rfem/loads/opening_load_pb2.py +10 -9
  228. dlubal/api/rfem/loads/opening_load_pb2.pyi +39 -41
  229. dlubal/api/rfem/loads/solid_load_pb2.py +18 -18
  230. dlubal/api/rfem/loads/solid_load_pb2.pyi +81 -89
  231. dlubal/api/rfem/loads/solid_set_load_pb2.py +18 -18
  232. dlubal/api/rfem/loads/solid_set_load_pb2.pyi +84 -92
  233. dlubal/api/rfem/loads/surface_load_pb2.py +30 -22
  234. dlubal/api/rfem/loads/surface_load_pb2.pyi +203 -148
  235. dlubal/api/rfem/loads/surface_set_load_pb2.py +30 -22
  236. dlubal/api/rfem/loads/surface_set_load_pb2.pyi +210 -155
  237. dlubal/api/rfem/mesh/__init__.py +1 -0
  238. dlubal/api/rfem/mesh/mesh_settings_pb2.py +51 -0
  239. dlubal/api/rfem/mesh/mesh_settings_pb2.pyi +218 -0
  240. dlubal/api/rfem/object_id_pb2.py +39 -0
  241. dlubal/api/rfem/object_id_pb2.pyi +25 -0
  242. dlubal/api/rfem/object_type_pb2.py +36 -0
  243. dlubal/api/rfem/object_type_pb2.pyi +406 -0
  244. dlubal/api/rfem/result_objects/__init__.py +2 -1
  245. dlubal/api/rfem/result_objects/result_point_pb2.py +41 -0
  246. dlubal/api/rfem/result_objects/result_point_pb2.pyi +75 -0
  247. dlubal/api/rfem/result_objects/result_section_pb2.py +8 -8
  248. dlubal/api/rfem/result_objects/result_section_pb2.pyi +48 -51
  249. dlubal/api/rfem/results/__init__.py +4 -2
  250. dlubal/api/rfem/results/result_table_pb2.py +36 -0
  251. dlubal/api/rfem/results/result_table_pb2.pyi +1176 -0
  252. dlubal/api/rfem/results/results_query_pb2.py +7 -6
  253. dlubal/api/rfem/results/results_query_pb2.pyi +10 -5
  254. dlubal/api/rfem/results/results_type_pb2.py +36 -0
  255. dlubal/api/rfem/results/results_type_pb2.pyi +678 -0
  256. dlubal/api/rfem/results/settings/__init__.py +1 -0
  257. dlubal/api/rfem/results/settings/result_settings_pb2.py +38 -0
  258. dlubal/api/rfem/results/settings/result_settings_pb2.pyi +23 -0
  259. dlubal/api/rfem/rsection_stresses/__init__.py +1 -0
  260. dlubal/api/rfem/rsection_stresses/member_configuration_pb2.py +41 -0
  261. dlubal/api/rfem/rsection_stresses/member_configuration_pb2.pyi +53 -0
  262. dlubal/api/rfem/steel_design_objects/__init__.py +4 -4
  263. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.py +24 -3
  264. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.pyi +124 -3
  265. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.py +20 -3
  266. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +102 -3
  267. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.py +108 -3
  268. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.pyi +594 -3
  269. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.py +108 -3
  270. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.pyi +594 -3
  271. dlubal/api/rfem/steel_joint_design_addon_objects/__init__.py +2 -0
  272. dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.py +49 -0
  273. dlubal/api/rfem/steel_joint_design_addon_objects/joint_stiffness_analysis_configuration_pb2.pyi +91 -0
  274. dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.py +49 -0
  275. dlubal/api/rfem/steel_joint_design_addon_objects/joint_uls_configuration_pb2.pyi +91 -0
  276. dlubal/api/rfem/stress_analysis_objects/__init__.py +3 -0
  277. dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.py +41 -0
  278. dlubal/api/rfem/stress_analysis_objects/line_welded_joint_configuration_pb2.pyi +47 -0
  279. dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.py +36 -0
  280. dlubal/api/rfem/stress_analysis_objects/solid_configuration_pb2.pyi +26 -0
  281. dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.py +36 -0
  282. dlubal/api/rfem/stress_analysis_objects/surface_configuration_pb2.pyi +26 -0
  283. dlubal/api/rfem/structure_advanced/__init__.py +13 -9
  284. dlubal/api/rfem/structure_advanced/block_pb2.py +20 -16
  285. dlubal/api/rfem/structure_advanced/block_pb2.pyi +99 -83
  286. dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.py +44 -0
  287. dlubal/api/rfem/structure_advanced/cutting_pattern_pb2.pyi +71 -0
  288. dlubal/api/rfem/structure_advanced/design_strip_pb2.py +61 -0
  289. dlubal/api/rfem/structure_advanced/design_strip_pb2.pyi +460 -0
  290. dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.py +53 -0
  291. dlubal/api/rfem/structure_advanced/design_strip_wizard_pb2.pyi +158 -0
  292. dlubal/api/rfem/structure_advanced/intersection_pb2.py +2 -2
  293. dlubal/api/rfem/structure_advanced/intersection_pb2.pyi +8 -8
  294. dlubal/api/rfem/structure_advanced/line_release_pb2.py +8 -6
  295. dlubal/api/rfem/structure_advanced/line_release_pb2.pyi +25 -14
  296. dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +8 -4
  297. dlubal/api/rfem/structure_advanced/nodal_release_pb2.pyi +30 -11
  298. dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +6 -6
  299. dlubal/api/rfem/structure_advanced/rigid_link_pb2.pyi +24 -24
  300. dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +60 -22
  301. dlubal/api/rfem/structure_advanced/structure_modification_pb2.pyi +345 -53
  302. dlubal/api/rfem/structure_advanced/surface_cell_pb2.py +41 -0
  303. dlubal/api/rfem/structure_advanced/surface_cell_pb2.pyi +74 -0
  304. dlubal/api/rfem/structure_advanced/surface_release_pb2.py +8 -4
  305. dlubal/api/rfem/structure_advanced/surface_release_pb2.pyi +30 -11
  306. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +26 -20
  307. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.pyi +113 -88
  308. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.py +4 -2
  309. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.pyi +20 -5
  310. dlubal/api/rfem/structure_core/__init__.py +15 -15
  311. dlubal/api/rfem/structure_core/line_pb2.py +53 -19
  312. dlubal/api/rfem/structure_core/line_pb2.pyi +401 -109
  313. dlubal/api/rfem/structure_core/line_set_pb2.py +4 -4
  314. dlubal/api/rfem/structure_core/line_set_pb2.pyi +19 -10
  315. dlubal/api/rfem/structure_core/material_pb2.py +111 -67
  316. dlubal/api/rfem/structure_core/material_pb2.pyi +1235 -689
  317. dlubal/api/rfem/structure_core/member_pb2.py +192 -45
  318. dlubal/api/rfem/structure_core/member_pb2.pyi +2434 -317
  319. dlubal/api/rfem/structure_core/member_representative_pb2.py +288 -49
  320. dlubal/api/rfem/structure_core/member_representative_pb2.pyi +4011 -302
  321. dlubal/api/rfem/structure_core/member_set_pb2.py +122 -19
  322. dlubal/api/rfem/structure_core/member_set_pb2.pyi +1739 -79
  323. dlubal/api/rfem/structure_core/member_set_representative_pb2.py +406 -65
  324. dlubal/api/rfem/structure_core/member_set_representative_pb2.pyi +5761 -393
  325. dlubal/api/rfem/structure_core/node_pb2.py +14 -8
  326. dlubal/api/rfem/structure_core/node_pb2.pyi +93 -53
  327. dlubal/api/rfem/structure_core/opening_pb2.py +2 -2
  328. dlubal/api/rfem/structure_core/opening_pb2.pyi +12 -8
  329. dlubal/api/rfem/structure_core/section_pb2.py +42 -32
  330. dlubal/api/rfem/structure_core/section_pb2.pyi +1582 -1386
  331. dlubal/api/rfem/structure_core/solid_pb2.py +28 -18
  332. dlubal/api/rfem/structure_core/solid_pb2.pyi +202 -128
  333. dlubal/api/rfem/structure_core/solid_set_pb2.py +10 -4
  334. dlubal/api/rfem/structure_core/solid_set_pb2.pyi +49 -12
  335. dlubal/api/rfem/structure_core/surface_pb2.py +63 -33
  336. dlubal/api/rfem/structure_core/surface_pb2.pyi +346 -168
  337. dlubal/api/rfem/structure_core/surface_set_pb2.py +14 -12
  338. dlubal/api/rfem/structure_core/surface_set_pb2.pyi +67 -49
  339. dlubal/api/rfem/structure_core/thickness_pb2.py +42 -30
  340. dlubal/api/rfem/structure_core/thickness_pb2.pyi +356 -280
  341. dlubal/api/rfem/timber_design_objects/__init__.py +3 -3
  342. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.py +92 -3
  343. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.pyi +498 -3
  344. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.py +92 -3
  345. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.pyi +498 -3
  346. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.py +132 -3
  347. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.pyi +726 -3
  348. dlubal/api/rfem/types_for_aluminum_design/__init__.py +4 -3
  349. dlubal/api/rfem/types_for_aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
  350. dlubal/api/rfem/types_for_aluminum_design/aluminum_boundary_conditions_pb2.pyi +192 -0
  351. dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +58 -23
  352. dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.pyi +315 -83
  353. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.py +14 -5
  354. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.pyi +141 -7
  355. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.py +14 -4
  356. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.pyi +76 -7
  357. dlubal/api/rfem/types_for_concrete_design/__init__.py +5 -5
  358. dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.py +34 -34
  359. dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.pyi +164 -176
  360. dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.py +74 -33
  361. dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.pyi +423 -113
  362. dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.py +24 -18
  363. dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.pyi +217 -128
  364. dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.py +4 -4
  365. dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.pyi +13 -14
  366. dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.py +47 -39
  367. dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.pyi +546 -381
  368. dlubal/api/rfem/types_for_craneway_design/__init__.py +2 -0
  369. dlubal/api/rfem/types_for_craneway_design/crane_pb2.py +36 -0
  370. dlubal/api/rfem/types_for_craneway_design/crane_pb2.pyi +24 -0
  371. dlubal/api/rfem/types_for_craneway_design/craneway_pb2.py +52 -0
  372. dlubal/api/rfem/types_for_craneway_design/craneway_pb2.pyi +117 -0
  373. dlubal/api/rfem/types_for_foundations/__init__.py +1 -0
  374. dlubal/api/rfem/types_for_foundations/single_foundation_pb2.py +79 -0
  375. dlubal/api/rfem/types_for_foundations/single_foundation_pb2.pyi +336 -0
  376. dlubal/api/rfem/types_for_glass_design/__init__.py +1 -0
  377. dlubal/api/rfem/types_for_glass_design/glass_composition_model_pb2.py +91 -0
  378. dlubal/api/rfem/types_for_glass_design/glass_composition_model_pb2.pyi +456 -0
  379. dlubal/api/rfem/types_for_lines/__init__.py +6 -4
  380. dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.py +38 -0
  381. dlubal/api/rfem/types_for_lines/cutting_line_setting_pb2.pyi +30 -0
  382. dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +121 -69
  383. dlubal/api/rfem/types_for_lines/line_hinge_pb2.pyi +826 -428
  384. dlubal/api/rfem/types_for_lines/line_link_pb2.py +43 -0
  385. dlubal/api/rfem/types_for_lines/line_link_pb2.pyi +66 -0
  386. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +4 -4
  387. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.pyi +25 -26
  388. dlubal/api/rfem/types_for_lines/line_support_pb2.py +124 -92
  389. dlubal/api/rfem/types_for_lines/line_support_pb2.pyi +884 -699
  390. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +10 -8
  391. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.pyi +63 -56
  392. dlubal/api/rfem/types_for_members/__init__.py +14 -13
  393. dlubal/api/rfem/types_for_members/design_support_pb2.py +28 -16
  394. dlubal/api/rfem/types_for_members/design_support_pb2.pyi +206 -119
  395. dlubal/api/rfem/types_for_members/diagonal_brace_pb2.py +46 -0
  396. dlubal/api/rfem/types_for_members/diagonal_brace_pb2.pyi +103 -0
  397. dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +2 -2
  398. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +14 -14
  399. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.pyi +59 -63
  400. dlubal/api/rfem/types_for_members/member_hinge_pb2.py +214 -116
  401. dlubal/api/rfem/types_for_members/member_hinge_pb2.pyi +1286 -742
  402. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +4 -4
  403. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.pyi +40 -41
  404. dlubal/api/rfem/types_for_members/member_openings_pb2.py +12 -4
  405. dlubal/api/rfem/types_for_members/member_openings_pb2.pyi +68 -7
  406. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.py +6 -4
  407. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.pyi +18 -6
  408. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +16 -14
  409. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.pyi +66 -50
  410. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +6 -6
  411. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.pyi +32 -34
  412. dlubal/api/rfem/types_for_members/member_spring_pb2.py +18 -16
  413. dlubal/api/rfem/types_for_members/member_spring_pb2.pyi +90 -80
  414. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +14 -12
  415. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.pyi +77 -68
  416. dlubal/api/rfem/types_for_members/member_support_pb2.py +14 -14
  417. dlubal/api/rfem/types_for_members/member_support_pb2.pyi +90 -96
  418. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.py +14 -4
  419. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.pyi +120 -9
  420. dlubal/api/rfem/types_for_nodes/__init__.py +3 -2
  421. dlubal/api/rfem/types_for_nodes/nodal_link_pb2.py +43 -0
  422. dlubal/api/rfem/types_for_nodes/nodal_link_pb2.pyi +74 -0
  423. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +6 -6
  424. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.pyi +19 -21
  425. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +176 -136
  426. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.pyi +1293 -1039
  427. dlubal/api/rfem/types_for_solids/__init__.py +3 -3
  428. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +6 -6
  429. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.pyi +27 -29
  430. dlubal/api/rfem/types_for_solids/solid_gas_pb2.py +2 -2
  431. dlubal/api/rfem/types_for_solids/solid_gas_pb2.pyi +8 -8
  432. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.py +2 -2
  433. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.pyi +4 -4
  434. dlubal/api/rfem/types_for_special_objects/__init__.py +4 -4
  435. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +122 -71
  436. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.pyi +796 -442
  437. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +165 -77
  438. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.pyi +1215 -564
  439. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +46 -34
  440. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.pyi +277 -209
  441. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +10 -10
  442. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.pyi +42 -46
  443. dlubal/api/rfem/types_for_steel_design/__init__.py +4 -3
  444. dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.py +18 -9
  445. dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.pyi +154 -22
  446. dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.py +84 -57
  447. dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.pyi +423 -236
  448. dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.py +14 -5
  449. dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.pyi +141 -7
  450. dlubal/api/rfem/types_for_steel_design/steel_member_transverse_weld_pb2.py +48 -0
  451. dlubal/api/rfem/types_for_steel_design/steel_member_transverse_weld_pb2.pyi +105 -0
  452. dlubal/api/rfem/types_for_steel_joints/__init__.py +1 -0
  453. dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.py +51 -0
  454. dlubal/api/rfem/types_for_steel_joints/steel_joint_pb2.pyi +160 -0
  455. dlubal/api/rfem/types_for_surfaces/__init__.py +4 -4
  456. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +8 -8
  457. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.pyi +28 -31
  458. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.py +2 -2
  459. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.pyi +4 -4
  460. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +6 -6
  461. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.pyi +36 -30
  462. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +8 -8
  463. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.pyi +37 -38
  464. dlubal/api/rfem/types_for_timber_design/__init__.py +6 -5
  465. dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.py +72 -23
  466. dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.pyi +404 -65
  467. dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.py +14 -4
  468. dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.pyi +96 -7
  469. dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.py +4 -4
  470. dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.pyi +17 -14
  471. dlubal/api/rfem/types_for_timber_design/timber_screw_type_pb2.py +38 -0
  472. dlubal/api/rfem/types_for_timber_design/timber_screw_type_pb2.pyi +58 -0
  473. dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.py +4 -4
  474. dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.pyi +17 -14
  475. dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.py +8 -8
  476. dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.pyi +61 -56
  477. dlubal/api/rfem/types_for_wind_simulation/__init__.py +2 -0
  478. dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
  479. dlubal/api/rfem/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +85 -0
  480. dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.py +40 -0
  481. dlubal/api/rfem/types_for_wind_simulation/shrink_wrapping_pb2.pyi +59 -0
  482. dlubal/api/rsection/__init__.py +14 -0
  483. dlubal/api/rsection/all_pb2.py +36 -0
  484. dlubal/api/rsection/all_pb2.pyi +9 -0
  485. dlubal/api/rsection/application.py +508 -0
  486. dlubal/api/rsection/application_pb2.py +48 -0
  487. dlubal/api/rsection/application_pb2.pyi +39 -0
  488. dlubal/api/rsection/application_pb2_grpc.py +1293 -0
  489. dlubal/api/rsection/base_data_pb2.py +58 -0
  490. dlubal/api/rsection/base_data_pb2.pyi +158 -0
  491. dlubal/api/rsection/global_parameters/__init__.py +1 -0
  492. dlubal/api/rsection/global_parameters/global_parameter_pb2.py +40 -0
  493. dlubal/api/rsection/global_parameters/global_parameter_pb2.pyi +150 -0
  494. dlubal/api/rsection/guide_objects/__init__.py +4 -0
  495. dlubal/api/rsection/guide_objects/dimension_pb2.py +71 -0
  496. dlubal/api/rsection/guide_objects/dimension_pb2.pyi +312 -0
  497. dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.py +43 -0
  498. dlubal/api/rsection/guide_objects/dxf_file_model_object_pb2.pyi +125 -0
  499. dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.py +38 -0
  500. dlubal/api/rsection/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  501. dlubal/api/rsection/guide_objects/object_snap_pb2.py +38 -0
  502. dlubal/api/rsection/guide_objects/object_snap_pb2.pyi +86 -0
  503. dlubal/api/rsection/internal_forces/__init__.py +1 -0
  504. dlubal/api/rsection/internal_forces/internal_forces_pb2.py +38 -0
  505. dlubal/api/rsection/internal_forces/internal_forces_pb2.pyi +58 -0
  506. dlubal/api/rsection/loading/__init__.py +2 -0
  507. dlubal/api/rsection/loading/load_case_pb2.py +38 -0
  508. dlubal/api/rsection/loading/load_case_pb2.pyi +616 -0
  509. dlubal/api/rsection/loading/load_combination_pb2.py +42 -0
  510. dlubal/api/rsection/loading/load_combination_pb2.pyi +113 -0
  511. dlubal/api/rsection/object_id_pb2.py +39 -0
  512. dlubal/api/rsection/object_id_pb2.pyi +25 -0
  513. dlubal/api/rsection/object_type_pb2.py +36 -0
  514. dlubal/api/rsection/object_type_pb2.pyi +60 -0
  515. dlubal/api/rsection/results/__init__.py +4 -0
  516. dlubal/api/rsection/results/result_table_pb2.py +36 -0
  517. dlubal/api/rsection/results/result_table_pb2.pyi +10 -0
  518. dlubal/api/rsection/results/results_query_pb2.py +41 -0
  519. dlubal/api/rsection/results/results_query_pb2.pyi +31 -0
  520. dlubal/api/rsection/results/results_type_pb2.py +36 -0
  521. dlubal/api/rsection/results/results_type_pb2.pyi +10 -0
  522. dlubal/api/rsection/results/settings/__init__.py +1 -0
  523. dlubal/api/rsection/results/settings/result_settings_pb2.py +38 -0
  524. dlubal/api/rsection/results/settings/result_settings_pb2.pyi +23 -0
  525. dlubal/api/rsection/rsection_stresses/__init__.py +1 -0
  526. dlubal/api/rsection/rsection_stresses/member_configuration_pb2.py +41 -0
  527. dlubal/api/rsection/rsection_stresses/member_configuration_pb2.pyi +53 -0
  528. dlubal/api/rsection/structure_advanced/__init__.py +1 -0
  529. dlubal/api/rsection/structure_advanced/block_pb2.py +55 -0
  530. dlubal/api/rsection/structure_advanced/block_pb2.pyi +190 -0
  531. dlubal/api/rsection/structure_core/__init__.py +15 -0
  532. dlubal/api/rsection/structure_core/bar_pb2.py +40 -0
  533. dlubal/api/rsection/structure_core/bar_pb2.pyi +102 -0
  534. dlubal/api/rsection/structure_core/element_pb2.py +53 -0
  535. dlubal/api/rsection/structure_core/element_pb2.pyi +204 -0
  536. dlubal/api/rsection/structure_core/layer_group_pb2.py +36 -0
  537. dlubal/api/rsection/structure_core/layer_group_pb2.pyi +22 -0
  538. dlubal/api/rsection/structure_core/layer_pb2.py +38 -0
  539. dlubal/api/rsection/structure_core/layer_pb2.pyi +44 -0
  540. dlubal/api/rsection/structure_core/line_pb2.py +59 -0
  541. dlubal/api/rsection/structure_core/line_pb2.pyi +222 -0
  542. dlubal/api/rsection/structure_core/material_pb2.py +110 -0
  543. dlubal/api/rsection/structure_core/material_pb2.pyi +1037 -0
  544. dlubal/api/rsection/structure_core/opening_pb2.py +37 -0
  545. dlubal/api/rsection/structure_core/opening_pb2.pyi +39 -0
  546. dlubal/api/rsection/structure_core/part_pb2.py +39 -0
  547. dlubal/api/rsection/structure_core/part_pb2.pyi +58 -0
  548. dlubal/api/rsection/structure_core/point_pb2.py +43 -0
  549. dlubal/api/rsection/structure_core/point_pb2.pyi +109 -0
  550. dlubal/api/rsection/structure_core/reinforcement_layer_pb2.py +36 -0
  551. dlubal/api/rsection/structure_core/reinforcement_layer_pb2.pyi +23 -0
  552. dlubal/api/rsection/structure_core/section_pb2.py +50 -0
  553. dlubal/api/rsection/structure_core/section_pb2.pyi +1723 -0
  554. dlubal/api/rsection/structure_core/stirrup_pb2.py +36 -0
  555. dlubal/api/rsection/structure_core/stirrup_pb2.pyi +42 -0
  556. dlubal/api/rsection/structure_core/stress_point_pb2.py +45 -0
  557. dlubal/api/rsection/structure_core/stress_point_pb2.pyi +101 -0
  558. dlubal/api/rsection/structure_core/subpanel_pb2.py +38 -0
  559. dlubal/api/rsection/structure_core/subpanel_pb2.pyi +49 -0
  560. dlubal/api/rsection/structure_core/weld_pb2.py +38 -0
  561. dlubal/api/rsection/structure_core/weld_pb2.pyi +46 -0
  562. dlubal/api/rstab/__init__.py +37 -0
  563. dlubal/api/rstab/all_pb2.py +36 -0
  564. dlubal/api/rstab/all_pb2.pyi +9 -0
  565. dlubal/api/rstab/aluminum_design_objects/__init__.py +2 -0
  566. dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +77 -0
  567. dlubal/api/rstab/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +261 -0
  568. dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +77 -0
  569. dlubal/api/rstab/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +261 -0
  570. dlubal/api/rstab/application.py +740 -0
  571. dlubal/api/rstab/application_pb2.py +69 -0
  572. dlubal/api/rstab/application_pb2.pyi +121 -0
  573. dlubal/api/rstab/application_pb2_grpc.py +1736 -0
  574. dlubal/api/rstab/base_data_objects/__init__.py +1 -0
  575. dlubal/api/rstab/base_data_objects/terrain_pb2.py +42 -0
  576. dlubal/api/rstab/base_data_objects/terrain_pb2.pyi +71 -0
  577. dlubal/api/rstab/base_data_pb2.py +92 -0
  578. dlubal/api/rstab/base_data_pb2.pyi +2361 -0
  579. dlubal/api/rstab/calculation_diagrams/__init__.py +1 -0
  580. dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.py +61 -0
  581. dlubal/api/rstab/calculation_diagrams/calculation_diagram_pb2.pyi +1762 -0
  582. dlubal/api/rstab/concrete_design_objects/__init__.py +4 -0
  583. dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.py +93 -0
  584. dlubal/api/rstab/concrete_design_objects/concrete_design_fr_configuration_pb2.pyi +369 -0
  585. dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.py +57 -0
  586. dlubal/api/rstab/concrete_design_objects/concrete_design_seismic_configuration_pb2.pyi +171 -0
  587. dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.py +61 -0
  588. dlubal/api/rstab/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +181 -0
  589. dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.py +109 -0
  590. dlubal/api/rstab/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +445 -0
  591. dlubal/api/rstab/design_addons_pb2.py +36 -0
  592. dlubal/api/rstab/design_addons_pb2.pyi +22 -0
  593. dlubal/api/rstab/dynamic_analysis_pb2.py +36 -0
  594. dlubal/api/rstab/dynamic_analysis_pb2.pyi +23 -0
  595. dlubal/api/rstab/dynamic_loads/__init__.py +3 -0
  596. dlubal/api/rstab/dynamic_loads/accelerogram_pb2.py +42 -0
  597. dlubal/api/rstab/dynamic_loads/accelerogram_pb2.pyi +67 -0
  598. dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.py +44 -0
  599. dlubal/api/rstab/dynamic_loads/response_spectrum_pb2.pyi +91 -0
  600. dlubal/api/rstab/dynamic_loads/time_diagram_pb2.py +46 -0
  601. dlubal/api/rstab/dynamic_loads/time_diagram_pb2.pyi +83 -0
  602. dlubal/api/rstab/foundation_design_objects/__init__.py +2 -0
  603. dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.py +41 -0
  604. dlubal/api/rstab/foundation_design_objects/concrete_design_configuration_pb2.pyi +47 -0
  605. dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.py +41 -0
  606. dlubal/api/rstab/foundation_design_objects/geotechnical_design_configuration_pb2.pyi +47 -0
  607. dlubal/api/rstab/global_parameters/__init__.py +1 -0
  608. dlubal/api/rstab/global_parameters/global_parameter_pb2.py +40 -0
  609. dlubal/api/rstab/global_parameters/global_parameter_pb2.pyi +278 -0
  610. dlubal/api/rstab/guide_objects/__init__.py +15 -0
  611. dlubal/api/rstab/guide_objects/building_grid_pb2.py +53 -0
  612. dlubal/api/rstab/guide_objects/building_grid_pb2.pyi +207 -0
  613. dlubal/api/rstab/guide_objects/clipping_box_pb2.py +37 -0
  614. dlubal/api/rstab/guide_objects/clipping_box_pb2.pyi +40 -0
  615. dlubal/api/rstab/guide_objects/clipping_plane_pb2.py +45 -0
  616. dlubal/api/rstab/guide_objects/clipping_plane_pb2.pyi +121 -0
  617. dlubal/api/rstab/guide_objects/coordinate_system_pb2.py +41 -0
  618. dlubal/api/rstab/guide_objects/coordinate_system_pb2.pyi +91 -0
  619. dlubal/api/rstab/guide_objects/dimension_pb2.py +69 -0
  620. dlubal/api/rstab/guide_objects/dimension_pb2.pyi +280 -0
  621. dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.py +41 -0
  622. dlubal/api/rstab/guide_objects/dxf_file_model_object_pb2.pyi +121 -0
  623. dlubal/api/rstab/guide_objects/dxf_model_object_pb2.py +36 -0
  624. dlubal/api/rstab/guide_objects/dxf_model_object_pb2.pyi +15 -0
  625. dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.py +38 -0
  626. dlubal/api/rstab/guide_objects/group_of_object_selections_pb2.pyi +35 -0
  627. dlubal/api/rstab/guide_objects/guideline_pb2.py +42 -0
  628. dlubal/api/rstab/guide_objects/guideline_pb2.pyi +90 -0
  629. dlubal/api/rstab/guide_objects/layer_group_pb2.py +36 -0
  630. dlubal/api/rstab/guide_objects/layer_group_pb2.pyi +22 -0
  631. dlubal/api/rstab/guide_objects/layer_pb2.py +38 -0
  632. dlubal/api/rstab/guide_objects/layer_pb2.pyi +44 -0
  633. dlubal/api/rstab/guide_objects/note_pb2.py +43 -0
  634. dlubal/api/rstab/guide_objects/note_pb2.pyi +117 -0
  635. dlubal/api/rstab/guide_objects/object_snap_pb2.py +38 -0
  636. dlubal/api/rstab/guide_objects/object_snap_pb2.pyi +86 -0
  637. dlubal/api/rstab/guide_objects/texture_pb2.py +36 -0
  638. dlubal/api/rstab/guide_objects/texture_pb2.pyi +41 -0
  639. dlubal/api/rstab/guide_objects/visual_object_pb2.py +43 -0
  640. dlubal/api/rstab/guide_objects/visual_object_pb2.pyi +135 -0
  641. dlubal/api/rstab/ifc_objects/__init__.py +2 -0
  642. dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.py +46 -0
  643. dlubal/api/rstab/ifc_objects/ifc_file_model_object_pb2.pyi +98 -0
  644. dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.py +38 -0
  645. dlubal/api/rstab/ifc_objects/ifc_model_object_pb2.pyi +32 -0
  646. dlubal/api/rstab/imperfections/__init__.py +3 -0
  647. dlubal/api/rstab/imperfections/imperfection_case_pb2.py +60 -0
  648. dlubal/api/rstab/imperfections/imperfection_case_pb2.pyi +215 -0
  649. dlubal/api/rstab/imperfections/member_imperfection_pb2.py +50 -0
  650. dlubal/api/rstab/imperfections/member_imperfection_pb2.pyi +205 -0
  651. dlubal/api/rstab/imperfections/member_set_imperfection_pb2.py +50 -0
  652. dlubal/api/rstab/imperfections/member_set_imperfection_pb2.pyi +203 -0
  653. dlubal/api/rstab/load_wizards/__init__.py +7 -0
  654. dlubal/api/rstab/load_wizards/import_support_reactions_pb2.py +46 -0
  655. dlubal/api/rstab/load_wizards/import_support_reactions_pb2.pyi +89 -0
  656. dlubal/api/rstab/load_wizards/load_model_pb2.py +50 -0
  657. dlubal/api/rstab/load_wizards/load_model_pb2.pyi +113 -0
  658. dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.py +46 -0
  659. dlubal/api/rstab/load_wizards/member_loads_from_area_load_pb2.pyi +93 -0
  660. dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.py +45 -0
  661. dlubal/api/rstab/load_wizards/member_loads_from_free_line_load_pb2.pyi +110 -0
  662. dlubal/api/rstab/load_wizards/moving_load_pb2.py +52 -0
  663. dlubal/api/rstab/load_wizards/moving_load_pb2.pyi +715 -0
  664. dlubal/api/rstab/load_wizards/wind_profile_pb2.py +48 -0
  665. dlubal/api/rstab/load_wizards/wind_profile_pb2.pyi +777 -0
  666. dlubal/api/rstab/load_wizards/wind_simulation_pb2.py +55 -0
  667. dlubal/api/rstab/load_wizards/wind_simulation_pb2.pyi +148 -0
  668. dlubal/api/rstab/loading/__init__.py +16 -0
  669. dlubal/api/rstab/loading/action_combination_pb2.py +48 -0
  670. dlubal/api/rstab/loading/action_combination_pb2.pyi +153 -0
  671. dlubal/api/rstab/loading/action_pb2.py +54 -0
  672. dlubal/api/rstab/loading/action_pb2.pyi +719 -0
  673. dlubal/api/rstab/loading/combination_wizard_pb2.py +47 -0
  674. dlubal/api/rstab/loading/combination_wizard_pb2.pyi +106 -0
  675. dlubal/api/rstab/loading/design_situation_pb2.py +47 -0
  676. dlubal/api/rstab/loading/design_situation_pb2.pyi +1196 -0
  677. dlubal/api/rstab/loading/load_case_pb2.py +102 -0
  678. dlubal/api/rstab/loading/load_case_pb2.pyi +1365 -0
  679. dlubal/api/rstab/loading/load_combination_pb2.py +65 -0
  680. dlubal/api/rstab/loading/load_combination_pb2.pyi +384 -0
  681. dlubal/api/rstab/loading/modal_analysis_settings_pb2.py +52 -0
  682. dlubal/api/rstab/loading/modal_analysis_settings_pb2.pyi +147 -0
  683. dlubal/api/rstab/loading/optimization_settings_pb2.py +46 -0
  684. dlubal/api/rstab/loading/optimization_settings_pb2.pyi +111 -0
  685. dlubal/api/rstab/loading/pushover_analysis_settings_pb2.py +38 -0
  686. dlubal/api/rstab/loading/pushover_analysis_settings_pb2.pyi +50 -0
  687. dlubal/api/rstab/loading/relationship_between_load_cases_pb2.py +44 -0
  688. dlubal/api/rstab/loading/relationship_between_load_cases_pb2.pyi +66 -0
  689. dlubal/api/rstab/loading/result_combination_pb2.py +59 -0
  690. dlubal/api/rstab/loading/result_combination_pb2.pyi +300 -0
  691. dlubal/api/rstab/loading/spectral_analysis_settings_pb2.py +46 -0
  692. dlubal/api/rstab/loading/spectral_analysis_settings_pb2.pyi +80 -0
  693. dlubal/api/rstab/loading/stability_analysis_settings_pb2.py +44 -0
  694. dlubal/api/rstab/loading/stability_analysis_settings_pb2.pyi +114 -0
  695. dlubal/api/rstab/loading/static_analysis_settings_pb2.py +42 -0
  696. dlubal/api/rstab/loading/static_analysis_settings_pb2.pyi +110 -0
  697. dlubal/api/rstab/loading/time_history_analysis_settings_pb2.py +54 -0
  698. dlubal/api/rstab/loading/time_history_analysis_settings_pb2.pyi +159 -0
  699. dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.py +52 -0
  700. dlubal/api/rstab/loading/wind_simulation_analysis_settings_pb2.pyi +176 -0
  701. dlubal/api/rstab/loads/__init__.py +5 -0
  702. dlubal/api/rstab/loads/additional_foundation_load_pb2.py +41 -0
  703. dlubal/api/rstab/loads/additional_foundation_load_pb2.pyi +80 -0
  704. dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.py +37 -0
  705. dlubal/api/rstab/loads/imposed_nodal_deformation_pb2.pyi +43 -0
  706. dlubal/api/rstab/loads/member_load_pb2.py +79 -0
  707. dlubal/api/rstab/loads/member_load_pb2.pyi +492 -0
  708. dlubal/api/rstab/loads/member_set_load_pb2.py +79 -0
  709. dlubal/api/rstab/loads/member_set_load_pb2.pyi +490 -0
  710. dlubal/api/rstab/loads/nodal_load_pb2.py +49 -0
  711. dlubal/api/rstab/loads/nodal_load_pb2.pyi +224 -0
  712. dlubal/api/rstab/object_id_pb2.py +39 -0
  713. dlubal/api/rstab/object_id_pb2.pyi +25 -0
  714. dlubal/api/rstab/object_type_pb2.py +36 -0
  715. dlubal/api/rstab/object_type_pb2.pyi +248 -0
  716. dlubal/api/rstab/results/__init__.py +4 -0
  717. dlubal/api/rstab/results/result_table_pb2.py +36 -0
  718. dlubal/api/rstab/results/result_table_pb2.pyi +480 -0
  719. dlubal/api/rstab/results/results_query_pb2.py +41 -0
  720. dlubal/api/rstab/results/results_query_pb2.pyi +31 -0
  721. dlubal/api/rstab/results/results_type_pb2.py +36 -0
  722. dlubal/api/rstab/results/results_type_pb2.pyi +338 -0
  723. dlubal/api/rstab/results/settings/__init__.py +1 -0
  724. dlubal/api/rstab/results/settings/result_settings_pb2.py +38 -0
  725. dlubal/api/rstab/results/settings/result_settings_pb2.pyi +23 -0
  726. dlubal/api/rstab/rsection_stresses/__init__.py +1 -0
  727. dlubal/api/rstab/rsection_stresses/member_configuration_pb2.py +41 -0
  728. dlubal/api/rstab/rsection_stresses/member_configuration_pb2.pyi +53 -0
  729. dlubal/api/rstab/steel_design_objects/__init__.py +4 -0
  730. dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.py +57 -0
  731. dlubal/api/rstab/steel_design_objects/steel_design_fr_configuration_pb2.pyi +143 -0
  732. dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.py +53 -0
  733. dlubal/api/rstab/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +121 -0
  734. dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.py +141 -0
  735. dlubal/api/rstab/steel_design_objects/steel_design_sls_configuration_pb2.pyi +613 -0
  736. dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.py +141 -0
  737. dlubal/api/rstab/steel_design_objects/steel_design_uls_configuration_pb2.pyi +613 -0
  738. dlubal/api/rstab/structure_advanced/__init__.py +4 -0
  739. dlubal/api/rstab/structure_advanced/block_pb2.py +55 -0
  740. dlubal/api/rstab/structure_advanced/block_pb2.pyi +192 -0
  741. dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.py +44 -0
  742. dlubal/api/rstab/structure_advanced/cutting_pattern_pb2.pyi +71 -0
  743. dlubal/api/rstab/structure_advanced/nodal_release_pb2.py +42 -0
  744. dlubal/api/rstab/structure_advanced/nodal_release_pb2.pyi +61 -0
  745. dlubal/api/rstab/structure_advanced/structure_modification_pb2.py +66 -0
  746. dlubal/api/rstab/structure_advanced/structure_modification_pb2.pyi +255 -0
  747. dlubal/api/rstab/structure_core/__init__.py +7 -0
  748. dlubal/api/rstab/structure_core/material_pb2.py +112 -0
  749. dlubal/api/rstab/structure_core/material_pb2.pyi +1047 -0
  750. dlubal/api/rstab/structure_core/member_pb2.py +214 -0
  751. dlubal/api/rstab/structure_core/member_pb2.pyi +2525 -0
  752. dlubal/api/rstab/structure_core/member_representative_pb2.py +310 -0
  753. dlubal/api/rstab/structure_core/member_representative_pb2.pyi +4141 -0
  754. dlubal/api/rstab/structure_core/member_set_pb2.py +156 -0
  755. dlubal/api/rstab/structure_core/member_set_pb2.pyi +1885 -0
  756. dlubal/api/rstab/structure_core/member_set_representative_pb2.py +430 -0
  757. dlubal/api/rstab/structure_core/member_set_representative_pb2.pyi +6065 -0
  758. dlubal/api/rstab/structure_core/node_pb2.py +49 -0
  759. dlubal/api/rstab/structure_core/node_pb2.pyi +174 -0
  760. dlubal/api/rstab/structure_core/section_pb2.py +76 -0
  761. dlubal/api/rstab/structure_core/section_pb2.pyi +2135 -0
  762. dlubal/api/rstab/timber_design_objects/__init__.py +3 -0
  763. dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.py +125 -0
  764. dlubal/api/rstab/timber_design_objects/timber_design_fr_configuration_pb2.pyi +517 -0
  765. dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.py +125 -0
  766. dlubal/api/rstab/timber_design_objects/timber_design_sls_configuration_pb2.pyi +517 -0
  767. dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.py +165 -0
  768. dlubal/api/rstab/timber_design_objects/timber_design_uls_configuration_pb2.pyi +745 -0
  769. dlubal/api/rstab/types_for_aluminum_design/__init__.py +4 -0
  770. dlubal/api/rstab/types_for_aluminum_design/aluminum_boundary_conditions_pb2.py +51 -0
  771. dlubal/api/rstab/types_for_aluminum_design/aluminum_boundary_conditions_pb2.pyi +188 -0
  772. dlubal/api/rstab/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +91 -0
  773. dlubal/api/rstab/types_for_aluminum_design/aluminum_effective_lengths_pb2.pyi +382 -0
  774. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.py +47 -0
  775. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.pyi +166 -0
  776. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.py +48 -0
  777. dlubal/api/rstab/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.pyi +101 -0
  778. dlubal/api/rstab/types_for_concrete_design/__init__.py +2 -0
  779. dlubal/api/rstab/types_for_concrete_design/concrete_durability_pb2.py +68 -0
  780. dlubal/api/rstab/types_for_concrete_design/concrete_durability_pb2.pyi +251 -0
  781. dlubal/api/rstab/types_for_concrete_design/concrete_effective_lengths_pb2.py +107 -0
  782. dlubal/api/rstab/types_for_concrete_design/concrete_effective_lengths_pb2.pyi +496 -0
  783. dlubal/api/rstab/types_for_craneway_design/__init__.py +2 -0
  784. dlubal/api/rstab/types_for_craneway_design/crane_pb2.py +36 -0
  785. dlubal/api/rstab/types_for_craneway_design/crane_pb2.pyi +24 -0
  786. dlubal/api/rstab/types_for_craneway_design/craneway_pb2.py +52 -0
  787. dlubal/api/rstab/types_for_craneway_design/craneway_pb2.pyi +117 -0
  788. dlubal/api/rstab/types_for_foundations/__init__.py +1 -0
  789. dlubal/api/rstab/types_for_foundations/single_foundation_pb2.py +79 -0
  790. dlubal/api/rstab/types_for_foundations/single_foundation_pb2.pyi +334 -0
  791. dlubal/api/rstab/types_for_members/__init__.py +13 -0
  792. dlubal/api/rstab/types_for_members/design_support_pb2.py +62 -0
  793. dlubal/api/rstab/types_for_members/design_support_pb2.pyi +249 -0
  794. dlubal/api/rstab/types_for_members/diagonal_brace_pb2.py +46 -0
  795. dlubal/api/rstab/types_for_members/diagonal_brace_pb2.pyi +99 -0
  796. dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.py +36 -0
  797. dlubal/api/rstab/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
  798. dlubal/api/rstab/types_for_members/member_eccentricity_pb2.py +49 -0
  799. dlubal/api/rstab/types_for_members/member_eccentricity_pb2.pyi +107 -0
  800. dlubal/api/rstab/types_for_members/member_hinge_pb2.py +249 -0
  801. dlubal/api/rstab/types_for_members/member_hinge_pb2.pyi +1770 -0
  802. dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.py +38 -0
  803. dlubal/api/rstab/types_for_members/member_nonlinearity_pb2.pyi +61 -0
  804. dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.py +40 -0
  805. dlubal/api/rstab/types_for_members/member_result_intermediate_point_pb2.pyi +52 -0
  806. dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.py +50 -0
  807. dlubal/api/rstab/types_for_members/member_rotational_restraint_pb2.pyi +127 -0
  808. dlubal/api/rstab/types_for_members/member_shear_panel_pb2.py +40 -0
  809. dlubal/api/rstab/types_for_members/member_shear_panel_pb2.pyi +80 -0
  810. dlubal/api/rstab/types_for_members/member_spring_pb2.py +52 -0
  811. dlubal/api/rstab/types_for_members/member_spring_pb2.pyi +149 -0
  812. dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.py +48 -0
  813. dlubal/api/rstab/types_for_members/member_stiffness_modification_pb2.pyi +139 -0
  814. dlubal/api/rstab/types_for_members/member_support_pb2.py +49 -0
  815. dlubal/api/rstab/types_for_members/member_support_pb2.pyi +156 -0
  816. dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.py +48 -0
  817. dlubal/api/rstab/types_for_members/member_transverse_stiffener_pb2.pyi +143 -0
  818. dlubal/api/rstab/types_for_nodes/__init__.py +2 -0
  819. dlubal/api/rstab/types_for_nodes/nodal_link_pb2.py +43 -0
  820. dlubal/api/rstab/types_for_nodes/nodal_link_pb2.pyi +74 -0
  821. dlubal/api/rstab/types_for_nodes/nodal_support_pb2.py +211 -0
  822. dlubal/api/rstab/types_for_nodes/nodal_support_pb2.pyi +1444 -0
  823. dlubal/api/rstab/types_for_special_objects/__init__.py +1 -0
  824. dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.py +198 -0
  825. dlubal/api/rstab/types_for_special_objects/nodal_release_type_pb2.pyi +1381 -0
  826. dlubal/api/rstab/types_for_steel_design/__init__.py +4 -0
  827. dlubal/api/rstab/types_for_steel_design/steel_boundary_conditions_pb2.py +51 -0
  828. dlubal/api/rstab/types_for_steel_design/steel_boundary_conditions_pb2.pyi +188 -0
  829. dlubal/api/rstab/types_for_steel_design/steel_effective_lengths_pb2.py +117 -0
  830. dlubal/api/rstab/types_for_steel_design/steel_effective_lengths_pb2.pyi +524 -0
  831. dlubal/api/rstab/types_for_steel_design/steel_member_local_section_reduction_pb2.py +47 -0
  832. dlubal/api/rstab/types_for_steel_design/steel_member_local_section_reduction_pb2.pyi +166 -0
  833. dlubal/api/rstab/types_for_steel_design/steel_member_transverse_weld_pb2.py +48 -0
  834. dlubal/api/rstab/types_for_steel_design/steel_member_transverse_weld_pb2.pyi +101 -0
  835. dlubal/api/rstab/types_for_timber_design/__init__.py +6 -0
  836. dlubal/api/rstab/types_for_timber_design/timber_effective_lengths_pb2.py +105 -0
  837. dlubal/api/rstab/types_for_timber_design/timber_effective_lengths_pb2.pyi +478 -0
  838. dlubal/api/rstab/types_for_timber_design/timber_member_local_section_reduction_pb2.py +48 -0
  839. dlubal/api/rstab/types_for_timber_design/timber_member_local_section_reduction_pb2.pyi +121 -0
  840. dlubal/api/rstab/types_for_timber_design/timber_moisture_class_pb2.py +38 -0
  841. dlubal/api/rstab/types_for_timber_design/timber_moisture_class_pb2.pyi +41 -0
  842. dlubal/api/rstab/types_for_timber_design/timber_screw_type_pb2.py +38 -0
  843. dlubal/api/rstab/types_for_timber_design/timber_screw_type_pb2.pyi +58 -0
  844. dlubal/api/rstab/types_for_timber_design/timber_service_class_pb2.py +38 -0
  845. dlubal/api/rstab/types_for_timber_design/timber_service_class_pb2.pyi +41 -0
  846. dlubal/api/rstab/types_for_timber_design/timber_service_conditions_pb2.py +42 -0
  847. dlubal/api/rstab/types_for_timber_design/timber_service_conditions_pb2.pyi +107 -0
  848. dlubal/api/rstab/types_for_wind_simulation/__init__.py +2 -0
  849. dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.py +40 -0
  850. dlubal/api/rstab/types_for_wind_simulation/roughness_and_permeability_pb2.pyi +81 -0
  851. dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.py +40 -0
  852. dlubal/api/rstab/types_for_wind_simulation/shrink_wrapping_pb2.pyi +55 -0
  853. dlubal_api-2.12.2.dist-info/METADATA +76 -0
  854. dlubal_api-2.12.2.dist-info/RECORD +927 -0
  855. {dlubal.api-0.1.293714a1.dist-info → dlubal_api-2.12.2.dist-info}/WHEEL +1 -1
  856. dlubal_api-2.12.2.dist-info/top_level.txt +3 -0
  857. examples/rfem/base_data.py +26 -0
  858. examples/rfem/block.py +29 -0
  859. examples/rfem/bus_station.py +395 -0
  860. examples/rfem/cantilever.py +172 -0
  861. examples/rfem/column.py +185 -0
  862. examples/rfem/component_design.py +161 -0
  863. examples/rfem/demo_limits.py +373 -0
  864. examples/rfem/design_configuration.py +71 -0
  865. examples/rfem/design_settings.py +37 -0
  866. examples/rfem/excel.py +86 -0
  867. examples/rfem/export_model_to.py +159 -0
  868. examples/rfem/frame.py +285 -0
  869. examples/rfem/import_from_ifc.py +60 -0
  870. examples/rfem/import_from_rsection.py +107 -0
  871. examples/rfem/import_from_xml.py +29 -0
  872. examples/rfem/material_user_defined.py +25 -0
  873. examples/rfem/mesh_settings.py +25 -0
  874. examples/rfem/multiple_models.py +1608 -0
  875. examples/rfem/nested_tables.py +81 -0
  876. examples/rfem/pydantic_streamlit.py +101 -0
  877. examples/rfem/results_access.py +38 -0
  878. examples/rfem/results_axes_system.py +53 -0
  879. examples/rfem/results_design_addons.py +58 -0
  880. examples/rfem/results_filtering.py +43 -0
  881. examples/rfem/results_in_location.py +39 -0
  882. examples/rfem/results_multiple_models.py +45 -0
  883. examples/rfem/sectioned_roof.py +449 -0
  884. examples/rfem/select_objects.py +39 -0
  885. examples/rfem/silo.py +750 -0
  886. examples/rfem/steel_design_configuration.py +27 -0
  887. examples/rfem/steel_hall.py +670 -0
  888. examples/rfem/steel_station.py +890 -0
  889. examples/rfem/tank_wind_load.py +180 -0
  890. examples/rsection/base_data.py +20 -0
  891. examples/rsection/steel_section.py +114 -0
  892. examples/rstab/base_data.py +25 -0
  893. examples/rstab/cantilever.py +166 -0
  894. examples/rstab/column.py +184 -0
  895. examples/rstab/dataframe.py +20 -0
  896. examples/rstab/design_settings.py +37 -0
  897. examples/rstab/excel.py +86 -0
  898. examples/rstab/export_model_to.py +154 -0
  899. examples/rstab/frame.py +285 -0
  900. examples/rstab/import_from_ifc.py +46 -0
  901. examples/rstab/import_from_rsection.py +107 -0
  902. examples/rstab/import_from_xml.py +29 -0
  903. examples/rstab/multiple_models.py +1358 -0
  904. examples/rstab/nested_tables.py +29 -0
  905. examples/rstab/pydantic_streamlit.py +101 -0
  906. examples/rstab/results_access.py +38 -0
  907. examples/rstab/results_axes_system.py +53 -0
  908. examples/rstab/results_in_location.py +39 -0
  909. examples/rstab/results_multiple_models.py +40 -0
  910. examples/rstab/select_objects.py +39 -0
  911. google/protobuf/any_pb2.py +37 -0
  912. google/protobuf/any_pb2.pyi +14 -0
  913. google/protobuf/descriptor_pb2.py +3363 -0
  914. google/protobuf/descriptor_pb2.pyi +723 -0
  915. google/protobuf/empty_pb2.py +37 -0
  916. google/protobuf/empty_pb2.pyi +9 -0
  917. google/protobuf/wrappers_pb2.py +53 -0
  918. google/protobuf/wrappers_pb2.pyi +59 -0
  919. dlubal/api/rfem/base_data/terrain_pb2.py +0 -40
  920. dlubal/api/rfem/base_data/terrain_pb2.pyi +0 -53
  921. dlubal/api/rfem/imperfections/surface_imperfection_pb2.py +0 -40
  922. dlubal/api/rfem/imperfections/surface_imperfection_pb2.pyi +0 -55
  923. dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.py +0 -40
  924. dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.pyi +0 -55
  925. dlubal/api/rfem/packing.py +0 -45
  926. dlubal/api/rfem/results/results_id_pb2.pyi +0 -14
  927. dlubal.api-0.1.293714a1.dist-info/METADATA +0 -40
  928. dlubal.api-0.1.293714a1.dist-info/RECORD +0 -342
  929. dlubal.api-0.1.293714a1.dist-info/top_level.txt +0 -1
@@ -1,290 +1,807 @@
1
- # Autogenerated code. DO NOT EDIT. Manual code can be added to the corresponding .template.py file.
2
-
3
- import dlubal.api.common.model_id_pb2
4
- import dlubal.api.rfem.application_pb2
5
- import dlubal.api.rfem.application_pb2_grpc
6
- import google.protobuf.empty_pb2
7
- from dlubal.api.common.connection import _ApiKey, check_ssl, init_channel
8
- from dlubal.api.rfem.packing import pack_object, pack_object_list, unpack_object, unpack_object_list, get_internal_value
9
- from dlubal.api.common.exceptions import exception_handler
10
- from dlubal.api.common.table import Table
11
- from dlubal.api.common.table_data_pb2 import TableData
12
- from dlubal.api.rfem.results import ResultsId
13
- from dlubal.api.rfem.results.results_query_pb2 import ResultsQuery, ResultsFilter
14
-
15
- from collections.abc import Iterable
16
- from pandas import DataFrame
17
-
18
-
19
- class Application:
20
-
21
- def __init__(self,
22
- api_key_value=None,
23
- api_key_name=None,
24
- url='127.0.0.1',
25
- port='9000',
26
- ssl=False,
27
- ssl_file=''):
28
- '''
29
- Initialize the RFEM client and connect to gRPC server.
30
-
31
- Args:
32
- api_key_value (str, optional): Value of the API key. It can be found in Extranet under My Data. Every API key starts with 'ak' (default is None).
33
- api_key_name (str, optional): Name of the API key stored or to be stored. Can be any string of letters and numbers starting with 'ak', 51 characters long.
34
- url (str, optional): URL number.
35
- port (int, optional): Port number.
36
- ssl (bool, optional): False if NOT using SSL auth. True if using the installed version of SSL certificate, or path to .crt certificate if using a file.
37
- ssl_file (str, optional): Path to SSL certificate file (.crt, .pem).
38
- '''
39
- self.url = url
40
- self.port = port
41
- check_ssl(ssl, ssl_file)
42
- self.ssl = ssl
43
- self.ssl_file = ssl_file
44
- self.api_key = _ApiKey(api_key_name, api_key_value)
45
- self.channel = init_channel(self.api_key.value, self.url, self.port, self.ssl, self.ssl_file)
46
- self.stub = dlubal.api.rfem.application_pb2_grpc.ApplicationStub(self.channel) if self.channel else None
47
-
48
- def __enter__(self):
49
- '''
50
- Start a session by entering the context manager
51
- '''
52
- return self
53
-
54
- def __exit__(self, exc, value, traceback):
55
- '''
56
- Ensure the session is finished and channel is closed properly
57
- '''
58
- self.close_connection()
59
-
60
- # Exception handler
61
- if traceback or value:
62
- exception_handler(exc, value, traceback)
63
-
64
- dash = '-'
65
- print(f'URL: {self.url if self.url else dash}, port: {self.port if self.port else dash}')
66
- print(f'API key: {"..."+self.api_key.value[-6:] if self.api_key.value else dash}')
67
- if self.ssl:
68
- if self.ssl_file:
69
- print(f'SSL certificate: {self.ssl_file}')
70
- else:
71
- print('SSL certificate: installed certificate (Windows Certification Store)')
72
- else:
73
- # Don't put any lines to indicate successfull termination.
74
- # read: https://www.joelonsoftware.com/2000/04/26/designing-for-people-who-have-better-things-to-do-with-their-lives/
75
- pass
76
-
77
- return True
78
-
79
- # Functions using packing
80
- def get_object(self, obj, model_id=None):
81
- '''
82
- Retrieves a single object from the model using only the `no` argument in the object arguments.
83
-
84
- Args:
85
- obj (obj): An object to be retrieved. Refer to the :ref:`object-types` for available objects.
86
- model_id (str, optional): Model ID specifies the model to be modified.
87
-
88
- Returns:
89
- :ref:`object-types`: A retrieved object.
90
- '''
91
- result = self.stub.get_object_impl(pack_object(obj, model_id))
92
- return unpack_object(result, type(obj))
93
-
94
- def get_object_list(self, objs, model_id=None):
95
- '''
96
- Retrieves a list of objects from the model
97
- '''
98
- result = self.stub.get_object_list_impl(pack_object_list(objs, model_id))
99
- return unpack_object_list(result, type(objs[0]))
100
-
101
- def create_object(self, obj, model_id=None):
102
- '''
103
- Creates a single object in the model.
104
-
105
- Args:
106
- obj (obj): An object to be created. Refer to the :ref:`object-types` for available objects.
107
- model_id (str, optional): Model ID specifies the model to be modified.
108
-
109
- Returns:
110
- None
111
- '''
112
- self.stub.create_object_impl(pack_object(obj, model_id))
113
-
114
- def create_object_list(self, objs, model_id=None):
115
- '''
116
- Creates a list of objects in the model.
117
-
118
- Args:
119
- objs (list[obj]): A list of objects to be created. Refer to the :ref:`object-types` for available objects.
120
- model_id (str, optional): Model ID specifies the model to be modified.
121
-
122
- Returns:
123
- None
124
- '''
125
- self.stub.create_object_list_impl(pack_object_list(objs, model_id))
126
-
127
- def update_object(self, obj, model_id=None):
128
- '''
129
- Updates a single object in the model
130
- '''
131
- self.stub.update_object_impl(pack_object(obj, model_id))
132
-
133
- def update_object_list(self, objs, model_id=None):
134
- '''
135
- Updates a list of objects in the model
136
- '''
137
- self.stub.update_object_list_impl(pack_object_list(objs, model_id))
138
-
139
- def delete_object(self, obj, model_id=None):
140
- '''
141
- Deletes a single object from the model.
142
-
143
- Args:
144
- obj (obj): An object to be deleted. Refer to the :ref:`object-types` for available objects.
145
- model_id (str, optional): Model ID specifies the model to be modified.
146
-
147
- Returns:
148
- None
149
- '''
150
- self.stub.delete_object_impl(pack_object(obj, model_id))
151
-
152
- def delete_object_list(self, objs, model_id=None):
153
- '''
154
- Deletes a list of objects from the model.
155
-
156
- Args:
157
- objs (list[obj]): A list of objects to be deleted. Refer to the :ref:`object-types` for available objects.
158
- model_id (str, optional): Model ID specifies the model to be modified.
159
-
160
- Returns:
161
- None
162
- '''
163
- self.stub.delete_object_list_impl(pack_object_list(objs, model_id))
164
-
165
- def get_results(self, results_id: ResultsId, filters: Iterable[ResultsFilter] | None = None, **keyword_filters):
166
- '''
167
- Get results from result tables
168
- '''
169
- all_filters = [].append(filters) if filters else []
170
-
171
- for key, value in keyword_filters.items():
172
- all_filters.append(ResultsFilter(column_id=key, filter_expression=str(value)))
173
-
174
- results: TableData = self.stub.get_results_impl(ResultsQuery(results_id=results_id, filters=filters))
175
-
176
- rows_data = []
177
- for row in results.rows:
178
- rows_data.append([get_internal_value(v) for v in row.values])
179
-
180
- data_frame = DataFrame(columns=list(results.column_ids), data=rows_data)
181
-
182
- return Table(data_frame)
183
-
184
- def create_model(self, *, name: str, template_path: str | None = None) -> dlubal.api.common.model_id_pb2.ModelId:
185
- """
186
- Creates new model with the name specified in request.
187
- Returns model id of created model
188
-
189
- Args:
190
- name (str): Name of the new model
191
- template_path (str | None): Path to the existing template to be opened
192
-
193
- Returns:
194
- dlubal.api.common.model_id_pb2.ModelId
195
- """
196
- request = dlubal.api.rfem.application_pb2.CreateModelRequest(name=name, template_path=template_path)
197
- return self.stub.create_model(request)
198
-
199
- def open_model(self, *, path: str) -> dlubal.api.common.model_id_pb2.ModelId:
200
- """
201
- Opens model from path specified in 'name' field of the request
202
- Returns model id of opened model
203
-
204
- Args:
205
- path (str): Path to the existing model to be opened
206
-
207
- Returns:
208
- dlubal.api.common.model_id_pb2.ModelId
209
- """
210
- request = dlubal.api.rfem.application_pb2.OpenModelRequest(path=path)
211
- return self.stub.open_model(request)
212
-
213
- def save_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None, path: str | None = None):
214
- """
215
- Saves model specified by model id to optional specified path
216
-
217
- Args:
218
- model_id (dlubal.api.common.model_id_pb2.ModelId | None): Unique identifier of the model
219
- path (str | None): Path to the model
220
- """
221
- request = dlubal.api.rfem.application_pb2.SaveModelAsRequest(model_id=model_id, path=path)
222
- self.stub.save_model(request)
223
-
224
- def close_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None, save_changes: bool):
225
- """
226
- Closes model specified by model id
227
-
228
- Args:
229
- model_id (dlubal.api.common.model_id_pb2.ModelId | None): Unique identifier of the model
230
- save_changes (bool): Specifies whether to save changes before closing the model
231
- """
232
- request = dlubal.api.rfem.application_pb2.CloseModelRequest(model_id=model_id, save_changes=save_changes)
233
- self.stub.close_model(request)
234
-
235
- def close_all_models(self, *, save_changes: bool):
236
- """
237
- Closes all open models
238
-
239
- Args:
240
- save_changes (bool): Specifies whether to save changes before closing the models
241
- """
242
- request = dlubal.api.rfem.application_pb2.CloseAllModelsRequest(save_changes=save_changes)
243
- self.stub.close_all_models(request)
244
-
245
- def get_active_model(self) -> dlubal.api.common.model_id_pb2.ModelId:
246
- """
247
- Returns model id of an active model
248
-
249
- Returns:
250
- dlubal.api.common.model_id_pb2.ModelId
251
- """
252
- return self.stub.get_active_model(google.protobuf.empty_pb2.Empty())
253
-
254
- def close_application(self):
255
- """
256
- Closes the whole application
257
- """
258
- self.stub.close_application(google.protobuf.empty_pb2.Empty())
259
-
260
- def get_model_list(self) -> dlubal.api.rfem.application_pb2.ModelList:
261
- """
262
- Returns list of models and information about them
263
-
264
- Returns:
265
- dlubal.api.rfem.application_pb2.ModelList
266
- """
267
- return self.stub.get_model_list(google.protobuf.empty_pb2.Empty())
268
-
269
- def get_application_info(self) -> dlubal.api.rfem.application_pb2.ApplicationInfo:
270
- """
271
- Returns information about the application
272
-
273
- Returns:
274
- dlubal.api.rfem.application_pb2.ApplicationInfo
275
- """
276
- return self.stub.get_application_info(google.protobuf.empty_pb2.Empty())
277
-
278
- def close_connection(self):
279
- """
280
- Closes connection to Webservice server
281
- """
282
- self.stub.close_connection(google.protobuf.empty_pb2.Empty())
283
-
284
- def delete_all_objects(self, *, id: str | None = None):
285
- request = dlubal.api.common.model_id_pb2.OptionalModelId(id=id)
286
- self.stub.delete_all_objects(request)
287
-
288
- def calculate_all(self, *, skip_warnings: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.rfem.application_pb2.OperationResult:
289
- request = dlubal.api.rfem.application_pb2.CalculateAllRequest(skip_warnings=skip_warnings, model_id=model_id)
290
- return self.stub.calculate_all(request)
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.rfem.results import ResultsType
10
+ from dlubal.api.rfem.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.rfem.application_pb2
19
+ import dlubal.api.rfem.application_pb2_grpc
20
+ import dlubal.api.rfem.base_data_pb2
21
+ import dlubal.api.rfem.design_addons_pb2
22
+ import dlubal.api.rfem.mesh.mesh_settings_pb2
23
+ import dlubal.api.rfem.object_id_pb2
24
+ import dlubal.api.rfem.object_type_pb2
25
+ import google.protobuf.empty_pb2
26
+ import google.protobuf.wrappers_pb2
27
+
28
+
29
+ class Application:
30
+
31
+ def __init__(self,
32
+ api_key_value=None,
33
+ api_key_name=None,
34
+ url='127.0.0.1',
35
+ port=9000,
36
+ ssl=False,
37
+ ssl_file=''):
38
+ '''
39
+ Initialize the RFEM client and connect to gRPC server.
40
+
41
+ Args:
42
+ api_key_value (str, optional):
43
+ Value of the API key.
44
+ It can be found in Extranet under My Data.
45
+ Every API key starts with 'ak' (default is None).
46
+ api_key_name (str, optional):
47
+ Name of the API key stored or to be stored.
48
+ Can be any string of letters and numbers starting with 'ak', 51 characters long.
49
+ url (str, optional):
50
+ URL number.
51
+ port (int, optional):
52
+ Port number.
53
+ ssl (bool, optional):
54
+ False if NOT using SSL auth.
55
+ True if using the installed version of SSL certificate, or path to .crt certificate if using a file.
56
+ ssl_file (str, optional):
57
+ Path to SSL certificate file (.crt, .pem).
58
+ '''
59
+ self.url = url
60
+ self.port = port
61
+ check_ssl(ssl, ssl_file)
62
+ self.ssl = ssl
63
+ self.ssl_file = ssl_file
64
+ self.api_key = _ApiKey(api_key_name, api_key_value)
65
+ self.channel = init_channel(self.api_key.value, self.url, self.port, self.ssl, self.ssl_file)
66
+ self.stub = dlubal.api.rfem.application_pb2_grpc.ApplicationStub(self.channel) if self.channel else None
67
+ self.__check_connection()
68
+
69
+ def __enter__(self):
70
+ '''
71
+ Start a session by entering the context manager
72
+ '''
73
+ return self
74
+
75
+ def __exit__(self, exc_type, exc_value, traceback):
76
+ '''
77
+ Ensure the session is finished and channel is closed properly before handling exceptions.
78
+ '''
79
+
80
+ # Attempt to close the connection first to prevent delays
81
+ try:
82
+ self.close_connection()
83
+ except Exception as e:
84
+ pass
85
+
86
+ # Now handle exceptions that occurred in the `with` block
87
+ if exc_type is not None:
88
+ if issubclass(exc_type, grpc.RpcError):
89
+ raise RuntimeError(f"gRPC Error: {exc_value.code().name} - {exc_value.details()}") from None
90
+ elif issubclass(exc_type, (SystemExit, KeyboardInterrupt)):
91
+ return False
92
+ raise RuntimeError(f"Unexpected error: {str(exc_value)}") from None
93
+
94
+ def __check_connection(self):
95
+ '''
96
+ Check connection and package version compatibility.
97
+ '''
98
+
99
+ # Check connection
100
+ try:
101
+ application_info = self.get_application_info()
102
+ except grpc._channel._InactiveRpcError as e:
103
+ sys.tracebacklimit = 0
104
+ raise RuntimeError(f"gRPC Connection error: {e.code().name} - {e.details()}") from None
105
+
106
+ # Check package version compatibility
107
+ try:
108
+ client_version = version('dlubal.api')
109
+ client_major, client_minor = map(int, client_version.split('.')[1:3])
110
+ app_major, app_minor = map(int, application_info.version.split('.')[1:3])
111
+
112
+ # If the versions differ, print a warning
113
+ if app_major != client_major or app_minor != client_minor:
114
+ print('\033[93mWARNING:\033[0m')
115
+ print(f'Version mismatch between dlubal.api client package \033[91m{client_version}\033[0m and server application {application_info.name}.')
116
+ print(f'To ensure full compatibility, please use the client version 2.{app_major}.{app_minor}.')
117
+ print(f'To update, run: \033[92mpython.exe -m pip install --upgrade dlubal.api==2.{app_major}.{app_minor}\033[0m\n')
118
+
119
+ except PackageNotFoundError:
120
+ return
121
+
122
+ # Functions using packing
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.
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:`rfem_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
+ def get_results(self, results_type: ResultsType, filters: Iterable[ResultsFilter] | None = None,
268
+ member_axes_system : MemberAxesSystem | None = None,
269
+ support_coordinate_system : CoordinateSystem | None = None,
270
+ model_id: ModelId | None = None, **keyword_filters):
271
+ '''
272
+ Retrieves complete, unprocessed results from the database wrapped in a DataFrame for more efficient analysis.
273
+
274
+ Args:
275
+ results_type (:ref:`rfem_results_results_type_ResultsType`):
276
+ Unique identifier for the result category type.
277
+ filters (:ref:`rfem_results_results_query_ResultsFilter` | None):
278
+ One or more filters to return only relevant results.
279
+ member_axes_system (:ref:`rfem_results_settings_result_settings_MemberAxesSystem` | None):
280
+ The axes system to use for member results. If not provided, it defaults to ``MEMBER_AXES_SYSTEM_MEMBER_AXES_X_Y_Z``.
281
+ support_coordinate_system (:ref:`rfem_results_settings_result_settings_CoordinateSystem` | None):
282
+ The coordinate system to use for support results. If not provided, it defaults to ``COORDINATE_SYSTEM_LOCAL``.
283
+ model_id (:ref:`common_model_id_ModelId` | None):
284
+ Unique identifier of the model. If None, the active model is used.
285
+
286
+ Returns:
287
+ A :ref:`common_table_Table` object containing the results as a DataFrame.
288
+ '''
289
+
290
+ all_filters = list(filters) if filters else []
291
+
292
+ for key, value in keyword_filters.items():
293
+ all_filters.append(ResultsFilter(column_id=key, filter_expression=str(value)))
294
+
295
+ results, call = self.stub.get_results_impl.with_call(
296
+ ResultsQuery(results_type=results_type,
297
+ filters=all_filters,
298
+ member_axes_system=member_axes_system,
299
+ support_coordinate_system=support_coordinate_system,
300
+ model_id=model_id))
301
+
302
+ warning: str = ""
303
+ # trailing_metadata() returns a sequence of (key, value) tuples
304
+ # Some gRPC implementations return bytes for values, decode if possible
305
+ if call is not None:
306
+ for key, value in call.trailing_metadata():
307
+ if key == "warning":
308
+ try:
309
+ warning = value.decode("utf-8")
310
+ except Exception:
311
+ warning = value
312
+
313
+ return convert_table_data_to_table(table_data=results, warning=warning)
314
+
315
+ def get_result_table(self, table: ResultTable, loading: ObjectId,
316
+ member_axes_system : MemberAxesSystem | None = None,
317
+ support_coordinate_system : CoordinateSystem | None = None,
318
+ model_id: ModelId | None = None):
319
+ """
320
+ Retrieves a pre-processed result table wrapped in a DataFrame for more efficient analysis,
321
+ containing only the most relevant values as displayed in the desktop application.
322
+
323
+ Args:
324
+ table (:ref:`rfem_results_result_table_ResultTable`):
325
+ Unique identifier for the result table type.
326
+ loading (:ref:`rfem_object_id_ObjectId`):
327
+ Reference to the loading (e.g., load case, combination, etc.).
328
+ member_axes_system (:ref:`rfem_results_settings_result_settings_MemberAxesSystem` | None):
329
+ The axes system to use for member results. If not provided, it defaults to ``MEMBER_AXES_SYSTEM_MEMBER_AXES_X_Y_Z``.
330
+ support_coordinate_system (:ref:`rfem_results_settings_result_settings_CoordinateSystem` | None):
331
+ The coordinate system to use for support results. If not provided, it defaults to ``COORDINATE_SYSTEM_LOCAL``.
332
+ model_id (:ref:`common_model_id_ModelId` | None):
333
+ Unique identifier of the model. If None, the active model is used.
334
+
335
+ Returns:
336
+ A :ref:`common_table_Table` object containing the result table as a DataFrame.
337
+ """
338
+ # Use with_call to access trailing metadata (warnings) from the gRPC call
339
+ results, call = self.stub.get_result_table_impl.with_call(
340
+ dlubal.api.rfem.GetResultTableRequest(
341
+ table=table,
342
+ loading=loading,
343
+ model_id=model_id,
344
+ member_axes_system=member_axes_system,
345
+ support_coordinate_system=support_coordinate_system)
346
+ )
347
+
348
+ warning: str = ""
349
+ # trailing_metadata() returns a sequence of (key, value) tuples
350
+ # Some gRPC implementations return bytes for values, decode if possible
351
+ if call is not None:
352
+ for key, value in call.trailing_metadata():
353
+ if key == "warning":
354
+ try:
355
+ warning = value.decode("utf-8")
356
+ except Exception:
357
+ warning = value
358
+
359
+ return convert_table_data_to_table(table_data=results, warning=warning)
360
+
361
+ def convert_objects(self, *, convert_into: ConvertObjectInto, objs: list, model_id: ModelId | None = None):
362
+ """
363
+ Converts specified objects into a different type.
364
+
365
+ Args:
366
+ convert_into (:ref:`common_common_messages_ConvertObjectInto`):
367
+ Specifies the target conversion type.
368
+ objs (list):
369
+ Objects to be converted.
370
+ model_id (:ref:`common_model_id_ModelId` | None):
371
+ Unique identifier of the model. If None, the active model is used.
372
+
373
+ Returns:
374
+ None
375
+ """
376
+ request = ConvertObjectsRequest(convert_into=convert_into, objects=pack_object_list(objs, model_id))
377
+ self.stub.convert_objects_impl(request)
378
+
379
+ def import_from(self, *, filepath: str, import_attributes: google.protobuf.any_pb2.Any, model_id: ModelId | None = None):
380
+ """
381
+ Imports data into the model from the specified file format.
382
+
383
+ Args:
384
+ filepath (str):
385
+ The full path of the file to be imported.
386
+ import_attributes (Any):
387
+ Specifies the format and attributes of the import.
388
+ Supported message types:
389
+ :ref:`common_import_export_import_attributes_IfcImportAttributes`
390
+ :ref:`common_import_export_import_attributes_XmlImportAttributes`
391
+ :ref:`common_import_export_import_attributes_RsectionImportAttributes`
392
+ model_id (:ref:`common_model_id_ModelId` | None):
393
+ The unique identifier of the model. If None, the active model is used.
394
+
395
+ Returns:
396
+ None
397
+ """
398
+ request = ImportRequest(filepath=filepath, import_attributes=pack_message_to_any(import_attributes), model_id=model_id)
399
+ self.stub.import_from_impl(request)
400
+
401
+ def export_to(self, *, filepath: str, export_attributes: google.protobuf.any_pb2.Any, model_id: ModelId | None = None):
402
+ """
403
+ Exports the model to the specified file format.
404
+
405
+ Args:
406
+ filepath (str):
407
+ The full path of the file where the model will be exported.
408
+ export_attributes (Any):
409
+ Specifies the format and attributes for the export.
410
+ Supported message types:
411
+ :ref:`common_import_export_export_attributes_PythonGrpcExportAttributes`
412
+ :ref:`common_import_export_export_attributes_IfcExportAttributes`
413
+ model_id (:ref:`common_model_id_ModelId` | None):
414
+ The unique identifier of the model. If None, the active model is used.
415
+
416
+ Returns:
417
+ None
418
+ """
419
+ request = ExportRequest(filepath=filepath, export_attributes=pack_message_to_any(export_attributes), model_id=model_id)
420
+ self.stub.export_to_impl(request)
421
+
422
+
423
+
424
+ def create_model(self, *, name: str, template_path: str | None = None) -> dlubal.api.common.model_id_pb2.ModelId:
425
+ """
426
+ Creates new model with the name specified in request.
427
+ Returns model id of created model
428
+
429
+ Args:
430
+ name (str):
431
+ Name of the new model
432
+ template_path (str | None):
433
+ Path to the existing template to be opened
434
+
435
+ Returns:
436
+ :ref:`common_model_id_ModelId`
437
+ """
438
+ request = dlubal.api.common.common_messages_pb2.CreateModelRequest(name=name, template_path=template_path)
439
+ return self.stub.create_model(request)
440
+
441
+ def open_model(self, *, path: str) -> dlubal.api.common.model_id_pb2.ModelId:
442
+ """
443
+ Opens model from path specified in 'name' field of the request
444
+ Returns model id of opened model
445
+
446
+ Args:
447
+ path (str):
448
+ Path to the existing model to be opened
449
+
450
+ Returns:
451
+ :ref:`common_model_id_ModelId`
452
+ """
453
+ request = dlubal.api.common.common_messages_pb2.OpenModelRequest(path=path)
454
+ return self.stub.open_model(request)
455
+
456
+ def save_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None, path: str | None = None, results: bool | None = None, fe_mesh: bool | None = None, printout_reports: bool | None = None):
457
+ """
458
+ Saves model specified by model id to optional specified path
459
+
460
+ Args:
461
+ model_id (:ref:`common_model_id_ModelId` | None):
462
+ Unique identifier of the model Active model is used if this field is not set.
463
+ path (str | None):
464
+ Path to the model
465
+ results (bool | None):
466
+ When enabled, the model is saved together with the calculated results
467
+ fe_mesh (bool | None):
468
+ When enabled, the model is saved together with the FE Mesh
469
+ printout_reports (bool | None):
470
+ When enabled, the printout reports are saved
471
+ """
472
+ request = dlubal.api.rfem.application_pb2.SaveModelAsRequest(model_id=model_id, path=path, results=results, fe_mesh=fe_mesh, printout_reports=printout_reports)
473
+ self.stub.save_model(request)
474
+
475
+ def close_model(self, *, save_changes: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
476
+ """
477
+ Closes model specified by model id
478
+
479
+ Args:
480
+ save_changes (bool):
481
+ Specifies whether to save changes before closing the model
482
+ model_id (:ref:`common_model_id_ModelId` | None):
483
+ Unique identifier of the model Active model is used if this field is not set.
484
+ """
485
+ request = dlubal.api.common.common_messages_pb2.CloseModelRequest(save_changes=save_changes, model_id=model_id)
486
+ self.stub.close_model(request)
487
+
488
+ def close_all_models(self, *, save_changes: bool):
489
+ """
490
+ Closes all open models
491
+
492
+ Args:
493
+ save_changes (bool):
494
+ Specifies whether to save changes before closing the models
495
+ """
496
+ request = dlubal.api.common.common_messages_pb2.CloseAllModelsRequest(save_changes=save_changes)
497
+ self.stub.close_all_models(request)
498
+
499
+ def get_active_model(self) -> dlubal.api.common.model_id_pb2.ModelId:
500
+ """
501
+ Returns model id of an active model
502
+
503
+ Returns:
504
+ :ref:`common_model_id_ModelId`
505
+ """
506
+ return self.stub.get_active_model(google.protobuf.empty_pb2.Empty())
507
+
508
+ def set_active_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId):
509
+ """
510
+ Sets active model specified by model id
511
+
512
+ Args:
513
+ model_id (:ref:`common_model_id_ModelId`):
514
+
515
+ """
516
+ self.stub.set_active_model(model_id)
517
+
518
+ def close_application(self):
519
+ """
520
+ Closes the whole application
521
+ """
522
+ self.stub.close_application(google.protobuf.empty_pb2.Empty())
523
+
524
+ def get_model_list(self) -> dlubal.api.common.common_messages_pb2.ModelList:
525
+ """
526
+ Returns list of models and information about them
527
+
528
+ Returns:
529
+ :ref:`common_common_messages_ModelList`
530
+ """
531
+ return self.stub.get_model_list(google.protobuf.empty_pb2.Empty())
532
+
533
+ def get_application_info(self) -> dlubal.api.common.common_messages_pb2.ApplicationInfo:
534
+ """
535
+ Returns information about the application
536
+
537
+ Returns:
538
+ :ref:`common_common_messages_ApplicationInfo`
539
+ """
540
+ return self.stub.get_application_info(google.protobuf.empty_pb2.Empty())
541
+
542
+ def get_subscription_info(self) -> dlubal.api.common.common_messages_pb2.SubscriptionInfo:
543
+ """
544
+ Returns current company's API subscription information
545
+
546
+ Returns:
547
+ :ref:`common_common_messages_SubscriptionInfo`
548
+ """
549
+ return self.stub.get_subscription_info(google.protobuf.empty_pb2.Empty())
550
+
551
+ def close_connection(self):
552
+ """
553
+ Closes connection to API server
554
+ """
555
+ self.stub.close_connection(google.protobuf.empty_pb2.Empty())
556
+
557
+ def delete_all_objects(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()):
558
+ """
559
+ Deletes all objects
560
+
561
+ Args:
562
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
563
+
564
+ """
565
+ self.stub.delete_all_objects(optional_model_id)
566
+
567
+ 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:
568
+ """
569
+ Performs a full calculation for all objects.
570
+ Returns result of the operation, description of the result and possibly additional information about an error.
571
+
572
+ Args:
573
+ skip_warnings (bool):
574
+ Specifies whether to skip warnings during the calculation.
575
+ model_id (:ref:`common_model_id_ModelId` | None):
576
+ Unique identifier of the model. Active model is used if this field is not set.
577
+
578
+ Returns:
579
+ :ref:`common_common_messages_OperationResult`
580
+ """
581
+ request = dlubal.api.common.common_messages_pb2.CalculateAllRequest(skip_warnings=skip_warnings, model_id=model_id)
582
+ return self.stub.calculate_all(request)
583
+
584
+ def calculate_specific(self, *, loadings: collections.abc.Iterable[dlubal.api.rfem.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:
585
+ """
586
+ Performs a calculation for the specific objects.
587
+ Returns result of the operation, description of the result and possibly additional information about an error.
588
+
589
+ Args:
590
+ loadings (list[:ref:`rfem_object_id_ObjectId`] | None):
591
+ Unique identifier of the loading.
592
+ skip_warnings (bool):
593
+ Specifies whether to skip warnings during the calculation.
594
+ model_id (:ref:`common_model_id_ModelId` | None):
595
+ Unique identifier of the model. Active model is used if this field is not set.
596
+
597
+ Returns:
598
+ :ref:`common_common_messages_OperationResult`
599
+ """
600
+ request = dlubal.api.rfem.application_pb2.CalculateSpecificRequest(loadings=loadings, skip_warnings=skip_warnings, model_id=model_id)
601
+ return self.stub.calculate_specific(request)
602
+
603
+ def has_results(self, *, loading: dlubal.api.rfem.object_id_pb2.ObjectId | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> google.protobuf.wrappers_pb2.BoolValue:
604
+ """
605
+ Checks whether the model contains calculation results for the selected loading, loading type, or any loading.
606
+ Returns True if results are available.
607
+
608
+ Args:
609
+ loading (:ref:`rfem_object_id_ObjectId` | None):
610
+ Allowed types: OBJECT_TYPE_CONSTRUCTION_STAGE, OBJECT_TYPE_DESIGN_SITUATION, OBJECT_TYPE_LOAD_CASE, OBJECT_TYPE_LOAD_COMBINATION, OBJECT_TYPE_RESULT_COMBINATION
611
+ model_id (:ref:`common_model_id_ModelId` | None):
612
+ Unique identifier of the model. Active model is used if this field is not set.
613
+
614
+ Returns:
615
+ google.protobuf.BoolValue
616
+ """
617
+ request = dlubal.api.rfem.application_pb2.HasResultsRequest(loading=loading, model_id=model_id)
618
+ return self.stub.has_results(request)
619
+
620
+ 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:
621
+ """
622
+ Performs validation based on the specified validation type.
623
+ Returns result of the operation, description of the result and possibly additional information about an error.
624
+
625
+ Args:
626
+ type (:ref:`common_common_messages_PlausibilityCheckType`):
627
+ Specifies various validation checks that can be performed before generating a mesh, running a calculation, or verifying plausibility.
628
+ skip_warnings (bool):
629
+ Specifies whether to skip warnings during the calculation.
630
+ model_id (:ref:`common_model_id_ModelId` | None):
631
+ Unique identifier of the model. Active model is used if this field is not set.
632
+
633
+ Returns:
634
+ :ref:`common_common_messages_OperationResult`
635
+ """
636
+ request = dlubal.api.common.common_messages_pb2.PlausibilityCheckRequest(type=type, skip_warnings=skip_warnings, model_id=model_id)
637
+ return self.stub.plausibility_check(request)
638
+
639
+ def get_object_id_list(self, *, object_type: dlubal.api.rfem.object_type_pb2.ObjectType | None = None, parent_no: int | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.rfem.object_id_pb2.ObjectIdList:
640
+ """
641
+ Retrieves object ids filtered by a specific type.
642
+ If you want to retrieve all object ids, do not specify the object_type.
643
+
644
+ Args:
645
+ object_type (:ref:`rfem_object_type_ObjectType` | None):
646
+ The type of objects to retrieve. To get all object ids, omit it.
647
+ parent_no (int | None):
648
+ 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.
649
+ model_id (:ref:`common_model_id_ModelId` | None):
650
+ Unique identifier of the model. If not specified, the active model is used.
651
+
652
+ Returns:
653
+ :ref:`rfem_object_id_ObjectIdList`
654
+ """
655
+ request = dlubal.api.rfem.application_pb2.GetObjectIdListRequest(object_type=object_type, parent_no=parent_no, model_id=model_id)
656
+ return self.stub.get_object_id_list(request)
657
+
658
+ 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:
659
+ """
660
+ Retrieves the main parameters of a model, including its ID, name, description,
661
+ comments, file path, and associated project details.
662
+
663
+ Args:
664
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
665
+
666
+
667
+ Returns:
668
+ :ref:`common_common_messages_ModelMainParameters`
669
+ """
670
+ return self.stub.get_model_main_parameters(optional_model_id)
671
+
672
+ def generate_combinations(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()):
673
+ """
674
+ Generates combinations.
675
+
676
+ Args:
677
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
678
+
679
+ """
680
+ self.stub.generate_combinations(optional_model_id)
681
+
682
+ def get_base_data(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()) -> dlubal.api.rfem.base_data_pb2.BaseData:
683
+ """
684
+ Get the base data.
685
+ This method returns the complete set of data stored for a particular model,
686
+ including add-ons, standards, general and combinations settings, etc.
687
+
688
+ Args:
689
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
690
+
691
+
692
+ Returns:
693
+ :ref:`rfem_base_data_BaseData`
694
+ """
695
+ return self.stub.get_base_data(optional_model_id)
696
+
697
+ def set_base_data(self, *, base_data: dlubal.api.rfem.base_data_pb2.BaseData | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
698
+ """
699
+ Set the base data.
700
+ This method updates the complete set of data for a particular model,
701
+ including add-ons, standards, general and combinations settings, and other parameters.
702
+
703
+ Args:
704
+ base_data (:ref:`rfem_base_data_BaseData` | None):
705
+
706
+ model_id (:ref:`common_model_id_ModelId` | None):
707
+ Unique identifier of the model. If not specified, the active model is used.
708
+ """
709
+ request = dlubal.api.rfem.application_pb2.BaseDataRequest(base_data=base_data, model_id=model_id)
710
+ self.stub.set_base_data(request)
711
+
712
+ def get_mesh_settings(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()) -> dlubal.api.rfem.mesh.mesh_settings_pb2.MeshSettings:
713
+ """
714
+ Returns mesh settings.
715
+
716
+ Args:
717
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
718
+
719
+
720
+ Returns:
721
+ :ref:`rfem_mesh_mesh_settings_MeshSettings`
722
+ """
723
+ return self.stub.get_mesh_settings(optional_model_id)
724
+
725
+ def set_mesh_settings(self, *, mesh_settings: dlubal.api.rfem.mesh.mesh_settings_pb2.MeshSettings | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
726
+ """
727
+ Sets mesh settings.
728
+
729
+ Args:
730
+ mesh_settings (:ref:`rfem_mesh_mesh_settings_MeshSettings` | None):
731
+
732
+ model_id (:ref:`common_model_id_ModelId` | None):
733
+ Unique identifier of the model. Active model is used if this field is not set.
734
+ """
735
+ request = dlubal.api.rfem.application_pb2.SetMeshSettingsRequest(mesh_settings=mesh_settings, model_id=model_id)
736
+ self.stub.set_mesh_settings(request)
737
+
738
+ def generate_mesh(self, *, skip_warnings: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.common.common_messages_pb2.OperationResult:
739
+ """
740
+ Generates mesh.
741
+ Returns result of the operation.
742
+
743
+ Args:
744
+ skip_warnings (bool):
745
+ Specifies whether to skip warnings during the generation mesh.
746
+ model_id (:ref:`common_model_id_ModelId` | None):
747
+ Unique identifier of the model. Active model is used if this field is not set.
748
+
749
+ Returns:
750
+ :ref:`common_common_messages_OperationResult`
751
+ """
752
+ request = dlubal.api.rfem.application_pb2.GenerateMeshRequest(skip_warnings=skip_warnings, model_id=model_id)
753
+ return self.stub.generate_mesh(request)
754
+
755
+ def get_mesh_statistics(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()) -> dlubal.api.rfem.mesh.mesh_settings_pb2.MeshStatistics:
756
+ """
757
+ Returns mesh statistics.
758
+
759
+ Args:
760
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
761
+
762
+
763
+ Returns:
764
+ :ref:`rfem_mesh_mesh_settings_MeshStatistics`
765
+ """
766
+ return self.stub.get_mesh_statistics(optional_model_id)
767
+
768
+ def delete_mesh(self, *, optional_model_id: dlubal.api.common.model_id_pb2.OptionalModelId = dlubal.api.common.model_id_pb2.OptionalModelId()):
769
+ """
770
+ Delete mesh
771
+
772
+ Args:
773
+ optional_model_id (:ref:`common_model_id_OptionalModelId`):
774
+
775
+ """
776
+ self.stub.delete_mesh(optional_model_id)
777
+
778
+ def get_design_settings(self, *, addon: dlubal.api.rfem.design_addons_pb2.DesignAddons, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.rfem.application_pb2.GlobalSettingsTreeTable:
779
+ """
780
+ Get global settings for a design addon.
781
+
782
+ Args:
783
+ addon (:ref:`rfem_design_addons_DesignAddons`):
784
+
785
+ model_id (:ref:`common_model_id_ModelId` | None):
786
+ Unique identifier of the model. Active model is used if this field is not set.
787
+
788
+ Returns:
789
+ :ref:`rfem_application_GlobalSettingsTreeTable`
790
+ """
791
+ request = dlubal.api.rfem.application_pb2.GetDesignSettingsRequest(addon=addon, model_id=model_id)
792
+ return self.stub.get_design_settings(request)
793
+
794
+ def set_design_settings(self, *, addon: dlubal.api.rfem.design_addons_pb2.DesignAddons, global_settings_tree_table: dlubal.api.rfem.application_pb2.GlobalSettingsTreeTable | None = None, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
795
+ """
796
+ Set global settings for a design addon.
797
+
798
+ Args:
799
+ addon (:ref:`rfem_design_addons_DesignAddons`):
800
+
801
+ global_settings_tree_table (:ref:`rfem_application_GlobalSettingsTreeTable` | None):
802
+
803
+ model_id (:ref:`common_model_id_ModelId` | None):
804
+ Unique identifier of the model. Active model is used if this field is not set.
805
+ """
806
+ request = dlubal.api.rfem.application_pb2.SetDesignSettingsRequest(addon=addon, global_settings_tree_table=global_settings_tree_table, model_id=model_id)
807
+ self.stub.set_design_settings(request)