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,216 @@
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.LinerStageFactorService_pb2_grpc as LinerStageFactorService_pb2_grpc
8
+ class ReinforcedConcreteBase(_ProxyObject, IPropertyGroupAccessors):
9
+ def __init__(self, client: Client, id: str):
10
+ super().__init__(client, id)
11
+ self._propertyAccessor = PropertyAccessor(client, id)
12
+ def getSpacing(self) -> float:
13
+ return self._propertyAccessor.getDoubleProperty("Spacing")
14
+ def setSpacing(self, value: float):
15
+ self._propertyAccessor.setDoubleProperty("Spacing", value)
16
+ def getSectionDepth(self) -> float:
17
+ return self._propertyAccessor.getDoubleProperty("SectionDepth")
18
+ def setSectionDepth(self, value: float):
19
+ self._propertyAccessor.setDoubleProperty("SectionDepth", value)
20
+ def getArea(self) -> float:
21
+ return self._propertyAccessor.getDoubleProperty("Area")
22
+ def setArea(self, value: float):
23
+ self._propertyAccessor.setDoubleProperty("Area", value)
24
+ def getMomentOfInertia(self) -> float:
25
+ return self._propertyAccessor.getDoubleProperty("MomentOfInertia")
26
+ def setMomentOfInertia(self, value: float):
27
+ self._propertyAccessor.setDoubleProperty("MomentOfInertia", value)
28
+ def getYoungsModulusReinforcement(self) -> float:
29
+ return self._propertyAccessor.getDoubleProperty("ReinforcementYoungsModulus")
30
+ def setYoungsModulusReinforcement(self, value: float):
31
+ self._propertyAccessor.setDoubleProperty("ReinforcementYoungsModulus", value)
32
+ def getPoissonsRatioReinforcement(self) -> float:
33
+ return self._propertyAccessor.getDoubleProperty("ReinforcementPoissonsRatio")
34
+ def setPoissonsRatioReinforcement(self, value: float):
35
+ self._propertyAccessor.setDoubleProperty("ReinforcementPoissonsRatio", value)
36
+ def getShearStrengthReinforcement(self) -> float:
37
+ return self._propertyAccessor.getDoubleProperty("ReinforcementStrengthShear")
38
+ def setShearStrengthReinforcement(self, value: float):
39
+ self._propertyAccessor.setDoubleProperty("ReinforcementStrengthShear", value)
40
+ def getCompressiveStrengthReinforcement(self) -> float:
41
+ return self._propertyAccessor.getDoubleProperty("ReinforcementStrengthCompressive")
42
+ def setCompressiveStrengthReinforcement(self, value: float):
43
+ self._propertyAccessor.setDoubleProperty("ReinforcementStrengthCompressive", value)
44
+ def getTensileStrengthReinforcement(self) -> float:
45
+ return self._propertyAccessor.getDoubleProperty("ReinforcementStrengthTensile")
46
+ def setTensileStrengthReinforcement(self, value: float):
47
+ self._propertyAccessor.setDoubleProperty("ReinforcementStrengthTensile", value)
48
+ def getUnitWeightReinforcement(self) -> float:
49
+ return self._propertyAccessor.getDoubleProperty("ReinforcementUnitWeight")
50
+ def setUnitWeightReinforcement(self, value: float):
51
+ self._propertyAccessor.setDoubleProperty("ReinforcementUnitWeight", value)
52
+ def getThickness(self) -> float:
53
+ return self._propertyAccessor.getDoubleProperty("Thickness")
54
+ def setThickness(self, value: float):
55
+ self._propertyAccessor.setDoubleProperty("Thickness", value)
56
+ def getYoungsModulusConcrete(self) -> float:
57
+ return self._propertyAccessor.getDoubleProperty("ConcreteYoungsModulus")
58
+ def setYoungsModulusConcrete(self, value: float):
59
+ self._propertyAccessor.setDoubleProperty("ConcreteYoungsModulus", value)
60
+ def getPoissonsRatioConcrete(self) -> float:
61
+ return self._propertyAccessor.getDoubleProperty("ConcretePoissonsRatio")
62
+ def setPoissonsRatioConcrete(self, value: float):
63
+ self._propertyAccessor.setDoubleProperty("ConcretePoissonsRatio", value)
64
+ def getShearStrengthConcrete(self) -> float:
65
+ return self._propertyAccessor.getDoubleProperty("ConcreteStrengthShear")
66
+ def setShearStrengthConcrete(self, value: float):
67
+ self._propertyAccessor.setDoubleProperty("ConcreteStrengthShear", value)
68
+ def getCompressiveStrengthConcrete(self) -> float:
69
+ return self._propertyAccessor.getDoubleProperty("ConcreteStrengthCompressive")
70
+ def setCompressiveStrengthConcrete(self, value: float):
71
+ self._propertyAccessor.setDoubleProperty("ConcreteStrengthCompressive", value)
72
+ def getTensileStrengthConcrete(self) -> float:
73
+ return self._propertyAccessor.getDoubleProperty("ConcreteStrengthTensile")
74
+ def setTensileStrengthConcrete(self, value: float):
75
+ self._propertyAccessor.setDoubleProperty("ConcreteStrengthTensile", value)
76
+ def getUnitWeightConcrete(self) -> float:
77
+ return self._propertyAccessor.getDoubleProperty("ConcreteUnitWeight")
78
+ def setUnitWeightConcrete(self, value: float):
79
+ self._propertyAccessor.setDoubleProperty("ConcreteUnitWeight", value)
80
+ def getConcreteProperty(self) -> bool:
81
+ return self._propertyAccessor.getBoolValue("HasConcrete")
82
+ def setConcreteProperty(self, value: bool):
83
+ self._propertyAccessor.setBoolValue("HasConcrete", value)
84
+ def getReinforcementProperty(self) -> bool:
85
+ return self._propertyAccessor.getBoolValue("HasReinforcement")
86
+ def setReinforcementProperty(self, value: bool):
87
+ self._propertyAccessor.setBoolValue("HasReinforcement", value)
88
+ def getIncludeWeightInStressAnalysis(self) -> bool:
89
+ return self._propertyAccessor.getBoolValue("Is_analysis_include_weight")
90
+ def setIncludeWeightInStressAnalysis(self, value: bool):
91
+ self._propertyAccessor.setBoolValue("Is_analysis_include_weight", value)
92
+ def getProperties(self):
93
+ return {
94
+ "Spacing": self.getSpacing(),
95
+ "SectionDepth": self.getSectionDepth(),
96
+ "Area": self.getArea(),
97
+ "MomentOfInertia": self.getMomentOfInertia(),
98
+ "YoungsModulusReinforcement": self.getYoungsModulusReinforcement(),
99
+ "PoissonsRatioReinforcement": self.getPoissonsRatioReinforcement(),
100
+ "ShearStrengthReinforcement": self.getShearStrengthReinforcement(),
101
+ "CompressiveStrengthReinforcement": self.getCompressiveStrengthReinforcement(),
102
+ "TensileStrengthReinforcement": self.getTensileStrengthReinforcement(),
103
+ "UnitWeightReinforcement": self.getUnitWeightReinforcement(),
104
+ "Thickness": self.getThickness(),
105
+ "YoungsModulusConcrete": self.getYoungsModulusConcrete(),
106
+ "PoissonsRatioConcrete": self.getPoissonsRatioConcrete(),
107
+ "ShearStrengthConcrete": self.getShearStrengthConcrete(),
108
+ "CompressiveStrengthConcrete": self.getCompressiveStrengthConcrete(),
109
+ "TensileStrengthConcrete": self.getTensileStrengthConcrete(),
110
+ "UnitWeightConcrete": self.getUnitWeightConcrete(),
111
+ "ConcreteProperty": self.getConcreteProperty(),
112
+ "ReinforcementProperty": self.getReinforcementProperty(),
113
+ "IncludeWeightInStressAnalysis": self.getIncludeWeightInStressAnalysis(),
114
+ }
115
+ def setProperties(self, Spacing: float = None, SectionDepth: float = None, Area: float = None, MomentOfInertia: float = None, YoungsModulusReinforcement: float = None, PoissonsRatioReinforcement: float = None, ShearStrengthReinforcement: float = None, CompressiveStrengthReinforcement: float = None, TensileStrengthReinforcement: float = None, UnitWeightReinforcement: float = None, Thickness: float = None, YoungsModulusConcrete: float = None, PoissonsRatioConcrete: float = None, ShearStrengthConcrete: float = None, CompressiveStrengthConcrete: float = None, TensileStrengthConcrete: float = None, UnitWeightConcrete: float = None, ConcreteProperty: bool = None, ReinforcementProperty: bool = None, IncludeWeightInStressAnalysis: bool = None):
116
+ if Spacing is not None:
117
+ self.setSpacing(Spacing)
118
+ if SectionDepth is not None:
119
+ self.setSectionDepth(SectionDepth)
120
+ if Area is not None:
121
+ self.setArea(Area)
122
+ if MomentOfInertia is not None:
123
+ self.setMomentOfInertia(MomentOfInertia)
124
+ if YoungsModulusReinforcement is not None:
125
+ self.setYoungsModulusReinforcement(YoungsModulusReinforcement)
126
+ if PoissonsRatioReinforcement is not None:
127
+ self.setPoissonsRatioReinforcement(PoissonsRatioReinforcement)
128
+ if ShearStrengthReinforcement is not None:
129
+ self.setShearStrengthReinforcement(ShearStrengthReinforcement)
130
+ if CompressiveStrengthReinforcement is not None:
131
+ self.setCompressiveStrengthReinforcement(CompressiveStrengthReinforcement)
132
+ if TensileStrengthReinforcement is not None:
133
+ self.setTensileStrengthReinforcement(TensileStrengthReinforcement)
134
+ if UnitWeightReinforcement is not None:
135
+ self.setUnitWeightReinforcement(UnitWeightReinforcement)
136
+ if Thickness is not None:
137
+ self.setThickness(Thickness)
138
+ if YoungsModulusConcrete is not None:
139
+ self.setYoungsModulusConcrete(YoungsModulusConcrete)
140
+ if PoissonsRatioConcrete is not None:
141
+ self.setPoissonsRatioConcrete(PoissonsRatioConcrete)
142
+ if ShearStrengthConcrete is not None:
143
+ self.setShearStrengthConcrete(ShearStrengthConcrete)
144
+ if CompressiveStrengthConcrete is not None:
145
+ self.setCompressiveStrengthConcrete(CompressiveStrengthConcrete)
146
+ if TensileStrengthConcrete is not None:
147
+ self.setTensileStrengthConcrete(TensileStrengthConcrete)
148
+ if UnitWeightConcrete is not None:
149
+ self.setUnitWeightConcrete(UnitWeightConcrete)
150
+ if ConcreteProperty is not None:
151
+ self.setConcreteProperty(ConcreteProperty)
152
+ if ReinforcementProperty is not None:
153
+ self.setReinforcementProperty(ReinforcementProperty)
154
+ if IncludeWeightInStressAnalysis is not None:
155
+ self.setIncludeWeightInStressAnalysis(IncludeWeightInStressAnalysis)
156
+ class ReinforcedConcreteStageFactorBase(IStageFactorBase):
157
+ def __init__(self, id : str, stageFactorID : str, client : Client):
158
+ super().__init__(id, stageFactorID, client, LinerStageFactorService_pb2_grpc.LinerStageFactorServiceStub(client.channel))
159
+ def getConcreteCompressiveStrengthFactor(self) -> float:
160
+ return self._stageFactorPropertyAccessor.getDoubleProperty("ReinforcedConcrete_CompressiveStrength")
161
+ def getPoissonsRatioFactor(self) -> float:
162
+ return self._stageFactorPropertyAccessor.getDoubleProperty("ReinforcedConcrete_PoissonsRatio")
163
+ def getShearStrengthFactor(self) -> float:
164
+ return self._stageFactorPropertyAccessor.getDoubleProperty("ReinforcedConcrete_ShearStrength")
165
+ def getConcreteTensileStrengthFactor(self) -> float:
166
+ return self._stageFactorPropertyAccessor.getDoubleProperty("ReinforcedConcrete_TensileStrength")
167
+ def getThicknessFactor(self) -> float:
168
+ return self._stageFactorPropertyAccessor.getDoubleProperty("ReinforcedConcrete_Thickness")
169
+ def getConcreteYoungsModulusFactor(self) -> float:
170
+ return self._stageFactorPropertyAccessor.getDoubleProperty("ReinforcedConcrete_YoungsModulus")
171
+ class ReinforcedConcreteDefinedStageFactorBase(ReinforcedConcreteStageFactorBase):
172
+ def setConcreteCompressiveStrengthFactor(self, value: float):
173
+ self._stageFactorPropertyAccessor.setDoubleProperty("ReinforcedConcrete_CompressiveStrength", value)
174
+ def setPoissonsRatioFactor(self, value: float):
175
+ self._stageFactorPropertyAccessor.setDoubleProperty("ReinforcedConcrete_PoissonsRatio", value)
176
+ def setShearStrengthFactor(self, value: float):
177
+ self._stageFactorPropertyAccessor.setDoubleProperty("ReinforcedConcrete_ShearStrength", value)
178
+ def setConcreteTensileStrengthFactor(self, value: float):
179
+ self._stageFactorPropertyAccessor.setDoubleProperty("ReinforcedConcrete_TensileStrength", value)
180
+ def setThicknessFactor(self, value: float):
181
+ self._stageFactorPropertyAccessor.setDoubleProperty("ReinforcedConcrete_Thickness", value)
182
+ def setConcreteYoungsModulusFactor(self, value: float):
183
+ self._stageFactorPropertyAccessor.setDoubleProperty("ReinforcedConcrete_YoungsModulus", value)
184
+
185
+ ################ Code below this line will not be overridden ################
186
+ from rs3.properties.stageFactors.StageFactorInterfaces import RelativeStageFactorInterface
187
+ from rs3.properties.PropertyEnums import *
188
+
189
+ class ReinforcedConcreteStageFactor(ReinforcedConcreteStageFactorBase):
190
+ """
191
+ Examples:
192
+ See :ref:`liner_example`.
193
+ """
194
+ def __init__(self, id: str, stageFactorId: str, client: Client):
195
+ super().__init__(id, stageFactorId, client)
196
+
197
+ class ReinforcedConcreteDefinedStageFactor(ReinforcedConcreteStageFactor, ReinforcedConcreteDefinedStageFactorBase):
198
+ """
199
+ Examples:
200
+ See :ref:`liner_example`.
201
+ """
202
+ pass
203
+
204
+ class ReinforcedConcrete(ReinforcedConcreteBase):
205
+ """
206
+ Examples:
207
+ See :ref:`liner_example`.
208
+ """
209
+ def __init__(self, client: Client, id: str):
210
+ super().__init__(client, id)
211
+ self.StageFactorInterface = RelativeStageFactorInterface[ReinforcedConcreteDefinedStageFactor, ReinforcedConcreteStageFactor](id, client, ReinforcedConcreteDefinedStageFactor, ReinforcedConcreteStageFactor)
212
+
213
+ def getMaterialType(self) -> MaterialType:
214
+ return MaterialType(self._propertyAccessor.getBoolValue("IsPlastic"))
215
+ def setMaterialType(self, value: MaterialType):
216
+ self._propertyAccessor.setBoolValue("IsPlastic", value.value)
@@ -0,0 +1,183 @@
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.LinerStageFactorService_pb2_grpc as LinerStageFactorService_pb2_grpc
8
+ class StandardBase(_ProxyObject, IPropertyGroupAccessors):
9
+ def __init__(self, client: Client, id: str):
10
+ super().__init__(client, id)
11
+ self._propertyAccessor = PropertyAccessor(client, id)
12
+ def getYoungsModulus(self) -> float:
13
+ return self._propertyAccessor.getDoubleProperty("Elastic_youngs_modulus")
14
+ def setYoungsModulus(self, value: float):
15
+ self._propertyAccessor.setDoubleProperty("Elastic_youngs_modulus", value)
16
+ def getPoissonsRatio(self) -> float:
17
+ return self._propertyAccessor.getDoubleProperty("Elastic_poissons_ratio")
18
+ def setPoissonsRatio(self, value: float):
19
+ self._propertyAccessor.setDoubleProperty("Elastic_poissons_ratio", value)
20
+ def getShearStrength(self) -> float:
21
+ return self._propertyAccessor.getDoubleProperty("Strength_shear")
22
+ def setShearStrength(self, value: float):
23
+ self._propertyAccessor.setDoubleProperty("Strength_shear", value)
24
+ def getThickness(self) -> float:
25
+ return self._propertyAccessor.getDoubleProperty("Geometry_thickness")
26
+ def setThickness(self, value: float):
27
+ self._propertyAccessor.setDoubleProperty("Geometry_thickness", value)
28
+ def getArea(self) -> float:
29
+ return self._propertyAccessor.getDoubleProperty("Geometry_area")
30
+ def setArea(self, value: float):
31
+ self._propertyAccessor.setDoubleProperty("Geometry_area", value)
32
+ def getIncludeWeightInAnalysis(self) -> bool:
33
+ return self._propertyAccessor.getBoolValue("Is_analysis_include_weight")
34
+ def setIncludeWeightInAnalysis(self, value: bool):
35
+ self._propertyAccessor.setBoolValue("Is_analysis_include_weight", value)
36
+ def getUnitWeight(self) -> float:
37
+ return self._propertyAccessor.getDoubleProperty("Unit_weight")
38
+ def setUnitWeight(self, value: float):
39
+ self._propertyAccessor.setDoubleProperty("Unit_weight", value)
40
+ def getIsGeometryThickness(self) -> bool:
41
+ return self._propertyAccessor.getBoolValue("Is_geometry_thickness")
42
+ def setIsGeometryThickness(self, value: bool):
43
+ self._propertyAccessor.setBoolValue("Is_geometry_thickness", value)
44
+ def getGeometryMomentOfInertia(self) -> float:
45
+ return self._propertyAccessor.getDoubleProperty("Geometry_moment_of_inertia")
46
+ def setGeometryMomentOfInertia(self, value: float):
47
+ self._propertyAccessor.setDoubleProperty("Geometry_moment_of_inertia", value)
48
+ def getCompressiveStrength(self) -> float:
49
+ return self._propertyAccessor.getDoubleProperty("Strength_compressive_peak")
50
+ def setCompressiveStrength(self, value: float):
51
+ self._propertyAccessor.setDoubleProperty("Strength_compressive_peak", value)
52
+ def getResidualCompressiveStrength(self) -> float:
53
+ return self._propertyAccessor.getDoubleProperty("Strength_compressive_residual")
54
+ def setResidualCompressiveStrength(self, value: float):
55
+ self._propertyAccessor.setDoubleProperty("Strength_compressive_residual", value)
56
+ def getTensileStrength(self) -> float:
57
+ return self._propertyAccessor.getDoubleProperty("Strength_tensile_peak")
58
+ def setTensileStrength(self, value: float):
59
+ self._propertyAccessor.setDoubleProperty("Strength_tensile_peak", value)
60
+ def getResidualTensileStrength(self) -> float:
61
+ return self._propertyAccessor.getDoubleProperty("Strength_tensile_residual")
62
+ def setResidualTensileStrength(self, value: float):
63
+ self._propertyAccessor.setDoubleProperty("Strength_tensile_residual", value)
64
+ def getProperties(self):
65
+ return {
66
+ "YoungsModulus": self.getYoungsModulus(),
67
+ "PoissonsRatio": self.getPoissonsRatio(),
68
+ "ShearStrength": self.getShearStrength(),
69
+ "Thickness": self.getThickness(),
70
+ "Area": self.getArea(),
71
+ "IncludeWeightInAnalysis": self.getIncludeWeightInAnalysis(),
72
+ "UnitWeight": self.getUnitWeight(),
73
+ "IsGeometryThickness": self.getIsGeometryThickness(),
74
+ "GeometryMomentOfInertia": self.getGeometryMomentOfInertia(),
75
+ "CompressiveStrength": self.getCompressiveStrength(),
76
+ "ResidualCompressiveStrength": self.getResidualCompressiveStrength(),
77
+ "TensileStrength": self.getTensileStrength(),
78
+ "ResidualTensileStrength": self.getResidualTensileStrength(),
79
+ }
80
+ def setProperties(self, YoungsModulus: float = None, PoissonsRatio: float = None, ShearStrength: float = None, Thickness: float = None, Area: float = None, IncludeWeightInAnalysis: bool = None, UnitWeight: float = None, IsGeometryThickness: bool = None, GeometryMomentOfInertia: float = None, CompressiveStrength: float = None, ResidualCompressiveStrength: float = None, TensileStrength: float = None, ResidualTensileStrength: float = None):
81
+ if YoungsModulus is not None:
82
+ self.setYoungsModulus(YoungsModulus)
83
+ if PoissonsRatio is not None:
84
+ self.setPoissonsRatio(PoissonsRatio)
85
+ if ShearStrength is not None:
86
+ self.setShearStrength(ShearStrength)
87
+ if Thickness is not None:
88
+ self.setThickness(Thickness)
89
+ if Area is not None:
90
+ self.setArea(Area)
91
+ if IncludeWeightInAnalysis is not None:
92
+ self.setIncludeWeightInAnalysis(IncludeWeightInAnalysis)
93
+ if UnitWeight is not None:
94
+ self.setUnitWeight(UnitWeight)
95
+ if IsGeometryThickness is not None:
96
+ self.setIsGeometryThickness(IsGeometryThickness)
97
+ if GeometryMomentOfInertia is not None:
98
+ self.setGeometryMomentOfInertia(GeometryMomentOfInertia)
99
+ if CompressiveStrength is not None:
100
+ self.setCompressiveStrength(CompressiveStrength)
101
+ if ResidualCompressiveStrength is not None:
102
+ self.setResidualCompressiveStrength(ResidualCompressiveStrength)
103
+ if TensileStrength is not None:
104
+ self.setTensileStrength(TensileStrength)
105
+ if ResidualTensileStrength is not None:
106
+ self.setResidualTensileStrength(ResidualTensileStrength)
107
+ class StandardStageFactorBase(IStageFactorBase):
108
+ def __init__(self, id : str, stageFactorID : str, client : Client):
109
+ super().__init__(id, stageFactorID, client, LinerStageFactorService_pb2_grpc.LinerStageFactorServiceStub(client.channel))
110
+ def getAreaFactor(self) -> float:
111
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_Area")
112
+ def getCompressiveStrengthFactor(self) -> float:
113
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_CompressiveStrength")
114
+ def getResidualCompressiveStrengthFactor(self) -> float:
115
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_CompressiveStrengthResidual")
116
+ def getMomentOfInertiaFactor(self) -> float:
117
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_MomentOfInertia")
118
+ def getPoissonsRatioFactor(self) -> float:
119
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_PoissonsRatio")
120
+ def getShearStrengthFactor(self) -> float:
121
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_ShearStrength")
122
+ def getTensileStrengthFactor(self) -> float:
123
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_TensileStrength")
124
+ def getResidualTensileStrengthFactor(self) -> float:
125
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_TensileStrengthResidual")
126
+ def getThicknessFactor(self) -> float:
127
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_Thickness")
128
+ def getYoungsModulusFactor(self) -> float:
129
+ return self._stageFactorPropertyAccessor.getDoubleProperty("Standard_YoungsModulus")
130
+ class StandardDefinedStageFactorBase(StandardStageFactorBase):
131
+ def setAreaFactor(self, value: float):
132
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_Area", value)
133
+ def setCompressiveStrengthFactor(self, value: float):
134
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_CompressiveStrength", value)
135
+ def setResidualCompressiveStrengthFactor(self, value: float):
136
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_CompressiveStrengthResidual", value)
137
+ def setMomentOfInertiaFactor(self, value: float):
138
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_MomentOfInertia", value)
139
+ def setPoissonsRatioFactor(self, value: float):
140
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_PoissonsRatio", value)
141
+ def setShearStrengthFactor(self, value: float):
142
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_ShearStrength", value)
143
+ def setTensileStrengthFactor(self, value: float):
144
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_TensileStrength", value)
145
+ def setResidualTensileStrengthFactor(self, value: float):
146
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_TensileStrengthResidual", value)
147
+ def setThicknessFactor(self, value: float):
148
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_Thickness", value)
149
+ def setYoungsModulusFactor(self, value: float):
150
+ self._stageFactorPropertyAccessor.setDoubleProperty("Standard_YoungsModulus", value)
151
+
152
+ ################ Code below this line will not be overridden ################
153
+ from rs3.properties.stageFactors.StageFactorInterfaces import RelativeStageFactorInterface
154
+ from rs3.properties.PropertyEnums import *
155
+
156
+ class StandardLinerStageFactor(StandardStageFactorBase):
157
+ """
158
+ Examples:
159
+ See :ref:`liner_example`.
160
+ """
161
+ def __init__(self, id: str, stageFactorId: str, client: Client):
162
+ super().__init__(id, stageFactorId, client)
163
+
164
+ class StandardLinerDefinedStageFactor(StandardLinerStageFactor, StandardDefinedStageFactorBase):
165
+ """
166
+ Examples:
167
+ See :ref:`liner_example`.
168
+ """
169
+ pass
170
+
171
+ class Standard(StandardBase):
172
+ """
173
+ Examples:
174
+ See :ref:`liner_example`.
175
+ """
176
+ def __init__(self, client: Client, id: str):
177
+ super().__init__(client, id)
178
+ self.StageFactorInterface = RelativeStageFactorInterface[StandardLinerDefinedStageFactor, StandardLinerStageFactor](id, client, StandardLinerDefinedStageFactor, StandardLinerStageFactor)
179
+
180
+ def getMaterialType(self) -> MaterialType:
181
+ return MaterialType(self._propertyAccessor.getBoolValue("IsPlastic"))
182
+ def setMaterialType(self, value: MaterialType):
183
+ self._propertyAccessor.setBoolValue("IsPlastic", value.value)
@@ -0,0 +1,7 @@
1
+ from rs3.properties._PropertyAccessor import PropertyAccessor
2
+ import rs3.generatedFiles.LinerService_pb2_grpc as LinerService_pb2_grpc
3
+ from rs3._client import Client
4
+ class PropertyAccessor(PropertyAccessor):
5
+ def __init__(self, client : Client, objectId : str):
6
+ super().__init__(client, objectId, LinerService_pb2_grpc.LinerServiceStub(client.channel))
7
+
File without changes
@@ -0,0 +1,244 @@
1
+ import rs3.generatedFiles.CompositeLinerDataService_pb2_grpc as CompositeLinerDataService_pb2_grpc
2
+ import rs3.generatedFiles.CompositeLinerDataService_pb2 as CompositeLinerDataService_pb2
3
+ from rs3._client import Client
4
+ from rs3.properties.PropertyEnums import *
5
+ from rs3.properties._PropertyAccessor import PropertyAccessor
6
+ from rs3._proxyObject import _ProxyObject
7
+ from dataclasses import dataclass, field
8
+
9
+ @dataclass
10
+ class CompositeLinerLayer:
11
+ linerName: str = ""
12
+ hasUpperJoint: bool = False
13
+ hasLowerJoint: bool = False
14
+ installationStage: int = 0
15
+ isRemoved: bool = False
16
+ removalStage: int = -1
17
+ upperJointName: str = field(default="")
18
+ lowerJointName: str = field(default="")
19
+
20
+ def __post_init__(self):
21
+ self.upperJointName = None if not self.hasUpperJoint else ""
22
+ self.lowerJointName = None if not self.hasLowerJoint else ""
23
+
24
+ def setLinerByName(self, name):
25
+ self.linerName = name
26
+
27
+ def setUpperJoint(self, hasUpperJoint: bool, upperJointName: str = ""):
28
+ self.hasUpperJoint = hasUpperJoint
29
+ self.upperJointName = upperJointName if hasUpperJoint else None
30
+
31
+ def setLowerJoint(self, hasLowerJoint: bool, lowerJointName: str = ""):
32
+ self.hasLowerJoint = hasLowerJoint
33
+ self.lowerJointName = lowerJointName if hasLowerJoint else None
34
+
35
+ def setInstallationStage(self, installationStage: int):
36
+ self.installationStage = installationStage
37
+
38
+ def setRemovalStage(self, isRemoved: bool, removalStage: int):
39
+ self.isRemoved = isRemoved
40
+ self.removalStage = removalStage
41
+
42
+ def to_tuple(self):
43
+ return (
44
+ self.linerName,
45
+ self.hasUpperJoint,
46
+ self.upperJointName,
47
+ self.hasLowerJoint,
48
+ self.lowerJointName,
49
+ self.installationStage,
50
+ self.isRemoved,
51
+ self.removalStage
52
+ )
53
+
54
+
55
+ class LiningCompositionProperty(_ProxyObject):
56
+ """
57
+ Define the liners and joint interfaces that belong to a lining.
58
+
59
+ Examples:
60
+ See :ref:`composite_liner_example`.
61
+
62
+ """
63
+ def __init__(self, client : Client, liningCompositionID : str):
64
+ super().__init__(client, liningCompositionID)
65
+ self._liningCompositionDataService = CompositeLinerDataService_pb2_grpc.CompositeLinerDataServiceStub(self._client.channel)
66
+ self._propertyAccessor = PropertyAccessor(client, liningCompositionID, self._liningCompositionDataService)
67
+
68
+ def getCompositeName(self) -> str:
69
+ return self._propertyAccessor.getStringValue("Name")
70
+
71
+ def setCompositeName(self, name : str):
72
+ self._propertyAccessor.setStringValue("Name", name)
73
+
74
+ def getLayerComposition(self) -> list[CompositeLinerLayer]:
75
+ """
76
+ Retrieves the current composite liner configuration for the object.
77
+
78
+ Returns:
79
+ list of CompositeLinerLayer: Each CompositeLinerLayer represents one lining composition layer in the composite liner structure.
80
+
81
+ The CompositeLinerLayer contains the following fields:
82
+
83
+ - linerName (str): Name of the liner.
84
+ - hasUpperJoint (bool): Whether an upper joint is present.
85
+ - upperJointName (str): Name of the upper joint if hasUpperJoint is True. Otherwise, it shows as None.
86
+ - hasLowerJoint (bool): Whether a lower joint is present.
87
+ - lowerJointName (str): Name of the lower joint if hasLowerJoint is True. Otherwise, it shows as None.
88
+ - installationStage (int): The construction stage at which the liner is installed.
89
+ - isRemoved (bool): Whether the liner is removed.
90
+ - removalStage (int): The construction stage at which the liner is removed; should be -1 if never get removed.
91
+
92
+ """
93
+ request = CompositeLinerDataService_pb2.GetCompositeLinerRequest(liningId=self._objectId)
94
+ response : CompositeLinerDataService_pb2.GetCompositeLinerResponse = self._client.callFunction(self._liningCompositionDataService.GetCompositeLiner, request)
95
+
96
+ layers = []
97
+ for composite in response.compositeLiner:
98
+ layer = CompositeLinerLayer()
99
+ layer.setLinerByName(composite.linerName)
100
+ layer.setUpperJoint(composite.hasUpperJoint, composite.upperJointName if composite.upperJointName != "" else None)
101
+ layer.setLowerJoint(composite.hasLowerJoint, composite.lowerJointName if composite.lowerJointName != "" else None)
102
+ layer.setInstallationStage(composite.installationStage)
103
+ layer.setRemovalStage(composite.isRemoved, composite.removalStage)
104
+ layers.append(layer)
105
+
106
+ return layers
107
+
108
+ def setLayerComposition(self, value: list[CompositeLinerLayer]):
109
+ """
110
+ Sets or updates the composite liner configuration for the object.
111
+
112
+ Args:
113
+ value: A list of CompositeLinerLayer, each CompositeLinerLayer representing a set of liner and interface element(s) in sequence. Each item must contain:
114
+ - linerName (str): Name of the liner.
115
+ - hasUpperJoint (bool): True if an upper joint exists.
116
+ - upperJointName (str): Name of the upper joint (must be a valid and unique joint name in the current RS3 project if hasUpperJoint is True). Otherwise, the value should be "None".
117
+ - hasLowerJoint (bool): True if a lower joint exists.
118
+ - lowerJointName (str): Name of the lower joint (must be a valid and unique joint name in the current RS3 project if hasLowerJoint is True). Otherwise, the value should be "None".
119
+ - installationStage (int): Stage at which the liner is installed.
120
+ - isRemoved (bool): Whether the liner is removed.
121
+ - removalStage (int): Stage at which the liner is removed; must be -1 if isRemoved is False.
122
+
123
+ Notes:
124
+ - If `hasUpperJoint` or `hasLowerJoint` is True, the corresponding joint name must be a valid and uniquely defined joint in RS3.
125
+ - If `isRemoved` is False, `removalStage` must be -1.
126
+ - The first liner in the list is considered the primary liner; its `installationStage` cannot be changed.
127
+ - No two adjacent items in the list may both be joints (i.e., no two consecutive InterfaceData elements).
128
+ - A predecessor liner cannot be removed while any successor liner is still active (installed and not yet removed).
129
+
130
+ """
131
+ processed_value = []
132
+ for item in value:
133
+ processed_value.append(item.to_tuple())
134
+
135
+ request = CompositeLinerDataService_pb2.SetCompositeLinerRequest(
136
+ liningId=self._objectId,
137
+ compositeLiner=[
138
+ CompositeLinerDataService_pb2.CompositeLiner(
139
+ linerName=linerName,
140
+ hasUpperJoint=hasUpperJoint,
141
+ upperJointName=upperJointName,
142
+ hasLowerJoint=hasLowerJoint,
143
+ lowerJointName=lowerJointName,
144
+ installationStage=installationStage,
145
+ isRemoved=isRemoved,
146
+ removalStage=removalStage
147
+ )
148
+ for (
149
+ linerName,
150
+ hasUpperJoint,
151
+ upperJointName,
152
+ hasLowerJoint,
153
+ lowerJointName,
154
+ installationStage,
155
+ isRemoved,
156
+ removalStage
157
+ ) in processed_value
158
+ ]
159
+ )
160
+
161
+ self._client.callFunction(self._liningCompositionDataService.SetCompositeLiner, request)
162
+
163
+ def getLayerCompositionTuple(self) -> list[tuple[str, bool, str, bool, str, int, bool, int]]:
164
+ """
165
+ Retrieves the current composite liner configuration for the object.
166
+
167
+ Returns:
168
+ list of tuples: Each tuple represents one layer or joint in the composite liner structure.
169
+
170
+ The tuple contains the following fields:
171
+ - linerName (str): Name of the liner.
172
+ - hasUpperJoint (bool): Whether an upper joint is present.
173
+ - upperJointName (str): Name of the upper joint if hasUpperJoint is True. Otherwise, it shows as None.
174
+ - hasLowerJoint (bool): Whether a lower joint is present.
175
+ - lowerJointName (str): Name of the lower joint if hasLowerJoint is True. Otherwise, it shows as None.
176
+ - installationStage (int): The construction stage at which the liner is installed.
177
+ - isRemoved (bool): Whether the liner is removed.
178
+ - removalStage (int): The construction stage at which the liner is removed; should be -1 if never get removed.
179
+
180
+ """
181
+ request = CompositeLinerDataService_pb2.GetCompositeLinerRequest(liningId=self._objectId)
182
+ response : CompositeLinerDataService_pb2.GetCompositeLinerResponse = self._client.callFunction(self._liningCompositionDataService.GetCompositeLiner, request)
183
+
184
+ return [(composite.linerName,
185
+ composite.hasUpperJoint,
186
+ composite.upperJointName if composite.upperJointName != "" else None,
187
+ composite.hasLowerJoint,
188
+ composite.lowerJointName if composite.lowerJointName != "" else None,
189
+ composite.installationStage,
190
+ composite.isRemoved,
191
+ composite.removalStage) for composite in response.compositeLiner]
192
+
193
+ def setLayerCompositionTuple(self, value: list[tuple[str, bool, str, bool, str, int, bool, int]]):
194
+ """
195
+ Sets or updates the composite liner configuration for the object.
196
+
197
+ Args:
198
+ value: A list of tuples, each tuple representing a set of one liner and interface element(s) in sequence.
199
+
200
+ Each tuple must contain:
201
+ - linerName (str): Name of the liner.
202
+ - hasUpperJoint (bool): True if an upper joint exists.
203
+ - upperJointName (str): Name of the upper joint (must be a valid and unique joint name in the current RS3 project if hasUpperJoint is True). Otherwise, the value should be "None".
204
+ - hasLowerJoint (bool): True if a lower joint exists.
205
+ - lowerJointName (str): Name of the lower joint (must be a valid and unique joint name in the current RS3 project if hasLowerJoint is True). Otherwise, the value should be "None".
206
+ - installationStage (int): Stage at which the liner is installed.
207
+ - isRemoved (bool): Whether the liner is removed.
208
+ - removalStage (int): Stage at which the liner is removed; must be -1 if isRemoved is False.
209
+
210
+ Notes:
211
+ - If `hasUpperJoint` or `hasLowerJoint` is True, the corresponding joint name must be a valid and uniquely defined joint in RS3.
212
+ - If `isRemoved` is False, `removalStage` must be -1.
213
+ - The first liner in the list is considered the primary liner; its `installationStage` cannot be changed.
214
+ - No two adjacent items in the list may both be joints (i.e., no two consecutive InterfaceData elements).
215
+ - A predecessor liner cannot be removed while any successor liner is still active (installed and not yet removed).
216
+
217
+ """
218
+ request = CompositeLinerDataService_pb2.SetCompositeLinerRequest(
219
+ liningId=self._objectId,
220
+ compositeLiner=[
221
+ CompositeLinerDataService_pb2.CompositeLiner(
222
+ linerName=linerName,
223
+ hasUpperJoint=hasUpperJoint,
224
+ upperJointName=upperJointName,
225
+ hasLowerJoint=hasLowerJoint,
226
+ lowerJointName=lowerJointName,
227
+ installationStage=installationStage,
228
+ isRemoved=isRemoved,
229
+ removalStage=removalStage
230
+ )
231
+ for (
232
+ linerName,
233
+ hasUpperJoint,
234
+ upperJointName,
235
+ hasLowerJoint,
236
+ lowerJointName,
237
+ installationStage,
238
+ isRemoved,
239
+ removalStage
240
+ ) in value
241
+ ]
242
+ )
243
+
244
+ self._client.callFunction(self._liningCompositionDataService.SetCompositeLiner, request)
@@ -0,0 +1,7 @@
1
+ from rs3.properties._PropertyAccessor import PropertyAccessor
2
+ import rs3.generatedFiles.CompositeLinerService_pb2_grpc as CompositeLinerService_pb2_grpc
3
+ from rs3._client import Client
4
+ class PropertyAccessor(PropertyAccessor):
5
+ def __init__(self, client : Client, objectId : str):
6
+ super().__init__(client, objectId, CompositeLinerService_pb2_grpc.CompositeLinerServiceStub(client.channel))
7
+