RS3Scripting 4.42.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. rs3/ApplicationManager.py +77 -0
  2. rs3/ColorPicker.py +123 -0
  3. rs3/CommonEnums.py +16 -0
  4. rs3/Compute.py +105 -0
  5. rs3/ExternalVolume.py +48 -0
  6. rs3/Geometry.py +74 -0
  7. rs3/Model.py +795 -0
  8. rs3/ModelEnums.py +9 -0
  9. rs3/RS3Modeler.py +109 -0
  10. rs3/Restraints.py +91 -0
  11. rs3/Selection.py +123 -0
  12. rs3/__init__.py +18 -0
  13. rs3/_client.py +57 -0
  14. rs3/_proxyObject.py +5 -0
  15. rs3/generatedFiles/BFPCommonMessage_pb2.py +38 -0
  16. rs3/generatedFiles/BFPCommonMessage_pb2.pyi +47 -0
  17. rs3/generatedFiles/BFPCommonMessage_pb2_grpc.py +24 -0
  18. rs3/generatedFiles/BeamDataService_pb2.py +37 -0
  19. rs3/generatedFiles/BeamDataService_pb2.pyi +5 -0
  20. rs3/generatedFiles/BeamDataService_pb2_grpc.py +226 -0
  21. rs3/generatedFiles/BeamService_pb2.py +37 -0
  22. rs3/generatedFiles/BeamService_pb2.pyi +5 -0
  23. rs3/generatedFiles/BeamService_pb2_grpc.py +140 -0
  24. rs3/generatedFiles/BeamStageFactorService_pb2.py +37 -0
  25. rs3/generatedFiles/BeamStageFactorService_pb2.pyi +5 -0
  26. rs3/generatedFiles/BeamStageFactorService_pb2_grpc.py +140 -0
  27. rs3/generatedFiles/BeamsResultsQueryService_pb2.py +50 -0
  28. rs3/generatedFiles/BeamsResultsQueryService_pb2.pyi +48 -0
  29. rs3/generatedFiles/BeamsResultsQueryService_pb2_grpc.py +141 -0
  30. rs3/generatedFiles/BoltDataService_pb2.py +37 -0
  31. rs3/generatedFiles/BoltDataService_pb2.pyi +5 -0
  32. rs3/generatedFiles/BoltDataService_pb2_grpc.py +226 -0
  33. rs3/generatedFiles/BoltService_pb2.py +37 -0
  34. rs3/generatedFiles/BoltService_pb2.pyi +5 -0
  35. rs3/generatedFiles/BoltService_pb2_grpc.py +140 -0
  36. rs3/generatedFiles/BoltsResultsQueryService_pb2.py +51 -0
  37. rs3/generatedFiles/BoltsResultsQueryService_pb2.pyi +75 -0
  38. rs3/generatedFiles/BoltsResultsQueryService_pb2_grpc.py +141 -0
  39. rs3/generatedFiles/ClientService_pb2.py +40 -0
  40. rs3/generatedFiles/ClientService_pb2.pyi +15 -0
  41. rs3/generatedFiles/ClientService_pb2_grpc.py +97 -0
  42. rs3/generatedFiles/CommonGeometryMessages_pb2.py +52 -0
  43. rs3/generatedFiles/CommonGeometryMessages_pb2.pyi +92 -0
  44. rs3/generatedFiles/CommonGeometryMessages_pb2_grpc.py +24 -0
  45. rs3/generatedFiles/CommonMessages_pb2.py +66 -0
  46. rs3/generatedFiles/CommonMessages_pb2.pyi +145 -0
  47. rs3/generatedFiles/CommonMessages_pb2_grpc.py +24 -0
  48. rs3/generatedFiles/CompositeLinerDataService_pb2.py +47 -0
  49. rs3/generatedFiles/CompositeLinerDataService_pb2.pyi +51 -0
  50. rs3/generatedFiles/CompositeLinerDataService_pb2_grpc.py +227 -0
  51. rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.py +63 -0
  52. rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.pyi +139 -0
  53. rs3/generatedFiles/CompositeLinerResultsQueryService_pb2_grpc.py +314 -0
  54. rs3/generatedFiles/CompositeLinerService_pb2.py +37 -0
  55. rs3/generatedFiles/CompositeLinerService_pb2.pyi +5 -0
  56. rs3/generatedFiles/CompositeLinerService_pb2_grpc.py +140 -0
  57. rs3/generatedFiles/ComputeService_pb2.py +48 -0
  58. rs3/generatedFiles/ComputeService_pb2.pyi +56 -0
  59. rs3/generatedFiles/ComputeService_pb2_grpc.py +147 -0
  60. rs3/generatedFiles/ExternalVolumesService_pb2.py +45 -0
  61. rs3/generatedFiles/ExternalVolumesService_pb2.pyi +34 -0
  62. rs3/generatedFiles/ExternalVolumesService_pb2_grpc.py +270 -0
  63. rs3/generatedFiles/FieldStressService_pb2.py +37 -0
  64. rs3/generatedFiles/FieldStressService_pb2.pyi +5 -0
  65. rs3/generatedFiles/FieldStressService_pb2_grpc.py +140 -0
  66. rs3/generatedFiles/FieldStressSourceService_pb2.py +85 -0
  67. rs3/generatedFiles/FieldStressSourceService_pb2.pyi +182 -0
  68. rs3/generatedFiles/FieldStressSourceService_pb2_grpc.py +657 -0
  69. rs3/generatedFiles/GaussPointFailureMessage_pb2.py +37 -0
  70. rs3/generatedFiles/GaussPointFailureMessage_pb2.pyi +14 -0
  71. rs3/generatedFiles/GaussPointFailureMessage_pb2_grpc.py +24 -0
  72. rs3/generatedFiles/HydraulicStageFactorService_pb2.py +45 -0
  73. rs3/generatedFiles/HydraulicStageFactorService_pb2.pyi +36 -0
  74. rs3/generatedFiles/HydraulicStageFactorService_pb2_grpc.py +227 -0
  75. rs3/generatedFiles/JointDataService_pb2.py +45 -0
  76. rs3/generatedFiles/JointDataService_pb2.pyi +30 -0
  77. rs3/generatedFiles/JointDataService_pb2_grpc.py +313 -0
  78. rs3/generatedFiles/JointResultsQueryService_pb2.py +54 -0
  79. rs3/generatedFiles/JointResultsQueryService_pb2.pyi +92 -0
  80. rs3/generatedFiles/JointResultsQueryService_pb2_grpc.py +141 -0
  81. rs3/generatedFiles/JointService_pb2.py +45 -0
  82. rs3/generatedFiles/JointService_pb2.pyi +30 -0
  83. rs3/generatedFiles/JointService_pb2_grpc.py +227 -0
  84. rs3/generatedFiles/JointStageFactorService_pb2.py +37 -0
  85. rs3/generatedFiles/JointStageFactorService_pb2.pyi +5 -0
  86. rs3/generatedFiles/JointStageFactorService_pb2_grpc.py +140 -0
  87. rs3/generatedFiles/LinerDataService_pb2.py +37 -0
  88. rs3/generatedFiles/LinerDataService_pb2.pyi +5 -0
  89. rs3/generatedFiles/LinerDataService_pb2_grpc.py +226 -0
  90. rs3/generatedFiles/LinerService_pb2.py +37 -0
  91. rs3/generatedFiles/LinerService_pb2.pyi +5 -0
  92. rs3/generatedFiles/LinerService_pb2_grpc.py +140 -0
  93. rs3/generatedFiles/LinerStageFactorService_pb2.py +37 -0
  94. rs3/generatedFiles/LinerStageFactorService_pb2.pyi +5 -0
  95. rs3/generatedFiles/LinerStageFactorService_pb2_grpc.py +140 -0
  96. rs3/generatedFiles/MaterialDataService_pb2.py +37 -0
  97. rs3/generatedFiles/MaterialDataService_pb2.pyi +5 -0
  98. rs3/generatedFiles/MaterialDataService_pb2_grpc.py +226 -0
  99. rs3/generatedFiles/MaterialDatumService_pb2.py +45 -0
  100. rs3/generatedFiles/MaterialDatumService_pb2.pyi +38 -0
  101. rs3/generatedFiles/MaterialDatumService_pb2_grpc.py +140 -0
  102. rs3/generatedFiles/MaterialHydraulicDataService_pb2.py +93 -0
  103. rs3/generatedFiles/MaterialHydraulicDataService_pb2.pyi +193 -0
  104. rs3/generatedFiles/MaterialHydraulicDataService_pb2_grpc.py +829 -0
  105. rs3/generatedFiles/MaterialHydraulicModelService_pb2.py +55 -0
  106. rs3/generatedFiles/MaterialHydraulicModelService_pb2.pyi +79 -0
  107. rs3/generatedFiles/MaterialHydraulicModelService_pb2_grpc.py +313 -0
  108. rs3/generatedFiles/MaterialInitialConditionsService_pb2.py +37 -0
  109. rs3/generatedFiles/MaterialInitialConditionsService_pb2.pyi +5 -0
  110. rs3/generatedFiles/MaterialInitialConditionsService_pb2_grpc.py +140 -0
  111. rs3/generatedFiles/MaterialJointService_pb2.py +49 -0
  112. rs3/generatedFiles/MaterialJointService_pb2.pyi +52 -0
  113. rs3/generatedFiles/MaterialJointService_pb2_grpc.py +183 -0
  114. rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2.py +69 -0
  115. rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2.pyi +130 -0
  116. rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2_grpc.py +398 -0
  117. rs3/generatedFiles/MaterialJointStageFactorService_pb2.py +45 -0
  118. rs3/generatedFiles/MaterialJointStageFactorService_pb2.pyi +42 -0
  119. rs3/generatedFiles/MaterialJointStageFactorService_pb2_grpc.py +140 -0
  120. rs3/generatedFiles/MaterialStageFactorsService_pb2.py +37 -0
  121. rs3/generatedFiles/MaterialStageFactorsService_pb2.pyi +5 -0
  122. rs3/generatedFiles/MaterialStageFactorsService_pb2_grpc.py +140 -0
  123. rs3/generatedFiles/MaterialStiffnessFormulaService_pb2.py +47 -0
  124. rs3/generatedFiles/MaterialStiffnessFormulaService_pb2.pyi +54 -0
  125. rs3/generatedFiles/MaterialStiffnessFormulaService_pb2_grpc.py +140 -0
  126. rs3/generatedFiles/MaterialStiffnessService_pb2.py +53 -0
  127. rs3/generatedFiles/MaterialStiffnessService_pb2.pyi +66 -0
  128. rs3/generatedFiles/MaterialStiffnessService_pb2_grpc.py +313 -0
  129. rs3/generatedFiles/MaterialStrengthService_pb2.py +105 -0
  130. rs3/generatedFiles/MaterialStrengthService_pb2.pyi +243 -0
  131. rs3/generatedFiles/MaterialStrengthService_pb2_grpc.py +833 -0
  132. rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.py +47 -0
  133. rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.pyi +43 -0
  134. rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2_grpc.py +228 -0
  135. rs3/generatedFiles/MeshSettingsService_pb2.py +41 -0
  136. rs3/generatedFiles/MeshSettingsService_pb2.pyi +16 -0
  137. rs3/generatedFiles/MeshSettingsService_pb2_grpc.py +184 -0
  138. rs3/generatedFiles/ModelFunctionService_pb2.py +119 -0
  139. rs3/generatedFiles/ModelFunctionService_pb2.pyi +331 -0
  140. rs3/generatedFiles/ModelFunctionService_pb2_grpc.py +871 -0
  141. rs3/generatedFiles/ModelService_pb2.py +342 -0
  142. rs3/generatedFiles/ModelService_pb2.pyi +962 -0
  143. rs3/generatedFiles/ModelService_pb2_grpc.py +3322 -0
  144. rs3/generatedFiles/PileDataService_pb2.py +55 -0
  145. rs3/generatedFiles/PileDataService_pb2.pyi +63 -0
  146. rs3/generatedFiles/PileDataService_pb2_grpc.py +399 -0
  147. rs3/generatedFiles/PileForepoleResultsQueryService_pb2.py +51 -0
  148. rs3/generatedFiles/PileForepoleResultsQueryService_pb2.pyi +63 -0
  149. rs3/generatedFiles/PileForepoleResultsQueryService_pb2_grpc.py +141 -0
  150. rs3/generatedFiles/PileStageFactorService_pb2.py +37 -0
  151. rs3/generatedFiles/PileStageFactorService_pb2.pyi +5 -0
  152. rs3/generatedFiles/PileStageFactorService_pb2_grpc.py +140 -0
  153. rs3/generatedFiles/PlainStrandCableBoltService_pb2.py +44 -0
  154. rs3/generatedFiles/PlainStrandCableBoltService_pb2.pyi +30 -0
  155. rs3/generatedFiles/PlainStrandCableBoltService_pb2_grpc.py +140 -0
  156. rs3/generatedFiles/ProjectSettingsDataService_pb2.py +69 -0
  157. rs3/generatedFiles/ProjectSettingsDataService_pb2.pyi +119 -0
  158. rs3/generatedFiles/ProjectSettingsDataService_pb2_grpc.py +786 -0
  159. rs3/generatedFiles/RFCApplicationService_pb2.py +34 -0
  160. rs3/generatedFiles/RFCApplicationService_pb2.pyi +27 -0
  161. rs3/generatedFiles/RFCApplicationService_pb2_grpc.py +145 -0
  162. rs3/generatedFiles/RS3ModelerService_pb2.py +50 -0
  163. rs3/generatedFiles/RS3ModelerService_pb2.pyi +45 -0
  164. rs3/generatedFiles/RS3ModelerService_pb2_grpc.py +183 -0
  165. rs3/generatedFiles/RelativeStageFactorService_pb2.py +40 -0
  166. rs3/generatedFiles/RelativeStageFactorService_pb2.pyi +17 -0
  167. rs3/generatedFiles/RelativeStageFactorService_pb2_grpc.py +97 -0
  168. rs3/generatedFiles/RestraintsService_pb2.py +62 -0
  169. rs3/generatedFiles/RestraintsService_pb2.pyi +84 -0
  170. rs3/generatedFiles/RestraintsService_pb2_grpc.py +312 -0
  171. rs3/generatedFiles/ResultsQueryCommonMessage_pb2.py +56 -0
  172. rs3/generatedFiles/ResultsQueryCommonMessage_pb2.pyi +85 -0
  173. rs3/generatedFiles/ResultsQueryCommonMessage_pb2_grpc.py +24 -0
  174. rs3/generatedFiles/ResultsQueryService_pb2.py +87 -0
  175. rs3/generatedFiles/ResultsQueryService_pb2.pyi +185 -0
  176. rs3/generatedFiles/ResultsQueryService_pb2_grpc.py +745 -0
  177. rs3/generatedFiles/SelectionService_pb2.py +49 -0
  178. rs3/generatedFiles/SelectionService_pb2.pyi +51 -0
  179. rs3/generatedFiles/SelectionService_pb2_grpc.py +269 -0
  180. rs3/generatedFiles/SolidsResultsQueryService_pb2.py +93 -0
  181. rs3/generatedFiles/SolidsResultsQueryService_pb2.pyi +213 -0
  182. rs3/generatedFiles/SolidsResultsQueryService_pb2_grpc.py +195 -0
  183. rs3/generatedFiles/StageFactorService_pb2.py +58 -0
  184. rs3/generatedFiles/StageFactorService_pb2.pyi +79 -0
  185. rs3/generatedFiles/StageFactorService_pb2_grpc.py +226 -0
  186. rs3/generatedFiles/StiffnessStageFactorService_pb2.py +37 -0
  187. rs3/generatedFiles/StiffnessStageFactorService_pb2.pyi +5 -0
  188. rs3/generatedFiles/StiffnessStageFactorService_pb2_grpc.py +140 -0
  189. rs3/generatedFiles/StrengthStageFactorService_pb2.py +37 -0
  190. rs3/generatedFiles/StrengthStageFactorService_pb2.pyi +5 -0
  191. rs3/generatedFiles/StrengthStageFactorService_pb2_grpc.py +140 -0
  192. rs3/generatedFiles/WaterByLocationDataService_pb2.py +61 -0
  193. rs3/generatedFiles/WaterByLocationDataService_pb2.pyi +95 -0
  194. rs3/generatedFiles/WaterByLocationDataService_pb2_grpc.py +312 -0
  195. rs3/generatedFiles/WaterPressureGridDataService_pb2.py +63 -0
  196. rs3/generatedFiles/WaterPressureGridDataService_pb2.pyi +107 -0
  197. rs3/generatedFiles/WaterPressureGridDataService_pb2_grpc.py +312 -0
  198. rs3/generatedFiles/__init__.py +3 -0
  199. rs3/loadings/LoadingEnums.py +6 -0
  200. rs3/loadings/Loadings.py +15 -0
  201. rs3/loadings/__init__.py +0 -0
  202. rs3/loadings/fieldStress/AdvancedConstant.py +115 -0
  203. rs3/loadings/fieldStress/AdvancedGravity.py +176 -0
  204. rs3/loadings/fieldStress/Constant.py +119 -0
  205. rs3/loadings/fieldStress/FieldStress.py +38 -0
  206. rs3/loadings/fieldStress/Gravity.py +206 -0
  207. rs3/loadings/fieldStress/_PropertyAccessor.py +41 -0
  208. rs3/loadings/fieldStress/__init__.py +0 -0
  209. rs3/mesh/Graded.py +59 -0
  210. rs3/mesh/Mesh.py +50 -0
  211. rs3/mesh/MeshEnums.py +16 -0
  212. rs3/mesh/Uniform.py +35 -0
  213. rs3/mesh/_PropertyAccessor.py +10 -0
  214. rs3/mesh/__init__.py +0 -0
  215. rs3/projectSettings/Dynamic.py +110 -0
  216. rs3/projectSettings/Groundwater.py +118 -0
  217. rs3/projectSettings/ProjectSettingEnums.py +108 -0
  218. rs3/projectSettings/ProjectSettings.py +43 -0
  219. rs3/projectSettings/ShearStrengthReduction.py +130 -0
  220. rs3/projectSettings/SolverOptions.py +88 -0
  221. rs3/projectSettings/Stages.py +162 -0
  222. rs3/projectSettings/StressAnalysis.py +183 -0
  223. rs3/projectSettings/Units.py +82 -0
  224. rs3/projectSettings/_PropertyAccessor.py +133 -0
  225. rs3/projectSettings/__init__.py +0 -0
  226. rs3/properties/CustomHydraulicModel.py +129 -0
  227. rs3/properties/DiscreteFunction.py +147 -0
  228. rs3/properties/GeneralizedAnisotropicFunction.py +98 -0
  229. rs3/properties/IPropertyGroupAccessors.py +12 -0
  230. rs3/properties/PropertyEnums.py +387 -0
  231. rs3/properties/ShearNormalFunction.py +94 -0
  232. rs3/properties/SnowdenStrengthFunction.py +115 -0
  233. rs3/properties/_PropertyAccessor.py +111 -0
  234. rs3/properties/__init__.py +0 -0
  235. rs3/properties/beam/Beam.py +86 -0
  236. rs3/properties/beam/BeamCommon.py +175 -0
  237. rs3/properties/beam/Standard.py +97 -0
  238. rs3/properties/beam/Truss.py +23 -0
  239. rs3/properties/beam/_PropertyAccessor.py +9 -0
  240. rs3/properties/beam/__init__.py +0 -0
  241. rs3/properties/bolt/Bolt.py +81 -0
  242. rs3/properties/bolt/EndAnchored.py +77 -0
  243. rs3/properties/bolt/FullyBonded.py +78 -0
  244. rs3/properties/bolt/PlainStrandCable.py +151 -0
  245. rs3/properties/bolt/Swellex.py +106 -0
  246. rs3/properties/bolt/Tieback.py +176 -0
  247. rs3/properties/bolt/_PropertyAccessor.py +7 -0
  248. rs3/properties/bolt/__init__.py +0 -0
  249. rs3/properties/groundwater/WaterByLocation.py +83 -0
  250. rs3/properties/groundwater/WaterGrid.py +120 -0
  251. rs3/properties/groundwater/_PropertyAccessor.py +36 -0
  252. rs3/properties/groundwater/__init__.py +0 -0
  253. rs3/properties/joint/BartonBandis.py +118 -0
  254. rs3/properties/joint/GeosyntheticHyperbolic.py +158 -0
  255. rs3/properties/joint/Joint.py +176 -0
  256. rs3/properties/joint/MaterialDependent.py +107 -0
  257. rs3/properties/joint/MohrCoulomb.py +169 -0
  258. rs3/properties/joint/NoneSlip.py +68 -0
  259. rs3/properties/joint/_PropertyAccessor.py +9 -0
  260. rs3/properties/joint/__init__.py +0 -0
  261. rs3/properties/liner/Geosynthetic.py +85 -0
  262. rs3/properties/liner/Liner.py +83 -0
  263. rs3/properties/liner/ReinforcedConcrete.py +216 -0
  264. rs3/properties/liner/Standard.py +183 -0
  265. rs3/properties/liner/_PropertyAccessor.py +7 -0
  266. rs3/properties/liner/__init__.py +0 -0
  267. rs3/properties/liningComposition/LiningComposition.py +244 -0
  268. rs3/properties/liningComposition/_PropertyAccessor.py +7 -0
  269. rs3/properties/liningComposition/__init__.py +0 -0
  270. rs3/properties/material/Material.py +74 -0
  271. rs3/properties/material/__init__.py +0 -0
  272. rs3/properties/material/constitutiveModel/AnisotropicLinear.py +149 -0
  273. rs3/properties/material/constitutiveModel/AnisotropicLinearPlanarBase.py +72 -0
  274. rs3/properties/material/constitutiveModel/BarcelonaBasic.py +158 -0
  275. rs3/properties/material/constitutiveModel/BartonBandis.py +77 -0
  276. rs3/properties/material/constitutiveModel/BaseConstitutiveModel.py +11 -0
  277. rs3/properties/material/constitutiveModel/BoundingSurfacePlasticity.py +88 -0
  278. rs3/properties/material/constitutiveModel/CamClay.py +144 -0
  279. rs3/properties/material/constitutiveModel/ChSoil.py +111 -0
  280. rs3/properties/material/constitutiveModel/ConstitutiveModel.py +87 -0
  281. rs3/properties/material/constitutiveModel/CySoil.py +137 -0
  282. rs3/properties/material/constitutiveModel/DiscreteFunction.py +39 -0
  283. rs3/properties/material/constitutiveModel/DoubleYield.py +130 -0
  284. rs3/properties/material/constitutiveModel/DruckerPrager.py +136 -0
  285. rs3/properties/material/constitutiveModel/GeneralizedAnisotropic.py +39 -0
  286. rs3/properties/material/constitutiveModel/GeneralizedHoekBrown.py +226 -0
  287. rs3/properties/material/constitutiveModel/HardeningSoil.py +156 -0
  288. rs3/properties/material/constitutiveModel/HardeningSoilWithSmallStrain.py +170 -0
  289. rs3/properties/material/constitutiveModel/HoekBrown.py +125 -0
  290. rs3/properties/material/constitutiveModel/Hyperbolic.py +77 -0
  291. rs3/properties/material/constitutiveModel/JointedGeneralizedHoekBrown.py +184 -0
  292. rs3/properties/material/constitutiveModel/JointedMohrCoulomb.py +173 -0
  293. rs3/properties/material/constitutiveModel/ManzariAndDafalias.py +148 -0
  294. rs3/properties/material/constitutiveModel/ModifiedCamClay.py +11 -0
  295. rs3/properties/material/constitutiveModel/MohrCoulomb.py +147 -0
  296. rs3/properties/material/constitutiveModel/MohrCoulombUnsaturatedZoneCalculations.py +80 -0
  297. rs3/properties/material/constitutiveModel/MohrCoulombWithCap.py +154 -0
  298. rs3/properties/material/constitutiveModel/Norsand.py +146 -0
  299. rs3/properties/material/constitutiveModel/PowerCurve.py +119 -0
  300. rs3/properties/material/constitutiveModel/Shansep.py +214 -0
  301. rs3/properties/material/constitutiveModel/ShearNormalFunction.py +34 -0
  302. rs3/properties/material/constitutiveModel/SnowdenAnisotropicLinear.py +108 -0
  303. rs3/properties/material/constitutiveModel/SoftSoil.py +104 -0
  304. rs3/properties/material/constitutiveModel/SoftSoilCreep.py +111 -0
  305. rs3/properties/material/constitutiveModel/SofteningHardening.py +214 -0
  306. rs3/properties/material/constitutiveModel/SwellingRock.py +202 -0
  307. rs3/properties/material/constitutiveModel/UnsaturatedZoneCalculations.py +138 -0
  308. rs3/properties/material/constitutiveModel/VerticalStressRatio.py +113 -0
  309. rs3/properties/material/constitutiveModel/_PropertyAccessor.py +96 -0
  310. rs3/properties/material/constitutiveModel/__init__.py +0 -0
  311. rs3/properties/material/constitutiveModel/jointOption/BartonBandis.py +109 -0
  312. rs3/properties/material/constitutiveModel/jointOption/MaterialJoint.py +48 -0
  313. rs3/properties/material/constitutiveModel/jointOption/MaterialJointOptions.py +32 -0
  314. rs3/properties/material/constitutiveModel/jointOption/MohrCoulomb.py +142 -0
  315. rs3/properties/material/constitutiveModel/jointOption/PlaneOrientationBase.py +92 -0
  316. rs3/properties/material/constitutiveModel/jointOption/SimpleHyperbolic.py +112 -0
  317. rs3/properties/material/constitutiveModel/jointOption/_PropertyAccessor.py +61 -0
  318. rs3/properties/material/constitutiveModel/jointOption/__init__.py +0 -0
  319. rs3/properties/material/constitutiveModel/stiffness/BaseStiffness.py +11 -0
  320. rs3/properties/material/constitutiveModel/stiffness/DuncanChangHyperbolic.py +128 -0
  321. rs3/properties/material/constitutiveModel/stiffness/GeneralizedHoekBrownEstimation.py +50 -0
  322. rs3/properties/material/constitutiveModel/stiffness/LinearIsotropic.py +106 -0
  323. rs3/properties/material/constitutiveModel/stiffness/NonlinearIsotropic.py +104 -0
  324. rs3/properties/material/constitutiveModel/stiffness/Orthotropic.py +296 -0
  325. rs3/properties/material/constitutiveModel/stiffness/TransverselyIsotropic.py +186 -0
  326. rs3/properties/material/constitutiveModel/stiffness/_PropertyAccessor.py +33 -0
  327. rs3/properties/material/constitutiveModel/stiffness/__init__.py +0 -0
  328. rs3/properties/material/constitutiveModel/stiffness/formula/Formula1.py +96 -0
  329. rs3/properties/material/constitutiveModel/stiffness/formula/Formula2.py +136 -0
  330. rs3/properties/material/constitutiveModel/stiffness/formula/Formula3.py +113 -0
  331. rs3/properties/material/constitutiveModel/stiffness/formula/_PropertyAccessor.py +37 -0
  332. rs3/properties/material/constitutiveModel/stiffness/formula/__init__.py +0 -0
  333. rs3/properties/material/datum/CohesionDatumDependency.py +99 -0
  334. rs3/properties/material/datum/Datum.py +23 -0
  335. rs3/properties/material/datum/FrictionAngleDatumDependency.py +99 -0
  336. rs3/properties/material/datum/YoungsModulusDatumDependency.py +78 -0
  337. rs3/properties/material/datum/_PropertyAccessor.py +26 -0
  338. rs3/properties/material/datum/__init__.py +0 -0
  339. rs3/properties/material/hydraulic/FEAGroundwater/Brooks.py +71 -0
  340. rs3/properties/material/hydraulic/FEAGroundwater/Custom.py +79 -0
  341. rs3/properties/material/hydraulic/FEAGroundwater/FEAGroundwater.py +85 -0
  342. rs3/properties/material/hydraulic/FEAGroundwater/Fredlund.py +82 -0
  343. rs3/properties/material/hydraulic/FEAGroundwater/Gardner.py +72 -0
  344. rs3/properties/material/hydraulic/FEAGroundwater/HydraulicMethodVectors.py +97 -0
  345. rs3/properties/material/hydraulic/FEAGroundwater/HydraulicParametersCommon.py +157 -0
  346. rs3/properties/material/hydraulic/FEAGroundwater/Simple.py +37 -0
  347. rs3/properties/material/hydraulic/FEAGroundwater/VanGenuchten.py +94 -0
  348. rs3/properties/material/hydraulic/FEAGroundwater/_PropertyAccessor.py +16 -0
  349. rs3/properties/material/hydraulic/FEAGroundwater/__init__.py +0 -0
  350. rs3/properties/material/hydraulic/Hydraulic.py +111 -0
  351. rs3/properties/material/hydraulic/PhreaticConditions.py +37 -0
  352. rs3/properties/material/hydraulic/StaticGroundwater.py +100 -0
  353. rs3/properties/material/hydraulic/WaterConditions.py +110 -0
  354. rs3/properties/material/hydraulic/_PropertyAccessor.py +31 -0
  355. rs3/properties/material/hydraulic/__init__.py +0 -0
  356. rs3/properties/material/initialConditions/InitialConditions.py +108 -0
  357. rs3/properties/material/initialConditions/_PropertyAccessor.py +11 -0
  358. rs3/properties/material/initialConditions/__init__.py +0 -0
  359. rs3/properties/material/stageFactors/StageFactors.py +77 -0
  360. rs3/properties/material/stageFactors/_PropertyAccessor.py +7 -0
  361. rs3/properties/material/stageFactors/__init__.py +0 -0
  362. rs3/properties/pile/EndCondition.py +109 -0
  363. rs3/properties/pile/Linear.py +69 -0
  364. rs3/properties/pile/MohrCoulomb.py +123 -0
  365. rs3/properties/pile/MultiLinear.py +70 -0
  366. rs3/properties/pile/Pile.py +108 -0
  367. rs3/properties/pile/PileCommon.py +99 -0
  368. rs3/properties/pile/_PropertyAccessor.py +9 -0
  369. rs3/properties/pile/__init__.py +0 -0
  370. rs3/properties/stageFactors/IStageFactorBase.py +10 -0
  371. rs3/properties/stageFactors/StageFactorBaseInterfaces.py +24 -0
  372. rs3/properties/stageFactors/StageFactorInterfaces.py +70 -0
  373. rs3/properties/stageFactors/_StageFactorInterface.py +48 -0
  374. rs3/properties/stageFactors/_StageFactorPropertyAccessor.py +18 -0
  375. rs3/properties/stageFactors/__init__.py +0 -0
  376. rs3/results/BeamResults.py +181 -0
  377. rs3/results/BoltResults.py +214 -0
  378. rs3/results/CompositeLinerResults.py +374 -0
  379. rs3/results/JointResults.py +160 -0
  380. rs3/results/PileForepoleResults.py +219 -0
  381. rs3/results/ResultEnums.py +146 -0
  382. rs3/results/Results.py +661 -0
  383. rs3/results/ResultsCommon.py +66 -0
  384. rs3/results/SolidElementResults.py +175 -0
  385. rs3/results/SolidNodalResults.py +248 -0
  386. rs3/results/SolidResults.py +206 -0
  387. rs3/results/YieldedElement.py +33 -0
  388. rs3/results/__init__.py +0 -0
  389. rs3scripting-4.42.0.dist-info/METADATA +70 -0
  390. rs3scripting-4.42.0.dist-info/RECORD +393 -0
  391. rs3scripting-4.42.0.dist-info/WHEEL +5 -0
  392. rs3scripting-4.42.0.dist-info/licenses/License.txt +20 -0
  393. rs3scripting-4.42.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,99 @@
1
+ # Generated by RPCBinder in RFC_Common.
2
+ from rs3._client import Client
3
+ from ._PropertyAccessor import PropertyAccessor
4
+ from rs3._proxyObject import _ProxyObject
5
+ from rs3.properties.IPropertyGroupAccessors import IPropertyGroupAccessors
6
+ from rs3.properties.stageFactors.IStageFactorBase import IStageFactorBase
7
+ import rs3.generatedFiles.PileStageFactorService_pb2_grpc as PileStageFactorService_pb2_grpc
8
+ class PileCommonBase(_ProxyObject, IPropertyGroupAccessors):
9
+ def __init__(self, client: Client, id: str):
10
+ super().__init__(client, id)
11
+ self._propertyAccessor = PropertyAccessor(client, id)
12
+ def getShearStiffness(self) -> float:
13
+ return self._propertyAccessor.getDoubleProperty("ShearStiffness")
14
+ def setShearStiffness(self, value: float):
15
+ self._propertyAccessor.setDoubleProperty("ShearStiffness", value)
16
+ def getNormalStiffness(self) -> float:
17
+ return self._propertyAccessor.getDoubleProperty("NormalStiffness")
18
+ def setNormalStiffness(self, value: float):
19
+ self._propertyAccessor.setDoubleProperty("NormalStiffness", value)
20
+ def getUsingPileProperties(self) -> bool:
21
+ return self._propertyAccessor.getBoolValue("IsPile")
22
+ def setUsingPileProperties(self, value: bool):
23
+ self._propertyAccessor.setBoolValue("IsPile", value)
24
+ def getBaseNormalStiffness(self) -> float:
25
+ return self._propertyAccessor.getDoubleProperty("BaseNormalStiffness")
26
+ def setBaseNormalStiffness(self, value: float):
27
+ self._propertyAccessor.setDoubleProperty("BaseNormalStiffness", value)
28
+ def getBaseForceResistance(self) -> float:
29
+ return self._propertyAccessor.getDoubleProperty("BaseForceResistance")
30
+ def setBaseForceResistance(self, value: float):
31
+ self._propertyAccessor.setDoubleProperty("BaseForceResistance", value)
32
+ def getProperties(self):
33
+ return {
34
+ "ShearStiffness": self.getShearStiffness(),
35
+ "NormalStiffness": self.getNormalStiffness(),
36
+ "UsingPileProperties": self.getUsingPileProperties(),
37
+ "BaseNormalStiffness": self.getBaseNormalStiffness(),
38
+ "BaseForceResistance": self.getBaseForceResistance(),
39
+ }
40
+ def setProperties(self, ShearStiffness: float = None, NormalStiffness: float = None, UsingPileProperties: bool = None, BaseNormalStiffness: float = None, BaseForceResistance: float = None):
41
+ if ShearStiffness is not None:
42
+ self.setShearStiffness(ShearStiffness)
43
+ if NormalStiffness is not None:
44
+ self.setNormalStiffness(NormalStiffness)
45
+ if UsingPileProperties is not None:
46
+ self.setUsingPileProperties(UsingPileProperties)
47
+ if BaseNormalStiffness is not None:
48
+ self.setBaseNormalStiffness(BaseNormalStiffness)
49
+ if BaseForceResistance is not None:
50
+ self.setBaseForceResistance(BaseForceResistance)
51
+ class PileCommonStageFactorBase(IStageFactorBase):
52
+ def __init__(self, id : str, stageFactorID : str, client : Client):
53
+ super().__init__(id, stageFactorID, client, PileStageFactorService_pb2_grpc.PileStageFactorServiceStub(client.channel))
54
+ def getEndConditionFactor(self) -> float:
55
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Common_Force")
56
+ def getShearStiffnessFactor(self) -> float:
57
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Common_ShearStiffness")
58
+ def getNormalStiffnessFactor(self) -> float:
59
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Common_NormalStiffness")
60
+ def getBaseStiffnessFactor(self) -> float:
61
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Common_BaseStiffness")
62
+ def getBaseResistanceFactor(self) -> float:
63
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Common_BaseResistance")
64
+ class PileCommonDefinedStageFactorBase(PileCommonStageFactorBase):
65
+ def setEndConditionFactor(self, value: float):
66
+ self._stageFactorPropertyAccessor.setDoubleProperty("Common_Force", value)
67
+ def setShearStiffnessFactor(self, value: float):
68
+ self._stageFactorPropertyAccessor.setDoubleProperty("Common_ShearStiffness", value)
69
+ def setNormalStiffnessFactor(self, value: float):
70
+ self._stageFactorPropertyAccessor.setDoubleProperty("Common_NormalStiffness", value)
71
+ def setBaseStiffnessFactor(self, value: float):
72
+ self._stageFactorPropertyAccessor.setDoubleProperty("Common_BaseStiffness", value)
73
+ def setBaseResistanceFactor(self, value: float):
74
+ self._stageFactorPropertyAccessor.setDoubleProperty("Common_BaseResistance", value)
75
+
76
+ ################ Code below this line will not be overridden ################
77
+ from rs3.properties.PropertyEnums import *
78
+ class PileCommonStageFactor(PileCommonStageFactorBase):
79
+ """
80
+ Examples:
81
+ See :ref:`pile_example`.
82
+ """
83
+ def __init__(self, id: str, stageFactorId: str, client: Client):
84
+ super().__init__(id, stageFactorId, client)
85
+
86
+ class PileCommonDefinedStageFactor(PileCommonStageFactor, PileCommonDefinedStageFactorBase):
87
+ """
88
+ Examples:
89
+ See :ref:`pile_example`.
90
+ """
91
+ pass
92
+
93
+ class PileCommon(PileCommonBase):
94
+ """
95
+ Examples:
96
+ See :ref:`pile_example`.
97
+ """
98
+ def __init__(self, client: Client, id: str):
99
+ super().__init__(client, id)
@@ -0,0 +1,9 @@
1
+ from rs3.properties._PropertyAccessor import PropertyAccessor
2
+ import rs3.generatedFiles.PileDataService_pb2_grpc as PileDataService_pb2_grpc
3
+ from rs3._client import Client
4
+ class PropertyAccessor(PropertyAccessor):
5
+ def __init__(self, client : Client, objectId : str, serviceStub = None):
6
+ if serviceStub is None:
7
+ serviceStub = PileDataService_pb2_grpc.PileDataServiceStub(client.channel)
8
+ super().__init__(client, objectId, serviceStub)
9
+
File without changes
@@ -0,0 +1,10 @@
1
+ from rs3._client import Client
2
+ from rs3.properties.stageFactors._StageFactorPropertyAccessor import StageFactorPropertyAccessor
3
+ from rs3._proxyObject import _ProxyObject
4
+
5
+ class IStageFactorBase(_ProxyObject) :
6
+ def __init__(self, parentID : str, stageFactorID : str, client : Client, stub):
7
+ super().__init__(client, stageFactorID)
8
+ self.parentID = parentID
9
+ self._stub = stub
10
+ self._stageFactorPropertyAccessor = StageFactorPropertyAccessor(parentID, stageFactorID, client, stub)
@@ -0,0 +1,24 @@
1
+ from rs3.properties.stageFactors._StageFactorInterface import _AbsoluteStageFactorInterface
2
+ from rs3.properties.PropertyEnums import *
3
+ from rs3._client import Client
4
+ from typing import TypeVar
5
+
6
+ DefinedStageFactor = TypeVar('DefinedStageFactor')
7
+ StageFactor = TypeVar('StageFactor')
8
+
9
+ class AbsoluteStageFactorInterface(_AbsoluteStageFactorInterface[DefinedStageFactor, StageFactor]):
10
+ def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass, useJointOptions : bool = False, materialId : str = None):
11
+ super().__init__(propertyID, client, definedStageFactorClass, stageFactorClass, useJointOptions, materialId)
12
+
13
+ def getDefinedStageFactors(self) -> dict[int, DefinedStageFactor]:
14
+ """
15
+ Returns a map of stage factors. The key is the absolute or relative stage at which the stage factor is applied. The value is the stage factor object
16
+ """
17
+ return self._getDefinedStageFactors()
18
+
19
+ def getStageFactor(self, stage : int) -> StageFactor:
20
+ """
21
+ Returns the stage factor for the given stage.
22
+ """
23
+ return self._getStageFactor(stage)
24
+
@@ -0,0 +1,70 @@
1
+ import rs3.generatedFiles.StageFactorService_pb2 as StageFactorService_pb2
2
+ import rs3.generatedFiles.RelativeStageFactorService_pb2 as RelativeStageFactorService_pb2
3
+ import rs3.generatedFiles.RelativeStageFactorService_pb2_grpc as RelativeStageFactorService_pb2_grpc
4
+ from rs3.properties.stageFactors.StageFactorBaseInterfaces import AbsoluteStageFactorInterface as StageFactorBaseInterfaces
5
+ from rs3.properties.PropertyEnums import *
6
+ from rs3._client import Client
7
+ from typing import TypeVar
8
+
9
+ DefinedStageFactor = TypeVar('DefinedStageFactor')
10
+ StageFactor = TypeVar('StageFactor')
11
+
12
+ class AbsoluteStageFactorInterface(StageFactorBaseInterfaces[DefinedStageFactor, StageFactor]):
13
+ def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass, useJointOptions : bool = False, materialId : str = None):
14
+ super().__init__(propertyID, client, definedStageFactorClass, stageFactorClass, useJointOptions, materialId)
15
+
16
+ def createStageFactor(self, stage : int) -> DefinedStageFactor:
17
+ """
18
+ Creates a stage factor for the given stage.
19
+
20
+ Note:
21
+ Invalidates any existing stage factor proxies. Get them again using getDefinedStageFactors or getStageFactor.
22
+ """
23
+ return self._createStageFactor(stage)
24
+
25
+ def setDefinedStageFactors(self, stageFactors : dict[int, StageFactor]):
26
+ """
27
+ Sets the defined stage factors to those given.
28
+
29
+ Note:
30
+ Invalidates any existing stage factor proxies. Get them again using getDefinedStageFactors or getStageFactor.
31
+ """
32
+ convertedStageFactors = {}
33
+ for stageNum, stageFactor in stageFactors.items():
34
+ convertedStageFactors[stageNum] = StageFactorService_pb2.StageFactorProperty(stageFactorID = stageFactor._objectId)
35
+ self._setDefinedStageFactors(StageFactorMethodType.ABSOLUTE_STAGE_FACTOR, convertedStageFactors)
36
+
37
+ def getStageFactorMethod(self) -> StageFactorMethodType:
38
+ """
39
+ Returns the method used when defining stage factors.
40
+ """
41
+ return StageFactorMethodType.ABSOLUTE_STAGE_FACTOR
42
+
43
+ class RelativeStageFactorInterface(AbsoluteStageFactorInterface[DefinedStageFactor, StageFactor]):
44
+ def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass):
45
+ super().__init__(propertyID, client, definedStageFactorClass, stageFactorClass)
46
+ self._relativeStageFactorServiceStub = RelativeStageFactorService_pb2_grpc.RelativeStageFactorServiceStub(self._client.channel)
47
+ def _getIsRelativeStaging(self) -> bool:
48
+ getIsRelativeStagingRequest = RelativeStageFactorService_pb2.GetIsRelativeStagingRequest(propertyID = self._propertyID)
49
+ getIsRelativeStagingResponse : RelativeStageFactorService_pb2.GetIsRelativeStagingResponse = self._client.callFunction(self._relativeStageFactorServiceStub.GetIsRelativeStaging, getIsRelativeStagingRequest)
50
+ return getIsRelativeStagingResponse.isRelativeStaging
51
+
52
+
53
+ def setDefinedStageFactors(self, method : StageFactorMethodType, stageFactors : dict[int, StageFactor]):
54
+ """
55
+ Sets the defined stage factors to those given. The method indicates if the stages in the keys of the map are absolute or relative.
56
+
57
+ Note:
58
+ - Invalidates any existing stage factor proxies. Get them again using getDefinedStageFactors or getStageFactor.
59
+ - If the 'stageFactors' dictionary is empty (stageFactors = {}), the stage factor at the installed stage (stage 0) will remain, and its factor values will be reset to their defaults.
60
+ """
61
+ convertedStageFactors = {}
62
+ for stageNum, stageFactor in stageFactors.items():
63
+ convertedStageFactors[stageNum] = StageFactorService_pb2.StageFactorProperty(stageFactorID = stageFactor._objectId)
64
+ self._setDefinedStageFactors(method, convertedStageFactors)
65
+
66
+ def getStageFactorMethod(self) -> StageFactorMethodType:
67
+ """
68
+ Returns the method used when defining stage factors.
69
+ """
70
+ return StageFactorMethodType.RELATIVE_STAGE_FACTOR if self._getIsRelativeStaging() else StageFactorMethodType.ABSOLUTE_STAGE_FACTOR
@@ -0,0 +1,48 @@
1
+ import rs3.generatedFiles.StageFactorService_pb2 as StageFactorService_pb2
2
+ import rs3.generatedFiles.StageFactorService_pb2_grpc as StageFactorService_pb2_grpc
3
+ from rs3.properties.PropertyEnums import *
4
+ from rs3._client import Client
5
+ from typing import TypeVar, Generic
6
+
7
+ DefinedStageFactor = TypeVar('DefinedStageFactor')
8
+ StageFactor = TypeVar('StageFactor')
9
+
10
+ class _AbsoluteStageFactorInterface(Generic[DefinedStageFactor, StageFactor]):
11
+ def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass, useJointOptions : bool = False, materialId : str = None):
12
+ self._propertyID = propertyID
13
+ self._client = client
14
+ self._definedStageFactorClass = definedStageFactorClass
15
+ self._stageFactorClass = stageFactorClass
16
+ self._stageFactorServiceStub = StageFactorService_pb2_grpc.StageFactorServiceStub(self._client.channel)
17
+ self._useJointOptions = useJointOptions
18
+ self._materialId = materialId
19
+
20
+ def _getDefinedStageFactors(self) -> dict[int, DefinedStageFactor]:
21
+ getDefinedStageFactorsRequest = StageFactorService_pb2.GetDefinedStageFactorsRequest(propertyID = self._propertyID)
22
+ getDefinedStageFactorsResponse : StageFactorService_pb2.GetDefinedStageFactorsResponse = self._client.callFunction(self._stageFactorServiceStub.GetDefinedStageFactors, getDefinedStageFactorsRequest)
23
+ definedStageFactors = {}
24
+ if(self._useJointOptions):
25
+ for stageFactorProp in getDefinedStageFactorsResponse.stageFactors:
26
+ definedStageFactors[stageFactorProp.stageAppliedTo] = self._definedStageFactorClass(self._propertyID, stageFactorProp.stageFactorID, self._client, self._materialId)
27
+ else:
28
+ for stageFactorProp in getDefinedStageFactorsResponse.stageFactors:
29
+ definedStageFactors[stageFactorProp.stageAppliedTo] = self._definedStageFactorClass(self._propertyID, stageFactorProp.stageFactorID, self._client)
30
+ return definedStageFactors
31
+ def _getStageFactor(self, stage : int) -> StageFactor:
32
+ getStageFactorRequest = StageFactorService_pb2.GetStageFactorRequest(propertyID = self._propertyID, stage = stage)
33
+ if(self._useJointOptions):
34
+ getStageFactorResponse : StageFactorService_pb2.GetStageFactorResponse = self._client.callFunction(self._stageFactorServiceStub.GetStageFactor, getStageFactorRequest)
35
+ return self._stageFactorClass(self._propertyID, getStageFactorResponse.stageFactor.stageFactorID, self._client, self._materialId)
36
+ else:
37
+ getStageFactorResponse : StageFactorService_pb2.GetStageFactorResponse = self._client.callFunction(self._stageFactorServiceStub.GetStageFactor, getStageFactorRequest)
38
+ return self._stageFactorClass(self._propertyID, getStageFactorResponse.stageFactor.stageFactorID, self._client)
39
+ def _createStageFactor(self, stage : int) -> DefinedStageFactor:
40
+ createStageFactorRequest = StageFactorService_pb2.CreateStageFactorRequest(propertyID = self._propertyID, stage = stage, useJointOptions=self._useJointOptions)
41
+ createStageFactorResponse : StageFactorService_pb2.CreateStageFactorResponse = self._client.callFunction(self._stageFactorServiceStub.CreateStageFactor, createStageFactorRequest)
42
+ if(self._useJointOptions):
43
+ return self._definedStageFactorClass(self._propertyID, createStageFactorResponse.stageFactor.stageFactorID, self._client, self._materialId)
44
+ else:
45
+ return self._definedStageFactorClass(self._propertyID, createStageFactorResponse.stageFactor.stageFactorID, self._client)
46
+ def _setDefinedStageFactors(self, method : StageFactorMethodType, stageFactors : dict[int, StageFactorService_pb2.StageFactorProperty]):
47
+ setDefinedStageFactorsRequest = StageFactorService_pb2.SetDefinedStageFactorsRequest(propertyID = self._propertyID, stageFactorDictionary = stageFactors, isRelativeStageFactors = method == StageFactorMethodType.RELATIVE_STAGE_FACTOR, useJointOptions=self._useJointOptions)
48
+ self._client.callFunction(self._stageFactorServiceStub.SetDefinedStageFactors, setDefinedStageFactorsRequest)
@@ -0,0 +1,18 @@
1
+ import rs3.generatedFiles.CommonMessages_pb2 as CommonMessages_pb2
2
+ from rs3._client import Client
3
+ from rs3.properties._PropertyAccessor import PropertyAccessor
4
+
5
+ class StageFactorPropertyAccessor(PropertyAccessor):
6
+ def __init__(self, parentObjectId: str, stageFactorId : str, client: Client, stub):
7
+ super().__init__(client, parentObjectId, stub)
8
+ self.stageFactorId = stageFactorId
9
+
10
+ def _getProperty(self, propertyName: str) -> CommonMessages_pb2.PropertyValue:
11
+ request = CommonMessages_pb2.GetStageFactorPropertyRequest(propertyId=self.objectId, stageFactorId=self.stageFactorId, propertyName=propertyName)
12
+ response : CommonMessages_pb2.GetStageFactorPropertyResponse = self._client.callFunction(self._stub.GetStageFactorProperty, request)
13
+ return response.value
14
+
15
+ def _setProperty(self, propertyName: str, value: CommonMessages_pb2.PropertyValue):
16
+ request = CommonMessages_pb2.SetStageFactorPropertyRequest(propertyId=self.objectId, stageFactorId=self.stageFactorId, propertyName=propertyName, value=value)
17
+ self._client.callFunction(self._stub.SetStageFactorProperty, request)
18
+
File without changes
@@ -0,0 +1,181 @@
1
+ from typing import Optional, Union, List, Dict, Tuple
2
+
3
+ import rs3.generatedFiles.BeamsResultsQueryService_pb2_grpc as BeamsResultsQueryService_pb2_grpc
4
+
5
+ from rs3._client import Client
6
+
7
+ from rs3.Geometry import Cube, Cylinder, Sphere
8
+ from rs3.results.ResultsCommon import _NodeValuePairCollection, _ResultsQueryBase
9
+ from rs3.results.YieldedElement import YieldedElement
10
+ from rs3.results.ResultEnums import BeamsDataType, BeamForepolePileGaussPointFailureType
11
+
12
+
13
+ class BeamNodeResults:
14
+ def __init__(self, grpcNodalResults):
15
+ self._grpcNodalResults = grpcNodalResults
16
+
17
+ @property
18
+ def NodeID(self):
19
+ return self._grpcNodalResults.nodeInformation.nodeID
20
+
21
+ @property
22
+ def XCoordinate(self):
23
+ return self._grpcNodalResults.nodeInformation.location.x
24
+
25
+ @property
26
+ def YCoordinate(self):
27
+ return self._grpcNodalResults.nodeInformation.location.y
28
+
29
+ @property
30
+ def ZCoordinate(self):
31
+ return self._grpcNodalResults.nodeInformation.location.z
32
+
33
+ @property
34
+ def EntityName(self):
35
+ return self._grpcNodalResults.entityInformation.name
36
+
37
+ @property
38
+ def EntityID(self):
39
+ return self._grpcNodalResults.entityInformation.ID
40
+
41
+ class BeamElementResults:
42
+ def __init__(self, grpcElementResults):
43
+ self._grpcElementResults = grpcElementResults
44
+ self._nodeResultsByDataType = self._buildNodeResultsByDataType(grpcElementResults)
45
+ self._yieldedElement = YieldedElement(grpcElementResults.failurePoint, failureTypeEnum=BeamForepolePileGaussPointFailureType) if grpcElementResults.HasField('failurePoint') else None
46
+
47
+ @property
48
+ def ElementID(self):
49
+ return self._grpcElementResults.elementInformation.elementID
50
+
51
+ @property
52
+ def EntityName(self):
53
+ return self._grpcElementResults.entityInformation.name
54
+
55
+ @property
56
+ def EntityID(self):
57
+ return self._grpcElementResults.entityInformation.ID
58
+
59
+ @property
60
+ def AttachedNodeIDs(self):
61
+ return self._grpcElementResults.elementInformation.nodeIDs
62
+
63
+
64
+ def getNodeResult(self, dataType: BeamsDataType) -> List[float]:
65
+ if dataType not in self._nodeResultsByDataType:
66
+ raise ValueError(f"Data type {dataType} not found")
67
+ return self._nodeResultsByDataType[dataType].ResultValues
68
+
69
+
70
+ def getResultsInNodeDataTuple(self, dataType: BeamsDataType) -> List[Tuple[int, float]]:
71
+ if dataType not in self._nodeResultsByDataType:
72
+ raise ValueError(f"Data type {dataType} not found")
73
+ return self._nodeResultsByDataType[dataType].NodeValuePairs
74
+
75
+
76
+ @property
77
+ def YieldedElement(self):
78
+ return self._yieldedElement
79
+
80
+
81
+ def _buildNodeResultsByDataType(self, grpcElementResults):
82
+ nodeIdResultPairs = [(nodeID, nodeValue) for nodeID, nodeValue in zip(grpcElementResults.elementInformation.nodeIDs, grpcElementResults.nodeValues)]
83
+ pairsByType: Dict[BeamsDataType, List[tuple[int, float]]] = {dt: [] for dt in BeamsDataType}
84
+ for nodeID, nodeValue in nodeIdResultPairs:
85
+ pairsByType[BeamsDataType.AXIS_FORCE].append((nodeID, nodeValue.axisForce))
86
+ pairsByType[BeamsDataType.SHEAR_FORCE_MIN_AXIS].append((nodeID, nodeValue.shearForceMinAxis))
87
+ pairsByType[BeamsDataType.SHEAR_FORCE_MAX_AXIS].append((nodeID, nodeValue.shearForceMaxAxis))
88
+ pairsByType[BeamsDataType.MOMENT_MIN_AXIS].append((nodeID, nodeValue.momentMinAxis))
89
+ pairsByType[BeamsDataType.MOMENT_MAX_AXIS].append((nodeID, nodeValue.momentMaxAxis))
90
+ pairsByType[BeamsDataType.DISPLACEMENT_X].append((nodeID, nodeValue.displacementX))
91
+ pairsByType[BeamsDataType.DISPLACEMENT_Y].append((nodeID, nodeValue.displacementY))
92
+ pairsByType[BeamsDataType.DISPLACEMENT_Z].append((nodeID, nodeValue.displacementZ))
93
+ pairsByType[BeamsDataType.DISPLACEMENT_TOTAL].append((nodeID, nodeValue.totalDisplacement))
94
+
95
+ return {dt: _NodeValuePairCollection(pairs) for dt, pairs in pairsByType.items()}
96
+
97
+
98
+
99
+ class BeamResults(_ResultsQueryBase):
100
+ '''
101
+ Entry point to query beam nodal results for a given stage and SRF.
102
+
103
+ Parameters:
104
+ stageNumber (int): 1-based stage index.
105
+ srfResultIndex (int): 0-based SRF value index. 0 is to query SRF-None values.
106
+
107
+ Notes:
108
+ - entityName is trimmed; empty strings are ignored.
109
+ - region=None leaves the proto field unset (service returns all).
110
+ - Exceptions from the underlying service are propagated as-is by the client.
111
+
112
+ Examples:
113
+ See :ref:`beam_result_example`.
114
+ '''
115
+
116
+ def __init__(self, client: Client, projectId: str, stageNumber: int, srfResultIndex: int):
117
+ super().__init__(client, projectId, stageNumber, srfResultIndex)
118
+ self._queryService = BeamsResultsQueryService_pb2_grpc.BeamResultsQueryServiceStub(client.channel)
119
+
120
+
121
+ def getBeamNodeResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[BeamNodeResults]:
122
+ '''
123
+ Query beam nodal results at a specific stage and SRF value.
124
+ Parameters:
125
+ entityName: Optional[str]: If provided, only nodes belonging to the specified entity are queried.
126
+ region: Optional[Union[Cube, Cylinder, Sphere]]: Sample region filter. When None, the field is not set in the request (proto3 unset), and the service returns all nodes.
127
+ includeIntersecting: bool: If True, nodes that intersect the sample region are included. When False, only nodes fully contained are included. Ignored when region is None.
128
+ Raises:
129
+ Exception if:
130
+ - stageNumber is less than 1
131
+ - stageNumber is greater than the number of stages in the project
132
+ - _srfResultIndex is less than 0
133
+ - _srfResultIndex is greater than the number of SRF values in the project
134
+ Returns:
135
+ list[BeamNodalResults]: A list of beam nodal results wrappers for the requested stage and SRF value.
136
+ '''
137
+ request = self._makeRequest(entityName, region, includeIntersecting)
138
+ stream = self._queryService.QueryBeamNodalResults(request)
139
+ allResults = []
140
+ totalQueriedNodesCount = None
141
+ for chunk in stream:
142
+ if chunk.HasField('header'):
143
+ header = chunk.header
144
+ totalQueriedNodesCount = header.totalQueriedNodesCount
145
+ elif chunk.HasField('data'):
146
+ allResults.extend(chunk.data.results)
147
+ if totalQueriedNodesCount is not None and totalQueriedNodesCount != len(allResults):
148
+ raise RuntimeError(f"Number of nodes received does not match the expected total queried nodes count. Expected {totalQueriedNodesCount}, but received {len(allResults)}.")
149
+ return [BeamNodeResults(r) for r in allResults]
150
+
151
+
152
+
153
+ def getBeamElementResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[BeamElementResults]:
154
+ '''
155
+ Query beam element results at a specific stage and SRF value.
156
+ Parameters:
157
+ entityName: Optional[str]: If provided, only elements belonging to the specified entity are queried.
158
+ region: Optional[Union[Cube, Cylinder, Sphere]]: Sample region filter. When None, the field is not set in the request (proto3 unset), and the service returns all elements.
159
+ includeIntersecting: bool: If True, elements that intersect the sample region are included. When False, only elements fully contained are included. Ignored when region is None.
160
+ Raises:
161
+ Exception if:
162
+ - stageNumber is less than 1
163
+ - stageNumber is greater than the number of stages in the project
164
+ - _srfResultIndex is less than 0
165
+ - _srfResultIndex is greater than the number of SRF values in the project
166
+ Returns:
167
+ list[BeamElementResults]: A list of beam element results wrappers for the requested stage and SRF value.
168
+ '''
169
+ request = self._makeRequest(entityName, region, includeIntersecting)
170
+ stream = self._queryService.QueryBeamElementResults(request)
171
+ allResults = []
172
+ totalQueriedElementsCount = None
173
+ for chunk in stream:
174
+ if chunk.HasField('header'):
175
+ header = chunk.header
176
+ totalQueriedElementsCount = header.totalQueriedElementsCount
177
+ elif chunk.HasField('data'):
178
+ allResults.extend(chunk.data.results)
179
+ if totalQueriedElementsCount != len(allResults):
180
+ raise RuntimeError(f"Number of elements received does not match the expected total queried elements count. Expected {totalQueriedElementsCount}, but received {len(allResults)}.")
181
+ return [BeamElementResults(r) for r in allResults]