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,99 @@
|
|
|
1
|
+
# Generated by RPCBinder in RFC_Common.
|
|
2
|
+
from rs3._client import Client
|
|
3
|
+
from ._PropertyAccessor import PropertyAccessor
|
|
4
|
+
from rs3._proxyObject import _ProxyObject
|
|
5
|
+
from rs3.properties.IPropertyGroupAccessors import IPropertyGroupAccessors
|
|
6
|
+
from rs3.properties.stageFactors.IStageFactorBase import IStageFactorBase
|
|
7
|
+
import rs3.generatedFiles.PileStageFactorService_pb2_grpc as PileStageFactorService_pb2_grpc
|
|
8
|
+
class PileCommonBase(_ProxyObject, IPropertyGroupAccessors):
|
|
9
|
+
def __init__(self, client: Client, id: str):
|
|
10
|
+
super().__init__(client, id)
|
|
11
|
+
self._propertyAccessor = PropertyAccessor(client, id)
|
|
12
|
+
def getShearStiffness(self) -> float:
|
|
13
|
+
return self._propertyAccessor.getDoubleProperty("ShearStiffness")
|
|
14
|
+
def setShearStiffness(self, value: float):
|
|
15
|
+
self._propertyAccessor.setDoubleProperty("ShearStiffness", value)
|
|
16
|
+
def getNormalStiffness(self) -> float:
|
|
17
|
+
return self._propertyAccessor.getDoubleProperty("NormalStiffness")
|
|
18
|
+
def setNormalStiffness(self, value: float):
|
|
19
|
+
self._propertyAccessor.setDoubleProperty("NormalStiffness", value)
|
|
20
|
+
def getUsingPileProperties(self) -> bool:
|
|
21
|
+
return self._propertyAccessor.getBoolValue("IsPile")
|
|
22
|
+
def setUsingPileProperties(self, value: bool):
|
|
23
|
+
self._propertyAccessor.setBoolValue("IsPile", value)
|
|
24
|
+
def getBaseNormalStiffness(self) -> float:
|
|
25
|
+
return self._propertyAccessor.getDoubleProperty("BaseNormalStiffness")
|
|
26
|
+
def setBaseNormalStiffness(self, value: float):
|
|
27
|
+
self._propertyAccessor.setDoubleProperty("BaseNormalStiffness", value)
|
|
28
|
+
def getBaseForceResistance(self) -> float:
|
|
29
|
+
return self._propertyAccessor.getDoubleProperty("BaseForceResistance")
|
|
30
|
+
def setBaseForceResistance(self, value: float):
|
|
31
|
+
self._propertyAccessor.setDoubleProperty("BaseForceResistance", value)
|
|
32
|
+
def getProperties(self):
|
|
33
|
+
return {
|
|
34
|
+
"ShearStiffness": self.getShearStiffness(),
|
|
35
|
+
"NormalStiffness": self.getNormalStiffness(),
|
|
36
|
+
"UsingPileProperties": self.getUsingPileProperties(),
|
|
37
|
+
"BaseNormalStiffness": self.getBaseNormalStiffness(),
|
|
38
|
+
"BaseForceResistance": self.getBaseForceResistance(),
|
|
39
|
+
}
|
|
40
|
+
def setProperties(self, ShearStiffness: float = None, NormalStiffness: float = None, UsingPileProperties: bool = None, BaseNormalStiffness: float = None, BaseForceResistance: float = None):
|
|
41
|
+
if ShearStiffness is not None:
|
|
42
|
+
self.setShearStiffness(ShearStiffness)
|
|
43
|
+
if NormalStiffness is not None:
|
|
44
|
+
self.setNormalStiffness(NormalStiffness)
|
|
45
|
+
if UsingPileProperties is not None:
|
|
46
|
+
self.setUsingPileProperties(UsingPileProperties)
|
|
47
|
+
if BaseNormalStiffness is not None:
|
|
48
|
+
self.setBaseNormalStiffness(BaseNormalStiffness)
|
|
49
|
+
if BaseForceResistance is not None:
|
|
50
|
+
self.setBaseForceResistance(BaseForceResistance)
|
|
51
|
+
class PileCommonStageFactorBase(IStageFactorBase):
|
|
52
|
+
def __init__(self, id : str, stageFactorID : str, client : Client):
|
|
53
|
+
super().__init__(id, stageFactorID, client, PileStageFactorService_pb2_grpc.PileStageFactorServiceStub(client.channel))
|
|
54
|
+
def getEndConditionFactor(self) -> float:
|
|
55
|
+
return self._stageFactorPropertyAccessor.getDoubleProperty("Common_Force")
|
|
56
|
+
def getShearStiffnessFactor(self) -> float:
|
|
57
|
+
return self._stageFactorPropertyAccessor.getDoubleProperty("Common_ShearStiffness")
|
|
58
|
+
def getNormalStiffnessFactor(self) -> float:
|
|
59
|
+
return self._stageFactorPropertyAccessor.getDoubleProperty("Common_NormalStiffness")
|
|
60
|
+
def getBaseStiffnessFactor(self) -> float:
|
|
61
|
+
return self._stageFactorPropertyAccessor.getDoubleProperty("Common_BaseStiffness")
|
|
62
|
+
def getBaseResistanceFactor(self) -> float:
|
|
63
|
+
return self._stageFactorPropertyAccessor.getDoubleProperty("Common_BaseResistance")
|
|
64
|
+
class PileCommonDefinedStageFactorBase(PileCommonStageFactorBase):
|
|
65
|
+
def setEndConditionFactor(self, value: float):
|
|
66
|
+
self._stageFactorPropertyAccessor.setDoubleProperty("Common_Force", value)
|
|
67
|
+
def setShearStiffnessFactor(self, value: float):
|
|
68
|
+
self._stageFactorPropertyAccessor.setDoubleProperty("Common_ShearStiffness", value)
|
|
69
|
+
def setNormalStiffnessFactor(self, value: float):
|
|
70
|
+
self._stageFactorPropertyAccessor.setDoubleProperty("Common_NormalStiffness", value)
|
|
71
|
+
def setBaseStiffnessFactor(self, value: float):
|
|
72
|
+
self._stageFactorPropertyAccessor.setDoubleProperty("Common_BaseStiffness", value)
|
|
73
|
+
def setBaseResistanceFactor(self, value: float):
|
|
74
|
+
self._stageFactorPropertyAccessor.setDoubleProperty("Common_BaseResistance", value)
|
|
75
|
+
|
|
76
|
+
################ Code below this line will not be overridden ################
|
|
77
|
+
from rs3.properties.PropertyEnums import *
|
|
78
|
+
class PileCommonStageFactor(PileCommonStageFactorBase):
|
|
79
|
+
"""
|
|
80
|
+
Examples:
|
|
81
|
+
See :ref:`pile_example`.
|
|
82
|
+
"""
|
|
83
|
+
def __init__(self, id: str, stageFactorId: str, client: Client):
|
|
84
|
+
super().__init__(id, stageFactorId, client)
|
|
85
|
+
|
|
86
|
+
class PileCommonDefinedStageFactor(PileCommonStageFactor, PileCommonDefinedStageFactorBase):
|
|
87
|
+
"""
|
|
88
|
+
Examples:
|
|
89
|
+
See :ref:`pile_example`.
|
|
90
|
+
"""
|
|
91
|
+
pass
|
|
92
|
+
|
|
93
|
+
class PileCommon(PileCommonBase):
|
|
94
|
+
"""
|
|
95
|
+
Examples:
|
|
96
|
+
See :ref:`pile_example`.
|
|
97
|
+
"""
|
|
98
|
+
def __init__(self, client: Client, id: str):
|
|
99
|
+
super().__init__(client, id)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from rs3.properties._PropertyAccessor import PropertyAccessor
|
|
2
|
+
import rs3.generatedFiles.PileDataService_pb2_grpc as PileDataService_pb2_grpc
|
|
3
|
+
from rs3._client import Client
|
|
4
|
+
class PropertyAccessor(PropertyAccessor):
|
|
5
|
+
def __init__(self, client : Client, objectId : str, serviceStub = None):
|
|
6
|
+
if serviceStub is None:
|
|
7
|
+
serviceStub = PileDataService_pb2_grpc.PileDataServiceStub(client.channel)
|
|
8
|
+
super().__init__(client, objectId, serviceStub)
|
|
9
|
+
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
from rs3.properties.stageFactors._StageFactorPropertyAccessor import StageFactorPropertyAccessor
|
|
3
|
+
from rs3._proxyObject import _ProxyObject
|
|
4
|
+
|
|
5
|
+
class IStageFactorBase(_ProxyObject) :
|
|
6
|
+
def __init__(self, parentID : str, stageFactorID : str, client : Client, stub):
|
|
7
|
+
super().__init__(client, stageFactorID)
|
|
8
|
+
self.parentID = parentID
|
|
9
|
+
self._stub = stub
|
|
10
|
+
self._stageFactorPropertyAccessor = StageFactorPropertyAccessor(parentID, stageFactorID, client, stub)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from rs3.properties.stageFactors._StageFactorInterface import _AbsoluteStageFactorInterface
|
|
2
|
+
from rs3.properties.PropertyEnums import *
|
|
3
|
+
from rs3._client import Client
|
|
4
|
+
from typing import TypeVar
|
|
5
|
+
|
|
6
|
+
DefinedStageFactor = TypeVar('DefinedStageFactor')
|
|
7
|
+
StageFactor = TypeVar('StageFactor')
|
|
8
|
+
|
|
9
|
+
class AbsoluteStageFactorInterface(_AbsoluteStageFactorInterface[DefinedStageFactor, StageFactor]):
|
|
10
|
+
def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass, useJointOptions : bool = False, materialId : str = None):
|
|
11
|
+
super().__init__(propertyID, client, definedStageFactorClass, stageFactorClass, useJointOptions, materialId)
|
|
12
|
+
|
|
13
|
+
def getDefinedStageFactors(self) -> dict[int, DefinedStageFactor]:
|
|
14
|
+
"""
|
|
15
|
+
Returns a map of stage factors. The key is the absolute or relative stage at which the stage factor is applied. The value is the stage factor object
|
|
16
|
+
"""
|
|
17
|
+
return self._getDefinedStageFactors()
|
|
18
|
+
|
|
19
|
+
def getStageFactor(self, stage : int) -> StageFactor:
|
|
20
|
+
"""
|
|
21
|
+
Returns the stage factor for the given stage.
|
|
22
|
+
"""
|
|
23
|
+
return self._getStageFactor(stage)
|
|
24
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import rs3.generatedFiles.StageFactorService_pb2 as StageFactorService_pb2
|
|
2
|
+
import rs3.generatedFiles.RelativeStageFactorService_pb2 as RelativeStageFactorService_pb2
|
|
3
|
+
import rs3.generatedFiles.RelativeStageFactorService_pb2_grpc as RelativeStageFactorService_pb2_grpc
|
|
4
|
+
from rs3.properties.stageFactors.StageFactorBaseInterfaces import AbsoluteStageFactorInterface as StageFactorBaseInterfaces
|
|
5
|
+
from rs3.properties.PropertyEnums import *
|
|
6
|
+
from rs3._client import Client
|
|
7
|
+
from typing import TypeVar
|
|
8
|
+
|
|
9
|
+
DefinedStageFactor = TypeVar('DefinedStageFactor')
|
|
10
|
+
StageFactor = TypeVar('StageFactor')
|
|
11
|
+
|
|
12
|
+
class AbsoluteStageFactorInterface(StageFactorBaseInterfaces[DefinedStageFactor, StageFactor]):
|
|
13
|
+
def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass, useJointOptions : bool = False, materialId : str = None):
|
|
14
|
+
super().__init__(propertyID, client, definedStageFactorClass, stageFactorClass, useJointOptions, materialId)
|
|
15
|
+
|
|
16
|
+
def createStageFactor(self, stage : int) -> DefinedStageFactor:
|
|
17
|
+
"""
|
|
18
|
+
Creates a stage factor for the given stage.
|
|
19
|
+
|
|
20
|
+
Note:
|
|
21
|
+
Invalidates any existing stage factor proxies. Get them again using getDefinedStageFactors or getStageFactor.
|
|
22
|
+
"""
|
|
23
|
+
return self._createStageFactor(stage)
|
|
24
|
+
|
|
25
|
+
def setDefinedStageFactors(self, stageFactors : dict[int, StageFactor]):
|
|
26
|
+
"""
|
|
27
|
+
Sets the defined stage factors to those given.
|
|
28
|
+
|
|
29
|
+
Note:
|
|
30
|
+
Invalidates any existing stage factor proxies. Get them again using getDefinedStageFactors or getStageFactor.
|
|
31
|
+
"""
|
|
32
|
+
convertedStageFactors = {}
|
|
33
|
+
for stageNum, stageFactor in stageFactors.items():
|
|
34
|
+
convertedStageFactors[stageNum] = StageFactorService_pb2.StageFactorProperty(stageFactorID = stageFactor._objectId)
|
|
35
|
+
self._setDefinedStageFactors(StageFactorMethodType.ABSOLUTE_STAGE_FACTOR, convertedStageFactors)
|
|
36
|
+
|
|
37
|
+
def getStageFactorMethod(self) -> StageFactorMethodType:
|
|
38
|
+
"""
|
|
39
|
+
Returns the method used when defining stage factors.
|
|
40
|
+
"""
|
|
41
|
+
return StageFactorMethodType.ABSOLUTE_STAGE_FACTOR
|
|
42
|
+
|
|
43
|
+
class RelativeStageFactorInterface(AbsoluteStageFactorInterface[DefinedStageFactor, StageFactor]):
|
|
44
|
+
def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass):
|
|
45
|
+
super().__init__(propertyID, client, definedStageFactorClass, stageFactorClass)
|
|
46
|
+
self._relativeStageFactorServiceStub = RelativeStageFactorService_pb2_grpc.RelativeStageFactorServiceStub(self._client.channel)
|
|
47
|
+
def _getIsRelativeStaging(self) -> bool:
|
|
48
|
+
getIsRelativeStagingRequest = RelativeStageFactorService_pb2.GetIsRelativeStagingRequest(propertyID = self._propertyID)
|
|
49
|
+
getIsRelativeStagingResponse : RelativeStageFactorService_pb2.GetIsRelativeStagingResponse = self._client.callFunction(self._relativeStageFactorServiceStub.GetIsRelativeStaging, getIsRelativeStagingRequest)
|
|
50
|
+
return getIsRelativeStagingResponse.isRelativeStaging
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def setDefinedStageFactors(self, method : StageFactorMethodType, stageFactors : dict[int, StageFactor]):
|
|
54
|
+
"""
|
|
55
|
+
Sets the defined stage factors to those given. The method indicates if the stages in the keys of the map are absolute or relative.
|
|
56
|
+
|
|
57
|
+
Note:
|
|
58
|
+
- Invalidates any existing stage factor proxies. Get them again using getDefinedStageFactors or getStageFactor.
|
|
59
|
+
- If the 'stageFactors' dictionary is empty (stageFactors = {}), the stage factor at the installed stage (stage 0) will remain, and its factor values will be reset to their defaults.
|
|
60
|
+
"""
|
|
61
|
+
convertedStageFactors = {}
|
|
62
|
+
for stageNum, stageFactor in stageFactors.items():
|
|
63
|
+
convertedStageFactors[stageNum] = StageFactorService_pb2.StageFactorProperty(stageFactorID = stageFactor._objectId)
|
|
64
|
+
self._setDefinedStageFactors(method, convertedStageFactors)
|
|
65
|
+
|
|
66
|
+
def getStageFactorMethod(self) -> StageFactorMethodType:
|
|
67
|
+
"""
|
|
68
|
+
Returns the method used when defining stage factors.
|
|
69
|
+
"""
|
|
70
|
+
return StageFactorMethodType.RELATIVE_STAGE_FACTOR if self._getIsRelativeStaging() else StageFactorMethodType.ABSOLUTE_STAGE_FACTOR
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import rs3.generatedFiles.StageFactorService_pb2 as StageFactorService_pb2
|
|
2
|
+
import rs3.generatedFiles.StageFactorService_pb2_grpc as StageFactorService_pb2_grpc
|
|
3
|
+
from rs3.properties.PropertyEnums import *
|
|
4
|
+
from rs3._client import Client
|
|
5
|
+
from typing import TypeVar, Generic
|
|
6
|
+
|
|
7
|
+
DefinedStageFactor = TypeVar('DefinedStageFactor')
|
|
8
|
+
StageFactor = TypeVar('StageFactor')
|
|
9
|
+
|
|
10
|
+
class _AbsoluteStageFactorInterface(Generic[DefinedStageFactor, StageFactor]):
|
|
11
|
+
def __init__(self, propertyID : str, client : Client, definedStageFactorClass, stageFactorClass, useJointOptions : bool = False, materialId : str = None):
|
|
12
|
+
self._propertyID = propertyID
|
|
13
|
+
self._client = client
|
|
14
|
+
self._definedStageFactorClass = definedStageFactorClass
|
|
15
|
+
self._stageFactorClass = stageFactorClass
|
|
16
|
+
self._stageFactorServiceStub = StageFactorService_pb2_grpc.StageFactorServiceStub(self._client.channel)
|
|
17
|
+
self._useJointOptions = useJointOptions
|
|
18
|
+
self._materialId = materialId
|
|
19
|
+
|
|
20
|
+
def _getDefinedStageFactors(self) -> dict[int, DefinedStageFactor]:
|
|
21
|
+
getDefinedStageFactorsRequest = StageFactorService_pb2.GetDefinedStageFactorsRequest(propertyID = self._propertyID)
|
|
22
|
+
getDefinedStageFactorsResponse : StageFactorService_pb2.GetDefinedStageFactorsResponse = self._client.callFunction(self._stageFactorServiceStub.GetDefinedStageFactors, getDefinedStageFactorsRequest)
|
|
23
|
+
definedStageFactors = {}
|
|
24
|
+
if(self._useJointOptions):
|
|
25
|
+
for stageFactorProp in getDefinedStageFactorsResponse.stageFactors:
|
|
26
|
+
definedStageFactors[stageFactorProp.stageAppliedTo] = self._definedStageFactorClass(self._propertyID, stageFactorProp.stageFactorID, self._client, self._materialId)
|
|
27
|
+
else:
|
|
28
|
+
for stageFactorProp in getDefinedStageFactorsResponse.stageFactors:
|
|
29
|
+
definedStageFactors[stageFactorProp.stageAppliedTo] = self._definedStageFactorClass(self._propertyID, stageFactorProp.stageFactorID, self._client)
|
|
30
|
+
return definedStageFactors
|
|
31
|
+
def _getStageFactor(self, stage : int) -> StageFactor:
|
|
32
|
+
getStageFactorRequest = StageFactorService_pb2.GetStageFactorRequest(propertyID = self._propertyID, stage = stage)
|
|
33
|
+
if(self._useJointOptions):
|
|
34
|
+
getStageFactorResponse : StageFactorService_pb2.GetStageFactorResponse = self._client.callFunction(self._stageFactorServiceStub.GetStageFactor, getStageFactorRequest)
|
|
35
|
+
return self._stageFactorClass(self._propertyID, getStageFactorResponse.stageFactor.stageFactorID, self._client, self._materialId)
|
|
36
|
+
else:
|
|
37
|
+
getStageFactorResponse : StageFactorService_pb2.GetStageFactorResponse = self._client.callFunction(self._stageFactorServiceStub.GetStageFactor, getStageFactorRequest)
|
|
38
|
+
return self._stageFactorClass(self._propertyID, getStageFactorResponse.stageFactor.stageFactorID, self._client)
|
|
39
|
+
def _createStageFactor(self, stage : int) -> DefinedStageFactor:
|
|
40
|
+
createStageFactorRequest = StageFactorService_pb2.CreateStageFactorRequest(propertyID = self._propertyID, stage = stage, useJointOptions=self._useJointOptions)
|
|
41
|
+
createStageFactorResponse : StageFactorService_pb2.CreateStageFactorResponse = self._client.callFunction(self._stageFactorServiceStub.CreateStageFactor, createStageFactorRequest)
|
|
42
|
+
if(self._useJointOptions):
|
|
43
|
+
return self._definedStageFactorClass(self._propertyID, createStageFactorResponse.stageFactor.stageFactorID, self._client, self._materialId)
|
|
44
|
+
else:
|
|
45
|
+
return self._definedStageFactorClass(self._propertyID, createStageFactorResponse.stageFactor.stageFactorID, self._client)
|
|
46
|
+
def _setDefinedStageFactors(self, method : StageFactorMethodType, stageFactors : dict[int, StageFactorService_pb2.StageFactorProperty]):
|
|
47
|
+
setDefinedStageFactorsRequest = StageFactorService_pb2.SetDefinedStageFactorsRequest(propertyID = self._propertyID, stageFactorDictionary = stageFactors, isRelativeStageFactors = method == StageFactorMethodType.RELATIVE_STAGE_FACTOR, useJointOptions=self._useJointOptions)
|
|
48
|
+
self._client.callFunction(self._stageFactorServiceStub.SetDefinedStageFactors, setDefinedStageFactorsRequest)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import rs3.generatedFiles.CommonMessages_pb2 as CommonMessages_pb2
|
|
2
|
+
from rs3._client import Client
|
|
3
|
+
from rs3.properties._PropertyAccessor import PropertyAccessor
|
|
4
|
+
|
|
5
|
+
class StageFactorPropertyAccessor(PropertyAccessor):
|
|
6
|
+
def __init__(self, parentObjectId: str, stageFactorId : str, client: Client, stub):
|
|
7
|
+
super().__init__(client, parentObjectId, stub)
|
|
8
|
+
self.stageFactorId = stageFactorId
|
|
9
|
+
|
|
10
|
+
def _getProperty(self, propertyName: str) -> CommonMessages_pb2.PropertyValue:
|
|
11
|
+
request = CommonMessages_pb2.GetStageFactorPropertyRequest(propertyId=self.objectId, stageFactorId=self.stageFactorId, propertyName=propertyName)
|
|
12
|
+
response : CommonMessages_pb2.GetStageFactorPropertyResponse = self._client.callFunction(self._stub.GetStageFactorProperty, request)
|
|
13
|
+
return response.value
|
|
14
|
+
|
|
15
|
+
def _setProperty(self, propertyName: str, value: CommonMessages_pb2.PropertyValue):
|
|
16
|
+
request = CommonMessages_pb2.SetStageFactorPropertyRequest(propertyId=self.objectId, stageFactorId=self.stageFactorId, propertyName=propertyName, value=value)
|
|
17
|
+
self._client.callFunction(self._stub.SetStageFactorProperty, request)
|
|
18
|
+
|
|
File without changes
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
from typing import Optional, Union, List, Dict, Tuple
|
|
2
|
+
|
|
3
|
+
import rs3.generatedFiles.BeamsResultsQueryService_pb2_grpc as BeamsResultsQueryService_pb2_grpc
|
|
4
|
+
|
|
5
|
+
from rs3._client import Client
|
|
6
|
+
|
|
7
|
+
from rs3.Geometry import Cube, Cylinder, Sphere
|
|
8
|
+
from rs3.results.ResultsCommon import _NodeValuePairCollection, _ResultsQueryBase
|
|
9
|
+
from rs3.results.YieldedElement import YieldedElement
|
|
10
|
+
from rs3.results.ResultEnums import BeamsDataType, BeamForepolePileGaussPointFailureType
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class BeamNodeResults:
|
|
14
|
+
def __init__(self, grpcNodalResults):
|
|
15
|
+
self._grpcNodalResults = grpcNodalResults
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
def NodeID(self):
|
|
19
|
+
return self._grpcNodalResults.nodeInformation.nodeID
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def XCoordinate(self):
|
|
23
|
+
return self._grpcNodalResults.nodeInformation.location.x
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def YCoordinate(self):
|
|
27
|
+
return self._grpcNodalResults.nodeInformation.location.y
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def ZCoordinate(self):
|
|
31
|
+
return self._grpcNodalResults.nodeInformation.location.z
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def EntityName(self):
|
|
35
|
+
return self._grpcNodalResults.entityInformation.name
|
|
36
|
+
|
|
37
|
+
@property
|
|
38
|
+
def EntityID(self):
|
|
39
|
+
return self._grpcNodalResults.entityInformation.ID
|
|
40
|
+
|
|
41
|
+
class BeamElementResults:
|
|
42
|
+
def __init__(self, grpcElementResults):
|
|
43
|
+
self._grpcElementResults = grpcElementResults
|
|
44
|
+
self._nodeResultsByDataType = self._buildNodeResultsByDataType(grpcElementResults)
|
|
45
|
+
self._yieldedElement = YieldedElement(grpcElementResults.failurePoint, failureTypeEnum=BeamForepolePileGaussPointFailureType) if grpcElementResults.HasField('failurePoint') else None
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
def ElementID(self):
|
|
49
|
+
return self._grpcElementResults.elementInformation.elementID
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def EntityName(self):
|
|
53
|
+
return self._grpcElementResults.entityInformation.name
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
def EntityID(self):
|
|
57
|
+
return self._grpcElementResults.entityInformation.ID
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def AttachedNodeIDs(self):
|
|
61
|
+
return self._grpcElementResults.elementInformation.nodeIDs
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def getNodeResult(self, dataType: BeamsDataType) -> List[float]:
|
|
65
|
+
if dataType not in self._nodeResultsByDataType:
|
|
66
|
+
raise ValueError(f"Data type {dataType} not found")
|
|
67
|
+
return self._nodeResultsByDataType[dataType].ResultValues
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def getResultsInNodeDataTuple(self, dataType: BeamsDataType) -> List[Tuple[int, float]]:
|
|
71
|
+
if dataType not in self._nodeResultsByDataType:
|
|
72
|
+
raise ValueError(f"Data type {dataType} not found")
|
|
73
|
+
return self._nodeResultsByDataType[dataType].NodeValuePairs
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
def YieldedElement(self):
|
|
78
|
+
return self._yieldedElement
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _buildNodeResultsByDataType(self, grpcElementResults):
|
|
82
|
+
nodeIdResultPairs = [(nodeID, nodeValue) for nodeID, nodeValue in zip(grpcElementResults.elementInformation.nodeIDs, grpcElementResults.nodeValues)]
|
|
83
|
+
pairsByType: Dict[BeamsDataType, List[tuple[int, float]]] = {dt: [] for dt in BeamsDataType}
|
|
84
|
+
for nodeID, nodeValue in nodeIdResultPairs:
|
|
85
|
+
pairsByType[BeamsDataType.AXIS_FORCE].append((nodeID, nodeValue.axisForce))
|
|
86
|
+
pairsByType[BeamsDataType.SHEAR_FORCE_MIN_AXIS].append((nodeID, nodeValue.shearForceMinAxis))
|
|
87
|
+
pairsByType[BeamsDataType.SHEAR_FORCE_MAX_AXIS].append((nodeID, nodeValue.shearForceMaxAxis))
|
|
88
|
+
pairsByType[BeamsDataType.MOMENT_MIN_AXIS].append((nodeID, nodeValue.momentMinAxis))
|
|
89
|
+
pairsByType[BeamsDataType.MOMENT_MAX_AXIS].append((nodeID, nodeValue.momentMaxAxis))
|
|
90
|
+
pairsByType[BeamsDataType.DISPLACEMENT_X].append((nodeID, nodeValue.displacementX))
|
|
91
|
+
pairsByType[BeamsDataType.DISPLACEMENT_Y].append((nodeID, nodeValue.displacementY))
|
|
92
|
+
pairsByType[BeamsDataType.DISPLACEMENT_Z].append((nodeID, nodeValue.displacementZ))
|
|
93
|
+
pairsByType[BeamsDataType.DISPLACEMENT_TOTAL].append((nodeID, nodeValue.totalDisplacement))
|
|
94
|
+
|
|
95
|
+
return {dt: _NodeValuePairCollection(pairs) for dt, pairs in pairsByType.items()}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class BeamResults(_ResultsQueryBase):
|
|
100
|
+
'''
|
|
101
|
+
Entry point to query beam nodal results for a given stage and SRF.
|
|
102
|
+
|
|
103
|
+
Parameters:
|
|
104
|
+
stageNumber (int): 1-based stage index.
|
|
105
|
+
srfResultIndex (int): 0-based SRF value index. 0 is to query SRF-None values.
|
|
106
|
+
|
|
107
|
+
Notes:
|
|
108
|
+
- entityName is trimmed; empty strings are ignored.
|
|
109
|
+
- region=None leaves the proto field unset (service returns all).
|
|
110
|
+
- Exceptions from the underlying service are propagated as-is by the client.
|
|
111
|
+
|
|
112
|
+
Examples:
|
|
113
|
+
See :ref:`beam_result_example`.
|
|
114
|
+
'''
|
|
115
|
+
|
|
116
|
+
def __init__(self, client: Client, projectId: str, stageNumber: int, srfResultIndex: int):
|
|
117
|
+
super().__init__(client, projectId, stageNumber, srfResultIndex)
|
|
118
|
+
self._queryService = BeamsResultsQueryService_pb2_grpc.BeamResultsQueryServiceStub(client.channel)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def getBeamNodeResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[BeamNodeResults]:
|
|
122
|
+
'''
|
|
123
|
+
Query beam nodal results at a specific stage and SRF value.
|
|
124
|
+
Parameters:
|
|
125
|
+
entityName: Optional[str]: If provided, only nodes belonging to the specified entity are queried.
|
|
126
|
+
region: Optional[Union[Cube, Cylinder, Sphere]]: Sample region filter. When None, the field is not set in the request (proto3 unset), and the service returns all nodes.
|
|
127
|
+
includeIntersecting: bool: If True, nodes that intersect the sample region are included. When False, only nodes fully contained are included. Ignored when region is None.
|
|
128
|
+
Raises:
|
|
129
|
+
Exception if:
|
|
130
|
+
- stageNumber is less than 1
|
|
131
|
+
- stageNumber is greater than the number of stages in the project
|
|
132
|
+
- _srfResultIndex is less than 0
|
|
133
|
+
- _srfResultIndex is greater than the number of SRF values in the project
|
|
134
|
+
Returns:
|
|
135
|
+
list[BeamNodalResults]: A list of beam nodal results wrappers for the requested stage and SRF value.
|
|
136
|
+
'''
|
|
137
|
+
request = self._makeRequest(entityName, region, includeIntersecting)
|
|
138
|
+
stream = self._queryService.QueryBeamNodalResults(request)
|
|
139
|
+
allResults = []
|
|
140
|
+
totalQueriedNodesCount = None
|
|
141
|
+
for chunk in stream:
|
|
142
|
+
if chunk.HasField('header'):
|
|
143
|
+
header = chunk.header
|
|
144
|
+
totalQueriedNodesCount = header.totalQueriedNodesCount
|
|
145
|
+
elif chunk.HasField('data'):
|
|
146
|
+
allResults.extend(chunk.data.results)
|
|
147
|
+
if totalQueriedNodesCount is not None and totalQueriedNodesCount != len(allResults):
|
|
148
|
+
raise RuntimeError(f"Number of nodes received does not match the expected total queried nodes count. Expected {totalQueriedNodesCount}, but received {len(allResults)}.")
|
|
149
|
+
return [BeamNodeResults(r) for r in allResults]
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def getBeamElementResults(self, entityName: Optional[str] = None, region: Optional[Union[Cube, Cylinder, Sphere]] = None, includeIntersecting: bool = True) -> list[BeamElementResults]:
|
|
154
|
+
'''
|
|
155
|
+
Query beam element results at a specific stage and SRF value.
|
|
156
|
+
Parameters:
|
|
157
|
+
entityName: Optional[str]: If provided, only elements belonging to the specified entity are queried.
|
|
158
|
+
region: Optional[Union[Cube, Cylinder, Sphere]]: Sample region filter. When None, the field is not set in the request (proto3 unset), and the service returns all elements.
|
|
159
|
+
includeIntersecting: bool: If True, elements that intersect the sample region are included. When False, only elements fully contained are included. Ignored when region is None.
|
|
160
|
+
Raises:
|
|
161
|
+
Exception if:
|
|
162
|
+
- stageNumber is less than 1
|
|
163
|
+
- stageNumber is greater than the number of stages in the project
|
|
164
|
+
- _srfResultIndex is less than 0
|
|
165
|
+
- _srfResultIndex is greater than the number of SRF values in the project
|
|
166
|
+
Returns:
|
|
167
|
+
list[BeamElementResults]: A list of beam element results wrappers for the requested stage and SRF value.
|
|
168
|
+
'''
|
|
169
|
+
request = self._makeRequest(entityName, region, includeIntersecting)
|
|
170
|
+
stream = self._queryService.QueryBeamElementResults(request)
|
|
171
|
+
allResults = []
|
|
172
|
+
totalQueriedElementsCount = None
|
|
173
|
+
for chunk in stream:
|
|
174
|
+
if chunk.HasField('header'):
|
|
175
|
+
header = chunk.header
|
|
176
|
+
totalQueriedElementsCount = header.totalQueriedElementsCount
|
|
177
|
+
elif chunk.HasField('data'):
|
|
178
|
+
allResults.extend(chunk.data.results)
|
|
179
|
+
if totalQueriedElementsCount != len(allResults):
|
|
180
|
+
raise RuntimeError(f"Number of elements received does not match the expected total queried elements count. Expected {totalQueriedElementsCount}, but received {len(allResults)}.")
|
|
181
|
+
return [BeamElementResults(r) for r in allResults]
|