dlubal.api 2.9.3rc3__tar.gz → 2.9.4.post1__tar.gz

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 (472) hide show
  1. dlubal_api-2.9.4.post1/PKG-INFO +88 -0
  2. dlubal_api-2.9.4.post1/README.md +61 -0
  3. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/connection.py +1 -22
  4. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/model_id_pb2.py +4 -4
  5. dlubal_api-2.9.4.post1/dlubal/api/common/model_id_pb2.pyi +17 -0
  6. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/__init__.py +1 -0
  7. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.py +2 -2
  8. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.py +2 -2
  9. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/application.py +34 -34
  10. dlubal_api-2.9.4.post1/dlubal/api/rfem/application_pb2.py +74 -0
  11. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/application_pb2.pyi +31 -4
  12. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/application_pb2_grpc.py +9 -9
  13. dlubal_api-2.9.4.post1/dlubal/api/rfem/base_data/terrain_pb2.py +40 -0
  14. dlubal_api-2.9.4.post1/dlubal/api/rfem/building_model/building_story_pb2.py +54 -0
  15. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/building_model/deep_beam_pb2.py +6 -6
  16. dlubal_api-2.9.4.post1/dlubal/api/rfem/building_model/floor_set_pb2.py +39 -0
  17. dlubal_api-2.9.4.post1/dlubal/api/rfem/building_model/shear_wall_pb2.py +41 -0
  18. dlubal_api-2.9.4.post1/dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +50 -0
  19. dlubal_api-2.9.4.post1/dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +36 -0
  20. dlubal_api-2.9.4.post1/dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +36 -0
  21. dlubal_api-2.9.4.post1/dlubal/api/rfem/construction_stages/construction_stage_pb2.py +46 -0
  22. dlubal_api-2.9.4.post1/dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +40 -0
  23. dlubal_api-2.9.4.post1/dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +42 -0
  24. dlubal_api-2.9.4.post1/dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +41 -0
  25. dlubal_api-2.9.4.post1/dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +47 -0
  26. dlubal_api-2.9.4.post1/dlubal/api/rfem/global_parameters/global_parameter_pb2.py +40 -0
  27. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/building_grid_pb2.py +53 -0
  28. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/clipping_box_pb2.py +37 -0
  29. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +45 -0
  30. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +41 -0
  31. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/dimension_pb2.py +61 -0
  32. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +41 -0
  33. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/dxf_model_object_pb2.py +2 -2
  34. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/note_pb2.py +45 -0
  35. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/object_snap_pb2.py +38 -0
  36. dlubal_api-2.9.4.post1/dlubal/api/rfem/guide_objects/visual_object_pb2.py +43 -0
  37. dlubal_api-2.9.4.post1/dlubal/api/rfem/imperfections/imperfection_case_pb2.py +50 -0
  38. dlubal_api-2.9.4.post1/dlubal/api/rfem/imperfections/member_imperfection_pb2.py +48 -0
  39. dlubal_api-2.9.4.post1/dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +48 -0
  40. dlubal_api-2.9.4.post1/dlubal/api/rfem/imperfections/surface_imperfection_pb2.py +40 -0
  41. dlubal_api-2.9.4.post1/dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.py +40 -0
  42. dlubal_api-2.9.4.post1/dlubal/api/rfem/load_wizards/wind_profile_pb2.py +44 -0
  43. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/load_wizards/wind_profile_pb2.pyi +14 -0
  44. dlubal_api-2.9.4.post1/dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +46 -0
  45. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/action_combination_pb2.py +40 -0
  46. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/action_pb2.py +42 -0
  47. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/combination_wizard_pb2.py +40 -0
  48. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/design_situation_pb2.py +38 -0
  49. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/load_case_pb2.py +77 -0
  50. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/load_combination_pb2.py +48 -0
  51. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/load_combination_pb2.pyi +4 -2
  52. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +48 -0
  53. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/optimization_settings_pb2.py +42 -0
  54. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +38 -0
  55. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/relationship_between_load_cases_pb2.py +6 -6
  56. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/result_combination_pb2.py +42 -0
  57. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/result_combination_pb2.pyi +4 -2
  58. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +46 -0
  59. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +44 -0
  60. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/static_analysis_settings_pb2.py +46 -0
  61. dlubal_api-2.9.4.post1/dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +48 -0
  62. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/free_circular_load_pb2.py +42 -0
  63. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/free_concentrated_load_pb2.py +42 -0
  64. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/free_line_load_pb2.py +42 -0
  65. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/free_polygon_load_pb2.py +44 -0
  66. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/free_rectangular_load_pb2.py +49 -0
  67. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +37 -0
  68. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +37 -0
  69. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/line_load_pb2.py +46 -0
  70. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/line_set_load_pb2.py +46 -0
  71. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/member_load_pb2.py +67 -0
  72. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/member_set_load_pb2.py +67 -0
  73. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/nodal_load_pb2.py +47 -0
  74. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/opening_load_pb2.py +42 -0
  75. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/solid_load_pb2.py +53 -0
  76. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/solid_set_load_pb2.py +53 -0
  77. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/surface_load_pb2.py +57 -0
  78. dlubal_api-2.9.4.post1/dlubal/api/rfem/loads/surface_set_load_pb2.py +57 -0
  79. dlubal_api-2.9.4.post1/dlubal/api/rfem/object_type_pb2.py +36 -0
  80. dlubal_api-2.9.4.post1/dlubal/api/rfem/object_type_pb2.pyi +296 -0
  81. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/packing.py +5 -4
  82. dlubal_api-2.9.4.post1/dlubal/api/rfem/result_objects/result_section_pb2.py +43 -0
  83. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.py +2 -2
  84. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.py +2 -2
  85. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.py +2 -2
  86. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.py +2 -2
  87. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/block_pb2.py +51 -0
  88. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/intersection_pb2.py +2 -2
  89. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/line_release_pb2.py +40 -0
  90. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +38 -0
  91. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +41 -0
  92. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +56 -0
  93. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/surface_release_pb2.py +38 -0
  94. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +55 -0
  95. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.py +2 -2
  96. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/line_pb2.py +55 -0
  97. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/line_set_pb2.py +39 -0
  98. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/material_pb2.py +100 -0
  99. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/member_pb2.py +79 -0
  100. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/member_representative_pb2.py +83 -0
  101. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/member_set_pb2.py +53 -0
  102. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/member_set_representative_pb2.py +99 -0
  103. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/node_pb2.py +43 -0
  104. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/opening_pb2.py +2 -2
  105. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/section_pb2.py +66 -0
  106. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/solid_pb2.py +53 -0
  107. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/solid_set_pb2.py +39 -0
  108. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/surface_pb2.py +67 -0
  109. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/surface_set_pb2.py +47 -0
  110. dlubal_api-2.9.4.post1/dlubal/api/rfem/structure_core/thickness_pb2.py +64 -0
  111. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.py +2 -2
  112. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.py +2 -2
  113. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.py +2 -2
  114. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +56 -0
  115. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.py +4 -4
  116. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.py +4 -4
  117. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.py +68 -0
  118. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.py +66 -0
  119. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.py +52 -0
  120. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.pyi +2 -0
  121. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.py +38 -0
  122. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.py +72 -0
  123. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +103 -0
  124. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +38 -0
  125. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_lines/line_support_pb2.py +127 -0
  126. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +42 -0
  127. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/design_support_pb2.py +50 -0
  128. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +36 -0
  129. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +49 -0
  130. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_hinge_pb2.py +151 -0
  131. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +38 -0
  132. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_openings_pb2.py +4 -4
  133. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.py +4 -4
  134. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +48 -0
  135. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +40 -0
  136. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_spring_pb2.py +50 -0
  137. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +46 -0
  138. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_members/member_support_pb2.py +49 -0
  139. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.py +4 -4
  140. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +40 -0
  141. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +171 -0
  142. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +40 -0
  143. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_solids/solid_gas_pb2.py +2 -2
  144. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.py +2 -2
  145. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +105 -0
  146. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +110 -0
  147. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +69 -0
  148. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +44 -0
  149. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.py +42 -0
  150. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.py +90 -0
  151. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.py +4 -4
  152. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +42 -0
  153. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.py +2 -2
  154. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +40 -0
  155. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +43 -0
  156. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.py +56 -0
  157. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.py +4 -4
  158. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.py +4 -4
  159. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.py +38 -0
  160. dlubal_api-2.9.4.post1/dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.py +42 -0
  161. dlubal_api-2.9.4.post1/dlubal.api.egg-info/PKG-INFO +88 -0
  162. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal.api.egg-info/SOURCES.txt +4 -0
  163. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/setup.py +2 -1
  164. dlubal_api-2.9.3rc3/PKG-INFO +0 -29
  165. dlubal_api-2.9.3rc3/README.md +0 -4
  166. dlubal_api-2.9.3rc3/dlubal/api/common/model_id_pb2.pyi +0 -17
  167. dlubal_api-2.9.3rc3/dlubal/api/rfem/application_pb2.py +0 -67
  168. dlubal_api-2.9.3rc3/dlubal/api/rfem/base_data/terrain_pb2.py +0 -40
  169. dlubal_api-2.9.3rc3/dlubal/api/rfem/building_model/building_story_pb2.py +0 -54
  170. dlubal_api-2.9.3rc3/dlubal/api/rfem/building_model/floor_set_pb2.py +0 -39
  171. dlubal_api-2.9.3rc3/dlubal/api/rfem/building_model/shear_wall_pb2.py +0 -41
  172. dlubal_api-2.9.3rc3/dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.py +0 -50
  173. dlubal_api-2.9.3rc3/dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.py +0 -36
  174. dlubal_api-2.9.3rc3/dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.py +0 -36
  175. dlubal_api-2.9.3rc3/dlubal/api/rfem/construction_stages/construction_stage_pb2.py +0 -46
  176. dlubal_api-2.9.3rc3/dlubal/api/rfem/dynamic_loads/accelerogram_pb2.py +0 -40
  177. dlubal_api-2.9.3rc3/dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.py +0 -42
  178. dlubal_api-2.9.3rc3/dlubal/api/rfem/geotechnical_analysis/borehole_pb2.py +0 -41
  179. dlubal_api-2.9.3rc3/dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.py +0 -47
  180. dlubal_api-2.9.3rc3/dlubal/api/rfem/global_parameters/global_parameter_pb2.py +0 -40
  181. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/building_grid_pb2.py +0 -53
  182. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/clipping_box_pb2.py +0 -37
  183. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/clipping_plane_pb2.py +0 -45
  184. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/coordinate_system_pb2.py +0 -41
  185. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/dimension_pb2.py +0 -61
  186. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.py +0 -41
  187. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/note_pb2.py +0 -45
  188. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/object_snap_pb2.py +0 -38
  189. dlubal_api-2.9.3rc3/dlubal/api/rfem/guide_objects/visual_object_pb2.py +0 -43
  190. dlubal_api-2.9.3rc3/dlubal/api/rfem/imperfections/imperfection_case_pb2.py +0 -50
  191. dlubal_api-2.9.3rc3/dlubal/api/rfem/imperfections/member_imperfection_pb2.py +0 -48
  192. dlubal_api-2.9.3rc3/dlubal/api/rfem/imperfections/member_set_imperfection_pb2.py +0 -48
  193. dlubal_api-2.9.3rc3/dlubal/api/rfem/imperfections/surface_imperfection_pb2.py +0 -40
  194. dlubal_api-2.9.3rc3/dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.py +0 -40
  195. dlubal_api-2.9.3rc3/dlubal/api/rfem/load_wizards/wind_profile_pb2.py +0 -44
  196. dlubal_api-2.9.3rc3/dlubal/api/rfem/load_wizards/wind_simulation_pb2.py +0 -46
  197. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/action_combination_pb2.py +0 -40
  198. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/action_pb2.py +0 -42
  199. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/combination_wizard_pb2.py +0 -40
  200. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/design_situation_pb2.py +0 -38
  201. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/load_case_pb2.py +0 -77
  202. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/load_combination_pb2.py +0 -48
  203. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/modal_analysis_settings_pb2.py +0 -48
  204. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/optimization_settings_pb2.py +0 -42
  205. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/pushover_analysis_settings_pb2.py +0 -38
  206. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/result_combination_pb2.py +0 -42
  207. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/spectral_analysis_settings_pb2.py +0 -46
  208. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/stability_analysis_settings_pb2.py +0 -44
  209. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/static_analysis_settings_pb2.py +0 -46
  210. dlubal_api-2.9.3rc3/dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.py +0 -48
  211. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/free_circular_load_pb2.py +0 -42
  212. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/free_concentrated_load_pb2.py +0 -42
  213. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/free_line_load_pb2.py +0 -42
  214. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/free_polygon_load_pb2.py +0 -44
  215. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/free_rectangular_load_pb2.py +0 -49
  216. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/imposed_line_deformation_pb2.py +0 -37
  217. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.py +0 -37
  218. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/line_load_pb2.py +0 -46
  219. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/line_set_load_pb2.py +0 -46
  220. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/member_load_pb2.py +0 -67
  221. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/member_set_load_pb2.py +0 -67
  222. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/nodal_load_pb2.py +0 -47
  223. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/opening_load_pb2.py +0 -42
  224. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/solid_load_pb2.py +0 -53
  225. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/solid_set_load_pb2.py +0 -53
  226. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/surface_load_pb2.py +0 -57
  227. dlubal_api-2.9.3rc3/dlubal/api/rfem/loads/surface_set_load_pb2.py +0 -57
  228. dlubal_api-2.9.3rc3/dlubal/api/rfem/result_objects/result_section_pb2.py +0 -43
  229. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/block_pb2.py +0 -51
  230. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/line_release_pb2.py +0 -40
  231. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/nodal_release_pb2.py +0 -38
  232. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/rigid_link_pb2.py +0 -41
  233. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/structure_modification_pb2.py +0 -56
  234. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/surface_release_pb2.py +0 -38
  235. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.py +0 -55
  236. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/line_pb2.py +0 -55
  237. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/line_set_pb2.py +0 -39
  238. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/material_pb2.py +0 -100
  239. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/member_pb2.py +0 -79
  240. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/member_representative_pb2.py +0 -83
  241. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/member_set_pb2.py +0 -53
  242. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/member_set_representative_pb2.py +0 -99
  243. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/node_pb2.py +0 -43
  244. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/section_pb2.py +0 -66
  245. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/solid_pb2.py +0 -53
  246. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/solid_set_pb2.py +0 -39
  247. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/surface_pb2.py +0 -67
  248. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/surface_set_pb2.py +0 -47
  249. dlubal_api-2.9.3rc3/dlubal/api/rfem/structure_core/thickness_pb2.py +0 -64
  250. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.py +0 -56
  251. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.py +0 -68
  252. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.py +0 -66
  253. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_concrete_design/punching_reinforcement_pb2.py +0 -52
  254. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.py +0 -38
  255. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.py +0 -72
  256. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_lines/line_hinge_pb2.py +0 -103
  257. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.py +0 -38
  258. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_lines/line_support_pb2.py +0 -127
  259. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.py +0 -42
  260. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/design_support_pb2.py +0 -50
  261. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.py +0 -36
  262. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_eccentricity_pb2.py +0 -49
  263. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_hinge_pb2.py +0 -151
  264. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.py +0 -38
  265. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.py +0 -48
  266. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_shear_panel_pb2.py +0 -40
  267. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_spring_pb2.py +0 -50
  268. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.py +0 -46
  269. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_members/member_support_pb2.py +0 -49
  270. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.py +0 -40
  271. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_nodes/nodal_support_pb2.py +0 -171
  272. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_solids/solid_contacts_pb2.py +0 -40
  273. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.py +0 -105
  274. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.py +0 -110
  275. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.py +0 -69
  276. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.py +0 -44
  277. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.py +0 -42
  278. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.py +0 -90
  279. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.py +0 -42
  280. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.py +0 -40
  281. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_surfaces/surface_support_pb2.py +0 -43
  282. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.py +0 -56
  283. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.py +0 -38
  284. dlubal_api-2.9.3rc3/dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.py +0 -42
  285. dlubal_api-2.9.3rc3/dlubal.api.egg-info/PKG-INFO +0 -29
  286. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/__init__.py +0 -0
  287. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/__init__.py +0 -0
  288. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/__init__.py +0 -0
  289. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/common_pb2.py +0 -0
  290. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/common_pb2.pyi +0 -0
  291. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/exceptions.py +0 -0
  292. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/table.py +0 -0
  293. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/table_data_pb2.py +0 -0
  294. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/common/table_data_pb2.pyi +0 -0
  295. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/aluminum_design_objects/__init__.py +0 -0
  296. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration_pb2.pyi +0 -0
  297. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration_pb2.pyi +0 -0
  298. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/base_data/__init__.py +0 -0
  299. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/base_data/terrain_pb2.pyi +0 -0
  300. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/building_model/__init__.py +0 -0
  301. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/building_model/building_story_pb2.pyi +0 -0
  302. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/building_model/deep_beam_pb2.pyi +0 -0
  303. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/building_model/floor_set_pb2.pyi +0 -0
  304. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/building_model/shear_wall_pb2.pyi +0 -0
  305. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/calculation_diagrams/__init__.py +0 -0
  306. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/calculation_diagrams/calculation_diagram_pb2.pyi +0 -0
  307. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/concrete_design_objects/__init__.py +0 -0
  308. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/concrete_design_objects/concrete_design_sls_configuration_pb2.pyi +0 -0
  309. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/concrete_design_objects/concrete_design_uls_configuration_pb2.pyi +0 -0
  310. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/construction_stages/__init__.py +0 -0
  311. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/construction_stages/construction_stage_pb2.pyi +0 -0
  312. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/dynamic_loads/__init__.py +0 -0
  313. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/dynamic_loads/accelerogram_pb2.pyi +0 -0
  314. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/dynamic_loads/response_spectrum_pb2.pyi +0 -0
  315. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/geotechnical_analysis/__init__.py +0 -0
  316. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/geotechnical_analysis/borehole_pb2.pyi +0 -0
  317. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/geotechnical_analysis/soil_massif_pb2.pyi +0 -0
  318. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/global_parameters/__init__.py +0 -0
  319. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/global_parameters/global_parameter_pb2.pyi +0 -0
  320. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/__init__.py +0 -0
  321. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/building_grid_pb2.pyi +0 -0
  322. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/clipping_box_pb2.pyi +0 -0
  323. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/clipping_plane_pb2.pyi +0 -0
  324. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/coordinate_system_pb2.pyi +0 -0
  325. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/dimension_pb2.pyi +0 -0
  326. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/dxf_file_model_object_pb2.pyi +0 -0
  327. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/dxf_model_object_pb2.pyi +0 -0
  328. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/note_pb2.pyi +0 -0
  329. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/object_snap_pb2.pyi +0 -0
  330. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/guide_objects/visual_object_pb2.pyi +0 -0
  331. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/imperfections/__init__.py +0 -0
  332. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/imperfections/imperfection_case_pb2.pyi +0 -0
  333. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/imperfections/member_imperfection_pb2.pyi +0 -0
  334. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/imperfections/member_set_imperfection_pb2.pyi +0 -0
  335. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/imperfections/surface_imperfection_pb2.pyi +0 -0
  336. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/imperfections/surface_set_imperfection_pb2.pyi +0 -0
  337. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/load_wizards/__init__.py +0 -0
  338. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/load_wizards/wind_simulation_pb2.pyi +0 -0
  339. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/__init__.py +0 -0
  340. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/action_combination_pb2.pyi +0 -0
  341. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/action_pb2.pyi +0 -0
  342. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/combination_wizard_pb2.pyi +0 -0
  343. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/design_situation_pb2.pyi +0 -0
  344. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/load_case_pb2.pyi +0 -0
  345. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/modal_analysis_settings_pb2.pyi +0 -0
  346. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/optimization_settings_pb2.pyi +0 -0
  347. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/pushover_analysis_settings_pb2.pyi +0 -0
  348. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/relationship_between_load_cases_pb2.pyi +0 -0
  349. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/spectral_analysis_settings_pb2.pyi +0 -0
  350. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/stability_analysis_settings_pb2.pyi +0 -0
  351. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/static_analysis_settings_pb2.pyi +0 -0
  352. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loading/wind_simulation_analysis_settings_pb2.pyi +0 -0
  353. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/__init__.py +0 -0
  354. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/free_circular_load_pb2.pyi +0 -0
  355. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/free_concentrated_load_pb2.pyi +0 -0
  356. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/free_line_load_pb2.pyi +0 -0
  357. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/free_polygon_load_pb2.pyi +0 -0
  358. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/free_rectangular_load_pb2.pyi +0 -0
  359. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/imposed_line_deformation_pb2.pyi +0 -0
  360. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/imposed_nodal_deformation_pb2.pyi +0 -0
  361. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/line_load_pb2.pyi +0 -0
  362. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/line_set_load_pb2.pyi +0 -0
  363. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/member_load_pb2.pyi +0 -0
  364. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/member_set_load_pb2.pyi +0 -0
  365. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/nodal_load_pb2.pyi +0 -0
  366. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/opening_load_pb2.pyi +0 -0
  367. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/solid_load_pb2.pyi +0 -0
  368. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/solid_set_load_pb2.pyi +0 -0
  369. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/surface_load_pb2.pyi +0 -0
  370. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/loads/surface_set_load_pb2.pyi +0 -0
  371. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/result_objects/__init__.py +0 -0
  372. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/result_objects/result_section_pb2.pyi +0 -0
  373. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/results/__init__.py +0 -0
  374. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/results/results_id_pb2.py +0 -0
  375. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/results/results_id_pb2.pyi +0 -0
  376. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/results/results_query_pb2.py +0 -0
  377. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/results/results_query_pb2.pyi +0 -0
  378. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/__init__.py +0 -0
  379. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_fr_configuration_pb2.pyi +0 -0
  380. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_seismic_configuration_pb2.pyi +0 -0
  381. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_sls_configuration_pb2.pyi +0 -0
  382. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/steel_design_objects/steel_design_uls_configuration_pb2.pyi +0 -0
  383. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/__init__.py +0 -0
  384. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/block_pb2.pyi +0 -0
  385. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/intersection_pb2.pyi +0 -0
  386. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/line_release_pb2.pyi +0 -0
  387. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/nodal_release_pb2.pyi +0 -0
  388. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/rigid_link_pb2.pyi +0 -0
  389. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/structure_modification_pb2.pyi +0 -0
  390. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/surface_release_pb2.pyi +0 -0
  391. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/surface_results_adjustment_pb2.pyi +0 -0
  392. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_advanced/surfaces_contact_pb2.pyi +0 -0
  393. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/__init__.py +0 -0
  394. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/line_pb2.pyi +0 -0
  395. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/line_set_pb2.pyi +0 -0
  396. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/material_pb2.pyi +0 -0
  397. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/member_pb2.pyi +0 -0
  398. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/member_representative_pb2.pyi +0 -0
  399. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/member_set_pb2.pyi +0 -0
  400. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/member_set_representative_pb2.pyi +0 -0
  401. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/node_pb2.pyi +0 -0
  402. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/opening_pb2.pyi +0 -0
  403. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/section_pb2.pyi +0 -0
  404. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/solid_pb2.pyi +0 -0
  405. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/solid_set_pb2.pyi +0 -0
  406. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/surface_pb2.pyi +0 -0
  407. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/surface_set_pb2.pyi +0 -0
  408. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/structure_core/thickness_pb2.pyi +0 -0
  409. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/__init__.py +0 -0
  410. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/timber_design_fr_configuration_pb2.pyi +0 -0
  411. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/timber_design_sls_configuration_pb2.pyi +0 -0
  412. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/timber_design_objects/timber_design_uls_configuration_pb2.pyi +0 -0
  413. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_aluminum_design/__init__.py +0 -0
  414. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_aluminum_design/aluminum_effective_lengths_pb2.pyi +0 -0
  415. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_aluminum_design/aluminum_member_local_section_reduction_pb2.pyi +0 -0
  416. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_aluminum_design/aluminum_member_transverse_weld_pb2.pyi +0 -0
  417. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_concrete_design/__init__.py +0 -0
  418. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_concrete_design/concrete_durability_pb2.pyi +0 -0
  419. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_concrete_design/concrete_effective_lengths_pb2.pyi +0 -0
  420. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_concrete_design/reinforcement_direction_pb2.pyi +0 -0
  421. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_concrete_design/surface_reinforcement_pb2.pyi +0 -0
  422. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_lines/__init__.py +0 -0
  423. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_lines/line_hinge_pb2.pyi +0 -0
  424. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_lines/line_mesh_refinement_pb2.pyi +0 -0
  425. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_lines/line_support_pb2.pyi +0 -0
  426. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_lines/line_welded_joint_pb2.pyi +0 -0
  427. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/__init__.py +0 -0
  428. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/design_support_pb2.pyi +0 -0
  429. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_definable_stiffness_pb2.pyi +0 -0
  430. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_eccentricity_pb2.pyi +0 -0
  431. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_hinge_pb2.pyi +0 -0
  432. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_nonlinearity_pb2.pyi +0 -0
  433. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_openings_pb2.pyi +0 -0
  434. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_result_intermediate_point_pb2.pyi +0 -0
  435. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_rotational_restraint_pb2.pyi +0 -0
  436. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_shear_panel_pb2.pyi +0 -0
  437. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_spring_pb2.pyi +0 -0
  438. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_stiffness_modification_pb2.pyi +0 -0
  439. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_support_pb2.pyi +0 -0
  440. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_members/member_transverse_stiffener_pb2.pyi +0 -0
  441. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_nodes/__init__.py +0 -0
  442. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_nodes/nodal_mesh_refinement_pb2.pyi +0 -0
  443. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_nodes/nodal_support_pb2.pyi +0 -0
  444. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_solids/__init__.py +0 -0
  445. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_solids/solid_contacts_pb2.pyi +0 -0
  446. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_solids/solid_gas_pb2.pyi +0 -0
  447. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_solids/solid_mesh_refinement_pb2.pyi +0 -0
  448. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_special_objects/__init__.py +0 -0
  449. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_special_objects/line_release_type_pb2.pyi +0 -0
  450. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_special_objects/nodal_release_type_pb2.pyi +0 -0
  451. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_special_objects/surface_release_type_pb2.pyi +0 -0
  452. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_special_objects/surfaces_contact_type_pb2.pyi +0 -0
  453. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_steel_design/__init__.py +0 -0
  454. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_steel_design/steel_boundary_conditions_pb2.pyi +0 -0
  455. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_steel_design/steel_effective_lengths_pb2.pyi +0 -0
  456. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_steel_design/steel_member_local_section_reduction_pb2.pyi +0 -0
  457. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_surfaces/__init__.py +0 -0
  458. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_surfaces/surface_eccentricity_pb2.pyi +0 -0
  459. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_surfaces/surface_mesh_refinement_pb2.pyi +0 -0
  460. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_surfaces/surface_stiffness_modification_pb2.pyi +0 -0
  461. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_surfaces/surface_support_pb2.pyi +0 -0
  462. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/__init__.py +0 -0
  463. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_effective_lengths_pb2.pyi +0 -0
  464. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_member_local_section_reduction_pb2.pyi +0 -0
  465. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_moisture_class_pb2.pyi +0 -0
  466. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_service_class_pb2.pyi +0 -0
  467. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal/api/rfem/types_for_timber_design/timber_service_conditions_pb2.pyi +0 -0
  468. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal.api.egg-info/dependency_links.txt +0 -0
  469. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal.api.egg-info/not-zip-safe +0 -0
  470. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal.api.egg-info/requires.txt +0 -0
  471. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/dlubal.api.egg-info/top_level.txt +0 -0
  472. {dlubal_api-2.9.3rc3 → dlubal_api-2.9.4.post1}/setup.cfg +0 -0
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.2
2
+ Name: dlubal.api
3
+ Version: 2.9.4.post1
4
+ Summary: Python Client Library for Dlubal Software APIs powered by gRPC
5
+ Author: Dlubal Software
6
+ Author-email: api@dlubal.com
7
+ License: MIT
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ Requires-Dist: grpcio==1.68.0
16
+ Requires-Dist: grpcio-tools==1.68.0
17
+ Requires-Dist: pandas==2.2.3
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: classifier
21
+ Dynamic: description
22
+ Dynamic: description-content-type
23
+ Dynamic: license
24
+ Dynamic: requires-dist
25
+ Dynamic: requires-python
26
+ Dynamic: summary
27
+
28
+ # Dlubal API 2.0
29
+
30
+ ![PyPI](https://img.shields.io/pypi/v/dlubal.api)
31
+ ![Python](https://img.shields.io/badge/Python-3.7%2B-blue)
32
+ ![License](https://img.shields.io/badge/License-Proprietary-red)
33
+
34
+ ## Compatibility
35
+
36
+ This package version is fully compatible with the following **Dlubal App version**:
37
+
38
+ ✅ **X.09.0004.228.1fa4372348**
39
+
40
+ ## Overview
41
+ The `dlubal.api` package is the next-generation Python client library for interacting with Dlubal Software APIs, leveraging modern **gRPC technology** to deliver high-speed communication, scalability, and improved performance. This API enables **seamless automation** and **remote access** to Dlubal software like **RFEM 6**, with near future support for **RSTAB 9** and **RSECTION 1**.
42
+
43
+ ---
44
+
45
+ ## Installation
46
+
47
+ Ensure you have **Python 3.10+** installed. Then, install the package via **pip**:
48
+
49
+ ```sh
50
+ pip install dlubal.api
51
+ ```
52
+
53
+ For additional installation options, refer to the **official documentation**.
54
+
55
+ ---
56
+
57
+ ## Quick Start
58
+
59
+ ### Authentication & Authorization
60
+ To use the API, you need:
61
+ - **API Key**: Obtainable via your **Extranet | API & Cloud** dashboard.
62
+ - **API Subscription**: [API Service "On-Premises" (gRPC) | Subscription | 1 Year](https://www.dlubal.com/en/webshop/online-service)
63
+ - **API Credits**: Some API methods consume credits.
64
+
65
+ ---
66
+
67
+ ### Example Usage
68
+ ```python
69
+ import dlubal.api.rfem
70
+
71
+ with rfem.Application(api_key="your_api_key") as rfem_app:
72
+ # Example API call
73
+ rfem_app.create_model("MyModel")
74
+ rfem_app.create_object(
75
+ rfem.structure_core.Node(coordinate_1=2)
76
+ )
77
+ ```
78
+
79
+ ## Documentation & Support
80
+ - 📖 **API Documentation**: [API Docs](https://www.dlubal.com/en/solutions/dlubal-api/api-documentation/index)
81
+ - 💬 **Support**: Contact [Dlubal Support](https://www.dlubal.com/en/support-and-learning)
82
+ - 🔑 **Extranet**: [API & Cloud Dashboard](https://www.dlubal.com/en/extranet/my-account)
83
+
84
+ ---
85
+
86
+ ## License
87
+ This package is proprietary software and requires an **active API Service subscription**. Unauthorized use is prohibited.
88
+
@@ -0,0 +1,61 @@
1
+ # Dlubal API 2.0
2
+
3
+ ![PyPI](https://img.shields.io/pypi/v/dlubal.api)
4
+ ![Python](https://img.shields.io/badge/Python-3.7%2B-blue)
5
+ ![License](https://img.shields.io/badge/License-Proprietary-red)
6
+
7
+ ## Compatibility
8
+
9
+ This package version is fully compatible with the following **Dlubal App version**:
10
+
11
+ ✅ **X.09.0004.228.1fa4372348**
12
+
13
+ ## Overview
14
+ The `dlubal.api` package is the next-generation Python client library for interacting with Dlubal Software APIs, leveraging modern **gRPC technology** to deliver high-speed communication, scalability, and improved performance. This API enables **seamless automation** and **remote access** to Dlubal software like **RFEM 6**, with near future support for **RSTAB 9** and **RSECTION 1**.
15
+
16
+ ---
17
+
18
+ ## Installation
19
+
20
+ Ensure you have **Python 3.10+** installed. Then, install the package via **pip**:
21
+
22
+ ```sh
23
+ pip install dlubal.api
24
+ ```
25
+
26
+ For additional installation options, refer to the **official documentation**.
27
+
28
+ ---
29
+
30
+ ## Quick Start
31
+
32
+ ### Authentication & Authorization
33
+ To use the API, you need:
34
+ - **API Key**: Obtainable via your **Extranet | API & Cloud** dashboard.
35
+ - **API Subscription**: [API Service "On-Premises" (gRPC) | Subscription | 1 Year](https://www.dlubal.com/en/webshop/online-service)
36
+ - **API Credits**: Some API methods consume credits.
37
+
38
+ ---
39
+
40
+ ### Example Usage
41
+ ```python
42
+ import dlubal.api.rfem
43
+
44
+ with rfem.Application(api_key="your_api_key") as rfem_app:
45
+ # Example API call
46
+ rfem_app.create_model("MyModel")
47
+ rfem_app.create_object(
48
+ rfem.structure_core.Node(coordinate_1=2)
49
+ )
50
+ ```
51
+
52
+ ## Documentation & Support
53
+ - 📖 **API Documentation**: [API Docs](https://www.dlubal.com/en/solutions/dlubal-api/api-documentation/index)
54
+ - 💬 **Support**: Contact [Dlubal Support](https://www.dlubal.com/en/support-and-learning)
55
+ - 🔑 **Extranet**: [API & Cloud Dashboard](https://www.dlubal.com/en/extranet/my-account)
56
+
57
+ ---
58
+
59
+ ## License
60
+ This package is proprietary software and requires an **active API Service subscription**. Unauthorized use is prohibited.
61
+
@@ -90,11 +90,6 @@ class _ApiKey():
90
90
  '''
91
91
  def __init__(self, key=None , value=None):
92
92
 
93
- # Value sanity check
94
- if value and not value.startswith(('AK','ak')):
95
- print("ERROR: Invalid API key. Please check the API key format.")
96
- exit()
97
-
98
93
  self.key = key
99
94
  self.value = value
100
95
  self.config = _config()
@@ -119,16 +114,6 @@ class _ApiKey():
119
114
  if default_key:
120
115
  # Print only if key is found
121
116
  print(f'API key: {self.config.get_name_of_default()}')
122
- # If there is no default key, envoke prompt
123
- elif self.value is None and prompt:
124
- # If there is no default key, raise an error
125
- self.value = input('API key was not found. Please, enter your API key value:\n')
126
- store_api = input('Would you like to store your API key for future use? y/n\n')
127
- if store_api.lower() == 'y':
128
- key_input = input('Please, enter API key identificator (e.g.RFEM_API_KEY).\n')
129
- if isinstance(key_input, str):
130
- self.key = key_input
131
- self.config.set_value(self.key, self.value)
132
117
 
133
118
  def get(self, key=None):
134
119
  '''
@@ -182,7 +167,7 @@ def check_ssl(_ssl, _ssl_file):
182
167
  _ssl_file (str):Path to .crt/.pem certificate.
183
168
  '''
184
169
  if _ssl is False:
185
- print('SSL not used.')
170
+ pass
186
171
  elif _ssl is True:
187
172
  if isinstance(_ssl_file, str) and os.path.isfile(_ssl_file) and _ssl_file.endswith(('.crt', '.pem')):
188
173
  # Use provided file
@@ -192,7 +177,6 @@ def check_ssl(_ssl, _ssl_file):
192
177
  pass
193
178
  else:
194
179
  # Provided path is not correct
195
- print("ERROR: Invalid SSL path. Please check path to SSL certificate.")
196
180
  exit()
197
181
 
198
182
  return True
@@ -205,17 +189,12 @@ def _get_ssl_credentials(_ssl_file) -> grpc.ChannelCredentials:
205
189
  path (str): Path to the SSL (.crt) certificate filepath
206
190
  '''
207
191
  if _ssl_file == '':
208
- '''
209
- Credit: https://github.com/grpc/grpc/issues/25533#issuecomment-1830823902
210
- '''
211
- print('Using Windows Cert Store.')
212
192
  certs = ssl.create_default_context().get_ca_certs(True)
213
193
  cert_string = ''
214
194
  for cert in certs:
215
195
  cert_string += ssl.DER_cert_to_PEM_cert(cert)
216
196
  return grpc.ssl_channel_credentials(root_certificates=cert_string.encode('utf-8'))
217
197
  else:
218
- print('Using SSL file')
219
198
  cert_file = open(_ssl_file, 'rb')
220
199
  return grpc.ssl_channel_credentials(cert_file.read())
221
200
 
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n dlubal/api/common/model_id.proto\x12\x11\x64lubal.api.common\"\x15\n\x07ModelId\x12\n\n\x02id\x18\x01 \x01(\t\")\n\x0fOptionalModelId\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x05\n\x03_idb\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n dlubal/api/common/model_id.proto\x12\x11\x64lubal.api.common\"\x17\n\x07ModelId\x12\x0c\n\x04guid\x18\x01 \x01(\t\"-\n\x0fOptionalModelId\x12\x11\n\x04guid\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_guidb\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -32,7 +32,7 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dlubal.api.common.model_id_
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
33
  DESCRIPTOR._loaded_options = None
34
34
  _globals['_MODELID']._serialized_start=55
35
- _globals['_MODELID']._serialized_end=76
36
- _globals['_OPTIONALMODELID']._serialized_start=78
37
- _globals['_OPTIONALMODELID']._serialized_end=119
35
+ _globals['_MODELID']._serialized_end=78
36
+ _globals['_OPTIONALMODELID']._serialized_start=80
37
+ _globals['_OPTIONALMODELID']._serialized_end=125
38
38
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,17 @@
1
+ from google.protobuf import descriptor as _descriptor
2
+ from google.protobuf import message as _message
3
+ from typing import ClassVar as _ClassVar, Optional as _Optional
4
+
5
+ DESCRIPTOR: _descriptor.FileDescriptor
6
+
7
+ class ModelId(_message.Message):
8
+ __slots__ = ("guid",)
9
+ GUID_FIELD_NUMBER: _ClassVar[int]
10
+ guid: str
11
+ def __init__(self, guid: _Optional[str] = ...) -> None: ...
12
+
13
+ class OptionalModelId(_message.Message):
14
+ __slots__ = ("guid",)
15
+ GUID_FIELD_NUMBER: _ClassVar[int]
16
+ guid: str
17
+ def __init__(self, guid: _Optional[str] = ...) -> None: ...
@@ -1,5 +1,6 @@
1
1
  from .application import *
2
2
  from .application_pb2 import *
3
+ from .object_type_pb2 import *
3
4
  from . import aluminum_design_objects
4
5
  from . import base_data
5
6
  from . import building_model
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nOdlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration.proto\x12\'dlubal.api.rfem.aluminum_design_objects\"\xfe\x03\n\x1e\x41luminumDesignSlsConfiguration\x12\n\n\x02no\x18\x01 \x01(\x05\x12&\n\x19user_defined_name_enabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12$\n\x17\x61ssigned_to_all_members\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x1b\n\x13\x61ssigned_to_members\x18\x05 \x03(\x05\x12(\n\x1b\x61ssigned_to_all_member_sets\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1f\n\x17\x61ssigned_to_member_sets\x18\x07 \x03(\x05\x12\x14\n\x07\x63omment\x18\x08 \x01(\tH\x04\x88\x01\x01\x12!\n\x14id_for_export_import\x18\t \x01(\tH\x05\x88\x01\x01\x12\'\n\x1ametadata_for_export_import\x18\n \x01(\tH\x06\x88\x01\x01\x42\x1c\n\x1a_user_defined_name_enabledB\x07\n\x05_nameB\x1a\n\x18_assigned_to_all_membersB\x1e\n\x1c_assigned_to_all_member_setsB\n\n\x08_commentB\x17\n\x15_id_for_export_importB\x1d\n\x1b_metadata_for_export_importb\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nOdlubal/api/rfem/aluminum_design_objects/aluminum_design_sls_configuration.proto\x12\'dlubal.api.rfem.aluminum_design_objects\"\x8a\x04\n\x1e\x41luminumDesignSlsConfiguration\x12\x0f\n\x02no\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12&\n\x19user_defined_name_enabled\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12$\n\x17\x61ssigned_to_all_members\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12\x1b\n\x13\x61ssigned_to_members\x18\x05 \x03(\x05\x12(\n\x1b\x61ssigned_to_all_member_sets\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1f\n\x17\x61ssigned_to_member_sets\x18\x07 \x03(\x05\x12\x14\n\x07\x63omment\x18\x08 \x01(\tH\x05\x88\x01\x01\x12!\n\x14id_for_export_import\x18\t \x01(\tH\x06\x88\x01\x01\x12\'\n\x1ametadata_for_export_import\x18\n \x01(\tH\x07\x88\x01\x01\x42\x05\n\x03_noB\x1c\n\x1a_user_defined_name_enabledB\x07\n\x05_nameB\x1a\n\x18_assigned_to_all_membersB\x1e\n\x1c_assigned_to_all_member_setsB\n\n\x08_commentB\x17\n\x15_id_for_export_importB\x1d\n\x1b_metadata_for_export_importb\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -32,5 +32,5 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dlubal.api.rfem.aluminum_de
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
33
  DESCRIPTOR._loaded_options = None
34
34
  _globals['_ALUMINUMDESIGNSLSCONFIGURATION']._serialized_start=125
35
- _globals['_ALUMINUMDESIGNSLSCONFIGURATION']._serialized_end=635
35
+ _globals['_ALUMINUMDESIGNSLSCONFIGURATION']._serialized_end=647
36
36
  # @@protoc_insertion_point(module_scope)
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nOdlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration.proto\x12\'dlubal.api.rfem.aluminum_design_objects\"\xfe\x03\n\x1e\x41luminumDesignUlsConfiguration\x12\n\n\x02no\x18\x01 \x01(\x05\x12&\n\x19user_defined_name_enabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12$\n\x17\x61ssigned_to_all_members\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x1b\n\x13\x61ssigned_to_members\x18\x05 \x03(\x05\x12(\n\x1b\x61ssigned_to_all_member_sets\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1f\n\x17\x61ssigned_to_member_sets\x18\x07 \x03(\x05\x12\x14\n\x07\x63omment\x18\x08 \x01(\tH\x04\x88\x01\x01\x12!\n\x14id_for_export_import\x18\t \x01(\tH\x05\x88\x01\x01\x12\'\n\x1ametadata_for_export_import\x18\n \x01(\tH\x06\x88\x01\x01\x42\x1c\n\x1a_user_defined_name_enabledB\x07\n\x05_nameB\x1a\n\x18_assigned_to_all_membersB\x1e\n\x1c_assigned_to_all_member_setsB\n\n\x08_commentB\x17\n\x15_id_for_export_importB\x1d\n\x1b_metadata_for_export_importb\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nOdlubal/api/rfem/aluminum_design_objects/aluminum_design_uls_configuration.proto\x12\'dlubal.api.rfem.aluminum_design_objects\"\x8a\x04\n\x1e\x41luminumDesignUlsConfiguration\x12\x0f\n\x02no\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12&\n\x19user_defined_name_enabled\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12$\n\x17\x61ssigned_to_all_members\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12\x1b\n\x13\x61ssigned_to_members\x18\x05 \x03(\x05\x12(\n\x1b\x61ssigned_to_all_member_sets\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1f\n\x17\x61ssigned_to_member_sets\x18\x07 \x03(\x05\x12\x14\n\x07\x63omment\x18\x08 \x01(\tH\x05\x88\x01\x01\x12!\n\x14id_for_export_import\x18\t \x01(\tH\x06\x88\x01\x01\x12\'\n\x1ametadata_for_export_import\x18\n \x01(\tH\x07\x88\x01\x01\x42\x05\n\x03_noB\x1c\n\x1a_user_defined_name_enabledB\x07\n\x05_nameB\x1a\n\x18_assigned_to_all_membersB\x1e\n\x1c_assigned_to_all_member_setsB\n\n\x08_commentB\x17\n\x15_id_for_export_importB\x1d\n\x1b_metadata_for_export_importb\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -32,5 +32,5 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dlubal.api.rfem.aluminum_de
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
33
  DESCRIPTOR._loaded_options = None
34
34
  _globals['_ALUMINUMDESIGNULSCONFIGURATION']._serialized_start=125
35
- _globals['_ALUMINUMDESIGNULSCONFIGURATION']._serialized_end=635
35
+ _globals['_ALUMINUMDESIGNULSCONFIGURATION']._serialized_end=647
36
36
  # @@protoc_insertion_point(module_scope)
@@ -8,6 +8,7 @@ from dlubal.api.common.table import Table
8
8
  from dlubal.api.common.table_data_pb2 import TableData
9
9
  from dlubal.api.rfem.results import ResultsId
10
10
  from dlubal.api.rfem.results.results_query_pb2 import ResultsQuery, ResultsFilter
11
+ import grpc
11
12
 
12
13
  from collections.abc import Iterable
13
14
  from pandas import DataFrame
@@ -52,32 +53,27 @@ class Application:
52
53
  '''
53
54
  return self
54
55
 
55
- def __exit__(self, exc, value, traceback):
56
+ def __exit__(self, exc_type, exc_value, traceback):
56
57
  '''
57
- Ensure the session is finished and channel is closed properly
58
+ Ensure the session is finished and channel is closed properly before handling exceptions.
58
59
  '''
59
- self.close_connection()
60
-
61
- # Exception handler
62
- if traceback or value:
63
- exception_handler(exc, value, traceback)
64
-
65
- dash = '-'
66
- print(f'URL: {self.url if self.url else dash}, port: {self.port if self.port else dash}')
67
- print(f'API key: {"..."+self.api_key.value[-6:] if self.api_key.value else dash}')
68
- if self.ssl:
69
- if self.ssl_file:
70
- print(f'SSL certificate: {self.ssl_file}')
71
- else:
72
- print('SSL certificate: installed certificate (Windows Certification Store)')
73
- else:
74
- # Don't put any lines to indicate successfull termination.
75
- # read: https://www.joelonsoftware.com/2000/04/26/designing-for-people-who-have-better-things-to-do-with-their-lives/
60
+
61
+ # Attempt to close the connection first to prevent delays
62
+ try:
63
+ self.close_connection()
64
+ except Exception as e:
76
65
  pass
77
66
 
78
- return True
67
+ # Now handle exceptions that occurred in the `with` block
68
+ if exc_type is not None:
69
+ if issubclass(exc_type, grpc.RpcError):
70
+ raise RuntimeError(f"gRPC Error: {exc_value.code().name} - {exc_value.details()}") from None
71
+ elif issubclass(exc_type, (SystemExit, KeyboardInterrupt)):
72
+ return False
73
+ raise RuntimeError(f"Unexpected error: {str(exc_value)}") from None
79
74
 
80
75
  # Functions using packing
76
+
81
77
  def get_object(self, obj, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
82
78
  '''
83
79
  Retrieves a single object from the model using only the `no` argument in the object arguments.
@@ -115,22 +111,23 @@ class Application:
115
111
  model_id (:ref:`ModelId` | None): Unique identifier of the model.
116
112
 
117
113
  Returns:
118
- None
114
+ ObjectId: ID of the created object
119
115
  '''
120
- self.stub.create_object_impl(pack_object(obj, model_id))
116
+ return self.stub.create_object_impl(pack_object(obj, model_id))
121
117
 
122
- def create_object_list(self, objs, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
118
+ def create_object_list(self, objs, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None, return_object_id=False):
123
119
  '''
124
120
  Creates a list of objects in the model.
125
121
 
126
122
  Args:
127
123
  objs (list[obj]): A list of objects to be created. Refer to the :ref:`rfem_objects` for available objects.
128
124
  model_id (:ref:`ModelId` | None): Unique identifier of the model.
125
+ return_object_id (bool): Specifies whether to return the list of object IDs.
129
126
 
130
127
  Returns:
131
- None
128
+ ObjectIdList | None: List of IDs of the created objects if `return_object_id` is True, otherwise None.
132
129
  '''
133
- self.stub.create_object_list_impl(pack_object_list(objs, model_id))
130
+ return self.stub.create_object_list_impl(pack_object_list(objs, model_id, return_object_id))
134
131
 
135
132
  def update_object(self, obj, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
136
133
  '''
@@ -282,15 +279,14 @@ class Application:
282
279
  """
283
280
  return self.stub.get_active_model(google.protobuf.empty_pb2.Empty())
284
281
 
285
- def set_active_model(self, *, id: str):
282
+ def set_active_model(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId):
286
283
  """
287
284
  Sets active model specified by model id
288
285
 
289
286
  Args:
290
- id (str): Unique identifier of the model
287
+ model_id (:ref:`ModelId` | None): Unique identifier of the model.
291
288
  """
292
- request = dlubal.api.common.model_id_pb2.ModelId(id=id)
293
- self.stub.set_active_model(request)
289
+ self.stub.set_active_model(model_id)
294
290
 
295
291
  def close_application(self):
296
292
  """
@@ -322,15 +318,19 @@ class Application:
322
318
  """
323
319
  self.stub.close_connection(google.protobuf.empty_pb2.Empty())
324
320
 
325
- def delete_all_objects(self, *, id: str | None = None):
321
+ def delete_all_objects(self, *, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None):
326
322
  """
327
- Deletes all objects
323
+ Deletes all objects.
328
324
 
329
325
  Args:
330
- id (str | None): Unique identifier of the model.
331
- Active model is used if this field is not set.
326
+ model_id (:ref:`ModelId` | None): Unique identifier of the model.
327
+ Active model is used if this field is not set.
332
328
  """
333
- request = dlubal.api.common.model_id_pb2.OptionalModelId(id=id)
329
+ request = (
330
+ dlubal.api.common.model_id_pb2.OptionalModelId(guid=model_id.guid)
331
+ if model_id
332
+ else dlubal.api.common.model_id_pb2.OptionalModelId()
333
+ )
334
334
  self.stub.delete_all_objects(request)
335
335
 
336
336
  def calculate_all(self, *, skip_warnings: bool, model_id: dlubal.api.common.model_id_pb2.ModelId | None = None) -> dlubal.api.rfem.application_pb2.OperationResult:
@@ -0,0 +1,74 @@
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 import object_type_pb2 as dlubal_dot_api_dot_rfem_dot_object__type__pb2
30
+ from dlubal.api.rfem.results import results_query_pb2 as dlubal_dot_api_dot_rfem_dot_results_dot_results__query__pb2
31
+
32
+
33
+ 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/object_type.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\"C\n\tModelInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04guid\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\"{\n\x17\x43reateObjectListRequest\x12,\n\x07objects\x18\x01 \x01(\x0b\x32\x1b.dlubal.api.rfem.ObjectList\x12\x1d\n\x10return_object_id\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x13\n\x11_return_object_id\"\xc3\x01\n\x08ObjectId\x12\n\n\x02no\x18\x01 \x01(\x05\x12\x30\n\x0bobject_type\x18\x02 \x01(\x0e\x32\x1b.dlubal.api.rfem.ObjectType\x12\x16\n\tparent_no\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12<\n\x12parent_object_type\x18\x04 \x01(\x0e\x32\x1b.dlubal.api.rfem.ObjectTypeH\x01\x88\x01\x01\x42\x0c\n\n_parent_noB\x15\n\x13_parent_object_type\"<\n\x0cObjectIdList\x12,\n\tobject_id\x18\x01 \x03(\x0b\x32\x19.dlubal.api.rfem.ObjectId\"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\xe9\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\x12H\n\x10set_active_model\x12\x1a.dlubal.api.common.ModelId\x1a\x16.google.protobuf.Empty\"\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\x12J\n\x12\x63reate_object_impl\x12\x17.dlubal.api.rfem.Object\x1a\x19.dlubal.api.rfem.ObjectId\"\x00\x12\x64\n\x17\x63reate_object_list_impl\x12(.dlubal.api.rfem.CreateObjectListRequest\x1a\x1d.dlubal.api.rfem.ObjectIdList\"\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')
34
+
35
+ _globals = globals()
36
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
37
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dlubal.api.rfem.application_pb2', _globals)
38
+ if not _descriptor._USE_C_DESCRIPTORS:
39
+ DESCRIPTOR._loaded_options = None
40
+ _globals['_APPLICATIONTYPE']._serialized_start=1712
41
+ _globals['_APPLICATIONTYPE']._serialized_end=1953
42
+ _globals['_CREATEMODELREQUEST']._serialized_start=260
43
+ _globals['_CREATEMODELREQUEST']._serialized_end=340
44
+ _globals['_OPENMODELREQUEST']._serialized_start=342
45
+ _globals['_OPENMODELREQUEST']._serialized_end=374
46
+ _globals['_SAVEMODELASREQUEST']._serialized_start=376
47
+ _globals['_SAVEMODELASREQUEST']._serialized_end=470
48
+ _globals['_CLOSEMODELREQUEST']._serialized_start=472
49
+ _globals['_CLOSEMODELREQUEST']._serialized_end=559
50
+ _globals['_CLOSEALLMODELSREQUEST']._serialized_start=561
51
+ _globals['_CLOSEALLMODELSREQUEST']._serialized_end=606
52
+ _globals['_MODELINFO']._serialized_start=608
53
+ _globals['_MODELINFO']._serialized_end=675
54
+ _globals['_MODELLIST']._serialized_start=677
55
+ _globals['_MODELLIST']._serialized_end=736
56
+ _globals['_APPLICATIONINFO']._serialized_start=739
57
+ _globals['_APPLICATIONINFO']._serialized_end=946
58
+ _globals['_OBJECT']._serialized_start=948
59
+ _globals['_OBJECT']._serialized_end=1058
60
+ _globals['_OBJECTLIST']._serialized_start=1060
61
+ _globals['_OBJECTLIST']._serialized_end=1114
62
+ _globals['_CREATEOBJECTLISTREQUEST']._serialized_start=1116
63
+ _globals['_CREATEOBJECTLISTREQUEST']._serialized_end=1239
64
+ _globals['_OBJECTID']._serialized_start=1242
65
+ _globals['_OBJECTID']._serialized_end=1437
66
+ _globals['_OBJECTIDLIST']._serialized_start=1439
67
+ _globals['_OBJECTIDLIST']._serialized_end=1499
68
+ _globals['_CALCULATEALLREQUEST']._serialized_start=1501
69
+ _globals['_CALCULATEALLREQUEST']._serialized_end=1609
70
+ _globals['_OPERATIONRESULT']._serialized_start=1611
71
+ _globals['_OPERATIONRESULT']._serialized_end=1709
72
+ _globals['_APPLICATION']._serialized_start=1956
73
+ _globals['_APPLICATION']._serialized_end=3725
74
+ # @@protoc_insertion_point(module_scope)
@@ -2,6 +2,7 @@ from google.protobuf import any_pb2 as _any_pb2
2
2
  from google.protobuf import empty_pb2 as _empty_pb2
3
3
  from dlubal.api.common import model_id_pb2 as _model_id_pb2
4
4
  from dlubal.api.common import table_data_pb2 as _table_data_pb2
5
+ from dlubal.api.rfem import object_type_pb2 as _object_type_pb2
5
6
  from dlubal.api.rfem.results import results_query_pb2 as _results_query_pb2
6
7
  from google.protobuf.internal import containers as _containers
7
8
  from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
@@ -67,14 +68,14 @@ class CloseAllModelsRequest(_message.Message):
67
68
  def __init__(self, save_changes: bool = ...) -> None: ...
68
69
 
69
70
  class ModelInfo(_message.Message):
70
- __slots__ = ("name", "id", "path")
71
+ __slots__ = ("name", "guid", "path")
71
72
  NAME_FIELD_NUMBER: _ClassVar[int]
72
- ID_FIELD_NUMBER: _ClassVar[int]
73
+ GUID_FIELD_NUMBER: _ClassVar[int]
73
74
  PATH_FIELD_NUMBER: _ClassVar[int]
74
75
  name: str
75
- id: str
76
+ guid: str
76
77
  path: str
77
- def __init__(self, name: _Optional[str] = ..., id: _Optional[str] = ..., path: _Optional[str] = ...) -> None: ...
78
+ def __init__(self, name: _Optional[str] = ..., guid: _Optional[str] = ..., path: _Optional[str] = ...) -> None: ...
78
79
 
79
80
  class ModelList(_message.Message):
80
81
  __slots__ = ("model_info",)
@@ -116,6 +117,32 @@ class ObjectList(_message.Message):
116
117
  objects: _containers.RepeatedCompositeFieldContainer[Object]
117
118
  def __init__(self, objects: _Optional[_Iterable[_Union[Object, _Mapping]]] = ...) -> None: ...
118
119
 
120
+ class CreateObjectListRequest(_message.Message):
121
+ __slots__ = ("objects", "return_object_id")
122
+ OBJECTS_FIELD_NUMBER: _ClassVar[int]
123
+ RETURN_OBJECT_ID_FIELD_NUMBER: _ClassVar[int]
124
+ objects: ObjectList
125
+ return_object_id: bool
126
+ def __init__(self, objects: _Optional[_Union[ObjectList, _Mapping]] = ..., return_object_id: bool = ...) -> None: ...
127
+
128
+ class ObjectId(_message.Message):
129
+ __slots__ = ("no", "object_type", "parent_no", "parent_object_type")
130
+ NO_FIELD_NUMBER: _ClassVar[int]
131
+ OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int]
132
+ PARENT_NO_FIELD_NUMBER: _ClassVar[int]
133
+ PARENT_OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int]
134
+ no: int
135
+ object_type: _object_type_pb2.ObjectType
136
+ parent_no: int
137
+ parent_object_type: _object_type_pb2.ObjectType
138
+ def __init__(self, no: _Optional[int] = ..., object_type: _Optional[_Union[_object_type_pb2.ObjectType, str]] = ..., parent_no: _Optional[int] = ..., parent_object_type: _Optional[_Union[_object_type_pb2.ObjectType, str]] = ...) -> None: ...
139
+
140
+ class ObjectIdList(_message.Message):
141
+ __slots__ = ("object_id",)
142
+ OBJECT_ID_FIELD_NUMBER: _ClassVar[int]
143
+ object_id: _containers.RepeatedCompositeFieldContainer[ObjectId]
144
+ def __init__(self, object_id: _Optional[_Iterable[_Union[ObjectId, _Mapping]]] = ...) -> None: ...
145
+
119
146
  class CalculateAllRequest(_message.Message):
120
147
  __slots__ = ("skip_warnings", "model_id")
121
148
  SKIP_WARNINGS_FIELD_NUMBER: _ClassVar[int]
@@ -106,12 +106,12 @@ class ApplicationStub(object):
106
106
  self.create_object_impl = channel.unary_unary(
107
107
  '/dlubal.api.rfem.Application/create_object_impl',
108
108
  request_serializer=dlubal_dot_api_dot_rfem_dot_application__pb2.Object.SerializeToString,
109
- response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
109
+ response_deserializer=dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectId.FromString,
110
110
  _registered_method=True)
111
111
  self.create_object_list_impl = channel.unary_unary(
112
112
  '/dlubal.api.rfem.Application/create_object_list_impl',
113
- request_serializer=dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectList.SerializeToString,
114
- response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
113
+ request_serializer=dlubal_dot_api_dot_rfem_dot_application__pb2.CreateObjectListRequest.SerializeToString,
114
+ response_deserializer=dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectIdList.FromString,
115
115
  _registered_method=True)
116
116
  self.update_object_impl = channel.unary_unary(
117
117
  '/dlubal.api.rfem.Application/update_object_impl',
@@ -372,12 +372,12 @@ def add_ApplicationServicer_to_server(servicer, server):
372
372
  'create_object_impl': grpc.unary_unary_rpc_method_handler(
373
373
  servicer.create_object_impl,
374
374
  request_deserializer=dlubal_dot_api_dot_rfem_dot_application__pb2.Object.FromString,
375
- response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
375
+ response_serializer=dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectId.SerializeToString,
376
376
  ),
377
377
  'create_object_list_impl': grpc.unary_unary_rpc_method_handler(
378
378
  servicer.create_object_list_impl,
379
- request_deserializer=dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectList.FromString,
380
- response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
379
+ request_deserializer=dlubal_dot_api_dot_rfem_dot_application__pb2.CreateObjectListRequest.FromString,
380
+ response_serializer=dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectIdList.SerializeToString,
381
381
  ),
382
382
  'update_object_impl': grpc.unary_unary_rpc_method_handler(
383
383
  servicer.update_object_impl,
@@ -792,7 +792,7 @@ class Application(object):
792
792
  target,
793
793
  '/dlubal.api.rfem.Application/create_object_impl',
794
794
  dlubal_dot_api_dot_rfem_dot_application__pb2.Object.SerializeToString,
795
- google_dot_protobuf_dot_empty__pb2.Empty.FromString,
795
+ dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectId.FromString,
796
796
  options,
797
797
  channel_credentials,
798
798
  insecure,
@@ -818,8 +818,8 @@ class Application(object):
818
818
  request,
819
819
  target,
820
820
  '/dlubal.api.rfem.Application/create_object_list_impl',
821
- dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectList.SerializeToString,
822
- google_dot_protobuf_dot_empty__pb2.Empty.FromString,
821
+ dlubal_dot_api_dot_rfem_dot_application__pb2.CreateObjectListRequest.SerializeToString,
822
+ dlubal_dot_api_dot_rfem_dot_application__pb2.ObjectIdList.FromString,
823
823
  options,
824
824
  channel_credentials,
825
825
  insecure,