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.
- rs3/ApplicationManager.py +77 -0
- rs3/ColorPicker.py +123 -0
- rs3/CommonEnums.py +16 -0
- rs3/Compute.py +105 -0
- rs3/ExternalVolume.py +48 -0
- rs3/Geometry.py +74 -0
- rs3/Model.py +795 -0
- rs3/ModelEnums.py +9 -0
- rs3/RS3Modeler.py +109 -0
- rs3/Restraints.py +91 -0
- rs3/Selection.py +123 -0
- rs3/__init__.py +18 -0
- rs3/_client.py +57 -0
- rs3/_proxyObject.py +5 -0
- rs3/generatedFiles/BFPCommonMessage_pb2.py +38 -0
- rs3/generatedFiles/BFPCommonMessage_pb2.pyi +47 -0
- rs3/generatedFiles/BFPCommonMessage_pb2_grpc.py +24 -0
- rs3/generatedFiles/BeamDataService_pb2.py +37 -0
- rs3/generatedFiles/BeamDataService_pb2.pyi +5 -0
- rs3/generatedFiles/BeamDataService_pb2_grpc.py +226 -0
- rs3/generatedFiles/BeamService_pb2.py +37 -0
- rs3/generatedFiles/BeamService_pb2.pyi +5 -0
- rs3/generatedFiles/BeamService_pb2_grpc.py +140 -0
- rs3/generatedFiles/BeamStageFactorService_pb2.py +37 -0
- rs3/generatedFiles/BeamStageFactorService_pb2.pyi +5 -0
- rs3/generatedFiles/BeamStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/BeamsResultsQueryService_pb2.py +50 -0
- rs3/generatedFiles/BeamsResultsQueryService_pb2.pyi +48 -0
- rs3/generatedFiles/BeamsResultsQueryService_pb2_grpc.py +141 -0
- rs3/generatedFiles/BoltDataService_pb2.py +37 -0
- rs3/generatedFiles/BoltDataService_pb2.pyi +5 -0
- rs3/generatedFiles/BoltDataService_pb2_grpc.py +226 -0
- rs3/generatedFiles/BoltService_pb2.py +37 -0
- rs3/generatedFiles/BoltService_pb2.pyi +5 -0
- rs3/generatedFiles/BoltService_pb2_grpc.py +140 -0
- rs3/generatedFiles/BoltsResultsQueryService_pb2.py +51 -0
- rs3/generatedFiles/BoltsResultsQueryService_pb2.pyi +75 -0
- rs3/generatedFiles/BoltsResultsQueryService_pb2_grpc.py +141 -0
- rs3/generatedFiles/ClientService_pb2.py +40 -0
- rs3/generatedFiles/ClientService_pb2.pyi +15 -0
- rs3/generatedFiles/ClientService_pb2_grpc.py +97 -0
- rs3/generatedFiles/CommonGeometryMessages_pb2.py +52 -0
- rs3/generatedFiles/CommonGeometryMessages_pb2.pyi +92 -0
- rs3/generatedFiles/CommonGeometryMessages_pb2_grpc.py +24 -0
- rs3/generatedFiles/CommonMessages_pb2.py +66 -0
- rs3/generatedFiles/CommonMessages_pb2.pyi +145 -0
- rs3/generatedFiles/CommonMessages_pb2_grpc.py +24 -0
- rs3/generatedFiles/CompositeLinerDataService_pb2.py +47 -0
- rs3/generatedFiles/CompositeLinerDataService_pb2.pyi +51 -0
- rs3/generatedFiles/CompositeLinerDataService_pb2_grpc.py +227 -0
- rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.py +63 -0
- rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.pyi +139 -0
- rs3/generatedFiles/CompositeLinerResultsQueryService_pb2_grpc.py +314 -0
- rs3/generatedFiles/CompositeLinerService_pb2.py +37 -0
- rs3/generatedFiles/CompositeLinerService_pb2.pyi +5 -0
- rs3/generatedFiles/CompositeLinerService_pb2_grpc.py +140 -0
- rs3/generatedFiles/ComputeService_pb2.py +48 -0
- rs3/generatedFiles/ComputeService_pb2.pyi +56 -0
- rs3/generatedFiles/ComputeService_pb2_grpc.py +147 -0
- rs3/generatedFiles/ExternalVolumesService_pb2.py +45 -0
- rs3/generatedFiles/ExternalVolumesService_pb2.pyi +34 -0
- rs3/generatedFiles/ExternalVolumesService_pb2_grpc.py +270 -0
- rs3/generatedFiles/FieldStressService_pb2.py +37 -0
- rs3/generatedFiles/FieldStressService_pb2.pyi +5 -0
- rs3/generatedFiles/FieldStressService_pb2_grpc.py +140 -0
- rs3/generatedFiles/FieldStressSourceService_pb2.py +85 -0
- rs3/generatedFiles/FieldStressSourceService_pb2.pyi +182 -0
- rs3/generatedFiles/FieldStressSourceService_pb2_grpc.py +657 -0
- rs3/generatedFiles/GaussPointFailureMessage_pb2.py +37 -0
- rs3/generatedFiles/GaussPointFailureMessage_pb2.pyi +14 -0
- rs3/generatedFiles/GaussPointFailureMessage_pb2_grpc.py +24 -0
- rs3/generatedFiles/HydraulicStageFactorService_pb2.py +45 -0
- rs3/generatedFiles/HydraulicStageFactorService_pb2.pyi +36 -0
- rs3/generatedFiles/HydraulicStageFactorService_pb2_grpc.py +227 -0
- rs3/generatedFiles/JointDataService_pb2.py +45 -0
- rs3/generatedFiles/JointDataService_pb2.pyi +30 -0
- rs3/generatedFiles/JointDataService_pb2_grpc.py +313 -0
- rs3/generatedFiles/JointResultsQueryService_pb2.py +54 -0
- rs3/generatedFiles/JointResultsQueryService_pb2.pyi +92 -0
- rs3/generatedFiles/JointResultsQueryService_pb2_grpc.py +141 -0
- rs3/generatedFiles/JointService_pb2.py +45 -0
- rs3/generatedFiles/JointService_pb2.pyi +30 -0
- rs3/generatedFiles/JointService_pb2_grpc.py +227 -0
- rs3/generatedFiles/JointStageFactorService_pb2.py +37 -0
- rs3/generatedFiles/JointStageFactorService_pb2.pyi +5 -0
- rs3/generatedFiles/JointStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/LinerDataService_pb2.py +37 -0
- rs3/generatedFiles/LinerDataService_pb2.pyi +5 -0
- rs3/generatedFiles/LinerDataService_pb2_grpc.py +226 -0
- rs3/generatedFiles/LinerService_pb2.py +37 -0
- rs3/generatedFiles/LinerService_pb2.pyi +5 -0
- rs3/generatedFiles/LinerService_pb2_grpc.py +140 -0
- rs3/generatedFiles/LinerStageFactorService_pb2.py +37 -0
- rs3/generatedFiles/LinerStageFactorService_pb2.pyi +5 -0
- rs3/generatedFiles/LinerStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/MaterialDataService_pb2.py +37 -0
- rs3/generatedFiles/MaterialDataService_pb2.pyi +5 -0
- rs3/generatedFiles/MaterialDataService_pb2_grpc.py +226 -0
- rs3/generatedFiles/MaterialDatumService_pb2.py +45 -0
- rs3/generatedFiles/MaterialDatumService_pb2.pyi +38 -0
- rs3/generatedFiles/MaterialDatumService_pb2_grpc.py +140 -0
- rs3/generatedFiles/MaterialHydraulicDataService_pb2.py +93 -0
- rs3/generatedFiles/MaterialHydraulicDataService_pb2.pyi +193 -0
- rs3/generatedFiles/MaterialHydraulicDataService_pb2_grpc.py +829 -0
- rs3/generatedFiles/MaterialHydraulicModelService_pb2.py +55 -0
- rs3/generatedFiles/MaterialHydraulicModelService_pb2.pyi +79 -0
- rs3/generatedFiles/MaterialHydraulicModelService_pb2_grpc.py +313 -0
- rs3/generatedFiles/MaterialInitialConditionsService_pb2.py +37 -0
- rs3/generatedFiles/MaterialInitialConditionsService_pb2.pyi +5 -0
- rs3/generatedFiles/MaterialInitialConditionsService_pb2_grpc.py +140 -0
- rs3/generatedFiles/MaterialJointService_pb2.py +49 -0
- rs3/generatedFiles/MaterialJointService_pb2.pyi +52 -0
- rs3/generatedFiles/MaterialJointService_pb2_grpc.py +183 -0
- rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2.py +69 -0
- rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2.pyi +130 -0
- rs3/generatedFiles/MaterialJointSetSlipCriterionService_pb2_grpc.py +398 -0
- rs3/generatedFiles/MaterialJointStageFactorService_pb2.py +45 -0
- rs3/generatedFiles/MaterialJointStageFactorService_pb2.pyi +42 -0
- rs3/generatedFiles/MaterialJointStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/MaterialStageFactorsService_pb2.py +37 -0
- rs3/generatedFiles/MaterialStageFactorsService_pb2.pyi +5 -0
- rs3/generatedFiles/MaterialStageFactorsService_pb2_grpc.py +140 -0
- rs3/generatedFiles/MaterialStiffnessFormulaService_pb2.py +47 -0
- rs3/generatedFiles/MaterialStiffnessFormulaService_pb2.pyi +54 -0
- rs3/generatedFiles/MaterialStiffnessFormulaService_pb2_grpc.py +140 -0
- rs3/generatedFiles/MaterialStiffnessService_pb2.py +53 -0
- rs3/generatedFiles/MaterialStiffnessService_pb2.pyi +66 -0
- rs3/generatedFiles/MaterialStiffnessService_pb2_grpc.py +313 -0
- rs3/generatedFiles/MaterialStrengthService_pb2.py +105 -0
- rs3/generatedFiles/MaterialStrengthService_pb2.pyi +243 -0
- rs3/generatedFiles/MaterialStrengthService_pb2_grpc.py +833 -0
- rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.py +47 -0
- rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.pyi +43 -0
- rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2_grpc.py +228 -0
- rs3/generatedFiles/MeshSettingsService_pb2.py +41 -0
- rs3/generatedFiles/MeshSettingsService_pb2.pyi +16 -0
- rs3/generatedFiles/MeshSettingsService_pb2_grpc.py +184 -0
- rs3/generatedFiles/ModelFunctionService_pb2.py +119 -0
- rs3/generatedFiles/ModelFunctionService_pb2.pyi +331 -0
- rs3/generatedFiles/ModelFunctionService_pb2_grpc.py +871 -0
- rs3/generatedFiles/ModelService_pb2.py +342 -0
- rs3/generatedFiles/ModelService_pb2.pyi +962 -0
- rs3/generatedFiles/ModelService_pb2_grpc.py +3322 -0
- rs3/generatedFiles/PileDataService_pb2.py +55 -0
- rs3/generatedFiles/PileDataService_pb2.pyi +63 -0
- rs3/generatedFiles/PileDataService_pb2_grpc.py +399 -0
- rs3/generatedFiles/PileForepoleResultsQueryService_pb2.py +51 -0
- rs3/generatedFiles/PileForepoleResultsQueryService_pb2.pyi +63 -0
- rs3/generatedFiles/PileForepoleResultsQueryService_pb2_grpc.py +141 -0
- rs3/generatedFiles/PileStageFactorService_pb2.py +37 -0
- rs3/generatedFiles/PileStageFactorService_pb2.pyi +5 -0
- rs3/generatedFiles/PileStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/PlainStrandCableBoltService_pb2.py +44 -0
- rs3/generatedFiles/PlainStrandCableBoltService_pb2.pyi +30 -0
- rs3/generatedFiles/PlainStrandCableBoltService_pb2_grpc.py +140 -0
- rs3/generatedFiles/ProjectSettingsDataService_pb2.py +69 -0
- rs3/generatedFiles/ProjectSettingsDataService_pb2.pyi +119 -0
- rs3/generatedFiles/ProjectSettingsDataService_pb2_grpc.py +786 -0
- rs3/generatedFiles/RFCApplicationService_pb2.py +34 -0
- rs3/generatedFiles/RFCApplicationService_pb2.pyi +27 -0
- rs3/generatedFiles/RFCApplicationService_pb2_grpc.py +145 -0
- rs3/generatedFiles/RS3ModelerService_pb2.py +50 -0
- rs3/generatedFiles/RS3ModelerService_pb2.pyi +45 -0
- rs3/generatedFiles/RS3ModelerService_pb2_grpc.py +183 -0
- rs3/generatedFiles/RelativeStageFactorService_pb2.py +40 -0
- rs3/generatedFiles/RelativeStageFactorService_pb2.pyi +17 -0
- rs3/generatedFiles/RelativeStageFactorService_pb2_grpc.py +97 -0
- rs3/generatedFiles/RestraintsService_pb2.py +62 -0
- rs3/generatedFiles/RestraintsService_pb2.pyi +84 -0
- rs3/generatedFiles/RestraintsService_pb2_grpc.py +312 -0
- rs3/generatedFiles/ResultsQueryCommonMessage_pb2.py +56 -0
- rs3/generatedFiles/ResultsQueryCommonMessage_pb2.pyi +85 -0
- rs3/generatedFiles/ResultsQueryCommonMessage_pb2_grpc.py +24 -0
- rs3/generatedFiles/ResultsQueryService_pb2.py +87 -0
- rs3/generatedFiles/ResultsQueryService_pb2.pyi +185 -0
- rs3/generatedFiles/ResultsQueryService_pb2_grpc.py +745 -0
- rs3/generatedFiles/SelectionService_pb2.py +49 -0
- rs3/generatedFiles/SelectionService_pb2.pyi +51 -0
- rs3/generatedFiles/SelectionService_pb2_grpc.py +269 -0
- rs3/generatedFiles/SolidsResultsQueryService_pb2.py +93 -0
- rs3/generatedFiles/SolidsResultsQueryService_pb2.pyi +213 -0
- rs3/generatedFiles/SolidsResultsQueryService_pb2_grpc.py +195 -0
- rs3/generatedFiles/StageFactorService_pb2.py +58 -0
- rs3/generatedFiles/StageFactorService_pb2.pyi +79 -0
- rs3/generatedFiles/StageFactorService_pb2_grpc.py +226 -0
- rs3/generatedFiles/StiffnessStageFactorService_pb2.py +37 -0
- rs3/generatedFiles/StiffnessStageFactorService_pb2.pyi +5 -0
- rs3/generatedFiles/StiffnessStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/StrengthStageFactorService_pb2.py +37 -0
- rs3/generatedFiles/StrengthStageFactorService_pb2.pyi +5 -0
- rs3/generatedFiles/StrengthStageFactorService_pb2_grpc.py +140 -0
- rs3/generatedFiles/WaterByLocationDataService_pb2.py +61 -0
- rs3/generatedFiles/WaterByLocationDataService_pb2.pyi +95 -0
- rs3/generatedFiles/WaterByLocationDataService_pb2_grpc.py +312 -0
- rs3/generatedFiles/WaterPressureGridDataService_pb2.py +63 -0
- rs3/generatedFiles/WaterPressureGridDataService_pb2.pyi +107 -0
- rs3/generatedFiles/WaterPressureGridDataService_pb2_grpc.py +312 -0
- rs3/generatedFiles/__init__.py +3 -0
- rs3/loadings/LoadingEnums.py +6 -0
- rs3/loadings/Loadings.py +15 -0
- rs3/loadings/__init__.py +0 -0
- rs3/loadings/fieldStress/AdvancedConstant.py +115 -0
- rs3/loadings/fieldStress/AdvancedGravity.py +176 -0
- rs3/loadings/fieldStress/Constant.py +119 -0
- rs3/loadings/fieldStress/FieldStress.py +38 -0
- rs3/loadings/fieldStress/Gravity.py +206 -0
- rs3/loadings/fieldStress/_PropertyAccessor.py +41 -0
- rs3/loadings/fieldStress/__init__.py +0 -0
- rs3/mesh/Graded.py +59 -0
- rs3/mesh/Mesh.py +50 -0
- rs3/mesh/MeshEnums.py +16 -0
- rs3/mesh/Uniform.py +35 -0
- rs3/mesh/_PropertyAccessor.py +10 -0
- rs3/mesh/__init__.py +0 -0
- rs3/projectSettings/Dynamic.py +110 -0
- rs3/projectSettings/Groundwater.py +118 -0
- rs3/projectSettings/ProjectSettingEnums.py +108 -0
- rs3/projectSettings/ProjectSettings.py +43 -0
- rs3/projectSettings/ShearStrengthReduction.py +130 -0
- rs3/projectSettings/SolverOptions.py +88 -0
- rs3/projectSettings/Stages.py +162 -0
- rs3/projectSettings/StressAnalysis.py +183 -0
- rs3/projectSettings/Units.py +82 -0
- rs3/projectSettings/_PropertyAccessor.py +133 -0
- rs3/projectSettings/__init__.py +0 -0
- rs3/properties/CustomHydraulicModel.py +129 -0
- rs3/properties/DiscreteFunction.py +147 -0
- rs3/properties/GeneralizedAnisotropicFunction.py +98 -0
- rs3/properties/IPropertyGroupAccessors.py +12 -0
- rs3/properties/PropertyEnums.py +387 -0
- rs3/properties/ShearNormalFunction.py +94 -0
- rs3/properties/SnowdenStrengthFunction.py +115 -0
- rs3/properties/_PropertyAccessor.py +111 -0
- rs3/properties/__init__.py +0 -0
- rs3/properties/beam/Beam.py +86 -0
- rs3/properties/beam/BeamCommon.py +175 -0
- rs3/properties/beam/Standard.py +97 -0
- rs3/properties/beam/Truss.py +23 -0
- rs3/properties/beam/_PropertyAccessor.py +9 -0
- rs3/properties/beam/__init__.py +0 -0
- rs3/properties/bolt/Bolt.py +81 -0
- rs3/properties/bolt/EndAnchored.py +77 -0
- rs3/properties/bolt/FullyBonded.py +78 -0
- rs3/properties/bolt/PlainStrandCable.py +151 -0
- rs3/properties/bolt/Swellex.py +106 -0
- rs3/properties/bolt/Tieback.py +176 -0
- rs3/properties/bolt/_PropertyAccessor.py +7 -0
- rs3/properties/bolt/__init__.py +0 -0
- rs3/properties/groundwater/WaterByLocation.py +83 -0
- rs3/properties/groundwater/WaterGrid.py +120 -0
- rs3/properties/groundwater/_PropertyAccessor.py +36 -0
- rs3/properties/groundwater/__init__.py +0 -0
- rs3/properties/joint/BartonBandis.py +118 -0
- rs3/properties/joint/GeosyntheticHyperbolic.py +158 -0
- rs3/properties/joint/Joint.py +176 -0
- rs3/properties/joint/MaterialDependent.py +107 -0
- rs3/properties/joint/MohrCoulomb.py +169 -0
- rs3/properties/joint/NoneSlip.py +68 -0
- rs3/properties/joint/_PropertyAccessor.py +9 -0
- rs3/properties/joint/__init__.py +0 -0
- rs3/properties/liner/Geosynthetic.py +85 -0
- rs3/properties/liner/Liner.py +83 -0
- rs3/properties/liner/ReinforcedConcrete.py +216 -0
- rs3/properties/liner/Standard.py +183 -0
- rs3/properties/liner/_PropertyAccessor.py +7 -0
- rs3/properties/liner/__init__.py +0 -0
- rs3/properties/liningComposition/LiningComposition.py +244 -0
- rs3/properties/liningComposition/_PropertyAccessor.py +7 -0
- rs3/properties/liningComposition/__init__.py +0 -0
- rs3/properties/material/Material.py +74 -0
- rs3/properties/material/__init__.py +0 -0
- rs3/properties/material/constitutiveModel/AnisotropicLinear.py +149 -0
- rs3/properties/material/constitutiveModel/AnisotropicLinearPlanarBase.py +72 -0
- rs3/properties/material/constitutiveModel/BarcelonaBasic.py +158 -0
- rs3/properties/material/constitutiveModel/BartonBandis.py +77 -0
- rs3/properties/material/constitutiveModel/BaseConstitutiveModel.py +11 -0
- rs3/properties/material/constitutiveModel/BoundingSurfacePlasticity.py +88 -0
- rs3/properties/material/constitutiveModel/CamClay.py +144 -0
- rs3/properties/material/constitutiveModel/ChSoil.py +111 -0
- rs3/properties/material/constitutiveModel/ConstitutiveModel.py +87 -0
- rs3/properties/material/constitutiveModel/CySoil.py +137 -0
- rs3/properties/material/constitutiveModel/DiscreteFunction.py +39 -0
- rs3/properties/material/constitutiveModel/DoubleYield.py +130 -0
- rs3/properties/material/constitutiveModel/DruckerPrager.py +136 -0
- rs3/properties/material/constitutiveModel/GeneralizedAnisotropic.py +39 -0
- rs3/properties/material/constitutiveModel/GeneralizedHoekBrown.py +226 -0
- rs3/properties/material/constitutiveModel/HardeningSoil.py +156 -0
- rs3/properties/material/constitutiveModel/HardeningSoilWithSmallStrain.py +170 -0
- rs3/properties/material/constitutiveModel/HoekBrown.py +125 -0
- rs3/properties/material/constitutiveModel/Hyperbolic.py +77 -0
- rs3/properties/material/constitutiveModel/JointedGeneralizedHoekBrown.py +184 -0
- rs3/properties/material/constitutiveModel/JointedMohrCoulomb.py +173 -0
- rs3/properties/material/constitutiveModel/ManzariAndDafalias.py +148 -0
- rs3/properties/material/constitutiveModel/ModifiedCamClay.py +11 -0
- rs3/properties/material/constitutiveModel/MohrCoulomb.py +147 -0
- rs3/properties/material/constitutiveModel/MohrCoulombUnsaturatedZoneCalculations.py +80 -0
- rs3/properties/material/constitutiveModel/MohrCoulombWithCap.py +154 -0
- rs3/properties/material/constitutiveModel/Norsand.py +146 -0
- rs3/properties/material/constitutiveModel/PowerCurve.py +119 -0
- rs3/properties/material/constitutiveModel/Shansep.py +214 -0
- rs3/properties/material/constitutiveModel/ShearNormalFunction.py +34 -0
- rs3/properties/material/constitutiveModel/SnowdenAnisotropicLinear.py +108 -0
- rs3/properties/material/constitutiveModel/SoftSoil.py +104 -0
- rs3/properties/material/constitutiveModel/SoftSoilCreep.py +111 -0
- rs3/properties/material/constitutiveModel/SofteningHardening.py +214 -0
- rs3/properties/material/constitutiveModel/SwellingRock.py +202 -0
- rs3/properties/material/constitutiveModel/UnsaturatedZoneCalculations.py +138 -0
- rs3/properties/material/constitutiveModel/VerticalStressRatio.py +113 -0
- rs3/properties/material/constitutiveModel/_PropertyAccessor.py +96 -0
- rs3/properties/material/constitutiveModel/__init__.py +0 -0
- rs3/properties/material/constitutiveModel/jointOption/BartonBandis.py +109 -0
- rs3/properties/material/constitutiveModel/jointOption/MaterialJoint.py +48 -0
- rs3/properties/material/constitutiveModel/jointOption/MaterialJointOptions.py +32 -0
- rs3/properties/material/constitutiveModel/jointOption/MohrCoulomb.py +142 -0
- rs3/properties/material/constitutiveModel/jointOption/PlaneOrientationBase.py +92 -0
- rs3/properties/material/constitutiveModel/jointOption/SimpleHyperbolic.py +112 -0
- rs3/properties/material/constitutiveModel/jointOption/_PropertyAccessor.py +61 -0
- rs3/properties/material/constitutiveModel/jointOption/__init__.py +0 -0
- rs3/properties/material/constitutiveModel/stiffness/BaseStiffness.py +11 -0
- rs3/properties/material/constitutiveModel/stiffness/DuncanChangHyperbolic.py +128 -0
- rs3/properties/material/constitutiveModel/stiffness/GeneralizedHoekBrownEstimation.py +50 -0
- rs3/properties/material/constitutiveModel/stiffness/LinearIsotropic.py +106 -0
- rs3/properties/material/constitutiveModel/stiffness/NonlinearIsotropic.py +104 -0
- rs3/properties/material/constitutiveModel/stiffness/Orthotropic.py +296 -0
- rs3/properties/material/constitutiveModel/stiffness/TransverselyIsotropic.py +186 -0
- rs3/properties/material/constitutiveModel/stiffness/_PropertyAccessor.py +33 -0
- rs3/properties/material/constitutiveModel/stiffness/__init__.py +0 -0
- rs3/properties/material/constitutiveModel/stiffness/formula/Formula1.py +96 -0
- rs3/properties/material/constitutiveModel/stiffness/formula/Formula2.py +136 -0
- rs3/properties/material/constitutiveModel/stiffness/formula/Formula3.py +113 -0
- rs3/properties/material/constitutiveModel/stiffness/formula/_PropertyAccessor.py +37 -0
- rs3/properties/material/constitutiveModel/stiffness/formula/__init__.py +0 -0
- rs3/properties/material/datum/CohesionDatumDependency.py +99 -0
- rs3/properties/material/datum/Datum.py +23 -0
- rs3/properties/material/datum/FrictionAngleDatumDependency.py +99 -0
- rs3/properties/material/datum/YoungsModulusDatumDependency.py +78 -0
- rs3/properties/material/datum/_PropertyAccessor.py +26 -0
- rs3/properties/material/datum/__init__.py +0 -0
- rs3/properties/material/hydraulic/FEAGroundwater/Brooks.py +71 -0
- rs3/properties/material/hydraulic/FEAGroundwater/Custom.py +79 -0
- rs3/properties/material/hydraulic/FEAGroundwater/FEAGroundwater.py +85 -0
- rs3/properties/material/hydraulic/FEAGroundwater/Fredlund.py +82 -0
- rs3/properties/material/hydraulic/FEAGroundwater/Gardner.py +72 -0
- rs3/properties/material/hydraulic/FEAGroundwater/HydraulicMethodVectors.py +97 -0
- rs3/properties/material/hydraulic/FEAGroundwater/HydraulicParametersCommon.py +157 -0
- rs3/properties/material/hydraulic/FEAGroundwater/Simple.py +37 -0
- rs3/properties/material/hydraulic/FEAGroundwater/VanGenuchten.py +94 -0
- rs3/properties/material/hydraulic/FEAGroundwater/_PropertyAccessor.py +16 -0
- rs3/properties/material/hydraulic/FEAGroundwater/__init__.py +0 -0
- rs3/properties/material/hydraulic/Hydraulic.py +111 -0
- rs3/properties/material/hydraulic/PhreaticConditions.py +37 -0
- rs3/properties/material/hydraulic/StaticGroundwater.py +100 -0
- rs3/properties/material/hydraulic/WaterConditions.py +110 -0
- rs3/properties/material/hydraulic/_PropertyAccessor.py +31 -0
- rs3/properties/material/hydraulic/__init__.py +0 -0
- rs3/properties/material/initialConditions/InitialConditions.py +108 -0
- rs3/properties/material/initialConditions/_PropertyAccessor.py +11 -0
- rs3/properties/material/initialConditions/__init__.py +0 -0
- rs3/properties/material/stageFactors/StageFactors.py +77 -0
- rs3/properties/material/stageFactors/_PropertyAccessor.py +7 -0
- rs3/properties/material/stageFactors/__init__.py +0 -0
- rs3/properties/pile/EndCondition.py +109 -0
- rs3/properties/pile/Linear.py +69 -0
- rs3/properties/pile/MohrCoulomb.py +123 -0
- rs3/properties/pile/MultiLinear.py +70 -0
- rs3/properties/pile/Pile.py +108 -0
- rs3/properties/pile/PileCommon.py +99 -0
- rs3/properties/pile/_PropertyAccessor.py +9 -0
- rs3/properties/pile/__init__.py +0 -0
- rs3/properties/stageFactors/IStageFactorBase.py +10 -0
- rs3/properties/stageFactors/StageFactorBaseInterfaces.py +24 -0
- rs3/properties/stageFactors/StageFactorInterfaces.py +70 -0
- rs3/properties/stageFactors/_StageFactorInterface.py +48 -0
- rs3/properties/stageFactors/_StageFactorPropertyAccessor.py +18 -0
- rs3/properties/stageFactors/__init__.py +0 -0
- rs3/results/BeamResults.py +181 -0
- rs3/results/BoltResults.py +214 -0
- rs3/results/CompositeLinerResults.py +374 -0
- rs3/results/JointResults.py +160 -0
- rs3/results/PileForepoleResults.py +219 -0
- rs3/results/ResultEnums.py +146 -0
- rs3/results/Results.py +661 -0
- rs3/results/ResultsCommon.py +66 -0
- rs3/results/SolidElementResults.py +175 -0
- rs3/results/SolidNodalResults.py +248 -0
- rs3/results/SolidResults.py +206 -0
- rs3/results/YieldedElement.py +33 -0
- rs3/results/__init__.py +0 -0
- rs3scripting-4.42.0.dist-info/METADATA +70 -0
- rs3scripting-4.42.0.dist-info/RECORD +393 -0
- rs3scripting-4.42.0.dist-info/WHEEL +5 -0
- rs3scripting-4.42.0.dist-info/licenses/License.txt +20 -0
- 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
|
+
|
rs3/results/__init__.py
ADDED
|
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
|