diff --git a/src/ansys/api/acp/v0/modeling_ply.proto b/src/ansys/api/acp/v0/modeling_ply.proto index bb52d88..246aae4 100644 --- a/src/ansys/api/acp/v0/modeling_ply.proto +++ b/src/ansys/api/acp/v0/modeling_ply.proto @@ -3,6 +3,8 @@ package ansys.api.acp.v0.modeling_ply; import "ansys/api/acp/v0/base.proto"; import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/array_types.proto"; +import "ansys/api/acp/v0/ply_material.proto"; import "ansys/api/acp/v0/linked_selection_rule.proto"; message Properties { @@ -13,8 +15,18 @@ message Properties { int64 number_of_layers = 5; bool active = 6; int64 global_ply_nr = 7; - // TODO: draping - repeated linked_selection_rule.LinkedSelectionRule selection_rules = 8; + + // draping-related properties + ply_material.DrapingType draping = 8; + array_types.DoubleArray draping_seed_point = 9; + bool auto_draping_direction = 10; + array_types.DoubleArray draping_direction = 11; + double draping_mesh_size = 12; + bool draping_thickness_correction = 13; + base.ResourcePath draping_angle_1_field = 14; + base.ResourcePath draping_angle_2_field = 15; + + repeated linked_selection_rule.LinkedSelectionRule selection_rules = 16; // TODO: variable thickness // TODO: taper edges } diff --git a/src/ansys/api/acp/v0/oriented_selection_set.proto b/src/ansys/api/acp/v0/oriented_selection_set.proto index c7a575a..65cbfaa 100644 --- a/src/ansys/api/acp/v0/oriented_selection_set.proto +++ b/src/ansys/api/acp/v0/oriented_selection_set.proto @@ -4,6 +4,7 @@ package ansys.api.acp.v0.oriented_selection_set; import "ansys/api/acp/v0/base.proto"; import "ansys/api/acp/v0/enum_types.proto"; import "ansys/api/acp/v0/array_types.proto"; +import "ansys/api/acp/v0/ply_material.proto"; message Properties { enum_types.StatusType status = 1; @@ -14,7 +15,15 @@ message Properties { enum_types.RosetteSelectionMethod rosette_selection_method = 6; // TODO: tabular values repeated base.ResourcePath selection_rules = 7; - // TODO: draping + + // draping-related properties + bool draping = 8; + array_types.DoubleArray draping_seed_point = 9; + bool auto_draping_direction = 10; + array_types.DoubleArray draping_direction = 11; + double draping_mesh_size = 12; + ply_material.DrapingMaterialType draping_material_model = 13; + double draping_ud_coefficient = 14; } message ObjectInfo { diff --git a/src/ansys/api/acp/v0/ply_material.proto b/src/ansys/api/acp/v0/ply_material.proto index 2d80152..01d0900 100644 --- a/src/ansys/api/acp/v0/ply_material.proto +++ b/src/ansys/api/acp/v0/ply_material.proto @@ -1,6 +1,14 @@ syntax = "proto3"; package ansys.api.acp.v0.ply_material; +// defines how draping is computed (none, using the draping algorithm, +// or using tabular values) +enum DrapingType { + NO_DRAPING = 0; + INTERNAL_DRAPING = 1; + TABULAR_VALUES = 2; +} + // defines the draping model (algorithm) enum DrapingMaterialType { WOVEN = 0; diff --git a/src/ansys/api/acp/v0/variable_offset_selection_rule.proto b/src/ansys/api/acp/v0/variable_offset_selection_rule.proto new file mode 100644 index 0000000..1c501ae --- /dev/null +++ b/src/ansys/api/acp/v0/variable_offset_selection_rule.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; +package ansys.api.acp.v0.variable_offset_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; + base.ResourcePath offsets = 3; + base.ResourcePath angles = 4; + bool include_rule_type = 5; + bool use_offset_correction = 6; + base.ResourcePath element_set = 7; + bool inherit_from_lookup_table = 8; + array_types.DoubleArray radius_origin = 9; + array_types.DoubleArray radius_direction = 10; + bool distance_along_edge = 11; +} + +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); +}