dlubal.api 0.1.293714a1__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 (342) hide show
  1. dlubal/__init__.py +0 -0
  2. dlubal/api/__init__.py +0 -0
  3. dlubal/api/common/__init__.py +3 -0
  4. dlubal/api/common/common_pb2.py +42 -0
  5. dlubal/api/common/common_pb2.pyi +41 -0
  6. dlubal/api/common/connection.py +251 -0
  7. dlubal/api/common/exceptions.py +12 -0
  8. dlubal/api/common/model_id_pb2.py +38 -0
  9. dlubal/api/common/model_id_pb2.pyi +17 -0
  10. dlubal/api/common/table.py +35 -0
  11. dlubal/api/common/table_data_pb2.py +39 -0
  12. dlubal/api/common/table_data_pb2.pyi +21 -0
  13. dlubal/api/rfem/__init__.py +32 -0
  14. dlubal/api/rfem/aluminum_design_objects/__init__.py +2 -0
  15. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +36 -0
  16. dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +30 -0
  17. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +36 -0
  18. dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +30 -0
  19. dlubal/api/rfem/application.py +290 -0
  20. dlubal/api/rfem/application_pb2.py +67 -0
  21. dlubal/api/rfem/application_pb2.pyi +135 -0
  22. dlubal/api/rfem/application_pb2_grpc.py +973 -0
  23. dlubal/api/rfem/base_data/__init__.py +1 -0
  24. dlubal/api/rfem/base_data/terrain_pb2.py +40 -0
  25. dlubal/api/rfem/base_data/terrain_pb2.pyi +53 -0
  26. dlubal/api/rfem/building_model/__init__.py +4 -0
  27. dlubal/api/rfem/building_model/building_story_pb2.py +54 -0
  28. dlubal/api/rfem/building_model/building_story_pb2.pyi +151 -0
  29. dlubal/api/rfem/building_model/deep_beam_pb2.py +41 -0
  30. dlubal/api/rfem/building_model/deep_beam_pb2.pyi +73 -0
  31. dlubal/api/rfem/building_model/floor_set_pb2.py +39 -0
  32. dlubal/api/rfem/building_model/floor_set_pb2.pyi +59 -0
  33. dlubal/api/rfem/building_model/shear_wall_pb2.py +41 -0
  34. dlubal/api/rfem/building_model/shear_wall_pb2.pyi +73 -0
  35. dlubal/api/rfem/calculation_diagrams/__init__.py +1 -0
  36. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +50 -0
  37. dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.pyi +1694 -0
  38. dlubal/api/rfem/concrete_design_objects/__init__.py +2 -0
  39. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +36 -0
  40. dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +46 -0
  41. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +36 -0
  42. dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +46 -0
  43. dlubal/api/rfem/construction_stages/__init__.py +1 -0
  44. dlubal/api/rfem/construction_stages/construction_stage_pb2.py +46 -0
  45. dlubal/api/rfem/construction_stages/construction_stage_pb2.pyi +176 -0
  46. dlubal/api/rfem/dynamic_loads/__init__.py +2 -0
  47. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +40 -0
  48. dlubal/api/rfem/dynamic_loads/accelerogram_pb2.pyi +51 -0
  49. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +42 -0
  50. dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.pyi +72 -0
  51. dlubal/api/rfem/geotechnical_analysis/__init__.py +2 -0
  52. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +41 -0
  53. dlubal/api/rfem/geotechnical_analysis/borehole_pb2.pyi +54 -0
  54. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +47 -0
  55. dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.pyi +119 -0
  56. dlubal/api/rfem/global_parameters/__init__.py +1 -0
  57. dlubal/api/rfem/global_parameters/global_parameter_pb2.py +40 -0
  58. dlubal/api/rfem/global_parameters/global_parameter_pb2.pyi +284 -0
  59. dlubal/api/rfem/guide_objects/__init__.py +10 -0
  60. dlubal/api/rfem/guide_objects/building_grid_pb2.py +53 -0
  61. dlubal/api/rfem/guide_objects/building_grid_pb2.pyi +219 -0
  62. dlubal/api/rfem/guide_objects/clipping_box_pb2.py +37 -0
  63. dlubal/api/rfem/guide_objects/clipping_box_pb2.pyi +40 -0
  64. dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +45 -0
  65. dlubal/api/rfem/guide_objects/clipping_plane_pb2.pyi +116 -0
  66. dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +41 -0
  67. dlubal/api/rfem/guide_objects/coordinate_system_pb2.pyi +93 -0
  68. dlubal/api/rfem/guide_objects/dimension_pb2.py +61 -0
  69. dlubal/api/rfem/guide_objects/dimension_pb2.pyi +245 -0
  70. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +41 -0
  71. dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.pyi +119 -0
  72. dlubal/api/rfem/guide_objects/dxf_model_object_pb2.py +36 -0
  73. dlubal/api/rfem/guide_objects/dxf_model_object_pb2.pyi +15 -0
  74. dlubal/api/rfem/guide_objects/note_pb2.py +45 -0
  75. dlubal/api/rfem/guide_objects/note_pb2.pyi +129 -0
  76. dlubal/api/rfem/guide_objects/object_snap_pb2.py +38 -0
  77. dlubal/api/rfem/guide_objects/object_snap_pb2.pyi +85 -0
  78. dlubal/api/rfem/guide_objects/visual_object_pb2.py +43 -0
  79. dlubal/api/rfem/guide_objects/visual_object_pb2.pyi +129 -0
  80. dlubal/api/rfem/imperfections/__init__.py +5 -0
  81. dlubal/api/rfem/imperfections/imperfection_case_pb2.py +50 -0
  82. dlubal/api/rfem/imperfections/imperfection_case_pb2.pyi +158 -0
  83. dlubal/api/rfem/imperfections/member_imperfection_pb2.py +48 -0
  84. dlubal/api/rfem/imperfections/member_imperfection_pb2.pyi +205 -0
  85. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +48 -0
  86. dlubal/api/rfem/imperfections/member_set_imperfection_pb2.pyi +203 -0
  87. dlubal/api/rfem/imperfections/surface_imperfection_pb2.py +40 -0
  88. dlubal/api/rfem/imperfections/surface_imperfection_pb2.pyi +55 -0
  89. dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.py +40 -0
  90. dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.pyi +55 -0
  91. dlubal/api/rfem/load_wizards/__init__.py +2 -0
  92. dlubal/api/rfem/load_wizards/wind_profile_pb2.py +44 -0
  93. dlubal/api/rfem/load_wizards/wind_profile_pb2.pyi +727 -0
  94. dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +46 -0
  95. dlubal/api/rfem/load_wizards/wind_simulation_pb2.pyi +84 -0
  96. dlubal/api/rfem/loading/__init__.py +15 -0
  97. dlubal/api/rfem/loading/action_combination_pb2.py +40 -0
  98. dlubal/api/rfem/loading/action_combination_pb2.pyi +58 -0
  99. dlubal/api/rfem/loading/action_pb2.py +42 -0
  100. dlubal/api/rfem/loading/action_pb2.pyi +80 -0
  101. dlubal/api/rfem/loading/combination_wizard_pb2.py +40 -0
  102. dlubal/api/rfem/loading/combination_wizard_pb2.pyi +65 -0
  103. dlubal/api/rfem/loading/design_situation_pb2.py +38 -0
  104. dlubal/api/rfem/loading/design_situation_pb2.pyi +41 -0
  105. dlubal/api/rfem/loading/load_case_pb2.py +77 -0
  106. dlubal/api/rfem/loading/load_case_pb2.pyi +489 -0
  107. dlubal/api/rfem/loading/load_combination_pb2.py +48 -0
  108. dlubal/api/rfem/loading/load_combination_pb2.pyi +150 -0
  109. dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +48 -0
  110. dlubal/api/rfem/loading/modal_analysis_settings_pb2.pyi +115 -0
  111. dlubal/api/rfem/loading/optimization_settings_pb2.py +42 -0
  112. dlubal/api/rfem/loading/optimization_settings_pb2.pyi +72 -0
  113. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +38 -0
  114. dlubal/api/rfem/loading/pushover_analysis_settings_pb2.pyi +51 -0
  115. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.py +40 -0
  116. dlubal/api/rfem/loading/relationship_between_load_cases_pb2.pyi +36 -0
  117. dlubal/api/rfem/loading/result_combination_pb2.py +42 -0
  118. dlubal/api/rfem/loading/result_combination_pb2.pyi +74 -0
  119. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +46 -0
  120. dlubal/api/rfem/loading/spectral_analysis_settings_pb2.pyi +91 -0
  121. dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +44 -0
  122. dlubal/api/rfem/loading/stability_analysis_settings_pb2.pyi +118 -0
  123. dlubal/api/rfem/loading/static_analysis_settings_pb2.py +46 -0
  124. dlubal/api/rfem/loading/static_analysis_settings_pb2.pyi +159 -0
  125. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +48 -0
  126. dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.pyi +150 -0
  127. dlubal/api/rfem/loads/__init__.py +17 -0
  128. dlubal/api/rfem/loads/free_circular_load_pb2.py +42 -0
  129. dlubal/api/rfem/loads/free_circular_load_pb2.pyi +100 -0
  130. dlubal/api/rfem/loads/free_concentrated_load_pb2.py +42 -0
  131. dlubal/api/rfem/loads/free_concentrated_load_pb2.pyi +84 -0
  132. dlubal/api/rfem/loads/free_line_load_pb2.py +42 -0
  133. dlubal/api/rfem/loads/free_line_load_pb2.pyi +104 -0
  134. dlubal/api/rfem/loads/free_polygon_load_pb2.py +44 -0
  135. dlubal/api/rfem/loads/free_polygon_load_pb2.pyi +112 -0
  136. dlubal/api/rfem/loads/free_rectangular_load_pb2.py +49 -0
  137. dlubal/api/rfem/loads/free_rectangular_load_pb2.pyi +166 -0
  138. dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +37 -0
  139. dlubal/api/rfem/loads/imposed_line_deformation_pb2.pyi +47 -0
  140. dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +37 -0
  141. dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.pyi +43 -0
  142. dlubal/api/rfem/loads/line_load_pb2.py +46 -0
  143. dlubal/api/rfem/loads/line_load_pb2.pyi +155 -0
  144. dlubal/api/rfem/loads/line_set_load_pb2.py +46 -0
  145. dlubal/api/rfem/loads/line_set_load_pb2.pyi +155 -0
  146. dlubal/api/rfem/loads/member_load_pb2.py +67 -0
  147. dlubal/api/rfem/loads/member_load_pb2.pyi +390 -0
  148. dlubal/api/rfem/loads/member_set_load_pb2.py +67 -0
  149. dlubal/api/rfem/loads/member_set_load_pb2.pyi +388 -0
  150. dlubal/api/rfem/loads/nodal_load_pb2.py +47 -0
  151. dlubal/api/rfem/loads/nodal_load_pb2.pyi +207 -0
  152. dlubal/api/rfem/loads/opening_load_pb2.py +42 -0
  153. dlubal/api/rfem/loads/opening_load_pb2.pyi +84 -0
  154. dlubal/api/rfem/loads/solid_load_pb2.py +53 -0
  155. dlubal/api/rfem/loads/solid_load_pb2.pyi +180 -0
  156. dlubal/api/rfem/loads/solid_set_load_pb2.py +53 -0
  157. dlubal/api/rfem/loads/solid_set_load_pb2.pyi +180 -0
  158. dlubal/api/rfem/loads/surface_load_pb2.py +57 -0
  159. dlubal/api/rfem/loads/surface_load_pb2.pyi +285 -0
  160. dlubal/api/rfem/loads/surface_set_load_pb2.py +57 -0
  161. dlubal/api/rfem/loads/surface_set_load_pb2.pyi +285 -0
  162. dlubal/api/rfem/packing.py +45 -0
  163. dlubal/api/rfem/result_objects/__init__.py +1 -0
  164. dlubal/api/rfem/result_objects/result_section_pb2.py +43 -0
  165. dlubal/api/rfem/result_objects/result_section_pb2.pyi +119 -0
  166. dlubal/api/rfem/results/__init__.py +2 -0
  167. dlubal/api/rfem/results/results_id_pb2.py +36 -0
  168. dlubal/api/rfem/results/results_id_pb2.pyi +14 -0
  169. dlubal/api/rfem/results/results_query_pb2.py +40 -0
  170. dlubal/api/rfem/results/results_query_pb2.pyi +26 -0
  171. dlubal/api/rfem/steel_design_objects/__init__.py +4 -0
  172. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.py +36 -0
  173. dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.pyi +30 -0
  174. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.py +36 -0
  175. dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +30 -0
  176. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.py +36 -0
  177. dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.pyi +30 -0
  178. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.py +36 -0
  179. dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.pyi +30 -0
  180. dlubal/api/rfem/structure_advanced/__init__.py +9 -0
  181. dlubal/api/rfem/structure_advanced/block_pb2.py +51 -0
  182. dlubal/api/rfem/structure_advanced/block_pb2.pyi +180 -0
  183. dlubal/api/rfem/structure_advanced/intersection_pb2.py +36 -0
  184. dlubal/api/rfem/structure_advanced/intersection_pb2.pyi +26 -0
  185. dlubal/api/rfem/structure_advanced/line_release_pb2.py +40 -0
  186. dlubal/api/rfem/structure_advanced/line_release_pb2.pyi +56 -0
  187. dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +38 -0
  188. dlubal/api/rfem/structure_advanced/nodal_release_pb2.pyi +46 -0
  189. dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +41 -0
  190. dlubal/api/rfem/structure_advanced/rigid_link_pb2.pyi +104 -0
  191. dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +56 -0
  192. dlubal/api/rfem/structure_advanced/structure_modification_pb2.pyi +161 -0
  193. dlubal/api/rfem/structure_advanced/surface_release_pb2.py +38 -0
  194. dlubal/api/rfem/structure_advanced/surface_release_pb2.pyi +50 -0
  195. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +55 -0
  196. dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.pyi +140 -0
  197. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.py +36 -0
  198. dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.pyi +24 -0
  199. dlubal/api/rfem/structure_core/__init__.py +15 -0
  200. dlubal/api/rfem/structure_core/line_pb2.py +53 -0
  201. dlubal/api/rfem/structure_core/line_pb2.pyi +298 -0
  202. dlubal/api/rfem/structure_core/line_set_pb2.py +39 -0
  203. dlubal/api/rfem/structure_core/line_set_pb2.pyi +53 -0
  204. dlubal/api/rfem/structure_core/material_pb2.py +100 -0
  205. dlubal/api/rfem/structure_core/material_pb2.pyi +955 -0
  206. dlubal/api/rfem/structure_core/member_pb2.py +79 -0
  207. dlubal/api/rfem/structure_core/member_pb2.pyi +566 -0
  208. dlubal/api/rfem/structure_core/member_representative_pb2.py +83 -0
  209. dlubal/api/rfem/structure_core/member_representative_pb2.pyi +590 -0
  210. dlubal/api/rfem/structure_core/member_set_pb2.py +53 -0
  211. dlubal/api/rfem/structure_core/member_set_pb2.pyi +225 -0
  212. dlubal/api/rfem/structure_core/member_set_representative_pb2.py +99 -0
  213. dlubal/api/rfem/structure_core/member_set_representative_pb2.pyi +811 -0
  214. dlubal/api/rfem/structure_core/node_pb2.py +43 -0
  215. dlubal/api/rfem/structure_core/node_pb2.pyi +142 -0
  216. dlubal/api/rfem/structure_core/opening_pb2.py +37 -0
  217. dlubal/api/rfem/structure_core/opening_pb2.pyi +41 -0
  218. dlubal/api/rfem/structure_core/section_pb2.py +66 -0
  219. dlubal/api/rfem/structure_core/section_pb2.pyi +1939 -0
  220. dlubal/api/rfem/structure_core/solid_pb2.py +53 -0
  221. dlubal/api/rfem/structure_core/solid_pb2.pyi +212 -0
  222. dlubal/api/rfem/structure_core/solid_set_pb2.py +39 -0
  223. dlubal/api/rfem/structure_core/solid_set_pb2.pyi +55 -0
  224. dlubal/api/rfem/structure_core/surface_pb2.py +67 -0
  225. dlubal/api/rfem/structure_core/surface_pb2.pyi +473 -0
  226. dlubal/api/rfem/structure_core/surface_set_pb2.py +47 -0
  227. dlubal/api/rfem/structure_core/surface_set_pb2.pyi +164 -0
  228. dlubal/api/rfem/structure_core/thickness_pb2.py +64 -0
  229. dlubal/api/rfem/structure_core/thickness_pb2.pyi +479 -0
  230. dlubal/api/rfem/timber_design_objects/__init__.py +3 -0
  231. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.py +36 -0
  232. dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.pyi +30 -0
  233. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.py +36 -0
  234. dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.pyi +30 -0
  235. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.py +36 -0
  236. dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.pyi +30 -0
  237. dlubal/api/rfem/types_for_aluminum_design/__init__.py +3 -0
  238. dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +56 -0
  239. dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.pyi +150 -0
  240. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.py +38 -0
  241. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.pyi +36 -0
  242. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.py +38 -0
  243. dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.pyi +36 -0
  244. dlubal/api/rfem/types_for_concrete_design/__init__.py +5 -0
  245. dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.py +68 -0
  246. dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.pyi +269 -0
  247. dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.py +66 -0
  248. dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.pyi +186 -0
  249. dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.py +52 -0
  250. dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.pyi +196 -0
  251. dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.py +38 -0
  252. dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.pyi +48 -0
  253. dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.py +72 -0
  254. dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.pyi +560 -0
  255. dlubal/api/rfem/types_for_lines/__init__.py +4 -0
  256. dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +103 -0
  257. dlubal/api/rfem/types_for_lines/line_hinge_pb2.pyi +610 -0
  258. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +38 -0
  259. dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.pyi +50 -0
  260. dlubal/api/rfem/types_for_lines/line_support_pb2.py +127 -0
  261. dlubal/api/rfem/types_for_lines/line_support_pb2.pyi +883 -0
  262. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +42 -0
  263. dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.pyi +93 -0
  264. dlubal/api/rfem/types_for_members/__init__.py +13 -0
  265. dlubal/api/rfem/types_for_members/design_support_pb2.py +50 -0
  266. dlubal/api/rfem/types_for_members/design_support_pb2.pyi +166 -0
  267. dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +36 -0
  268. dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.pyi +52 -0
  269. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +49 -0
  270. dlubal/api/rfem/types_for_members/member_eccentricity_pb2.pyi +117 -0
  271. dlubal/api/rfem/types_for_members/member_hinge_pb2.py +151 -0
  272. dlubal/api/rfem/types_for_members/member_hinge_pb2.pyi +1226 -0
  273. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +38 -0
  274. dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.pyi +62 -0
  275. dlubal/api/rfem/types_for_members/member_openings_pb2.py +38 -0
  276. dlubal/api/rfem/types_for_members/member_openings_pb2.pyi +36 -0
  277. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.py +38 -0
  278. dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.pyi +40 -0
  279. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +48 -0
  280. dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.pyi +111 -0
  281. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +40 -0
  282. dlubal/api/rfem/types_for_members/member_shear_panel_pb2.pyi +82 -0
  283. dlubal/api/rfem/types_for_members/member_spring_pb2.py +50 -0
  284. dlubal/api/rfem/types_for_members/member_spring_pb2.pyi +139 -0
  285. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +46 -0
  286. dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.pyi +130 -0
  287. dlubal/api/rfem/types_for_members/member_support_pb2.py +49 -0
  288. dlubal/api/rfem/types_for_members/member_support_pb2.pyi +162 -0
  289. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.py +38 -0
  290. dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.pyi +36 -0
  291. dlubal/api/rfem/types_for_nodes/__init__.py +2 -0
  292. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +40 -0
  293. dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.pyi +65 -0
  294. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +171 -0
  295. dlubal/api/rfem/types_for_nodes/nodal_support_pb2.pyi +1202 -0
  296. dlubal/api/rfem/types_for_solids/__init__.py +3 -0
  297. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +40 -0
  298. dlubal/api/rfem/types_for_solids/solid_contacts_pb2.pyi +61 -0
  299. dlubal/api/rfem/types_for_solids/solid_gas_pb2.py +36 -0
  300. dlubal/api/rfem/types_for_solids/solid_gas_pb2.pyi +28 -0
  301. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.py +36 -0
  302. dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.pyi +30 -0
  303. dlubal/api/rfem/types_for_special_objects/__init__.py +4 -0
  304. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +105 -0
  305. dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.pyi +661 -0
  306. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +110 -0
  307. dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.pyi +732 -0
  308. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +69 -0
  309. dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.pyi +306 -0
  310. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +44 -0
  311. dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.pyi +81 -0
  312. dlubal/api/rfem/types_for_steel_design/__init__.py +3 -0
  313. dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.py +42 -0
  314. dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.pyi +60 -0
  315. dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.py +90 -0
  316. dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.pyi +337 -0
  317. dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.py +38 -0
  318. dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.pyi +36 -0
  319. dlubal/api/rfem/types_for_surfaces/__init__.py +4 -0
  320. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +42 -0
  321. dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.pyi +74 -0
  322. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.py +36 -0
  323. dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.pyi +30 -0
  324. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +40 -0
  325. dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.pyi +157 -0
  326. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +43 -0
  327. dlubal/api/rfem/types_for_surfaces/surface_support_pb2.pyi +83 -0
  328. dlubal/api/rfem/types_for_timber_design/__init__.py +5 -0
  329. dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.py +56 -0
  330. dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.pyi +139 -0
  331. dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.py +38 -0
  332. dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.pyi +36 -0
  333. dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.py +38 -0
  334. dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.pyi +46 -0
  335. dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.py +38 -0
  336. dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.pyi +46 -0
  337. dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.py +42 -0
  338. dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.pyi +110 -0
  339. dlubal.api-0.1.293714a1.dist-info/METADATA +40 -0
  340. dlubal.api-0.1.293714a1.dist-info/RECORD +342 -0
  341. dlubal.api-0.1.293714a1.dist-info/WHEEL +5 -0
  342. dlubal.api-0.1.293714a1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,30 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Optional as _Optional
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class AluminumDesignUlsConfiguration(_message.Message):
9
+ __slots__ = ("no", "user_defined_name_enabled", "name", "assigned_to_all_members", "assigned_to_members", "assigned_to_all_member_sets", "assigned_to_member_sets", "comment", "id_for_export_import", "metadata_for_export_import")
10
+ NO_FIELD_NUMBER: _ClassVar[int]
11
+ USER_DEFINED_NAME_ENABLED_FIELD_NUMBER: _ClassVar[int]
12
+ NAME_FIELD_NUMBER: _ClassVar[int]
13
+ ASSIGNED_TO_ALL_MEMBERS_FIELD_NUMBER: _ClassVar[int]
14
+ ASSIGNED_TO_MEMBERS_FIELD_NUMBER: _ClassVar[int]
15
+ ASSIGNED_TO_ALL_MEMBER_SETS_FIELD_NUMBER: _ClassVar[int]
16
+ ASSIGNED_TO_MEMBER_SETS_FIELD_NUMBER: _ClassVar[int]
17
+ COMMENT_FIELD_NUMBER: _ClassVar[int]
18
+ ID_FOR_EXPORT_IMPORT_FIELD_NUMBER: _ClassVar[int]
19
+ METADATA_FOR_EXPORT_IMPORT_FIELD_NUMBER: _ClassVar[int]
20
+ no: int
21
+ user_defined_name_enabled: bool
22
+ name: str
23
+ assigned_to_all_members: bool
24
+ assigned_to_members: _containers.RepeatedScalarFieldContainer[int]
25
+ assigned_to_all_member_sets: bool
26
+ assigned_to_member_sets: _containers.RepeatedScalarFieldContainer[int]
27
+ comment: str
28
+ id_for_export_import: str
29
+ metadata_for_export_import: str
30
+ def __init__(self, no: _Optional[int] = ..., user_defined_name_enabled: bool = ..., name: _Optional[str] = ..., assigned_to_all_members: bool = ..., assigned_to_members: _Optional[_Iterable[int]] = ..., assigned_to_all_member_sets: bool = ..., assigned_to_member_sets: _Optional[_Iterable[int]] = ..., comment: _Optional[str] = ..., id_for_export_import: _Optional[str] = ..., metadata_for_export_import: _Optional[str] = ...) -> None: ...
@@ -0,0 +1,290 @@
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)
@@ -0,0 +1,67 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: dlubal/api/rfem/application.proto
5
+ # Protobuf Python Version: 5.28.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 1,
17
+ '',
18
+ 'dlubal/api/rfem/application.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
26
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
27
+ from dlubal.api.common import model_id_pb2 as dlubal_dot_api_dot_common_dot_model__id__pb2
28
+ from dlubal.api.common import table_data_pb2 as dlubal_dot_api_dot_common_dot_table__data__pb2
29
+ from dlubal.api.rfem.results import results_query_pb2 as dlubal_dot_api_dot_rfem_dot_results_dot_results__query__pb2
30
+
31
+
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!dlubal/api/rfem/application.proto\x12\x0f\x64lubal.api.rfem\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a dlubal/api/common/model_id.proto\x1a\"dlubal/api/common/table_data.proto\x1a+dlubal/api/rfem/results/results_query.proto\"P\n\x12\x43reateModelRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rtemplate_path\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_template_path\" \n\x10OpenModelRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\"^\n\x12SaveModelAsRequest\x12,\n\x08model_id\x18\x01 \x01(\x0b\x32\x1a.dlubal.api.common.ModelId\x12\x11\n\x04path\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_path\"W\n\x11\x43loseModelRequest\x12,\n\x08model_id\x18\x01 \x01(\x0b\x32\x1a.dlubal.api.common.ModelId\x12\x14\n\x0csave_changes\x18\x02 \x01(\x08\"-\n\x15\x43loseAllModelsRequest\x12\x14\n\x0csave_changes\x18\x01 \x01(\x08\"A\n\tModelInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\x11\n\x04path\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_path\";\n\tModelList\x12.\n\nmodel_info\x18\x01 \x03(\x0b\x32\x1a.dlubal.api.rfem.ModelInfo\"\xcf\x01\n\x0f\x41pplicationInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x04type\x18\x02 \x01(\x0e\x32 .dlubal.api.rfem.ApplicationType\x12\x1a\n\x12is_server_instance\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x14\n\x0c\x66ull_version\x18\x05 \x01(\t\x12\x0f\n\x07options\x18\x06 \x01(\t\x12\x15\n\rlanguage_name\x18\x07 \x01(\t\x12\x13\n\x0blanguage_id\x18\x08 \x01(\t\"n\n\x06Object\x12$\n\x06object\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x31\n\x08model_id\x18\x02 \x01(\x0b\x32\x1a.dlubal.api.common.ModelIdH\x00\x88\x01\x01\x42\x0b\n\t_model_id\"6\n\nObjectList\x12(\n\x07objects\x18\x01 \x03(\x0b\x32\x17.dlubal.api.rfem.Object\"l\n\x13\x43\x61lculateAllRequest\x12\x15\n\rskip_warnings\x18\x01 \x01(\x08\x12\x31\n\x08model_id\x18\x02 \x01(\x0b\x32\x1a.dlubal.api.common.ModelIdH\x00\x88\x01\x01\x42\x0b\n\t_model_id\"b\n\x0fOperationResult\x12\x11\n\tsucceeded\x18\x01 \x01(\x08\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07message\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_dataB\n\n\x08_message*\xf1\x01\n\x0f\x41pplicationType\x12\x1b\n\x17\x41PPLICATION_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41PPLICATION_DLUBAL_CENTER\x10\x01\x12\x1d\n\x19\x41PPLICATION_REPORT_VIEWER\x10\x02\x12\x14\n\x10\x41PPLICATION_RFEM\x10\x03\x12\x15\n\x11\x41PPLICATION_RSTAB\x10\x04\x12\x18\n\x14\x41PPLICATION_RSECTION\x10\x05\x12\x1c\n\x18\x41PPLICATION_WEB_SECTIONS\x10\x06\x12\x1e\n\x1a\x41PPLICATION_CRASH_REPORTER\x10\x07\x32\x88\r\n\x0b\x41pplication\x12Q\n\x0c\x63reate_model\x12#.dlubal.api.rfem.CreateModelRequest\x1a\x1a.dlubal.api.common.ModelId\"\x00\x12M\n\nopen_model\x12!.dlubal.api.rfem.OpenModelRequest\x1a\x1a.dlubal.api.common.ModelId\"\x00\x12K\n\nsave_model\x12#.dlubal.api.rfem.SaveModelAsRequest\x1a\x16.google.protobuf.Empty\"\x00\x12K\n\x0b\x63lose_model\x12\".dlubal.api.rfem.CloseModelRequest\x1a\x16.google.protobuf.Empty\"\x00\x12T\n\x10\x63lose_all_models\x12&.dlubal.api.rfem.CloseAllModelsRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\x10get_active_model\x12\x16.google.protobuf.Empty\x1a\x1a.dlubal.api.common.ModelId\"\x00\x12\x45\n\x11\x63lose_application\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12\x46\n\x0eget_model_list\x12\x16.google.protobuf.Empty\x1a\x1a.dlubal.api.rfem.ModelList\"\x00\x12R\n\x14get_application_info\x12\x16.google.protobuf.Empty\x1a .dlubal.api.rfem.ApplicationInfo\"\x00\x12\x44\n\x10\x63lose_connection\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12\x45\n\x0fget_object_impl\x12\x17.dlubal.api.rfem.Object\x1a\x17.dlubal.api.rfem.Object\"\x00\x12R\n\x14get_object_list_impl\x12\x1b.dlubal.api.rfem.ObjectList\x1a\x1b.dlubal.api.rfem.ObjectList\"\x00\x12G\n\x12\x63reate_object_impl\x12\x17.dlubal.api.rfem.Object\x1a\x16.google.protobuf.Empty\"\x00\x12P\n\x17\x63reate_object_list_impl\x12\x1b.dlubal.api.rfem.ObjectList\x1a\x16.google.protobuf.Empty\"\x00\x12G\n\x12update_object_impl\x12\x17.dlubal.api.rfem.Object\x1a\x16.google.protobuf.Empty\"\x00\x12P\n\x17update_object_list_impl\x12\x1b.dlubal.api.rfem.ObjectList\x1a\x16.google.protobuf.Empty\"\x00\x12G\n\x12\x64\x65lete_object_impl\x12\x17.dlubal.api.rfem.Object\x1a\x16.google.protobuf.Empty\"\x00\x12P\n\x17\x64\x65lete_object_list_impl\x12\x1b.dlubal.api.rfem.ObjectList\x1a\x16.google.protobuf.Empty\"\x00\x12R\n\x12\x64\x65lete_all_objects\x12\".dlubal.api.common.OptionalModelId\x1a\x16.google.protobuf.Empty\"\x00\x12Y\n\rcalculate_all\x12$.dlubal.api.rfem.CalculateAllRequest\x1a .dlubal.api.rfem.OperationResult\"\x00\x12Y\n\x10get_results_impl\x12%.dlubal.api.rfem.results.ResultsQuery\x1a\x1c.dlubal.api.common.TableData\"\x00\x62\x06proto3')
33
+
34
+ _globals = globals()
35
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
36
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dlubal.api.rfem.application_pb2', _globals)
37
+ if not _descriptor._USE_C_DESCRIPTORS:
38
+ DESCRIPTOR._loaded_options = None
39
+ _globals['_APPLICATIONTYPE']._serialized_start=1290
40
+ _globals['_APPLICATIONTYPE']._serialized_end=1531
41
+ _globals['_CREATEMODELREQUEST']._serialized_start=225
42
+ _globals['_CREATEMODELREQUEST']._serialized_end=305
43
+ _globals['_OPENMODELREQUEST']._serialized_start=307
44
+ _globals['_OPENMODELREQUEST']._serialized_end=339
45
+ _globals['_SAVEMODELASREQUEST']._serialized_start=341
46
+ _globals['_SAVEMODELASREQUEST']._serialized_end=435
47
+ _globals['_CLOSEMODELREQUEST']._serialized_start=437
48
+ _globals['_CLOSEMODELREQUEST']._serialized_end=524
49
+ _globals['_CLOSEALLMODELSREQUEST']._serialized_start=526
50
+ _globals['_CLOSEALLMODELSREQUEST']._serialized_end=571
51
+ _globals['_MODELINFO']._serialized_start=573
52
+ _globals['_MODELINFO']._serialized_end=638
53
+ _globals['_MODELLIST']._serialized_start=640
54
+ _globals['_MODELLIST']._serialized_end=699
55
+ _globals['_APPLICATIONINFO']._serialized_start=702
56
+ _globals['_APPLICATIONINFO']._serialized_end=909
57
+ _globals['_OBJECT']._serialized_start=911
58
+ _globals['_OBJECT']._serialized_end=1021
59
+ _globals['_OBJECTLIST']._serialized_start=1023
60
+ _globals['_OBJECTLIST']._serialized_end=1077
61
+ _globals['_CALCULATEALLREQUEST']._serialized_start=1079
62
+ _globals['_CALCULATEALLREQUEST']._serialized_end=1187
63
+ _globals['_OPERATIONRESULT']._serialized_start=1189
64
+ _globals['_OPERATIONRESULT']._serialized_end=1287
65
+ _globals['_APPLICATION']._serialized_start=1534
66
+ _globals['_APPLICATION']._serialized_end=3206
67
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,135 @@
1
+ from google.protobuf import any_pb2 as _any_pb2
2
+ from google.protobuf import empty_pb2 as _empty_pb2
3
+ from dlubal.api.common import model_id_pb2 as _model_id_pb2
4
+ from dlubal.api.common import table_data_pb2 as _table_data_pb2
5
+ from dlubal.api.rfem.results import results_query_pb2 as _results_query_pb2
6
+ from google.protobuf.internal import containers as _containers
7
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
8
+ from google.protobuf import descriptor as _descriptor
9
+ from google.protobuf import message as _message
10
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
11
+
12
+ DESCRIPTOR: _descriptor.FileDescriptor
13
+
14
+ class ApplicationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
+ __slots__ = ()
16
+ APPLICATION_UNSPECIFIED: _ClassVar[ApplicationType]
17
+ APPLICATION_DLUBAL_CENTER: _ClassVar[ApplicationType]
18
+ APPLICATION_REPORT_VIEWER: _ClassVar[ApplicationType]
19
+ APPLICATION_RFEM: _ClassVar[ApplicationType]
20
+ APPLICATION_RSTAB: _ClassVar[ApplicationType]
21
+ APPLICATION_RSECTION: _ClassVar[ApplicationType]
22
+ APPLICATION_WEB_SECTIONS: _ClassVar[ApplicationType]
23
+ APPLICATION_CRASH_REPORTER: _ClassVar[ApplicationType]
24
+ APPLICATION_UNSPECIFIED: ApplicationType
25
+ APPLICATION_DLUBAL_CENTER: ApplicationType
26
+ APPLICATION_REPORT_VIEWER: ApplicationType
27
+ APPLICATION_RFEM: ApplicationType
28
+ APPLICATION_RSTAB: ApplicationType
29
+ APPLICATION_RSECTION: ApplicationType
30
+ APPLICATION_WEB_SECTIONS: ApplicationType
31
+ APPLICATION_CRASH_REPORTER: ApplicationType
32
+
33
+ class CreateModelRequest(_message.Message):
34
+ __slots__ = ("name", "template_path")
35
+ NAME_FIELD_NUMBER: _ClassVar[int]
36
+ TEMPLATE_PATH_FIELD_NUMBER: _ClassVar[int]
37
+ name: str
38
+ template_path: str
39
+ def __init__(self, name: _Optional[str] = ..., template_path: _Optional[str] = ...) -> None: ...
40
+
41
+ class OpenModelRequest(_message.Message):
42
+ __slots__ = ("path",)
43
+ PATH_FIELD_NUMBER: _ClassVar[int]
44
+ path: str
45
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
46
+
47
+ class SaveModelAsRequest(_message.Message):
48
+ __slots__ = ("model_id", "path")
49
+ MODEL_ID_FIELD_NUMBER: _ClassVar[int]
50
+ PATH_FIELD_NUMBER: _ClassVar[int]
51
+ model_id: _model_id_pb2.ModelId
52
+ path: str
53
+ def __init__(self, model_id: _Optional[_Union[_model_id_pb2.ModelId, _Mapping]] = ..., path: _Optional[str] = ...) -> None: ...
54
+
55
+ class CloseModelRequest(_message.Message):
56
+ __slots__ = ("model_id", "save_changes")
57
+ MODEL_ID_FIELD_NUMBER: _ClassVar[int]
58
+ SAVE_CHANGES_FIELD_NUMBER: _ClassVar[int]
59
+ model_id: _model_id_pb2.ModelId
60
+ save_changes: bool
61
+ def __init__(self, model_id: _Optional[_Union[_model_id_pb2.ModelId, _Mapping]] = ..., save_changes: bool = ...) -> None: ...
62
+
63
+ class CloseAllModelsRequest(_message.Message):
64
+ __slots__ = ("save_changes",)
65
+ SAVE_CHANGES_FIELD_NUMBER: _ClassVar[int]
66
+ save_changes: bool
67
+ def __init__(self, save_changes: bool = ...) -> None: ...
68
+
69
+ class ModelInfo(_message.Message):
70
+ __slots__ = ("name", "id", "path")
71
+ NAME_FIELD_NUMBER: _ClassVar[int]
72
+ ID_FIELD_NUMBER: _ClassVar[int]
73
+ PATH_FIELD_NUMBER: _ClassVar[int]
74
+ name: str
75
+ id: str
76
+ path: str
77
+ def __init__(self, name: _Optional[str] = ..., id: _Optional[str] = ..., path: _Optional[str] = ...) -> None: ...
78
+
79
+ class ModelList(_message.Message):
80
+ __slots__ = ("model_info",)
81
+ MODEL_INFO_FIELD_NUMBER: _ClassVar[int]
82
+ model_info: _containers.RepeatedCompositeFieldContainer[ModelInfo]
83
+ def __init__(self, model_info: _Optional[_Iterable[_Union[ModelInfo, _Mapping]]] = ...) -> None: ...
84
+
85
+ class ApplicationInfo(_message.Message):
86
+ __slots__ = ("name", "type", "is_server_instance", "version", "full_version", "options", "language_name", "language_id")
87
+ NAME_FIELD_NUMBER: _ClassVar[int]
88
+ TYPE_FIELD_NUMBER: _ClassVar[int]
89
+ IS_SERVER_INSTANCE_FIELD_NUMBER: _ClassVar[int]
90
+ VERSION_FIELD_NUMBER: _ClassVar[int]
91
+ FULL_VERSION_FIELD_NUMBER: _ClassVar[int]
92
+ OPTIONS_FIELD_NUMBER: _ClassVar[int]
93
+ LANGUAGE_NAME_FIELD_NUMBER: _ClassVar[int]
94
+ LANGUAGE_ID_FIELD_NUMBER: _ClassVar[int]
95
+ name: str
96
+ type: ApplicationType
97
+ is_server_instance: bool
98
+ version: str
99
+ full_version: str
100
+ options: str
101
+ language_name: str
102
+ language_id: str
103
+ def __init__(self, name: _Optional[str] = ..., type: _Optional[_Union[ApplicationType, str]] = ..., is_server_instance: bool = ..., version: _Optional[str] = ..., full_version: _Optional[str] = ..., options: _Optional[str] = ..., language_name: _Optional[str] = ..., language_id: _Optional[str] = ...) -> None: ...
104
+
105
+ class Object(_message.Message):
106
+ __slots__ = ("object", "model_id")
107
+ OBJECT_FIELD_NUMBER: _ClassVar[int]
108
+ MODEL_ID_FIELD_NUMBER: _ClassVar[int]
109
+ object: _any_pb2.Any
110
+ model_id: _model_id_pb2.ModelId
111
+ def __init__(self, object: _Optional[_Union[_any_pb2.Any, _Mapping]] = ..., model_id: _Optional[_Union[_model_id_pb2.ModelId, _Mapping]] = ...) -> None: ...
112
+
113
+ class ObjectList(_message.Message):
114
+ __slots__ = ("objects",)
115
+ OBJECTS_FIELD_NUMBER: _ClassVar[int]
116
+ objects: _containers.RepeatedCompositeFieldContainer[Object]
117
+ def __init__(self, objects: _Optional[_Iterable[_Union[Object, _Mapping]]] = ...) -> None: ...
118
+
119
+ class CalculateAllRequest(_message.Message):
120
+ __slots__ = ("skip_warnings", "model_id")
121
+ SKIP_WARNINGS_FIELD_NUMBER: _ClassVar[int]
122
+ MODEL_ID_FIELD_NUMBER: _ClassVar[int]
123
+ skip_warnings: bool
124
+ model_id: _model_id_pb2.ModelId
125
+ def __init__(self, skip_warnings: bool = ..., model_id: _Optional[_Union[_model_id_pb2.ModelId, _Mapping]] = ...) -> None: ...
126
+
127
+ class OperationResult(_message.Message):
128
+ __slots__ = ("succeeded", "data", "message")
129
+ SUCCEEDED_FIELD_NUMBER: _ClassVar[int]
130
+ DATA_FIELD_NUMBER: _ClassVar[int]
131
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
132
+ succeeded: bool
133
+ data: str
134
+ message: str
135
+ def __init__(self, succeeded: bool = ..., data: _Optional[str] = ..., message: _Optional[str] = ...) -> None: ...