2424
2525from .._version import GeometryApiProtos , set_proto_version
2626from .base .admin import GRPCAdminService
27+ from .base .assembly_controls import GRPCAssemblyControlsService
28+ from .base .beams import GRPCBeamsService
2729from .base .bodies import GRPCBodyService
30+ from .base .commands import GRPCCommandsService
2831from .base .coordinate_systems import GRPCCoordinateSystemService
2932from .base .dbuapplication import GRPCDbuApplicationService
3033from .base .designs import GRPCDesignsService
3336from .base .faces import GRPCFacesService
3437from .base .materials import GRPCMaterialsService
3538from .base .measurement_tools import GRPCMeasurementToolsService
39+ from .base .model_tools import GRPCModelToolsService
3640from .base .named_selection import GRPCNamedSelectionService
3741from .base .parts import GRPCPartsService
42+ from .base .patterns import GRPCPatternsService
3843from .base .prepare_tools import GRPCPrepareToolsService
3944from .base .repair_tools import GRPCRepairToolsService
4045
@@ -78,7 +83,10 @@ def __init__(self, channel: grpc.Channel, version: GeometryApiProtos | str | Non
7883
7984 # Lazy load all the services
8085 self ._admin = None
86+ self ._assembly_controls = None
87+ self ._beams = None
8188 self ._bodies = None
89+ self ._commands = None
8290 self ._coordinate_systems = None
8391 self ._dbu_application = None
8492 self ._designs = None
@@ -87,8 +95,10 @@ def __init__(self, channel: grpc.Channel, version: GeometryApiProtos | str | Non
8795 self ._faces = None
8896 self ._materials = None
8997 self ._measurement_tools = None
98+ self ._model_tools = None
9099 self ._named_selection = None
91100 self ._parts = None
101+ self ._patterns = None
92102 self ._prepare_tools = None
93103 self ._repair_tools = None
94104
@@ -118,6 +128,58 @@ def admin(self) -> GRPCAdminService:
118128
119129 return self ._admin
120130
131+ @property
132+ def assembly_controls (self ) -> GRPCAssemblyControlsService :
133+ """
134+ Get the assembly controls service for the specified version.
135+
136+ Returns
137+ -------
138+ GRPCAssemblyControlsService
139+ The assembly controls service for the specified version.
140+ """
141+ if not self ._assembly_controls :
142+ # Import the appropriate assembly controls service based on the version
143+ from .v0 .assembly_controls import GRPCAssemblyControlsServiceV0
144+ from .v1 .assembly_controls import GRPCAssemblyControlsServiceV1
145+
146+ if self .version == GeometryApiProtos .V0 :
147+ self ._assembly_controls = GRPCAssemblyControlsServiceV0 (self .channel )
148+ elif self .version == GeometryApiProtos .V1 : # pragma: no cover
149+ # V1 is not implemented yet
150+ self ._assembly_controls = GRPCAssemblyControlsServiceV1 (self .channel )
151+ else : # pragma: no cover
152+ # This should never happen as the version is set in the constructor
153+ raise ValueError (f"Unsupported version: { self .version } " )
154+
155+ return self ._assembly_controls
156+
157+ @property
158+ def beams (self ) -> GRPCBeamsService :
159+ """
160+ Get the Beams service for the specified version.
161+
162+ Returns
163+ -------
164+ GRPCBeamsService
165+ The Beams service for the specified version.
166+ """
167+ if not self ._beams :
168+ # Import the appropriate Beams service based on the version
169+ from .v0 .beams import GRPCBeamsServiceV0
170+ from .v1 .beams import GRPCBeamsServiceV1
171+
172+ if self .version == GeometryApiProtos .V0 :
173+ self ._beams = GRPCBeamsServiceV0 (self .channel )
174+ elif self .version == GeometryApiProtos .V1 : # pragma: no cover
175+ # V1 is not implemented yet
176+ self ._beams = GRPCBeamsServiceV1 (self .channel )
177+ else : # pragma: no cover
178+ # This should never happen as the version is set in the constructor
179+ raise ValueError (f"Unsupported version: { self .version } " )
180+
181+ return self ._beams
182+
121183 @property
122184 def bodies (self ) -> GRPCBodyService :
123185 """
@@ -144,6 +206,32 @@ def bodies(self) -> GRPCBodyService:
144206
145207 return self ._bodies
146208
209+ @property
210+ def commands (self ) -> GRPCCommandsService :
211+ """
212+ Get the commands service for the specified version.
213+
214+ Returns
215+ -------
216+ GRPCCommandsService
217+ The commands service for the specified version.
218+ """
219+ if not self ._commands :
220+ # Import the appropriate commands service based on the version
221+ from .v0 .commands import GRPCCommandsServiceV0
222+ from .v1 .commands import GRPCCommandsServiceV1
223+
224+ if self .version == GeometryApiProtos .V0 :
225+ self ._commands = GRPCCommandsServiceV0 (self .channel )
226+ elif self .version == GeometryApiProtos .V1 : # pragma: no cover
227+ # V1 is not implemented yet
228+ self ._commands = GRPCCommandsServiceV1 (self .channel )
229+ else : # pragma: no cover
230+ # This should never happen as the version is set in the constructor
231+ raise ValueError (f"Unsupported version: { self .version } " )
232+
233+ return self ._commands
234+
147235 @property
148236 def coordinate_systems (self ) -> GRPCCoordinateSystemService :
149237 """
@@ -352,6 +440,32 @@ def measurement_tools(self) -> GRPCMeasurementToolsService:
352440
353441 return self ._measurement_tools
354442
443+ @property
444+ def model_tools (self ) -> GRPCModelToolsService :
445+ """
446+ Get the model tools service for the specified version.
447+
448+ Returns
449+ -------
450+ GRPCModelToolsService
451+ The model tools service for the specified version.
452+ """
453+ if not self ._model_tools :
454+ # Import the appropriate model tools service based on the version
455+ from .v0 .model_tools import GRPCModelToolsServiceV0
456+ from .v1 .model_tools import GRPCModelToolsServiceV1
457+
458+ if self .version == GeometryApiProtos .V0 :
459+ self ._model_tools = GRPCModelToolsServiceV0 (self .channel )
460+ elif self .version == GeometryApiProtos .V1 :
461+ # V1 is not implemented yet
462+ self ._model_tools = GRPCModelToolsServiceV1 (self .channel )
463+ else : # pragma: no cover
464+ # This should never happen as the version is set in the constructor
465+ raise ValueError (f"Unsupported version: { self .version } " )
466+
467+ return self ._model_tools
468+
355469 @property
356470 def named_selection (self ) -> GRPCNamedSelectionService :
357471 """
@@ -404,6 +518,32 @@ def parts(self) -> GRPCPartsService:
404518
405519 return self ._parts
406520
521+ @property
522+ def patterns (self ) -> GRPCPatternsService :
523+ """
524+ Get the patterns service for the specified version.
525+
526+ Returns
527+ -------
528+ GRPCPatternsService
529+ The patterns service for the specified version.
530+ """
531+ if not self ._patterns :
532+ # Import the appropriate patterns service based on the version
533+ from .v0 .patterns import GRPCPatternsServiceV0
534+ from .v1 .patterns import GRPCPatternsServiceV1
535+
536+ if self .version == GeometryApiProtos .V0 :
537+ self ._patterns = GRPCPatternsServiceV0 (self .channel )
538+ elif self .version == GeometryApiProtos .V1 : # pragma: no cover
539+ # V1 is not implemented yet
540+ self ._patterns = GRPCPatternsServiceV1 (self .channel )
541+ else :
542+ # This should never happen as the version is set in the constructor
543+ raise ValueError (f"Unsupported version: { self .version } " )
544+
545+ return self ._patterns
546+
407547 @property
408548 def prepare_tools (self ) -> GRPCPrepareToolsService :
409549 """
0 commit comments