diff --git a/src/ansys/api/acp/v0/boolean_selection_rule.proto b/src/ansys/api/acp/v0/boolean_selection_rule.proto new file mode 100644 index 0000000..36e7166 --- /dev/null +++ b/src/ansys/api/acp/v0/boolean_selection_rule.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; +package ansys.api.acp.v0.boolean_selection_rule; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/linked_selection_rule.proto"; + +message Properties { + enum_types.StatusType status = 1; + repeated linked_selection_rule.LinkedSelectionRule selection_rules = 2; + bool include_rule_type = 3; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +message CreateRequest { + base.CollectionPath collection_path = 1; + string name = 2; + Properties properties = 3; +} + +service ObjectService { + rpc List(base.ListRequest) returns (ListReply); + + rpc Get(base.GetRequest) returns (ObjectInfo); + + rpc Put(ObjectInfo) returns (ObjectInfo); + + rpc Delete(base.DeleteRequest) returns (base.Empty); + + rpc Create(CreateRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/cylindrical_selection_rule.proto b/src/ansys/api/acp/v0/cylindrical_selection_rule.proto new file mode 100644 index 0000000..808bf7a --- /dev/null +++ b/src/ansys/api/acp/v0/cylindrical_selection_rule.proto @@ -0,0 +1,42 @@ +syntax = "proto3"; +package ansys.api.acp.v0.cylindrical_selection_rule; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/array_types.proto"; + +message Properties { + enum_types.StatusType status = 1; + bool use_global_coordinate_system = 2; + base.ResourcePath rosette = 3; + array_types.DoubleArray origin = 4; + array_types.DoubleArray direction = 5; + double radius = 6; + bool relative_rule_type = 7; + bool include_rule_type = 8; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +message CreateRequest { + base.CollectionPath collection_path = 1; + string name = 2; + Properties properties = 3; +} + +service ObjectService { + rpc List(base.ListRequest) returns (ListReply); + + rpc Get(base.GetRequest) returns (ObjectInfo); + + rpc Put(ObjectInfo) returns (ObjectInfo); + + rpc Delete(base.DeleteRequest) returns (base.Empty); + + rpc Create(CreateRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/enum_types.proto b/src/ansys/api/acp/v0/enum_types.proto index e9bd58b..d74ea12 100644 --- a/src/ansys/api/acp/v0/enum_types.proto +++ b/src/ansys/api/acp/v0/enum_types.proto @@ -32,4 +32,13 @@ enum PlyType { ISOTROPIC = 5; UNDEFINED = 6; ADHESIVE = 7; -} \ No newline at end of file +} + +// Defines the type of linked selection rules. +// This is used in Boolean Selection Rules, and in the selection rules +// for Modeling Plies. +enum BooleanOperationType { + INTERSECT = 0; + ADD = 1; + REMOVE = 2; +} diff --git a/src/ansys/api/acp/v0/linked_selection_rule.proto b/src/ansys/api/acp/v0/linked_selection_rule.proto new file mode 100644 index 0000000..9c6810a --- /dev/null +++ b/src/ansys/api/acp/v0/linked_selection_rule.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package ansys.api.acp.v0.linked_selection_rule; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +// Defines a linked selection rule, as used in Boolean Selection Rules, +// and in Modeling Plies. +message LinkedSelectionRule { + base.ResourcePath resource_path = 1; + enum_types.BooleanOperationType operation_type = 2; + bool template_rule = 3; + double parameter_1 = 4; + double parameter_2 = 5; +} diff --git a/src/ansys/api/acp/v0/parallel_selection_rule.proto b/src/ansys/api/acp/v0/parallel_selection_rule.proto new file mode 100644 index 0000000..d519d40 --- /dev/null +++ b/src/ansys/api/acp/v0/parallel_selection_rule.proto @@ -0,0 +1,43 @@ +syntax = "proto3"; +package ansys.api.acp.v0.parallel_selection_rule; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/array_types.proto"; + +message Properties { + enum_types.StatusType status = 1; + bool use_global_coordinate_system = 2; + base.ResourcePath rosette = 3; + array_types.DoubleArray origin = 4; + array_types.DoubleArray direction = 5; + double lower_limit = 6; + double upper_limit = 7; + bool relative_rule_type = 8; + bool include_rule_type = 9; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +message CreateRequest { + base.CollectionPath collection_path = 1; + string name = 2; + Properties properties = 3; +} + +service ObjectService { + rpc List(base.ListRequest) returns (ListReply); + + rpc Get(base.GetRequest) returns (ObjectInfo); + + rpc Put(ObjectInfo) returns (ObjectInfo); + + rpc Delete(base.DeleteRequest) returns (base.Empty); + + rpc Create(CreateRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/production_ply.proto b/src/ansys/api/acp/v0/production_ply.proto index 77ccf68..f754259 100644 --- a/src/ansys/api/acp/v0/production_ply.proto +++ b/src/ansys/api/acp/v0/production_ply.proto @@ -16,10 +16,7 @@ message ObjectInfo { Properties properties = 2; } -message ListReply { - repeated ObjectInfo objects = 1; -} - +message ListReply { repeated ObjectInfo objects = 1; } service ObjectService { // Object is generated on update and read-only => diff --git a/src/ansys/api/acp/v0/spherical_selection_rule.proto b/src/ansys/api/acp/v0/spherical_selection_rule.proto new file mode 100644 index 0000000..e5e0287 --- /dev/null +++ b/src/ansys/api/acp/v0/spherical_selection_rule.proto @@ -0,0 +1,41 @@ +syntax = "proto3"; +package ansys.api.acp.v0.spherical_selection_rule; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/array_types.proto"; + +message Properties { + enum_types.StatusType status = 1; + bool use_global_coordinate_system = 2; + base.ResourcePath rosette = 3; + array_types.DoubleArray origin = 4; + double radius = 5; + bool relative_rule_type = 6; + bool include_rule_type = 7; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +message CreateRequest { + base.CollectionPath collection_path = 1; + string name = 2; + Properties properties = 3; +} + +service ObjectService { + rpc List(base.ListRequest) returns (ListReply); + + rpc Get(base.GetRequest) returns (ObjectInfo); + + rpc Put(ObjectInfo) returns (ObjectInfo); + + rpc Delete(base.DeleteRequest) returns (base.Empty); + + rpc Create(CreateRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/tube_selection_rule.proto b/src/ansys/api/acp/v0/tube_selection_rule.proto new file mode 100644 index 0000000..1788d5c --- /dev/null +++ b/src/ansys/api/acp/v0/tube_selection_rule.proto @@ -0,0 +1,44 @@ +syntax = "proto3"; +package ansys.api.acp.v0.tube_selection_rule; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/array_types.proto"; + +message Properties { + enum_types.StatusType status = 1; + base.ResourcePath edge_set = 2; + double outer_radius = 3; + double inner_radius = 4; + bool include_rule_type = 5; + bool extend_endings = 6; + bool symmetrical_extension = 7; + array_types.DoubleArray head = 8; + double head_extension = 9; + double tail_extension = 10; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +message CreateRequest { + base.CollectionPath collection_path = 1; + string name = 2; + Properties properties = 3; +} + +service ObjectService { + rpc List(base.ListRequest) returns (ListReply); + + rpc Get(base.GetRequest) returns (ObjectInfo); + + rpc Put(ObjectInfo) returns (ObjectInfo); + + rpc Delete(base.DeleteRequest) returns (base.Empty); + + rpc Create(CreateRequest) returns (ObjectInfo); +}