diff --git a/src/ansys/api/acp/VERSION b/src/ansys/api/acp/VERSION index c11082e..13ac7ae 100644 --- a/src/ansys/api/acp/VERSION +++ b/src/ansys/api/acp/VERSION @@ -1 +1 @@ -0.1.0.dev9 +0.1.0.dev10 diff --git a/src/ansys/api/acp/v0/butt_joint_sequence.proto b/src/ansys/api/acp/v0/butt_joint_sequence.proto new file mode 100644 index 0000000..ed68042 --- /dev/null +++ b/src/ansys/api/acp/v0/butt_joint_sequence.proto @@ -0,0 +1,65 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.butt_joint_sequence; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +message PrimaryPly { + base.ResourcePath sequence = 1; + int64 level = 2; +} + +message Properties { + enum_types.StatusType status = 1; + bool active = 2; + int64 global_ply_nr = 3; + repeated PrimaryPly primary_plies = 4; + repeated base.ResourcePath secondary_plies = 5; +} + +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/cad_component.proto b/src/ansys/api/acp/v0/cad_component.proto index 81e2f81..ad26e21 100644 --- a/src/ansys/api/acp/v0/cad_component.proto +++ b/src/ansys/api/acp/v0/cad_component.proto @@ -41,8 +41,6 @@ message ObjectInfo { message ListReply { repeated ObjectInfo objects = 1; } -message RefreshRequest { base.ResourcePath resource_path = 1; } - service ObjectService { // Object is read-only => only list and get endpoints. diff --git a/src/ansys/api/acp/v0/cut_off_geometry.proto b/src/ansys/api/acp/v0/cut_off_geometry.proto new file mode 100644 index 0000000..971e2ab --- /dev/null +++ b/src/ansys/api/acp/v0/cut_off_geometry.proto @@ -0,0 +1,65 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.cut_off_geometry; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +enum OrientationType { + UP = 0; + DOWN = 1; +} + +message Properties { + enum_types.StatusType status = 1; + bool active = 2; + base.ResourcePath cad_geometry = 3; + OrientationType orientation = 4; + double relative_merge_tolerance = 5; +} + +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 4aaefa2..44d40f8 100644 --- a/src/ansys/api/acp/v0/enum_types.proto +++ b/src/ansys/api/acp/v0/enum_types.proto @@ -77,3 +77,14 @@ enum ArrowType { HALF_ARROW = 1; STANDARD_ARROW = 2; } + +enum FileFormat { + ANSYS_H5 = 0; + ANSYS_CDB = 1; + ANSYS_DAT = 2; + ABAQUS_INP = 3; // currently unused + NASTRAN_BDF = 4; // currently unused + STEP = 5; + IGES = 6; + STL = 7; +} diff --git a/src/ansys/api/acp/v0/extrusion_guide.proto b/src/ansys/api/acp/v0/extrusion_guide.proto new file mode 100644 index 0000000..0fffc74 --- /dev/null +++ b/src/ansys/api/acp/v0/extrusion_guide.proto @@ -0,0 +1,72 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.extrusion_guide; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/array_types.proto"; + +enum ExtrusionGuideType { + BY_GEOMETRY = 0; + BY_DIRECTION = 1; +} + +message Properties { + enum_types.StatusType status = 1; + bool active = 2; + base.ResourcePath edge_set = 3; + ExtrusionGuideType extrusion_guide_type = 4; + base.ResourcePath cad_geometry = 5; + array_types.DoubleArray direction = 6; + + // MESH MORPHING PARAMETERS + double radius = 7; + double depth = 8; + bool use_curvature_correction = 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/fabric.proto b/src/ansys/api/acp/v0/fabric.proto index 433989b..e47ee42 100644 --- a/src/ansys/api/acp/v0/fabric.proto +++ b/src/ansys/api/acp/v0/fabric.proto @@ -31,17 +31,22 @@ import "ansys/api/acp/v0/drop_off_material.proto"; message Properties { enum_types.StatusType status = 1; + base.ResourcePath material = 9; double thickness = 2; double area_price = 3; bool ignore_for_postprocessing = 4; + + // SOLID MODEL OPTIONS drop_off_material.MaterialHandlingType drop_off_material_handling = 5; + base.ResourcePath drop_off_material = 11; cut_off_material.MaterialHandlingType cut_off_material_handling = 6; + base.ResourcePath cut_off_material = 12; + + // DRAPING OPTIONS ply_material.DrapingMaterialType draping_material_model = 7; double draping_ud_coefficient = 8; - base.ResourcePath material = 9; - // todo: drop-off and cut-off material links (resource path). - // read only properties + // READ-ONLY PROPERTIES double area_weight = 10; } diff --git a/src/ansys/api/acp/v0/field_definition.proto b/src/ansys/api/acp/v0/field_definition.proto new file mode 100644 index 0000000..02de8bf --- /dev/null +++ b/src/ansys/api/acp/v0/field_definition.proto @@ -0,0 +1,62 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.field_definition; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +message Properties { + enum_types.StatusType status = 1; + bool locked = 2; + bool active = 3; + string field_variable_name = 4; + repeated base.ResourcePath scope_entities = 5; + base.ResourcePath scalar_field = 6; + bool full_mapping = 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/imported_analysis_ply.proto b/src/ansys/api/acp/v0/imported_analysis_ply.proto new file mode 100644 index 0000000..7ed2b1e --- /dev/null +++ b/src/ansys/api/acp/v0/imported_analysis_ply.proto @@ -0,0 +1,51 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.imported_analysis_ply; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +message Properties { + // Object is generated on update and all properties are read only. + enum_types.StatusType status = 1; + base.ResourcePath material = 2; + double thickness = 3; + // angle in degree + double angle = 4; + bool active_in_post_mode = 5; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +service ObjectService { + // Object is generated on update and read-only => + // only list and get endpoints. + rpc List(base.ListRequest) returns (ListReply); + rpc Get(base.GetRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/imported_modeling_group.proto b/src/ansys/api/acp/v0/imported_modeling_group.proto new file mode 100644 index 0000000..8deb019 --- /dev/null +++ b/src/ansys/api/acp/v0/imported_modeling_group.proto @@ -0,0 +1,53 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.imported_modeling_group; + +import "ansys/api/acp/v0/base.proto"; + +message Properties {} + +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/imported_modeling_ply.proto b/src/ansys/api/acp/v0/imported_modeling_ply.proto new file mode 100644 index 0000000..643edf8 --- /dev/null +++ b/src/ansys/api/acp/v0/imported_modeling_ply.proto @@ -0,0 +1,98 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.imported_modeling_ply; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/ply_material.proto"; +import "ansys/api/acp/v0/modeling_ply.proto"; + +enum MeshImportType { + FROM_H5_COMPOSITE_CAE = 0; + FROM_GEOMETRY = 1; +}; + +message Properties { + enum_types.StatusType status = 1; + bool active = 2; + + // IMPORTED MESH PROPERTIES + enum_types.OffsetType offset_type = 3; + // The 'FROM_H5_COMPOSITE_CAE' mesh import type can only be created + // via the Composite CAE H5 import. Manually created imported plies are + // always of type 'FROM_GEOMETRY'. + MeshImportType mesh_import_type = 4; + base.ResourcePath mesh_geometry = 5; + + // REFERENCE DIRECTION + enum_types.RosetteSelectionMethod rosette_selection_method = 6; + repeated base.ResourcePath rosettes = 7; + base.ResourcePath reference_direction_field = 8; + double rotation_angle = 9; + + // MATERIAL PROPERTIES + // Only fabrics are supported as ply material + base.ResourcePath ply_material = 10; + double ply_angle = 11; + + // DRAPING-RELATED PROPERTIES + // The 'INTERNAL_DRAPING' draping type is not supported for imported plies + ply_material.DrapingType draping = 12; + base.ResourcePath draping_angle_1_field = 13; + base.ResourcePath draping_angle_2_field = 14; + + // VARIABLE THICKNESS + // The 'FROM_GEOMETRY' thickness type is not supported for imported plies + modeling_ply.ThicknessType thickness_type = 15; + base.ResourcePath thickness_field = 16; + // The thickness_field_type is discarded when the thickness_field is not set + modeling_ply.ThicknessFieldType thickness_field_type = 17; +} + +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); + + // Custom methods +} diff --git a/src/ansys/api/acp/v0/imported_production_ply.proto b/src/ansys/api/acp/v0/imported_production_ply.proto new file mode 100644 index 0000000..a491860 --- /dev/null +++ b/src/ansys/api/acp/v0/imported_production_ply.proto @@ -0,0 +1,49 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.imported_production_ply; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +message Properties { + // Object is generated on update and all properties are read only. + enum_types.StatusType status = 1; + base.ResourcePath material = 2; + double thickness = 3; + double angle = 4; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +service ObjectService { + // Object is generated on update and read-only => + // only list and get endpoints. + rpc List(base.ListRequest) returns (ListReply); + rpc Get(base.GetRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/imported_solid_model.proto b/src/ansys/api/acp/v0/imported_solid_model.proto new file mode 100644 index 0000000..8864c2d --- /dev/null +++ b/src/ansys/api/acp/v0/imported_solid_model.proto @@ -0,0 +1,101 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.imported_solid_model; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/solid_model.proto"; +import "ansys/api/acp/v0/unit_system.proto"; +import "ansys/api/acp/v0/solid_model_export.proto"; + +message Properties { + // GENERAL PROPERTIES + enum_types.StatusType status = 1; // read only + bool locked = 2; // read only + bool active = 3; + + // SOURCE PROPERTIES + enum_types.FileFormat format = 4; + unit_system.UnitSystemType unit_system = 5; + string external_path = 6; + + // ELEMENT QUALITY PROPERTIES + bool delete_bad_elements = 7; + double warping_limit = 8; + double minimum_volume = 9; + + // CUT-OFF PROPERTIES + base.ResourcePath cut_off_material = 10; + + // EXPORT PROPERTIES + // The following properties are not supported (ignored) for imported solid + // models: + // - write_degenerated_elements + // - transfer_all_sets + // - transferred_element_sets + // - transferred_edge_sets + solid_model.ExportSettings export_settings = 16; +} + +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; +} + +message RefreshRequest { base.ResourcePath resource_path = 1; } + +message ImportInitialMeshRequest { base.ResourcePath resource_path = 1; } + +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); + + // Custom methods + + rpc ExportToFile(solid_model_export.ExportToFileRequest) + returns (base.Empty); + + rpc ExportSkin(solid_model_export.ExportSkinRequest) returns (base.Empty); + + rpc Refresh(RefreshRequest) returns (base.Empty); + + rpc ImportInitialMesh(ImportInitialMeshRequest) returns (base.Empty); + + // TODO: mapping statistics +} diff --git a/src/ansys/api/acp/v0/interface_layer.proto b/src/ansys/api/acp/v0/interface_layer.proto new file mode 100644 index 0000000..725ce31 --- /dev/null +++ b/src/ansys/api/acp/v0/interface_layer.proto @@ -0,0 +1,60 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.interface_layer; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +message Properties { + enum_types.StatusType status = 1; + int64 global_ply_nr = 2; + bool active = 3; + repeated base.ResourcePath oriented_selection_sets = 4; + repeated base.ResourcePath open_area_sets = 5; +} + +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/layup_mapping_object.proto b/src/ansys/api/acp/v0/layup_mapping_object.proto new file mode 100644 index 0000000..e377e80 --- /dev/null +++ b/src/ansys/api/acp/v0/layup_mapping_object.proto @@ -0,0 +1,114 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.layup_mapping_object; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +enum ElementTechnology { + LAYERED_ELEMENT = 0; + REINFORCING = 1; +} + +enum ReinforcingBehavior { + TENSION_AND_COMPRESSION = 0; + TENSION_ONLY = 1; + COMPRESSION_ONLY = 2; +} + +enum BaseElementMaterialHandlingType { + RETAIN = 0; + REMOVE = 1; +} + +enum StressStateType { + UNIAXIAL_STRESS_STATE = 0; + PLANE_STRESS_STATE = 1; + PLANE_STRESS_STATE_WITH_TRANSVERSE_SHEAR_STIFFNESS = 2; + PLANE_STRESS_STATE_WITH_TRANSVERSE_SHEAR_AND_BENDING_STIFFNESS = 3; +} + +message Properties { + // GENERAL PROPERTIES + enum_types.StatusType status = 1; + bool active = 2; + ElementTechnology element_technology = 3; + + // SOURCE SCOPE PROPERTIES + repeated base.ResourcePath shell_element_sets = 4; + bool use_imported_plies = 5; + bool select_all_plies = 6; + repeated base.ResourcePath sequences = 7; + + // TARGET SCOPE PROPERTIES + bool entire_solid_mesh = 8; + repeated base.ResourcePath solid_element_sets = 9; + + // LAYERED ELEMENT PROPERTIES + // void handling + bool scale_ply_thicknesses = 10; + base.ResourcePath void_material = 11; + double minimum_void_material_thickness = 12; + // filler + bool delete_lost_elements = 13; + base.ResourcePath filler_material = 14; + repeated base.ResourcePath rosettes = 15; + enum_types.RosetteSelectionMethod rosette_selection_method = 16; + + // REINFORCING PARAMETERS + // section control and behavior + ReinforcingBehavior reinforcing_behavior = 17; + BaseElementMaterialHandlingType base_element_material_handling = 18; + StressStateType stress_state = 19; + // base material + base.ResourcePath base_material = 20; + repeated base.ResourcePath base_element_rosettes = 21; + enum_types.RosetteSelectionMethod base_element_rosette_selection_method = + 22; +} + +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/mesh_query.proto b/src/ansys/api/acp/v0/mesh_query.proto index ffa2721..fd99252 100644 --- a/src/ansys/api/acp/v0/mesh_query.proto +++ b/src/ansys/api/acp/v0/mesh_query.proto @@ -71,14 +71,11 @@ enum ElementalDataType { // is currently disabled. ELEMENT_PLY_OFFSET = 21; } -// message ElementScoping { -// enum ElementType { -// ALL = 0; -// SHELL = 1; -// SOLID = 2; -// } -// ElementType element_type = 1; -// } +enum ElementScopingType { + ALL = 0; + SHELL = 1; + SOLID = 2; +} message GetElementalDataRequest { // The resource path determines both the entity whose data is being queried, @@ -90,7 +87,7 @@ message GetElementalDataRequest { // ply will be returned. base.ResourcePath resource_path = 1; repeated ElementalDataType data_types = 2; - // ElementScoping scoping = 3; + ElementScopingType element_scoping = 3; // optionally scope by element type } message ElementalData { @@ -106,6 +103,12 @@ enum NodalDataType { message GetNodalDataRequest { base.ResourcePath resource_path = 1; repeated NodalDataType data_types = 2; + ElementScopingType element_scoping = 3; // optionally scope by element type +} + +message GetMeshDataRequest { + base.ResourcePath resource_path = 1; + ElementScopingType element_scoping = 2; } message NodalData { @@ -115,7 +118,7 @@ message NodalData { } service MeshQueryService { - rpc GetMeshData(base.GetRequest) returns (MeshData); + rpc GetMeshData(GetMeshDataRequest) returns (MeshData); rpc GetElementalData(GetElementalDataRequest) returns (ElementalData); rpc GetNodalData(GetNodalDataRequest) returns (NodalData); } diff --git a/src/ansys/api/acp/v0/model.proto b/src/ansys/api/acp/v0/model.proto index 94cca52..13ddd06 100644 --- a/src/ansys/api/acp/v0/model.proto +++ b/src/ansys/api/acp/v0/model.proto @@ -25,6 +25,7 @@ package ansys.api.acp.v0.model; import "ansys/api/acp/v0/base.proto"; import "ansys/api/acp/v0/unit_system.proto"; +import "ansys/api/acp/v0/enum_types.proto"; // Default CRUD messages @@ -38,9 +39,10 @@ message Properties { // bool use_default_section_tolerances = 3; double angle_tolerance = 4; double relative_thickness_tolerance = 5; - double minimum_analysis_ply_thickness = 6; - // read only property + optional double minimum_analysis_ply_thickness = + 6; // when not set, keep the previous value (potentially unit-converted) unit_system.UnitSystemType unit_system = 7; + // read-only double average_element_size = 8; } @@ -55,17 +57,9 @@ message LoadFromFileRequest { string path = 1; } // Special Model messages -enum Format { - ANSYS_H5 = 0; - ANSYS_CDB = 1; - ANSYS_DAT = 2; - ABAQUS_INP = 3; - NASTRAN_BDF = 4; -} - message LoadFromFEFileRequest { string path = 1; - Format format = 2; + enum_types.FileFormat format = 2; enum IgnorableEntity { MESH = 0; ELEMENT_SETS = 1; @@ -99,6 +93,80 @@ message SaveShellCompositeDefinitionsRequest { string path = 2; } +message ExportHDF5CompositeCAERequest { + base.ResourcePath resource_path = 1; + string path = 2; + + // GENERAL PROPERTIES + bool remove_midside_nodes = 3; + bool layup_representation_3d = 4; + enum_types.OffsetType offset_type = 5; + bool ascii_encoding = 6; + + // SCOPE PROPERTIES + bool all_elements = 7; + repeated base.ResourcePath element_sets = + 8; // can be Oriented Selection Set or Element Set + bool all_plies = 9; + repeated base.ResourcePath plies = + 10; // can be Modeling Group or Modeling Ply +}; + +enum ImportMode { + APPEND = 0; + OVERWRITE = 1; +} + +enum ProjectionMode { + SHELL = 0; + SOLID = 1; +} + +message ShellMappingProperties { + // MAPPING SCOPE + bool all_elements = 1; + repeated base.ResourcePath element_sets = 2; + + // PLY AREA MAPPING + double relative_thickness_tolerance = 3; + double relative_in_plane_tolerance = 4; + double angle_tolerance = 5; + double small_hole_threshold = 6; +} + +message SolidMappingProperties { enum_types.OffsetType offset_type = 1; } + +message CoordinateTransformation { + // all angles are in degrees + double rotation_angle_x = 1; + double rotation_angle_y = 2; + double rotation_angle_z = 3; + double translation_x = 4; + double translation_y = 5; + double translation_z = 6; +} + +message ImportHDF5CompositeCAERequest { + // GENERAL PROPERTIES + base.ResourcePath resource_path = 1; + string path = 2; + ImportMode import_mode = 3; + ProjectionMode projection_mode = 4; + + // PLY ANGLES + double minimum_angle_tolerance = 5; + bool recompute_reference_directions = 6; + + // MAPPIG PROPERTIES + oneof mapping_properties { + ShellMappingProperties shell_mapping_properties = 7; + SolidMappingProperties solid_mapping_properties = 8; + } + + // COORDINATE TRANSFORMATION + CoordinateTransformation coordinate_transformation = 9; +} + service ObjectService { rpc List(base.ListRequest) returns (ListReply); @@ -120,4 +188,12 @@ service ObjectService { rpc SaveShellCompositeDefinitions(SaveShellCompositeDefinitionsRequest) returns (base.Empty); + + rpc ExportHDF5CompositeCAE(ExportHDF5CompositeCAERequest) + returns (base.Empty); + + rpc ImportHDF5CompositeCAE(ImportHDF5CompositeCAERequest) + returns (base.Empty); + + // TODO: reload mesh } diff --git a/src/ansys/api/acp/v0/modeling_ply.proto b/src/ansys/api/acp/v0/modeling_ply.proto index 3a84d34..fdf1fec 100644 --- a/src/ansys/api/acp/v0/modeling_ply.proto +++ b/src/ansys/api/acp/v0/modeling_ply.proto @@ -73,6 +73,7 @@ message Properties { ThicknessType thickness_type = 18; base.ResourcePath thickness_geometry = 19; base.ResourcePath thickness_field = 20; + // The thickness_field_type is discarded when the thickness_field is not set ThicknessFieldType thickness_field_type = 21; // taper edges diff --git a/src/ansys/api/acp/v0/ply_geometry_export.proto b/src/ansys/api/acp/v0/ply_geometry_export.proto index aab682a..b4de7e6 100644 --- a/src/ansys/api/acp/v0/ply_geometry_export.proto +++ b/src/ansys/api/acp/v0/ply_geometry_export.proto @@ -26,14 +26,8 @@ package ansys.api.acp.v0.ply_geometry_export; import "ansys/api/acp/v0/base.proto"; import "ansys/api/acp/v0/enum_types.proto"; -enum ExportFormat { - STEP = 0; - IGES = 1; - STL = 2; -} - message ExportOptions { - ExportFormat format = 1; + enum_types.FileFormat format = 1; enum_types.OffsetType offset_type = 2; bool include_boundary = 3; bool include_surface = 4; diff --git a/src/ansys/api/acp/v0/sampling_point.proto b/src/ansys/api/acp/v0/sampling_point.proto new file mode 100644 index 0000000..6a7c1d0 --- /dev/null +++ b/src/ansys/api/acp/v0/sampling_point.proto @@ -0,0 +1,74 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.sampling_point; + +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 { + // general properties + enum_types.StatusType status = 1; + bool locked = 2; // read-only + array_types.DoubleArray point = 3; + array_types.DoubleArray direction = 4; + + // CLT properties + bool use_default_reference_direction = 5; + base.ResourcePath rosette = 6; + array_types.DoubleArray reference_direction = 7; // read-only + bool offset_is_middle = 8; + bool consider_coupling_effect = 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); + + // Custom methods + + // TODO: Export to ESACOMP XML. This is implemented in the ACP GUI, and + // thus cannot (currently) be exposed via the gRPC API. + // Querying the sampling point data is also missing +} diff --git a/src/ansys/api/acp/v0/snap_to_geometry.proto b/src/ansys/api/acp/v0/snap_to_geometry.proto new file mode 100644 index 0000000..3e3c7b4 --- /dev/null +++ b/src/ansys/api/acp/v0/snap_to_geometry.proto @@ -0,0 +1,66 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.snap_to_geometry; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +enum OrientationType { + UNDEFINED = 0; + BOTTOM = 1; + TOP = 2; +} + +message Properties { + enum_types.StatusType status = 1; + bool active = 2; + OrientationType orientation_type = 3; + base.ResourcePath cad_geometry = 4; + base.ResourcePath oriented_selection_set = 5; +} + +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/solid_element_set.proto b/src/ansys/api/acp/v0/solid_element_set.proto new file mode 100644 index 0000000..c4e71e6 --- /dev/null +++ b/src/ansys/api/acp/v0/solid_element_set.proto @@ -0,0 +1,48 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.solid_element_set; + +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 locked = 2; + array_types.IntArray element_labels = 3; +} + +message ObjectInfo { + base.BasicInfo info = 1; + Properties properties = 2; +} + +message ListReply { repeated ObjectInfo objects = 1; } + +service ObjectService { + // Object is generated on update and read-only => + // only list and get endpoints. + rpc List(base.ListRequest) returns (ListReply); + rpc Get(base.GetRequest) returns (ObjectInfo); +} diff --git a/src/ansys/api/acp/v0/solid_model.proto b/src/ansys/api/acp/v0/solid_model.proto index 5a1fbd9..1c0c824 100644 --- a/src/ansys/api/acp/v0/solid_model.proto +++ b/src/ansys/api/acp/v0/solid_model.proto @@ -25,6 +25,7 @@ package ansys.api.acp.v0.solid_model; import "ansys/api/acp/v0/base.proto"; import "ansys/api/acp/v0/enum_types.proto"; +import "ansys/api/acp/v0/solid_model_export.proto"; enum ExtrusionMethodType { ANALYSIS_PLY_WISE = 0; @@ -122,4 +123,11 @@ service ObjectService { rpc Delete(base.DeleteRequest) returns (base.Empty); rpc Create(CreateRequest) returns (ObjectInfo); + + // Custom methods + + rpc ExportToFile(solid_model_export.ExportToFileRequest) + returns (base.Empty); + + rpc ExportSkin(solid_model_export.ExportSkinRequest) returns (base.Empty); } diff --git a/src/ansys/api/acp/v0/solid_model_export.proto b/src/ansys/api/acp/v0/solid_model_export.proto new file mode 100644 index 0000000..50e60b8 --- /dev/null +++ b/src/ansys/api/acp/v0/solid_model_export.proto @@ -0,0 +1,41 @@ +// Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +// SPDX-License-Identifier: MIT +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +syntax = "proto3"; +package ansys.api.acp.v0.solid_model_export; + +import "ansys/api/acp/v0/base.proto"; +import "ansys/api/acp/v0/model.proto"; +import "ansys/api/acp/v0/enum_types.proto"; + +message ExportSkinRequest { + base.ResourcePath resource_path = 1; + string path = 2; + enum_types.FileFormat format = 3; + bool midside_nodes = 4; +} + +message ExportToFileRequest { + base.ResourcePath resource_path = 1; + string path = 2; + enum_types.FileFormat format = 3; +}