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,206 @@
1
+ from typing import Optional, Union
2
+ import grpc
3
+
4
+ import rs3.generatedFiles.SolidsResultsQueryService_pb2_grpc as SolidsResultsQueryService_pb2_grpc
5
+ import rs3.generatedFiles.SolidsResultsQueryService_pb2 as SolidsResultsQueryService_pb2
6
+
7
+ from rs3._proxyObject import _ProxyObject
8
+ from rs3._client import Client
9
+
10
+ from rs3.Geometry import Cube, Cylinder, Sphere
11
+ from rs3.results.SolidElementResults import SolidElementResults
12
+ from rs3.results.SolidNodalResults import SolidNodalResults, SolidsDataType
13
+
14
+ class SolidResults(_ProxyObject):
15
+ '''
16
+ Entry point to query solid nodal/element results for a given stage and SRF.
17
+
18
+ Parameters:
19
+ stageNumber (int): 1-based stage index.
20
+ srfResultIndex (int): 0-based SRF value index. 0 is to query SRF-None values.
21
+
22
+ Notes:
23
+ - entityName is trimmed; empty strings are ignored.
24
+ - region=None leaves the proto field unset (service returns all).
25
+ - Exceptions from the underlying service are propagated as-is by the client.
26
+
27
+ Examples:
28
+ See :ref:`solid_result_example`.
29
+ '''
30
+ def __init__(self, client: Client, projectId: str, stageNumber: int, srfResultIndex: int, requiredDataTypes: Optional[set[SolidsDataType]] = None):
31
+ super().__init__(client, projectId)
32
+ self._queryService = SolidsResultsQueryService_pb2_grpc.SolidResultsQueryServiceStub(self._client.channel)
33
+ self._stageNumber = stageNumber
34
+ self._srfResultIndex = srfResultIndex
35
+ self._requiredDataTypes = requiredDataTypes
36
+
37
+ @staticmethod
38
+ def createWithAvailabilityCheck(client: Client, projectId: str, stageNumber: int, srfResultIndex: int, requiredDataTypes: Optional[set[SolidsDataType]] = None) -> 'SolidResults':
39
+ '''
40
+ Check results availability and create a SolidResults instance if available.
41
+
42
+ This method first checks if results are available for the specified stage, SRF value, and data types.
43
+ If results are not available, it raises an exception. Otherwise, it creates and returns a SolidResults instance.
44
+
45
+ Parameters:
46
+ client: Client
47
+ The gRPC client instance.
48
+ projectId: str
49
+ The project ID.
50
+ stageNumber: int
51
+ 1-based stage index.
52
+ srfResultIndex: int
53
+ 0-based SRF value index. 0 is to query SRF-None values.
54
+ requiredDataTypes: Optional[set[SolidsDataType]]
55
+ A set of SolidsDataType enum values to check availability for.
56
+ If None or empty, all data types are queried.
57
+
58
+ Returns:
59
+ SolidResults: A SolidResults instance if results are available.
60
+
61
+ Raises:
62
+ Exception: If results are not available for the specified stage, SRF value, and data types.
63
+ '''
64
+ if requiredDataTypes is None or len(requiredDataTypes) == 0:
65
+ # When no specific data types are required, query all available data types
66
+ requiredDataTypes = set(SolidsDataType)
67
+
68
+ queryService = SolidsResultsQueryService_pb2_grpc.SolidResultsQueryServiceStub(client.channel)
69
+
70
+ request = SolidsResultsQueryService_pb2.SolidResultsByDataTypesQueryRequest(
71
+ _projectId=projectId,
72
+ stageNumber=stageNumber,
73
+ srfValueNumber=srfResultIndex,
74
+ requiredDataTypes=[dt.name for dt in requiredDataTypes]
75
+ )
76
+
77
+ response = queryService.ReadResultsByStageSRFValueAndDataTypes(request)
78
+ if not response.resultsAvailable:
79
+ raise Exception(f"Results are not available for stage {stageNumber}, SRF result index {srfResultIndex}, and required data types: {[dt.name for dt in requiredDataTypes]}")
80
+
81
+ return SolidResults(client, projectId, stageNumber, srfResultIndex, requiredDataTypes)
82
+
83
+
84
+ def getMeshNodeResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[SolidNodalResults]:
85
+ '''
86
+ Query solid nodal results at a specific stage and SRF value.
87
+ Parameters:
88
+ entityName: Optional[str]: If provided, only nodes belonging to the specified entity are queried.
89
+ 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.
90
+ 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.
91
+ Raises:
92
+ Exception if:
93
+ - stageNumber is less than 1
94
+ - stageNumber
95
+ is greater than the number of stages in the project
96
+ - _srfResultIndex is less than 0
97
+ - _srfResultIndex is greater than the number of SRF values in the project
98
+ Returns:
99
+ list[SolidNodalResults]: A list of solid nodal results wrappers for the requested stage and SRF value.
100
+ '''
101
+ request = self._makeNodalRequest(entityName, region, includeIntersecting)
102
+
103
+ # Call streaming RPC and process chunks as they arrive
104
+ stream = self._queryService.QuerySolidNodalResults(request)
105
+
106
+ # Extract header from first chunk and accumulate data from subsequent chunks
107
+ allResults = []
108
+ totalQueriedNodesCount = None
109
+ dataTypeToIndexMap: dict[SolidsDataType, int] = {}
110
+
111
+ for chunk in stream:
112
+ if chunk.HasField('header'):
113
+ # Process header chunk
114
+ header = chunk.header
115
+ totalQueriedNodesCount = header.totalQueriedNodesCount
116
+ # Convert string keys to SolidsDataType enum
117
+ for dataTypeName, index in header.dataTypeNameToIndexMap.items():
118
+ dataTypeToIndexMap[SolidsDataType[dataTypeName]] = index
119
+ elif chunk.HasField('data'):
120
+ # Process data chunk
121
+ allResults.extend(chunk.data.results)
122
+
123
+ if totalQueriedNodesCount != len(allResults):
124
+ raise RuntimeError(f"Number of nodes received does not match the expected total queried nodes count. Expected {totalQueriedNodesCount}, but received {len(allResults)}.")
125
+
126
+
127
+ return [
128
+ SolidNodalResults(r, dataTypeToIndexMap)
129
+ for r in allResults
130
+ ]
131
+
132
+
133
+ def _makeNodalRequest(self, entityName: Optional[str], region: Optional[Union[Cube, Cylinder, Sphere]], includeIntersecting: bool = True) -> SolidsResultsQueryService_pb2.SolidNodalResultsQueryRequest:
134
+ request = SolidsResultsQueryService_pb2.SolidNodalResultsQueryRequest(
135
+ baseRequest=self._makeRequest(entityName, region, includeIntersecting),
136
+ requiredDataTypes=[dt.name for dt in self._requiredDataTypes]
137
+ )
138
+ return request
139
+
140
+ def _makeRequest(self, entityName: Optional[str], region: Optional[Union[Cube, Cylinder, Sphere]], includeIntersecting: bool = True) -> SolidsResultsQueryService_pb2.SolidResultsQueryRequest:
141
+ request = SolidsResultsQueryService_pb2.SolidResultsQueryRequest(
142
+ _projectId=self._objectId,
143
+ stageNumber=self._stageNumber,
144
+ srfValueNumber=self._srfResultIndex)
145
+
146
+ if entityName is not None:
147
+ entityName = entityName.strip()
148
+ if entityName:
149
+ request.entityName = entityName
150
+
151
+ if region is not None:
152
+ if isinstance(region, (Cube, Cylinder, Sphere)):
153
+ common_region = region.toCommonGeometryObject()
154
+ request.sampleRegion.region.CopyFrom(common_region)
155
+ request.sampleRegion.includeIntersecting = includeIntersecting
156
+ else:
157
+ raise TypeError(f"Unsupported region type: {type(region)}")
158
+
159
+ return request
160
+
161
+
162
+ def getMeshElementResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[SolidElementResults]:
163
+ '''
164
+ Query solid element results at a specific stage and SRF value via streaming.
165
+ Parameters:
166
+ entityName: Optional[str]: If provided, only elements belonging to the specified entity are queried.
167
+ 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.
168
+ 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.
169
+ Raises:
170
+ Exception if:
171
+ - stageNumber is less than 1
172
+ - stageNumber is greater than the number of stages in the project
173
+ - _srfResultIndex is less than 0
174
+ - _srfResultIndex is greater than the number of SRF values in the project
175
+ Returns:
176
+ list[SolidElementResults]: A list of solid element results wrappers for the requested stage and SRF value.
177
+ '''
178
+ request = self._makeRequest(entityName, region, includeIntersecting)
179
+
180
+ # Call streaming RPC and process chunks as they arrive
181
+ stream = self._queryService.QuerySolidElementResults(request)
182
+
183
+ # Extract header from first chunk and accumulate data from subsequent chunks
184
+ has_user_data = False
185
+ user_data_map: dict[str, int] = {}
186
+ all_results = []
187
+ total_queried_elements_count = None
188
+
189
+ for chunk in stream:
190
+ if chunk.HasField('header'):
191
+ # Process header chunk
192
+ header = chunk.header
193
+ has_user_data = header.hasUserData
194
+ total_queried_elements_count = header.totalQueriedElementsCount
195
+ user_data_map = dict(header.userDataNameToResultIndexMap)
196
+ elif chunk.HasField('data'):
197
+ # Process data chunk
198
+ all_results.extend(chunk.data.results)
199
+
200
+ if total_queried_elements_count != len(all_results):
201
+ raise RuntimeError(f"Number of elements received does not match the expected total queried elements count. Expected {total_queried_elements_count}, but received {len(all_results)}.")
202
+
203
+ return [
204
+ SolidElementResults(r, has_user_data, user_data_map)
205
+ for r in all_results
206
+ ]
@@ -0,0 +1,33 @@
1
+ import rs3.generatedFiles.GaussPointFailureMessage_pb2 as GaussPointFailureMessage_pb2
2
+ from typing import Type
3
+
4
+ class GaussPointFailure:
5
+ def __init__(self, grpcGaussPointFailure: GaussPointFailureMessage_pb2.GaussPointFailure, failureTypeEnum: Type):
6
+ self._grpcGaussPointFailure = grpcGaussPointFailure
7
+ self._failureType = failureTypeEnum(grpcGaussPointFailure.failureType)
8
+
9
+ @property
10
+ def XCoordinate(self):
11
+ return self._grpcGaussPointFailure.location.x
12
+
13
+ @property
14
+ def YCoordinate(self):
15
+ return self._grpcGaussPointFailure.location.y
16
+
17
+ @property
18
+ def ZCoordinate(self):
19
+ return self._grpcGaussPointFailure.location.z
20
+
21
+ @property
22
+ def FailureType(self):
23
+ return self._failureType
24
+
25
+
26
+ class YieldedElement:
27
+ def __init__(self, grpcGaussPointFailure: GaussPointFailureMessage_pb2.GaussPointFailure, failureTypeEnum: Type):
28
+ self._failurePoint = GaussPointFailure(grpcGaussPointFailure, failureTypeEnum=failureTypeEnum)
29
+
30
+ def getFailurePoint(self) -> GaussPointFailure:
31
+ return self._failurePoint
32
+
33
+
File without changes
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: RS3Scripting
3
+ Version: 4.42.0
4
+ Summary: Client library for interacting with RS3 through python
5
+ Author: Rocscience
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://www.rocscience.com/software/rs3
8
+ Project-URL: Documentation, https://www.rocscience.com/help/rs3/overview
9
+ Keywords: Rocscience,RS3,Scripting,RocScript,Geotechnical,Finite Element Analysis,FEM,3D
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Topic :: Scientific/Engineering
12
+ Requires-Python: >=3.7
13
+ Description-Content-Type: text/markdown
14
+ License-File: License.txt
15
+ Requires-Dist: grpcio
16
+ Requires-Dist: protobuf<6.0
17
+ Dynamic: license-file
18
+
19
+ ## Introduction
20
+ This project is a library that can be used to interact with RS3 through python.
21
+
22
+ Release notes for the library are kept here:
23
+ https://www.rocscience.com/support/rs3/release-notes
24
+
25
+ RS3 can be downloaded here:
26
+ https://www.rocscience.com/support/program-downloads
27
+
28
+ The library itself is hosted on PyPi here:
29
+ https://pypi.org/project/RS3Scripting/
30
+
31
+ ### Goal
32
+ Each function exposed corresponds to an equivalent operation you could have done through the UI.
33
+ Using this idea, the user should be able to edit models and get results without having to go through the UI at all.
34
+ Although only a limited set of functionality is exposed for now, some basic workflows should still be possible. For a list of the functionality we have so far, see [Exposed Functionality](#exposed-functionality).
35
+
36
+ ### Python UI equivalents
37
+ Events and workflows done in the UI will have equivalents in the python library.
38
+ Wherever a dialog is shown in the UI, there will be an equivalent class with methods that mimick the dialog's behavior.
39
+ Wherever a warning or error dialog is displayed, an exception will be thrown, or a warning will be displayed in python instead.
40
+ Wherever you can select and manipulate an entity, identifiers can be used in the library to get references to those entities in python and objects will be constructed to help you interface with them.
41
+
42
+ ### How it works
43
+ Each function in the library is a wrapper to make an api call to the Application.
44
+ Objects retrieved through function calls will often not contain any data themselves, but will instead be proxies, allowing you to get information from the objects in the application.
45
+ For this reason, debugging will sometimes be tricky, as not all data will always be available for you to inspect unless you get it and assign it to a variable yourself.
46
+
47
+ ### Warnings
48
+ References can be *invalidated* whenever the corresponding object in the application is destroyed or reloaded. You will need to watch out for expired referenecs and renew them when needed as it can cause crashes or incorrect results if not managed properly. Functions that invalidate objects will always be marked with a warning and will indicate which objects should be re-loaded.
49
+
50
+ ## Exposed Functionality
51
+ The current set of functionality exposed is limited. With this version of the library, you can:
52
+ - **Model Operations**: Open/save/close models, compute models
53
+ - **Project Settings**: Define stages (names, number), set analysis type (stress, groundwater, dynamic), solver options, units configuration
54
+ - **Selection & Queries**: Select volumes by name, point query, or bounding box (Cube, Cylinder, Sphere regions); filter results by entity
55
+ - **External Volumes**: Assign materials to selected volumes, rename volumes, access volume properties
56
+ - **Material Properties**: Define and modify constitutive models (Mohr-Coulomb, Hoek-Brown, Hardening Soil, Cam-Clay, etc.), hydraulic properties, initial conditions, stage factors, datum dependencies
57
+ - **Support Elements**: Configure liners, bolts, beams, piles, joints, and composite lining systems with full property control and stage factors
58
+ - **Loading Conditions**: Field stress (constant, gravity, advanced options), restraints
59
+ - **Mesh**: Mesh Control
60
+ - **Results Extraction**: Query nodal/element results for solids, liners, bolts, beams, piles, and joints; filter by region or entity name; switch between global and local coordinate systems (e.g., tunnel frames)
61
+ - **Result Types**: Displacements (X, Y, Z, total, normal), stresses, strains, axial forces, moments, shear forces, failure types
62
+
63
+ ## Getting Started
64
+
65
+ **Getting started guide**
66
+ https://www.rocscience.com/help/rs3/tutorials/scripting/getting-started-with-rs3-python-scripting
67
+
68
+ **Tutorials**
69
+ https://www.rocscience.com/help/rs3/tutorials/scripting/scripting-tunnel-tutorial-part-1
70
+ https://www.rocscience.com/help/rs3/tutorials/scripting/scripting-tunnel-tutorial-part-2