RS3Scripting 4.43.0__py3-none-any.whl → 4.44.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/CommonEnums.py +8 -1
- rs3/ExternalVolume.py +12 -1
- rs3/Geometry.py +22 -0
- rs3/Model.py +38 -0
- rs3/Selection.py +92 -2
- rs3/_client.py +1 -1
- rs3/entities/BaseEntity.py +85 -0
- rs3/entities/beam/__init__.py +0 -0
- rs3/entities/beam/beam.py +12 -0
- rs3/entities/bolt/__init__.py +0 -0
- rs3/entities/bolt/bolt.py +11 -0
- rs3/entities/entity.py +48 -0
- rs3/entities/joint/__init__.py +0 -0
- rs3/entities/joint/joint.py +11 -0
- rs3/entities/liningComposition/__init__.py +0 -0
- rs3/entities/liningComposition/liningComposition.py +11 -0
- rs3/entities/pile/__init__.py +0 -0
- rs3/entities/pile/pile.py +11 -0
- rs3/generatedFiles/BFPCommonMessage_pb2.py +38 -38
- rs3/generatedFiles/BFPCommonMessage_pb2.pyi +47 -47
- rs3/generatedFiles/BFPCommonMessage_pb2_grpc.py +24 -24
- rs3/generatedFiles/BeamsResultsQueryService_pb2.py +50 -50
- rs3/generatedFiles/BeamsResultsQueryService_pb2.pyi +48 -48
- rs3/generatedFiles/BeamsResultsQueryService_pb2_grpc.py +141 -141
- rs3/generatedFiles/BoltsResultsQueryService_pb2.py +51 -51
- rs3/generatedFiles/BoltsResultsQueryService_pb2.pyi +75 -75
- rs3/generatedFiles/BoltsResultsQueryService_pb2_grpc.py +141 -141
- rs3/generatedFiles/ClientService_pb2.py +40 -40
- rs3/generatedFiles/ClientService_pb2.pyi +15 -15
- rs3/generatedFiles/ClientService_pb2_grpc.py +97 -97
- rs3/generatedFiles/CommonGeometryMessages_pb2.py +52 -52
- rs3/generatedFiles/CommonGeometryMessages_pb2.pyi +92 -92
- rs3/generatedFiles/CommonGeometryMessages_pb2_grpc.py +24 -24
- rs3/generatedFiles/CommonMessages_pb2.py +31 -7
- rs3/generatedFiles/CommonMessages_pb2.pyi +82 -0
- rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.py +63 -63
- rs3/generatedFiles/CompositeLinerResultsQueryService_pb2.pyi +139 -139
- rs3/generatedFiles/CompositeLinerResultsQueryService_pb2_grpc.py +314 -314
- rs3/generatedFiles/ComputeService_pb2.py +48 -48
- rs3/generatedFiles/ComputeService_pb2.pyi +56 -56
- rs3/generatedFiles/ComputeService_pb2_grpc.py +147 -147
- rs3/generatedFiles/ExternalVolumesService_pb2.py +2 -2
- rs3/generatedFiles/ExternalVolumesService_pb2_grpc.py +92 -6
- rs3/generatedFiles/GaussPointFailureMessage_pb2.py +37 -37
- rs3/generatedFiles/GaussPointFailureMessage_pb2.pyi +14 -14
- rs3/generatedFiles/GaussPointFailureMessage_pb2_grpc.py +24 -24
- rs3/generatedFiles/GroupsService_pb2.py +45 -0
- rs3/generatedFiles/GroupsService_pb2.pyi +36 -0
- rs3/generatedFiles/GroupsService_pb2_grpc.py +227 -0
- rs3/generatedFiles/JointResultsQueryService_pb2.py +54 -54
- rs3/generatedFiles/JointResultsQueryService_pb2.pyi +92 -92
- rs3/generatedFiles/JointResultsQueryService_pb2_grpc.py +141 -141
- rs3/generatedFiles/MaterialHydraulicModelService_pb2.py +55 -55
- rs3/generatedFiles/MaterialHydraulicModelService_pb2.pyi +79 -79
- rs3/generatedFiles/MaterialJointService_pb2.py +49 -49
- rs3/generatedFiles/MaterialJointService_pb2.pyi +52 -52
- rs3/generatedFiles/MaterialJointService_pb2_grpc.py +183 -183
- rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.py +47 -47
- rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2.pyi +43 -43
- rs3/generatedFiles/MaterialUnsaturatedSoilDataService_pb2_grpc.py +228 -228
- rs3/generatedFiles/ModelService_pb2.py +251 -235
- rs3/generatedFiles/ModelService_pb2.pyi +50 -0
- rs3/generatedFiles/ModelService_pb2_grpc.py +172 -0
- rs3/generatedFiles/ModifyBeamEntityService_pb2.py +37 -0
- rs3/generatedFiles/ModifyBeamEntityService_pb2.pyi +5 -0
- rs3/generatedFiles/ModifyBeamEntityService_pb2_grpc.py +398 -0
- rs3/generatedFiles/ModifyBoltEntityService_pb2.py +37 -0
- rs3/generatedFiles/ModifyBoltEntityService_pb2.pyi +5 -0
- rs3/generatedFiles/ModifyBoltEntityService_pb2_grpc.py +398 -0
- rs3/generatedFiles/ModifyCompositeLinerEntity_pb2.py +37 -0
- rs3/generatedFiles/ModifyCompositeLinerEntity_pb2.pyi +5 -0
- rs3/generatedFiles/ModifyCompositeLinerEntity_pb2_grpc.py +398 -0
- rs3/generatedFiles/ModifyJointEntityService_pb2.py +37 -0
- rs3/generatedFiles/ModifyJointEntityService_pb2.pyi +5 -0
- rs3/generatedFiles/ModifyJointEntityService_pb2_grpc.py +398 -0
- rs3/generatedFiles/ModifyPileEntityService_pb2.py +37 -0
- rs3/generatedFiles/ModifyPileEntityService_pb2.pyi +5 -0
- rs3/generatedFiles/ModifyPileEntityService_pb2_grpc.py +398 -0
- rs3/generatedFiles/ModifyPileEntity_pb2.py +37 -0
- rs3/generatedFiles/ModifyPileEntity_pb2.pyi +5 -0
- rs3/generatedFiles/ModifyPileEntity_pb2_grpc.py +226 -0
- rs3/generatedFiles/PileDataService_pb2.py +55 -55
- rs3/generatedFiles/PileDataService_pb2.pyi +63 -63
- rs3/generatedFiles/PileDataService_pb2_grpc.py +399 -399
- rs3/generatedFiles/PileForepoleResultsQueryService_pb2.py +51 -51
- rs3/generatedFiles/PileForepoleResultsQueryService_pb2.pyi +63 -63
- rs3/generatedFiles/PileForepoleResultsQueryService_pb2_grpc.py +141 -141
- rs3/generatedFiles/ResultsQueryCommonMessage_pb2.py +56 -56
- rs3/generatedFiles/ResultsQueryCommonMessage_pb2.pyi +85 -85
- rs3/generatedFiles/ResultsQueryCommonMessage_pb2_grpc.py +24 -24
- rs3/generatedFiles/ResultsQueryService_pb2.py +46 -46
- rs3/generatedFiles/ResultsQueryService_pb2.pyi +4 -2
- rs3/generatedFiles/ResultsQueryService_pb2_grpc.py +745 -745
- rs3/generatedFiles/SelectionService_pb2.py +49 -49
- rs3/generatedFiles/SelectionService_pb2.pyi +51 -51
- rs3/generatedFiles/SelectionService_pb2_grpc.py +269 -269
- rs3/generatedFiles/SolidsResultsQueryService_pb2.py +93 -93
- rs3/generatedFiles/SolidsResultsQueryService_pb2.pyi +213 -213
- rs3/generatedFiles/SolidsResultsQueryService_pb2_grpc.py +195 -195
- rs3/generatedFiles/SupportEntityService_pb2.py +51 -0
- rs3/generatedFiles/SupportEntityService_pb2.pyi +73 -0
- rs3/generatedFiles/SupportEntityService_pb2_grpc.py +183 -0
- rs3/properties/Group.py +76 -0
- rs3/properties/_PropertyAccessor.py +12 -0
- rs3/properties/beam/Beam.py +1 -1
- rs3/properties/joint/Joint.py +3 -3
- rs3/properties/liner/Liner.py +1 -1
- rs3/properties/liner/_PropertyAccessor.py +7 -7
- rs3/properties/liningComposition/LiningComposition.py +4 -1
- rs3/properties/material/Material.py +5 -3
- rs3/properties/material/constitutiveModel/jointOption/MaterialJoint.py +7 -0
- rs3/properties/pile/Pile.py +1 -1
- rs3/properties/stageFactors/IStageFactorBase.py +9 -9
- rs3/properties/stageFactors/_StageFactorPropertyAccessor.py +17 -17
- rs3/results/ResultEnums.py +10 -1
- rs3/results/Results.py +56 -28
- rs3scripting-4.44.0.dist-info/METADATA +135 -0
- {rs3scripting-4.43.0.dist-info → rs3scripting-4.44.0.dist-info}/RECORD +121 -84
- {rs3scripting-4.43.0.dist-info → rs3scripting-4.44.0.dist-info}/WHEEL +1 -1
- rs3scripting-4.43.0.dist-info/METADATA +0 -70
- {rs3scripting-4.43.0.dist-info → rs3scripting-4.44.0.dist-info}/licenses/License.txt +0 -0
- {rs3scripting-4.43.0.dist-info → rs3scripting-4.44.0.dist-info}/top_level.txt +0 -0
rs3/CommonEnums.py
CHANGED
|
@@ -13,4 +13,11 @@ class AutoRestraintsType(Enum):
|
|
|
13
13
|
class ExternalVolumeRoles(Enum):
|
|
14
14
|
GEOLOGY = "Geology"
|
|
15
15
|
CONSTRUCTION = "Construction"
|
|
16
|
-
EXCAVATION = "Excavation"
|
|
16
|
+
EXCAVATION = "Excavation"
|
|
17
|
+
|
|
18
|
+
class SupportTypes(Enum):
|
|
19
|
+
BEAM = 1
|
|
20
|
+
BOLT = 2
|
|
21
|
+
PILE = 3
|
|
22
|
+
JOINT = 4
|
|
23
|
+
COMPOSITE_LINER = 5
|
rs3/ExternalVolume.py
CHANGED
|
@@ -17,7 +17,7 @@ class ExternalVolume(_ProxyObject):
|
|
|
17
17
|
self._propertyAccessor = PropertyAccessor(client, projectID, self._externalVolumesService)
|
|
18
18
|
|
|
19
19
|
def setName(self, name : str):
|
|
20
|
-
request = CommonMessages_pb2.
|
|
20
|
+
request = CommonMessages_pb2.SetEntityPropertyRequest(entityId=self._objectId, propertyIdOrName=name)
|
|
21
21
|
self._client.callFunction(self._externalVolumesService.SetExternalVolumeName, request)
|
|
22
22
|
def getName(self) -> str:
|
|
23
23
|
return self._propertyAccessor.getStringValue("Name")
|
|
@@ -39,6 +39,17 @@ class ExternalVolume(_ProxyObject):
|
|
|
39
39
|
response : ExternalVolumesService_pb2.GetAppliedMaterialPropertyResponse = self._client.callFunction(self._externalVolumesService.GetAppliedMaterialProperty, request)
|
|
40
40
|
return response.materialName
|
|
41
41
|
|
|
42
|
+
def setGrouping(self, stageNum : int, groupName : str):
|
|
43
|
+
"""
|
|
44
|
+
Assign group to the given stage by the group name. To ungroup the material, "Ungrouped" should be used as the groupName.
|
|
45
|
+
"""
|
|
46
|
+
request = CommonMessages_pb2.SetGroupingRequest(objectId=self._objectId, stageNum=stageNum, groupName=groupName)
|
|
47
|
+
self._client.callFunction(self._externalVolumesService.SetGrouping, request)
|
|
48
|
+
def getGrouping(self, stageNum : int):
|
|
49
|
+
request = CommonMessages_pb2.GetGroupingRequest(objectId=self._objectId, stageNum=stageNum)
|
|
50
|
+
response : CommonMessages_pb2.GetGroupingResponse = self._client.callFunction(self._externalVolumesService.GetGrouping, request)
|
|
51
|
+
return response.groupName
|
|
52
|
+
|
|
42
53
|
def getVolume(self) -> str:
|
|
43
54
|
return self._propertyAccessor.getDoubleProperty("Volume")
|
|
44
55
|
|
rs3/Geometry.py
CHANGED
|
@@ -47,6 +47,13 @@ class Cube(Geometry):
|
|
|
47
47
|
geometry_ = CommonGeometryMessages.Geometry(box=box_)
|
|
48
48
|
return geometry_
|
|
49
49
|
|
|
50
|
+
def toCommonVolumeGeometryObject(self):
|
|
51
|
+
corner1_ = CommonGeometryMessages.Point(x=self.corner1.x, y=self.corner1.y, z=self.corner1.z)
|
|
52
|
+
corner2_ = CommonGeometryMessages.Point(x=self.corner2.x, y=self.corner2.y, z=self.corner2.z)
|
|
53
|
+
box_ = CommonGeometryMessages.Box(corner1=corner1_, corner2=corner2_, rotationAboutX=self.rotationAboutX, rotationAboutY=self.rotationAboutY, rotationAboutZ=self.rotationAboutZ)
|
|
54
|
+
geometry_ = CommonGeometryMessages.VolumeGeometry(box=box_)
|
|
55
|
+
return geometry_
|
|
56
|
+
|
|
50
57
|
@dataclass
|
|
51
58
|
class Cylinder(Geometry):
|
|
52
59
|
axisStartPoint: Point
|
|
@@ -60,6 +67,14 @@ class Cylinder(Geometry):
|
|
|
60
67
|
cylinder_ = CommonGeometryMessages.Cylinder(axisStartPoint=axisStartPoint_, axisEndPoint=axisEndPoint_, radius=radius_)
|
|
61
68
|
geometry_ = CommonGeometryMessages.Geometry(cylinder=cylinder_)
|
|
62
69
|
return geometry_
|
|
70
|
+
|
|
71
|
+
def toCommonVolumeGeometryObject(self):
|
|
72
|
+
axisStartPoint_ = CommonGeometryMessages.Point(x=self.axisStartPoint.x, y=self.axisStartPoint.y, z=self.axisStartPoint.z)
|
|
73
|
+
axisEndPoint_ = CommonGeometryMessages.Point(x=self.axisEndPoint.x, y=self.axisEndPoint.y, z=self.axisEndPoint.z)
|
|
74
|
+
radius_ = self.radius
|
|
75
|
+
cylinder_ = CommonGeometryMessages.Cylinder(axisStartPoint=axisStartPoint_, axisEndPoint=axisEndPoint_, radius=radius_)
|
|
76
|
+
geometry_ = CommonGeometryMessages.VolumeGeometry(cylinder=cylinder_)
|
|
77
|
+
return geometry_
|
|
63
78
|
|
|
64
79
|
@dataclass
|
|
65
80
|
class Sphere(Geometry):
|
|
@@ -71,4 +86,11 @@ class Sphere(Geometry):
|
|
|
71
86
|
radius_ = self.radius
|
|
72
87
|
sphere_ = CommonGeometryMessages.Sphere(center=center_, radius=radius_)
|
|
73
88
|
geometry_ = CommonGeometryMessages.Geometry(sphere=sphere_)
|
|
89
|
+
return geometry_
|
|
90
|
+
|
|
91
|
+
def toCommonVolumeGeometryObject(self):
|
|
92
|
+
center_ = CommonGeometryMessages.Point(x=self.center.x, y=self.center.y, z=self.center.z)
|
|
93
|
+
radius_ = self.radius
|
|
94
|
+
sphere_ = CommonGeometryMessages.Sphere(center=center_, radius=radius_)
|
|
95
|
+
geometry_ = CommonGeometryMessages.VolumeGeometry(sphere=sphere_)
|
|
74
96
|
return geometry_
|
rs3/Model.py
CHANGED
|
@@ -136,6 +136,14 @@ class ModelBase:
|
|
|
136
136
|
result = result_.result
|
|
137
137
|
return result
|
|
138
138
|
|
|
139
|
+
def getGroupByName(self, groupName: str) -> str:
|
|
140
|
+
_projectId_ = self._projectId
|
|
141
|
+
groupName_ = groupName
|
|
142
|
+
request = ModelService.getGroupByNameRequest(_projectId=_projectId_, groupName=groupName_)
|
|
143
|
+
result_ = self._client.callFunction(self._ModelService.getGroupByName, request)
|
|
144
|
+
result = result_.result
|
|
145
|
+
return result
|
|
146
|
+
|
|
139
147
|
def getDiscreteFunctionByName(self, discreteFunctionName: str) -> str:
|
|
140
148
|
_projectId_ = self._projectId
|
|
141
149
|
discreteFunctionName_ = discreteFunctionName
|
|
@@ -245,6 +253,13 @@ class ModelBase:
|
|
|
245
253
|
result = [obj for obj in result_.result]
|
|
246
254
|
return result
|
|
247
255
|
|
|
256
|
+
def getAllGroups(self) -> list[str]:
|
|
257
|
+
_projectId_ = self._projectId
|
|
258
|
+
request = ModelService.getAllGroupsRequest(_projectId=_projectId_)
|
|
259
|
+
result_ = self._client.callFunction(self._ModelService.getAllGroups, request)
|
|
260
|
+
result = [obj for obj in result_.result]
|
|
261
|
+
return result
|
|
262
|
+
|
|
248
263
|
def getAllBoltPropertiesInUse(self) -> list[str]:
|
|
249
264
|
_projectId_ = self._projectId
|
|
250
265
|
request = ModelService.getAllBoltPropertiesInUseRequest(_projectId=_projectId_)
|
|
@@ -458,6 +473,18 @@ class ModelBase:
|
|
|
458
473
|
request = ModelService.deleteWaterGridPropertyRequest(_projectId=_projectId_, waterGridName=waterGridName_)
|
|
459
474
|
self._client.callFunction(self._ModelService.deleteWaterGridProperty, request)
|
|
460
475
|
|
|
476
|
+
def createNewGroupProperty(self, groupName: str) -> None:
|
|
477
|
+
_projectId_ = self._projectId
|
|
478
|
+
groupName_ = groupName
|
|
479
|
+
request = ModelService.createNewGroupPropertyRequest(_projectId=_projectId_, groupName=groupName_)
|
|
480
|
+
self._client.callFunction(self._ModelService.createNewGroupProperty, request)
|
|
481
|
+
|
|
482
|
+
def deleteGroupProperty(self, groupName: str) -> None:
|
|
483
|
+
_projectId_ = self._projectId
|
|
484
|
+
groupName_ = groupName
|
|
485
|
+
request = ModelService.deleteGroupPropertyRequest(_projectId=_projectId_, groupName=groupName_)
|
|
486
|
+
self._client.callFunction(self._ModelService.deleteGroupProperty, request)
|
|
487
|
+
|
|
461
488
|
def getDiscreteFunctions(self) -> list[str]:
|
|
462
489
|
_projectId_ = self._projectId
|
|
463
490
|
request = ModelService.getDiscreteFunctionsRequest(_projectId=_projectId_)
|
|
@@ -550,12 +577,14 @@ from rs3.properties.material.Material import MaterialProperty
|
|
|
550
577
|
from rs3.properties.groundwater.WaterByLocation import WaterByLocationProperty
|
|
551
578
|
from rs3.properties.groundwater.WaterGrid import WaterGridProperty
|
|
552
579
|
from rs3.ExternalVolume import ExternalVolume
|
|
580
|
+
from rs3.properties.Group import Group
|
|
553
581
|
from rs3.properties.DiscreteFunction import DiscreteFunction
|
|
554
582
|
from rs3.properties.ShearNormalFunction import ShearNormalFunction
|
|
555
583
|
from rs3.properties.GeneralizedAnisotropicFunction import GeneralizedAnisotropicFunction
|
|
556
584
|
from rs3.properties.CustomHydraulicModel import CustomHydraulicModel
|
|
557
585
|
from rs3.Restraints import Restraints
|
|
558
586
|
from rs3.Selection import Selection
|
|
587
|
+
from rs3.entities.entity import Entity
|
|
559
588
|
from rs3.Compute import Compute
|
|
560
589
|
from rs3.results.Results import Results
|
|
561
590
|
from rs3.ModelEnums import *
|
|
@@ -569,6 +598,7 @@ class Model(ModelBase):
|
|
|
569
598
|
super().__init__(client, projectId)
|
|
570
599
|
self.ProjectSettings = ProjectSettings(client, projectId)
|
|
571
600
|
self.Selection = Selection(client, projectId)
|
|
601
|
+
self.Entity = Entity(client, projectId)
|
|
572
602
|
self.Loadings = Loadings(client, projectId)
|
|
573
603
|
self.Restraints = Restraints(client, projectId)
|
|
574
604
|
self.Mesh = Mesh(client, projectId)
|
|
@@ -670,6 +700,10 @@ class Model(ModelBase):
|
|
|
670
700
|
externalVolumeProp = super().getExternalVolumeByName(externalVolumeName)
|
|
671
701
|
return ExternalVolume(self._client, externalVolumeProp)
|
|
672
702
|
|
|
703
|
+
def getGroupByName(self, groupName) -> Group:
|
|
704
|
+
groupProp = super().getGroupByName(groupName)
|
|
705
|
+
return Group(self._client, groupProp, self._projectId)
|
|
706
|
+
|
|
673
707
|
def getDiscreteFunctionByName(self, discreteFunctionName) -> DiscreteFunction:
|
|
674
708
|
discreteFunctionProp = super().getDiscreteFunctionByName(discreteFunctionName)
|
|
675
709
|
return DiscreteFunction(self._client, discreteFunctionProp)
|
|
@@ -726,6 +760,10 @@ class Model(ModelBase):
|
|
|
726
760
|
externalVolumesProps = super().getAllExternalVolumes()
|
|
727
761
|
return [ExternalVolume(self._client, obj) for obj in externalVolumesProps]
|
|
728
762
|
|
|
763
|
+
def getAllGroups(self) -> list[Group]:
|
|
764
|
+
groups = super().getAllGroups()
|
|
765
|
+
return [Group(self._client, obj, self._projectId) for obj in groups]
|
|
766
|
+
|
|
729
767
|
def getAllBoltPropertiesInUse(self) -> list[BoltProperty]:
|
|
730
768
|
boltProps = super().getAllBoltPropertiesInUse()
|
|
731
769
|
return [BoltProperty(self._client, obj) for obj in boltProps]
|
rs3/Selection.py
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import rs3.generatedFiles.SelectionService_pb2_grpc as SelectionServiceGrpc
|
|
2
2
|
import rs3.generatedFiles.SelectionService_pb2 as SelectionService
|
|
3
|
+
import rs3.generatedFiles.SupportEntityService_pb2_grpc as SupportEntityServiceGrpc
|
|
4
|
+
import rs3.generatedFiles.SupportEntityService_pb2 as SupportEntityService
|
|
3
5
|
from rs3._client import Client
|
|
4
|
-
from rs3.ExternalVolume import ExternalVolume
|
|
5
6
|
from rs3.Geometry import *
|
|
7
|
+
from rs3.CommonEnums import SupportTypes
|
|
8
|
+
from rs3.ExternalVolume import ExternalVolume
|
|
9
|
+
from rs3.entities.beam.beam import Beam
|
|
10
|
+
from rs3.entities.bolt.bolt import Bolt
|
|
11
|
+
from rs3.entities.joint.joint import Joint
|
|
12
|
+
from rs3.entities.liningComposition.liningComposition import LiningComposition
|
|
13
|
+
from rs3.entities.pile.pile import Pile
|
|
6
14
|
from typing import Union
|
|
7
15
|
|
|
8
16
|
class Selection:
|
|
@@ -10,6 +18,7 @@ class Selection:
|
|
|
10
18
|
self._client = client
|
|
11
19
|
self._projectId = projectId
|
|
12
20
|
self._SelectionService = SelectionServiceGrpc.SelectionServiceStub(self._client.channel)
|
|
21
|
+
self._SupportEntityService = SupportEntityServiceGrpc.SupportEntityServiceStub(self._client.channel)
|
|
13
22
|
|
|
14
23
|
def _getExternalVolumesByPoint(self, point: Point) -> list[str]:
|
|
15
24
|
_projectId_ = self._projectId
|
|
@@ -120,4 +129,85 @@ class Selection:
|
|
|
120
129
|
"""
|
|
121
130
|
request = SelectionService.getAttachedExternalVolumesByVolumeNameRequest(_projectId=self._projectId, externalVolumeName=externalVolumeName)
|
|
122
131
|
result_ = self._client.callFunction(self._SelectionService.getAttachedExternalVolumesByVolumeName, request)
|
|
123
|
-
return [ExternalVolume(self._client, obj) for obj in result_.result]
|
|
132
|
+
return [ExternalVolume(self._client, obj) for obj in result_.result]
|
|
133
|
+
|
|
134
|
+
def getSupportEntities(self, entityType: SupportTypes, sampleRegion : Union[Cube, Cylinder, Sphere], includeIntersecting : bool = True, stageNumber: int = -1):
|
|
135
|
+
"""
|
|
136
|
+
Returns support entities of a specified type that are located within a sampling region.
|
|
137
|
+
|
|
138
|
+
The sampling region can be defined by one of the supported volume geometries (cube,
|
|
139
|
+
cylinder, or sphere). By default, support entities that intersect the sampling region
|
|
140
|
+
are included in the results.
|
|
141
|
+
|
|
142
|
+
Parameters
|
|
143
|
+
----------
|
|
144
|
+
entityType : SupportTypes
|
|
145
|
+
The type of support entity to retrieve.
|
|
146
|
+
|
|
147
|
+
sampleRegion : Cube | Cylinder | Sphere
|
|
148
|
+
The geometry used to define the sampling region.
|
|
149
|
+
|
|
150
|
+
includeIntersecting : bool, optional
|
|
151
|
+
If ``True`` (default), support entities that intersect the sampling region
|
|
152
|
+
are included. If ``False``, only support entities that are completely
|
|
153
|
+
contained within the sampling region are returned.
|
|
154
|
+
|
|
155
|
+
For support entities composed of multiple components, the intersection test
|
|
156
|
+
is performed against the overall extent of the entity rather than each
|
|
157
|
+
individual component. Consequently:
|
|
158
|
+
|
|
159
|
+
- A beam entity consisting of multiple beam edges is returned even if the sampling region intersects only the space enclosed by the beam edges.
|
|
160
|
+
|
|
161
|
+
- A bolt group or pile group is returned even if the sampling region intersects only the space between the bolts or piles in the group.
|
|
162
|
+
|
|
163
|
+
stageNumber : int, optional
|
|
164
|
+
The stage number from which to retrieve the support entities.
|
|
165
|
+
Specify ``-1`` (default) to get all support entities that are used in the
|
|
166
|
+
model regardless of stage.
|
|
167
|
+
|
|
168
|
+
Returns
|
|
169
|
+
-------
|
|
170
|
+
list
|
|
171
|
+
A list of support entity objects corresponding to the specified
|
|
172
|
+
``entityType``. The returned list contains one of the following
|
|
173
|
+
object types:
|
|
174
|
+
|
|
175
|
+
- ``Beam`` for ``SupportTypes.BEAM``
|
|
176
|
+
- ``Bolt`` for ``SupportTypes.BOLT``
|
|
177
|
+
- ``Joint`` for ``SupportTypes.JOINT``
|
|
178
|
+
- ``LiningComposition`` for ``SupportTypes.COMPOSITE_LINER``
|
|
179
|
+
- ``Pile`` for ``SupportTypes.PILE``
|
|
180
|
+
|
|
181
|
+
Examples
|
|
182
|
+
--------
|
|
183
|
+
Retrieve all bolts intersecting a sphere:
|
|
184
|
+
|
|
185
|
+
>>> sphere = Sphere(Point(0, 0, 0), 5)
|
|
186
|
+
>>> bolts = model.getSupportEntities(SupportTypes.BOLT, sphere)
|
|
187
|
+
|
|
188
|
+
Retrieve beams completely contained within a cube at stage 3:
|
|
189
|
+
|
|
190
|
+
>>> cube = Cube(Point(0, 0, 0), Point(10, 10, 10))
|
|
191
|
+
>>> beams = model.getSupportEntities(
|
|
192
|
+
... SupportTypes.BEAM,
|
|
193
|
+
... cube,
|
|
194
|
+
... includeIntersecting=False,
|
|
195
|
+
... stageNumber=3,
|
|
196
|
+
... )
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
geometry_ = sampleRegion.toCommonVolumeGeometryObject()
|
|
200
|
+
request = SupportEntityService.GetSupportEntitiesByGeometryRequest(_projectId=self._projectId, entityType = entityType.value, geometry=geometry_, includeIntersecting=includeIntersecting, stageNumber=stageNumber)
|
|
201
|
+
result_ = self._client.callFunction(self._SupportEntityService.GetSupportEntitiesByGeometry, request)
|
|
202
|
+
|
|
203
|
+
match entityType:
|
|
204
|
+
case SupportTypes.BEAM:
|
|
205
|
+
return [Beam(self._client, obj) for obj in result_.result]
|
|
206
|
+
case SupportTypes.BOLT:
|
|
207
|
+
return [Bolt(self._client, obj) for obj in result_.result]
|
|
208
|
+
case SupportTypes.JOINT:
|
|
209
|
+
return [Joint(self._client, obj) for obj in result_.result]
|
|
210
|
+
case SupportTypes.COMPOSITE_LINER:
|
|
211
|
+
return [LiningComposition(self._client, obj) for obj in result_.result]
|
|
212
|
+
case SupportTypes.PILE:
|
|
213
|
+
return [Pile(self._client, obj) for obj in result_.result]
|
rs3/_client.py
CHANGED
|
@@ -6,7 +6,7 @@ import rs3.generatedFiles.ClientService_pb2 as ClientService_pb2
|
|
|
6
6
|
|
|
7
7
|
class Client:
|
|
8
8
|
def __init__(self, port):
|
|
9
|
-
self.compatibleProgramVersion = "4.
|
|
9
|
+
self.compatibleProgramVersion = "4.044"
|
|
10
10
|
self.connection = self._establishConnection(port)
|
|
11
11
|
self.logger = logging.getLogger('Rocscience.RS3')
|
|
12
12
|
atexit.register(self.closeConnection)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
from rs3._proxyObject import _ProxyObject
|
|
3
|
+
import rs3.generatedFiles.CommonMessages_pb2 as CommonMessages_pb2
|
|
4
|
+
from typing import TypeVar, Generic, Type
|
|
5
|
+
|
|
6
|
+
TProperty = TypeVar("TProperty")
|
|
7
|
+
|
|
8
|
+
class BaseEntity(_ProxyObject, Generic[TProperty]):
|
|
9
|
+
def __init__(self, client : Client, objectID : str, service, propertyCls: Type[TProperty]):
|
|
10
|
+
super().__init__(client, objectID)
|
|
11
|
+
self._service = service
|
|
12
|
+
self._property_cls = propertyCls
|
|
13
|
+
|
|
14
|
+
def setName(self, name : str):
|
|
15
|
+
request = CommonMessages_pb2.SetEntityPropertyRequest(entityId=self._objectId, propertyIdOrName=name)
|
|
16
|
+
self._client.callFunction(self._service.SetEntityName, request)
|
|
17
|
+
def getName(self) -> str:
|
|
18
|
+
request = CommonMessages_pb2.GetEntityPropertyRequest(objectId=self._objectId)
|
|
19
|
+
response : CommonMessages_pb2.GetEntityPropertyResponse = self._client.callFunction(self._service.GetEntityName, request)
|
|
20
|
+
return response.propertyIdOrName
|
|
21
|
+
|
|
22
|
+
def setGrouping(self, stageNum : int, groupName : str):
|
|
23
|
+
"""
|
|
24
|
+
Assign group to the given stage by the group name. To ungroup the material, "Ungrouped" should be used as the groupName.
|
|
25
|
+
"""
|
|
26
|
+
request = CommonMessages_pb2.SetGroupingRequest(objectId=self._objectId, stageNum=stageNum, groupName=groupName)
|
|
27
|
+
self._client.callFunction(self._service.SetGrouping, request)
|
|
28
|
+
def getGrouping(self, stageNum : int):
|
|
29
|
+
request = CommonMessages_pb2.GetGroupingRequest(objectId=self._objectId, stageNum=stageNum)
|
|
30
|
+
response : CommonMessages_pb2.GetGroupingResponse = self._client.callFunction(self._service.GetGrouping, request)
|
|
31
|
+
return response.groupName
|
|
32
|
+
|
|
33
|
+
def setProperty(self, value: TProperty):
|
|
34
|
+
"""
|
|
35
|
+
Assigned support properties to the corresponding support entities.
|
|
36
|
+
"""
|
|
37
|
+
request = CommonMessages_pb2.SetEntityPropertyRequest(entityId=self._objectId, propertyIdOrName=value._objectId)
|
|
38
|
+
self._client.callFunction(self._service.SetEntityProperty, request)
|
|
39
|
+
def getProperty(self) -> TProperty:
|
|
40
|
+
"""
|
|
41
|
+
Get the support properties used on the selected support entity.
|
|
42
|
+
"""
|
|
43
|
+
request = CommonMessages_pb2.GetEntityPropertyRequest(objectId=self._objectId)
|
|
44
|
+
response : CommonMessages_pb2.GetEntityPropertyResponse = self._client.callFunction(self._service.GetEntityProperty, request)
|
|
45
|
+
return self._property_cls(self._client, response.propertyIdOrName)
|
|
46
|
+
|
|
47
|
+
def setInstallationStageByStageName(self, value: str):
|
|
48
|
+
"""
|
|
49
|
+
Set the installation stage.
|
|
50
|
+
"""
|
|
51
|
+
request = CommonMessages_pb2.SetStagingRequest(objectId=self._objectId, isInstallationStage=True, isByName = True, value=CommonMessages_pb2.PropertyValue(stringValue=value))
|
|
52
|
+
self._client.callFunction(self._service.SetStaging, request)
|
|
53
|
+
def setInstallationStageByStageNumber(self, value: int):
|
|
54
|
+
"""
|
|
55
|
+
Set the installation stage.
|
|
56
|
+
"""
|
|
57
|
+
request = CommonMessages_pb2.SetStagingRequest(objectId=self._objectId, isInstallationStage=True, isByName = False, value=CommonMessages_pb2.PropertyValue(intValue=value))
|
|
58
|
+
self._client.callFunction(self._service.SetStaging, request)
|
|
59
|
+
def getInstallationStage(self) -> int:
|
|
60
|
+
"""
|
|
61
|
+
Get the installation stage (not stage index).
|
|
62
|
+
"""
|
|
63
|
+
request = CommonMessages_pb2.GetStagingRequest(objectId=self._objectId, isInstallationStage=True)
|
|
64
|
+
response : CommonMessages_pb2.GetStagingResponse = self._client.callFunction(self._service.GetStaging, request)
|
|
65
|
+
return response.value
|
|
66
|
+
|
|
67
|
+
def setRemovalStageByStageName(self, value: str):
|
|
68
|
+
"""
|
|
69
|
+
Set the removal stage. "Never" means the entity will not get removed.
|
|
70
|
+
"""
|
|
71
|
+
request = CommonMessages_pb2.SetStagingRequest(objectId=self._objectId, isInstallationStage=False, isByName = True, value=CommonMessages_pb2.PropertyValue(stringValue=value))
|
|
72
|
+
self._client.callFunction(self._service.SetStaging, request)
|
|
73
|
+
def setRemovalStageByStageNumber(self, value: int):
|
|
74
|
+
"""
|
|
75
|
+
Set the removal stage. -1 means the pile will not get removed.
|
|
76
|
+
"""
|
|
77
|
+
request = CommonMessages_pb2.SetStagingRequest(objectId=self._objectId, isInstallationStage=False, isByName = False, value=CommonMessages_pb2.PropertyValue(intValue=value))
|
|
78
|
+
self._client.callFunction(self._service.SetStaging, request)
|
|
79
|
+
def getRemovalStage(self) -> int:
|
|
80
|
+
"""
|
|
81
|
+
Get the removal stage (not stage index). If the value is -1, it means the entity will not get removed.
|
|
82
|
+
"""
|
|
83
|
+
request = CommonMessages_pb2.GetStagingRequest(objectId=self._objectId, isInstallationStage=False)
|
|
84
|
+
response : CommonMessages_pb2.GetStagingResponse = self._client.callFunction(self._service.GetStaging, request)
|
|
85
|
+
return response.value
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
import rs3.generatedFiles.ModifyBeamEntityService_pb2_grpc as ModifyBeamEntityService_pb2_grpc
|
|
3
|
+
from rs3.entities.BaseEntity import BaseEntity
|
|
4
|
+
from rs3.properties.beam.Beam import BeamProperty
|
|
5
|
+
|
|
6
|
+
class Beam(BaseEntity[BeamProperty]):
|
|
7
|
+
"""
|
|
8
|
+
Beam Entity.
|
|
9
|
+
"""
|
|
10
|
+
def __init__(self, client : Client, objectID : str):
|
|
11
|
+
super().__init__(client, objectID, ModifyBeamEntityService_pb2_grpc.ModifyBeamEntityServiceStub(client.channel), BeamProperty)
|
|
12
|
+
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
import rs3.generatedFiles.ModifyBoltEntityService_pb2_grpc as ModifyBoltEntityService_pb2_grpc
|
|
3
|
+
from rs3.entities.BaseEntity import BaseEntity
|
|
4
|
+
from rs3.properties.bolt.Bolt import BoltProperty
|
|
5
|
+
|
|
6
|
+
class Bolt(BaseEntity[BoltProperty]):
|
|
7
|
+
"""
|
|
8
|
+
Bolt Entity.
|
|
9
|
+
"""
|
|
10
|
+
def __init__(self, client : Client, objectID : str):
|
|
11
|
+
super().__init__(client, objectID, ModifyBoltEntityService_pb2_grpc.ModifyBoltEntityServiceStub(client.channel), BoltProperty)
|
rs3/entities/entity.py
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
from rs3.CommonEnums import SupportTypes
|
|
3
|
+
from rs3.entities.beam.beam import Beam
|
|
4
|
+
from rs3.entities.bolt.bolt import Bolt
|
|
5
|
+
from rs3.entities.joint.joint import Joint
|
|
6
|
+
from rs3.entities.liningComposition.liningComposition import LiningComposition
|
|
7
|
+
from rs3.entities.pile.pile import Pile
|
|
8
|
+
import rs3.generatedFiles.SupportEntityService_pb2_grpc as SupportEntityServiceGrpc
|
|
9
|
+
import rs3.generatedFiles.SupportEntityService_pb2 as SupportEntityService
|
|
10
|
+
from rs3._proxyObject import _ProxyObject
|
|
11
|
+
|
|
12
|
+
class Entity(_ProxyObject):
|
|
13
|
+
def __init__(self, client: Client, projectId: str):
|
|
14
|
+
self._client = client
|
|
15
|
+
self._projectId = projectId
|
|
16
|
+
self._SupportEntityService = SupportEntityServiceGrpc.SupportEntityServiceStub(self._client.channel)
|
|
17
|
+
|
|
18
|
+
def getAllSupportEntities(self, entityType: SupportTypes):
|
|
19
|
+
request = SupportEntityService.GetAllSupportEntitiesRequest(_projectId=self._projectId, entityType = entityType.value)
|
|
20
|
+
result_ = self._client.callFunction(self._SupportEntityService.GetAllSupportEntities, request)
|
|
21
|
+
|
|
22
|
+
match entityType:
|
|
23
|
+
case SupportTypes.BEAM:
|
|
24
|
+
return [Beam(self._client, obj) for obj in result_.result]
|
|
25
|
+
case SupportTypes.BOLT:
|
|
26
|
+
return [Bolt(self._client, obj) for obj in result_.result]
|
|
27
|
+
case SupportTypes.JOINT:
|
|
28
|
+
return [Joint(self._client, obj) for obj in result_.result]
|
|
29
|
+
case SupportTypes.COMPOSITE_LINER:
|
|
30
|
+
return [LiningComposition(self._client, obj) for obj in result_.result]
|
|
31
|
+
case SupportTypes.PILE:
|
|
32
|
+
return [Pile(self._client, obj) for obj in result_.result]
|
|
33
|
+
|
|
34
|
+
def getSupportEntityByName(self, entityType: SupportTypes, name: str):
|
|
35
|
+
request = SupportEntityService.GetSupportEntityByNameRequest(_projectId=self._projectId, entityType = entityType.value, name=name)
|
|
36
|
+
result_ = self._client.callFunction(self._SupportEntityService.GetSupportEntityByName, request)
|
|
37
|
+
|
|
38
|
+
match entityType:
|
|
39
|
+
case SupportTypes.BEAM:
|
|
40
|
+
return Beam(self._client, result_.result)
|
|
41
|
+
case SupportTypes.BOLT:
|
|
42
|
+
return Bolt(self._client, result_.result)
|
|
43
|
+
case SupportTypes.JOINT:
|
|
44
|
+
return Joint(self._client, result_.result)
|
|
45
|
+
case SupportTypes.COMPOSITE_LINER:
|
|
46
|
+
return LiningComposition(self._client, result_.result)
|
|
47
|
+
case SupportTypes.PILE:
|
|
48
|
+
return Pile(self._client, result_.result)
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
import rs3.generatedFiles.ModifyJointEntityService_pb2_grpc as ModifyJointEntityService_pb2_grpc
|
|
3
|
+
from rs3.entities.BaseEntity import BaseEntity
|
|
4
|
+
from rs3.properties.joint.Joint import JointProperty
|
|
5
|
+
|
|
6
|
+
class Joint(BaseEntity[JointProperty]):
|
|
7
|
+
"""
|
|
8
|
+
Joint Entity.
|
|
9
|
+
"""
|
|
10
|
+
def __init__(self, client : Client, objectID : str):
|
|
11
|
+
super().__init__(client, objectID, ModifyJointEntityService_pb2_grpc.ModifyJointEntityServiceStub(client.channel), JointProperty)
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
import rs3.generatedFiles.ModifyCompositeLinerEntity_pb2_grpc as ModifyCompositeLinerEntity_pb2_grpc
|
|
3
|
+
from rs3.entities.BaseEntity import BaseEntity
|
|
4
|
+
from rs3.properties.liningComposition.LiningComposition import LiningCompositionProperty
|
|
5
|
+
|
|
6
|
+
class LiningComposition(BaseEntity[LiningCompositionProperty]):
|
|
7
|
+
"""
|
|
8
|
+
LiningComposition Entity.
|
|
9
|
+
"""
|
|
10
|
+
def __init__(self, client : Client, objectID : str):
|
|
11
|
+
super().__init__(client, objectID, ModifyCompositeLinerEntity_pb2_grpc.ModifyCompositeLinerEntityServiceStub(client.channel), LiningCompositionProperty)
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from rs3._client import Client
|
|
2
|
+
import rs3.generatedFiles.ModifyPileEntityService_pb2_grpc as ModifyPileEntityService_pb2_grpc
|
|
3
|
+
from rs3.entities.BaseEntity import BaseEntity
|
|
4
|
+
from rs3.properties.pile.Pile import PileProperty
|
|
5
|
+
|
|
6
|
+
class Pile(BaseEntity[PileProperty]):
|
|
7
|
+
"""
|
|
8
|
+
Pile Entity.
|
|
9
|
+
"""
|
|
10
|
+
def __init__(self, client : Client, objectID : str):
|
|
11
|
+
super().__init__(client, objectID, ModifyPileEntityService_pb2_grpc.ModifyPileEntityServiceStub(client.channel), PileProperty)
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
-
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
-
# source: BFPCommonMessage.proto
|
|
5
|
-
# Protobuf Python Version: 5.29.0
|
|
6
|
-
"""Generated protocol buffer code."""
|
|
7
|
-
from google.protobuf import descriptor as _descriptor
|
|
8
|
-
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
-
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
-
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
-
from google.protobuf.internal import builder as _builder
|
|
12
|
-
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
-
_runtime_version.Domain.PUBLIC,
|
|
14
|
-
5,
|
|
15
|
-
29,
|
|
16
|
-
0,
|
|
17
|
-
'',
|
|
18
|
-
'BFPCommonMessage.proto'
|
|
19
|
-
)
|
|
20
|
-
# @@protoc_insertion_point(imports)
|
|
21
|
-
|
|
22
|
-
_sym_db = _symbol_database.Default()
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x42\x46PCommonMessage.proto\x12\x10\x42\x46PCommonMessage\"\xeb\x01\n\x12\x45lementNodalValues\x12\x11\n\taxisForce\x18\x01 \x01(\x01\x12\x19\n\x11shearForceMinAxis\x18\x02 \x01(\x01\x12\x19\n\x11shearForceMaxAxis\x18\x03 \x01(\x01\x12\x15\n\rmomentMinAxis\x18\x04 \x01(\x01\x12\x15\n\rmomentMaxAxis\x18\x05 \x01(\x01\x12\x15\n\rdisplacementX\x18\x06 \x01(\x01\x12\x15\n\rdisplacementY\x18\x07 \x01(\x01\x12\x15\n\rdisplacementZ\x18\x08 \x01(\x01\x12\x19\n\x11totalDisplacement\x18\t \x01(\x01\"\xeb\x01\n\x14InterfaceNodalValues\x12\x12\n\nshearForce\x18\x01 \x01(\x01\x12\x1a\n\x12normalForceMinAxis\x18\x02 \x01(\x01\x12\x1a\n\x12normalForceMaxAxis\x18\x03 \x01(\x01\x12\x17\n\x0f\x63onfiningStress\x18\x04 \x01(\x01\x12\x19\n\x11rockDisplacementX\x18\x05 \x01(\x01\x12\x19\n\x11rockDisplacementY\x18\x06 \x01(\x01\x12\x19\n\x11rockDisplacementZ\x18\x07 \x01(\x01\x12\x1d\n\x15rockTotalDisplacement\x18\x08 \x01(\x01\x62\x06proto3')
|
|
28
|
-
|
|
29
|
-
_globals = globals()
|
|
30
|
-
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
-
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'BFPCommonMessage_pb2', _globals)
|
|
32
|
-
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
-
DESCRIPTOR._loaded_options = None
|
|
34
|
-
_globals['_ELEMENTNODALVALUES']._serialized_start=45
|
|
35
|
-
_globals['_ELEMENTNODALVALUES']._serialized_end=280
|
|
36
|
-
_globals['_INTERFACENODALVALUES']._serialized_start=283
|
|
37
|
-
_globals['_INTERFACENODALVALUES']._serialized_end=518
|
|
38
|
-
# @@protoc_insertion_point(module_scope)
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: BFPCommonMessage.proto
|
|
5
|
+
# Protobuf Python Version: 5.29.0
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
5,
|
|
15
|
+
29,
|
|
16
|
+
0,
|
|
17
|
+
'',
|
|
18
|
+
'BFPCommonMessage.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x42\x46PCommonMessage.proto\x12\x10\x42\x46PCommonMessage\"\xeb\x01\n\x12\x45lementNodalValues\x12\x11\n\taxisForce\x18\x01 \x01(\x01\x12\x19\n\x11shearForceMinAxis\x18\x02 \x01(\x01\x12\x19\n\x11shearForceMaxAxis\x18\x03 \x01(\x01\x12\x15\n\rmomentMinAxis\x18\x04 \x01(\x01\x12\x15\n\rmomentMaxAxis\x18\x05 \x01(\x01\x12\x15\n\rdisplacementX\x18\x06 \x01(\x01\x12\x15\n\rdisplacementY\x18\x07 \x01(\x01\x12\x15\n\rdisplacementZ\x18\x08 \x01(\x01\x12\x19\n\x11totalDisplacement\x18\t \x01(\x01\"\xeb\x01\n\x14InterfaceNodalValues\x12\x12\n\nshearForce\x18\x01 \x01(\x01\x12\x1a\n\x12normalForceMinAxis\x18\x02 \x01(\x01\x12\x1a\n\x12normalForceMaxAxis\x18\x03 \x01(\x01\x12\x17\n\x0f\x63onfiningStress\x18\x04 \x01(\x01\x12\x19\n\x11rockDisplacementX\x18\x05 \x01(\x01\x12\x19\n\x11rockDisplacementY\x18\x06 \x01(\x01\x12\x19\n\x11rockDisplacementZ\x18\x07 \x01(\x01\x12\x1d\n\x15rockTotalDisplacement\x18\x08 \x01(\x01\x62\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'BFPCommonMessage_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_ELEMENTNODALVALUES']._serialized_start=45
|
|
35
|
+
_globals['_ELEMENTNODALVALUES']._serialized_end=280
|
|
36
|
+
_globals['_INTERFACENODALVALUES']._serialized_start=283
|
|
37
|
+
_globals['_INTERFACENODALVALUES']._serialized_end=518
|
|
38
|
+
# @@protoc_insertion_point(module_scope)
|