From 6f891a45c644bfd9b9deceafee8d1e03842c4abd Mon Sep 17 00:00:00 2001 From: tfs_caslservice Date: Thu, 4 Sep 2025 22:01:41 -0400 Subject: [PATCH] sync: add changes from local folder --- .../discovery/v0/connections/contact.proto | 76 +- .../v0/connections/contactgroup.proto | 81 +- .../v0/connections/fluidinterface.proto | 16 +- ansys/api/discovery/v0/discoverymodels.proto | 57 +- ansys/api/discovery/v0/monitors.proto | 20 + .../api/discovery/v1/assignments/beams.proto | 133 ++ .../v1/assignments/boltassignment.proto | 39 + .../v1/assignments/fanassignment.proto | 104 ++ .../v1/assignments/materialassignment.proto | 49 + .../automation/historytrackparameters.proto | 66 + .../v1/automation/scriptparameters.proto | 43 + ansys/api/discovery/v1/commands/admin.proto | 154 ++ .../v1/commands/applicationapi.proto | 44 + ansys/api/discovery/v1/commands/designs.proto | 206 +++ .../discovery/v1/commands/innercommands.proto | 71 + .../api/discovery/v1/commands/materials.proto | 39 + .../api/discovery/v1/commands/messaging.proto | 26 + .../discovery/v1/commands/unsupported.proto | 108 ++ ansys/api/discovery/v1/commands/windows.proto | 31 + .../discovery/v1/common_communication.proto | 176 ++ .../v1/engineeringdata/boltdata.proto | 36 + .../v1/engineeringdata/fandata.proto | 96 ++ .../v1/geometricentities/assemble.proto | 134 ++ .../geometricentities/coordinatesystems.proto | 41 + .../v1/geometricentities/datumplanes.proto | 44 + .../geometricentities/namedselections.proto | 52 + .../v1/geometricentities/patterns.proto | 159 ++ .../v1/geometricentities/points.proto | 92 + ansys/api/discovery/v1/geometry/bodies.proto | 712 ++++++++ .../api/discovery/v1/geometry/commands.proto | 15 + .../discovery/v1/geometry/components.proto | 137 ++ ansys/api/discovery/v1/geometry/curves.proto | 110 ++ ansys/api/discovery/v1/geometry/edges.proto | 192 +++ ansys/api/discovery/v1/geometry/faces.proto | 521 ++++++ ansys/api/discovery/v1/geometry/meshes.proto | 22 + ansys/api/discovery/v1/geometry/nurbs.proto | 21 + ansys/api/discovery/v1/geometry/parts.proto | 33 + ansys/api/discovery/v1/models.proto | 1484 +++++++++++++++++ .../discovery/v1/operations/facettools.proto | 42 + .../v1/operations/measuretools.proto | 31 + .../discovery/v1/operations/modeltools.proto | 235 +++ .../v1/operations/preparetools.proto | 183 ++ .../discovery/v1/operations/repairtools.proto | 449 +++++ .../v1/parameters/drivingdimensions.proto | 44 + .../v1/physics/conditions/acceleration.proto | 51 + .../v1/physics/conditions/bearing.proto | 46 + .../v1/physics/conditions/boltpreload.proto | 93 ++ .../v1/physics/conditions/condition.proto | 32 + .../v1/physics/conditions/convection.proto | 42 + .../v1/physics/conditions/current.proto | 42 + .../v1/physics/conditions/displacement.proto | 104 ++ .../v1/physics/conditions/flow.proto | 240 +++ .../conditions/fluidinitialtemperature.proto | 12 + .../v1/physics/conditions/force.proto | 133 ++ .../v1/physics/conditions/gravity.proto | 40 + .../v1/physics/conditions/heat.proto | 88 + .../v1/physics/conditions/insulated.proto | 33 + .../v1/physics/conditions/localfidelity.proto | 42 + .../v1/physics/conditions/mass.proto | 48 + .../v1/physics/conditions/moment.proto | 66 + .../conditions/operatingpressure.proto | 12 + .../v1/physics/conditions/porous.proto | 119 ++ .../v1/physics/conditions/pressure.proto | 42 + .../conditions/rotatingfluidzone.proto | 56 + .../physics/conditions/solidtemperature.proto | 39 + .../v1/physics/conditions/springpreload.proto | 104 ++ .../v1/physics/conditions/support.proto | 97 ++ .../v1/physics/conditions/symmetry.proto | 34 + .../v1/physics/conditions/velocity.proto | 57 + .../v1/physics/conditions/voltage.proto | 42 + .../v1/physics/conditions/wall.proto | 215 +++ .../v1/physics/connections/contact.proto | 69 + .../v1/physics/connections/contactgroup.proto | 69 + .../physics/connections/fluidinterface.proto | 60 + .../v1/physics/connections/joint.proto | 55 + .../definedvariationstable.proto | 221 +++ .../v1/physics/simulation/monitors.proto | 61 + .../v1/physics/simulation/simulations.proto | 29 + .../v1/physics/simulation/solutions.proto | 52 + ansys/api/discovery/v1/results.proto | 100 ++ ansys/api/discovery/v1/streaming.proto | 19 + ansys/api/discovery/v1/units.proto | 1471 ++++++++++++++++ 82 files changed, 10428 insertions(+), 131 deletions(-) create mode 100644 ansys/api/discovery/v1/assignments/beams.proto create mode 100644 ansys/api/discovery/v1/assignments/boltassignment.proto create mode 100644 ansys/api/discovery/v1/assignments/fanassignment.proto create mode 100644 ansys/api/discovery/v1/assignments/materialassignment.proto create mode 100644 ansys/api/discovery/v1/automation/historytrackparameters.proto create mode 100644 ansys/api/discovery/v1/automation/scriptparameters.proto create mode 100644 ansys/api/discovery/v1/commands/admin.proto create mode 100644 ansys/api/discovery/v1/commands/applicationapi.proto create mode 100644 ansys/api/discovery/v1/commands/designs.proto create mode 100644 ansys/api/discovery/v1/commands/innercommands.proto create mode 100644 ansys/api/discovery/v1/commands/materials.proto create mode 100644 ansys/api/discovery/v1/commands/messaging.proto create mode 100644 ansys/api/discovery/v1/commands/unsupported.proto create mode 100644 ansys/api/discovery/v1/commands/windows.proto create mode 100644 ansys/api/discovery/v1/common_communication.proto create mode 100644 ansys/api/discovery/v1/engineeringdata/boltdata.proto create mode 100644 ansys/api/discovery/v1/engineeringdata/fandata.proto create mode 100644 ansys/api/discovery/v1/geometricentities/assemble.proto create mode 100644 ansys/api/discovery/v1/geometricentities/coordinatesystems.proto create mode 100644 ansys/api/discovery/v1/geometricentities/datumplanes.proto create mode 100644 ansys/api/discovery/v1/geometricentities/namedselections.proto create mode 100644 ansys/api/discovery/v1/geometricentities/patterns.proto create mode 100644 ansys/api/discovery/v1/geometricentities/points.proto create mode 100644 ansys/api/discovery/v1/geometry/bodies.proto create mode 100644 ansys/api/discovery/v1/geometry/commands.proto create mode 100644 ansys/api/discovery/v1/geometry/components.proto create mode 100644 ansys/api/discovery/v1/geometry/curves.proto create mode 100644 ansys/api/discovery/v1/geometry/edges.proto create mode 100644 ansys/api/discovery/v1/geometry/faces.proto create mode 100644 ansys/api/discovery/v1/geometry/meshes.proto create mode 100644 ansys/api/discovery/v1/geometry/nurbs.proto create mode 100644 ansys/api/discovery/v1/geometry/parts.proto create mode 100644 ansys/api/discovery/v1/models.proto create mode 100644 ansys/api/discovery/v1/operations/facettools.proto create mode 100644 ansys/api/discovery/v1/operations/measuretools.proto create mode 100644 ansys/api/discovery/v1/operations/modeltools.proto create mode 100644 ansys/api/discovery/v1/operations/preparetools.proto create mode 100644 ansys/api/discovery/v1/operations/repairtools.proto create mode 100644 ansys/api/discovery/v1/parameters/drivingdimensions.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/acceleration.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/bearing.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/boltpreload.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/condition.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/convection.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/current.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/displacement.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/flow.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/fluidinitialtemperature.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/force.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/gravity.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/heat.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/insulated.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/localfidelity.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/mass.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/moment.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/operatingpressure.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/porous.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/pressure.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/rotatingfluidzone.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/solidtemperature.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/springpreload.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/support.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/symmetry.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/velocity.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/voltage.proto create mode 100644 ansys/api/discovery/v1/physics/conditions/wall.proto create mode 100644 ansys/api/discovery/v1/physics/connections/contact.proto create mode 100644 ansys/api/discovery/v1/physics/connections/contactgroup.proto create mode 100644 ansys/api/discovery/v1/physics/connections/fluidinterface.proto create mode 100644 ansys/api/discovery/v1/physics/connections/joint.proto create mode 100644 ansys/api/discovery/v1/physics/parameterization/definedvariationstable.proto create mode 100644 ansys/api/discovery/v1/physics/simulation/monitors.proto create mode 100644 ansys/api/discovery/v1/physics/simulation/simulations.proto create mode 100644 ansys/api/discovery/v1/physics/simulation/solutions.proto create mode 100644 ansys/api/discovery/v1/results.proto create mode 100644 ansys/api/discovery/v1/streaming.proto create mode 100644 ansys/api/discovery/v1/units.proto diff --git a/ansys/api/discovery/v0/connections/contact.proto b/ansys/api/discovery/v0/connections/contact.proto index 847c560..ef86d13 100644 --- a/ansys/api/discovery/v0/connections/contact.proto +++ b/ansys/api/discovery/v0/connections/contact.proto @@ -17,25 +17,26 @@ service Contact rpc ChangeContactType(ChangeContactTypeRequest) returns (ChangeResponse); rpc ChangeContactPairs(ChangeContactPairRequest) returns (ChangeResponse); - rpc Split(ChangeEmptyRequest) returns (ChangeResponse); - - rpc ChangeFrictionCoefficient(ChangeDoubleRequest) returns (ChangeResponse); - rpc ChangeStiffnessFactor(ChangeDoubleRequest) returns (ChangeResponse); - rpc ChangeDetectionRadiusFactor(ChangeDoubleRequest) returns (ChangeResponse); - rpc ChangeOffset(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeShearStrength(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeTensileStrength(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeAreStrengthLimitsSet(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeAdjustGapOrOverlap(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeMakeJustTouching(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeIdealize(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeSpecifyThermalConductance(ChangeSpecifyThermalConductanceRequest) returns (ChangeResponse); - rpc ChangeSpecifyElectricConductance(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeSpecifyElectricConductanceFromThicknessAndMaterial(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeThermalContactConductance(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeThermalConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeElectricContactConductance(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeElectricConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); + rpc SplitContact(ChangeEmptyRequest) returns (ChangeResponse); + + rpc ChangeContactFrictionCoefficient(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactStiffnessFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactDetectionRadiusFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactOffset(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactShearStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactTensileStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactAreStrengthLimitsSet(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactAdjustGapOrOverlap(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactMakeJustTouching(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactIdealize(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactSpecifyThermalConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactSpecifyElectricConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactConductanceMaterial(ChangeAssignmentRequest) returns (ChangeResponse); + rpc ChangeContactThermalContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactElectricContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactThermalContactConductance(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactElectricContactConductance(ChangeQuantityRequest) returns (ChangeResponse); } message ContactCreationRequest{ @@ -60,44 +61,7 @@ message ChangeContactPairRequest{ // Contact condition definitions -enum ContactType { - BONDED_CONTACT = 0; - SLIDING_CONTACT = 1; - PREVENTED_CONTACT = 2; -} - -message ContactPairs { - repeated ContactPair contact_pair = 1; -} - -message ContactPair { - repeated string item1 = 1; - repeated string item2 = 2; -} -message ContactProperties { - ContactType contact_type = 1; - ContactPairs contact_pairs = 2; - double friction_coefficient = 3; - double stiffness_factor = 4; - double detection_radius_factor = 5; - Quantity offset = 6; - Quantity shear_strenght = 7; - Quantity tensile_strength = 8; - bool are_strength_limits_set = 9; - bool adjust_gap_or_overlap = 10; - bool make_just_touching = 11; - bool idealize = 12; - bool specify_thermal_conductance = 13; // OBSOLETE FROM VERSION 2026.1 ONWARDS - bool specify_thermal_conductance_from_thickness_and_material = 14; // OBSOLETE FROM VERSION 2026.1 ONWARDS - bool specify_electric_conductance = 15; - bool specify_electric_conductance_from_thickness_and_material = 16; - Quantity thermal_contact_conductance = 17; - Quantity thermal_conductance_thickness = 18; - Quantity electrical_contact_conductance = 19; - Quantity electrical_conductance_thickness = 20; - ThermalConductanceOptionType thermal_conductance_option = 21; -} message ContactDefinition { ansys.api.dbu.v0.PhysicsEntityIdentifier id = 1; diff --git a/ansys/api/discovery/v0/connections/contactgroup.proto b/ansys/api/discovery/v0/connections/contactgroup.proto index 58358ab..0f0d6cb 100644 --- a/ansys/api/discovery/v0/connections/contactgroup.proto +++ b/ansys/api/discovery/v0/connections/contactgroup.proto @@ -11,40 +11,43 @@ option csharp_namespace = "Ansys.Api.Discovery.V0.Connections"; service ContactGroup { - rpc ChangeContactSide1Location(ChangeLocationRequest) returns(ChangeResponse); - rpc ChangeContactSide2Location(ChangeLocationRequest) returns(ChangeResponse); + rpc ChangeContactGroupSide1Location(ChangeLocationRequest) returns(ChangeResponse); + rpc ChangeContactGroupSide2Location(ChangeLocationRequest) returns(ChangeResponse); - rpc ChangeContactType(ansys.api.discovery.v0.connections.contact.ChangeContactTypeRequest) returns (ChangeResponse); - rpc Split(ChangeEmptyRequest) returns (ChangeResponse); - rpc Convert(ConvertContactGroupChangeRequest) returns (ChangeResponse); + rpc ChangeContactGroupContactType(ansys.api.discovery.v0.connections.contact.ChangeContactTypeRequest) returns (ChangeResponse); + rpc SplitContactGroup(ChangeEmptyRequest) returns (ChangeResponse); + rpc ConvertContactGroup(ConvertContactGroupChangeRequest) returns (ChangeResponse); + + rpc ChangeContactGroupFrictionCoefficient(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactGroupStiffnessFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactGroupDetectionRadiusFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactGroupOffset(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupShearStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupTensileStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupAreStrengthLimitsSet(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactGroupAdjustGapOrOverlap(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactGroupMakeJustTouching(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactGroupIdealize(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeContactGroupDetectionDistanceLow(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupDetectionDistanceHigh(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeContactGroupSpecifyThermalConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactGroupSpecifyElectricConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactGroupConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupConductanceMaterial(ChangeAssignmentRequest) returns (ChangeResponse); + rpc ChangeContactGroupThermalContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupElectricContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupThermalContactConductance(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupElectricContactConductance(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeFrictionCoefficient(ChangeDoubleRequest) returns (ChangeResponse); - rpc ChangeStiffnessFactor(ChangeDoubleRequest) returns (ChangeResponse); - rpc ChangeDetectionRadiusFactor(ChangeDoubleRequest) returns (ChangeResponse); - rpc ChangeOffset(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeShearStrength(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeTensileStrength(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeAreStrengthLimitsSet(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeAdjustGapOrOverlap(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeMakeJustTouching(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeIdealize(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeSpecifyThermalConductance(ChangeSpecifyThermalConductanceRequest) returns (ChangeResponse); - rpc ChangeSpecifyThermalConductanceFromThicknessAndMaterial(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeSpecifyElectricConductance(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeSpecifyElectricConductanceFromThicknessAndMaterial(ChangeBooleanRequest) returns (ChangeResponse); - rpc ChangeThermalContactConductance(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeThermalConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeElectricContactConductance(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeElectricConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeDetectionDistanceLow(ChangeQuantityRequest) returns (ChangeResponse); - rpc ChangeDetectionDistanceHigh(ChangeQuantityRequest) returns (ChangeResponse); rpc GetByLabel(ansys.api.discovery.v0.conditions.GetByLabelRequest) returns (ContactGroupDefinition); } message ConvertContactGroupChangeRequest{ ansys.api.dbu.v0.PhysicsEntityIdentifier object_id = 1; ContactGoupConversionType contact_group_type = 2; - ansys.api.discovery.v0.connections.contact.ContactPairs contact_pairs = 3; + ansys.api.discovery.v0.ContactPairs contact_pairs = 3; optional bool idealize = 4; optional double friction_coefficient = 5; } @@ -57,30 +60,6 @@ enum ContactGoupConversionType { EXCLUDE = 3; } -message ContactGroupProperties { - ansys.api.discovery.v0.connections.contact.ContactType contact_type = 1; - ansys.api.discovery.v0.connections.contact.ContactPairs contact_pairs = 2; - double friction_coefficient = 3; - double stiffness_factor = 4; - double detection_radius_factor = 5; - Quantity offset = 6; - Quantity shear_strenght = 7; - Quantity tensile_strength = 8; - bool are_strength_limits_set = 9; - bool adjust_gap_or_overlap = 10; - bool make_just_touching = 11; - bool idealize = 12; - bool specify_thermal_conductance = 13; // OBSOLETE FROM VERSION 2026.1 ONWARDS - bool specify_thermal_conductance_from_thickness_and_material = 14; // OBSOLETE FROM VERSION 2026.1 ONWARDS - bool specify_electric_conductance = 15; - bool specify_electric_conductance_from_thickness_and_material = 16; - Quantity thermal_contact_conductance = 17; - Quantity thermal_conductance_thickness = 18; - Quantity electrical_contact_conductance = 19; - Quantity electrical_conductance_thickness = 20; - ThermalConductanceOptionType thermal_conductance_option = 21; -} - message ContactGroupDefinition { ansys.api.dbu.v0.PhysicsEntityIdentifier id = 1; ansys.api.dbu.v0.PhysicsEntityIdentifier parent_id = 2; @@ -88,5 +67,5 @@ message ContactGroupDefinition { repeated string side1_locations = 4; repeated string side2_locations = 5; bool suppressed = 6; - ContactGroupProperties contact = 7; + ContactProperties contact = 7; } \ No newline at end of file diff --git a/ansys/api/discovery/v0/connections/fluidinterface.proto b/ansys/api/discovery/v0/connections/fluidinterface.proto index ed4aa91..db02938 100644 --- a/ansys/api/discovery/v0/connections/fluidinterface.proto +++ b/ansys/api/discovery/v0/connections/fluidinterface.proto @@ -3,8 +3,6 @@ syntax = "proto3"; package ansys.api.discovery.v0.connections.fluidinterface; import "ansys/api/dbu/v0/dbumodels.proto"; -import "ansys/api/discovery/v0/conditions/condition.proto"; -import "ansys/api/discovery/v0/connections/contact.proto"; import "ansys/api/discovery/v0/discoverymodels.proto"; option csharp_namespace = "Ansys.Api.Discovery.V0.Connections"; @@ -13,7 +11,7 @@ service FluidInterface { rpc ChangeFluidInterfaceType(ChangeFluidInterfaceTypeRequest) returns (ChangeResponse); rpc ChangeFluidInterfaceFaceGroupingMethod(ChangeFluidInterfaceFaceGroupingMethodRequest) returns (ChangeResponse); - rpc ChangeFluidInterfaceConductanceMethod(ChangeFluidInterfaceConductanceMethodRequest) returns(ChangeResponse); + rpc ChangeFluidInterfaceConductanceMethod(ChangeSpecifyConductanceRequest) returns(ChangeResponse); rpc ChangeFluidInterfaceThermalMaterialAssignment(ChangeAssignmentRequest) returns (ChangeResponse); rpc ChangeFluidInterfaceThermalConductance(ChangeQuantityRequest) returns (ChangeResponse); @@ -49,16 +47,4 @@ enum FluidInterfaceFaceGroupingMethod { NOGROUPING = 2; } -message ChangeFluidInterfaceConductanceMethodRequest{ - ansys.api.dbu.v0.PhysicsEntityIdentifier object_id = 1; - FluidInterfaceFaceThermalConductanceMethod thermal_conductivity_method = 2; - ThermalConductanceOptionType thermal_conductance_option = 3; -} -enum FluidInterfaceFaceThermalConductanceMethod { - INSULATED = 0; - THERMALCONDUCTANCE = 1; - THICKNESSANDCONDUCTIVITY = 2; - THICKNESSANDMATERIAL = 3; - CONDUCTOR = 4; -} diff --git a/ansys/api/discovery/v0/discoverymodels.proto b/ansys/api/discovery/v0/discoverymodels.proto index 02f34c0..5e0d3d5 100644 --- a/ansys/api/discovery/v0/discoverymodels.proto +++ b/ansys/api/discovery/v0/discoverymodels.proto @@ -248,6 +248,46 @@ message QuantityPair{ Quantity dependant_data = 2; } +enum ContactType { + BONDED_CONTACT = 0; + SLIDING_CONTACT = 1; + PREVENTED_CONTACT = 2; +} + +message ContactPairs { + repeated ContactPair contact_pair = 1; +} + +message ContactPair { + repeated string item1 = 1; + repeated string item2 = 2; +} + +message ContactProperties { + ContactType contact_type = 1; + ContactPairs contact_pairs = 2; + + double friction_coefficient = 3; + double stiffness_factor = 4; + double detection_radius_factor = 5; + Quantity offset = 6; + Quantity shear_strenght = 7; + Quantity tensile_strength = 8; + bool are_strength_limits_set = 9; + bool adjust_gap_or_overlap = 10; + bool make_just_touching = 11; + bool idealize = 12; + bool specify_thermal_conductance = 13; + bool specify_electric_conductance = 14; + Quantity thermal_contact_conductance = 15; + Quantity thermal_contact_conductivity = 16; + Quantity thermal_conductance_thickness = 17; + Quantity electrical_contact_conductance = 18; + Quantity electrical_contact_conductivity = 19; + Quantity electrical_conductance_thickness = 20; + ConductanceOptionType thermal_conductance_option = 21; + ConductanceOptionType electric_conductance_option = 22; +} // Represents the quantity type for a physics parameter. enum QuantityType { @@ -335,16 +375,15 @@ enum QuantityType { QUANTITY_TYPE_UNKNOWN = 81; } -enum ThermalConductanceOptionType { - THERMALCONDUCTANCEOPTIONTYPE_PERFECT_CONDUCTOR = 0; - THERMALCONDUCTANCEOPTIONTYPE_PERFECT_INSULATOR = 1; - THERMALCONDUCTANCEOPTIONTYPE_VALUE = 2; - THERMALCONDUCTANCEOPTIONTYPE_THICKNESS_AND_MATERIAL = 3; - THERMALCONDUCTANCEOPTIONTYPE_THICKNESS_AND_CONDUCTIVITY = 4; +enum ConductanceOptionType { + CONDUCTANCEOPTIONTYPE_PERFECT_CONDUCTOR = 0; + CONDUCTANCEOPTIONTYPE_PERFECT_INSULATOR = 1; + CONDUCTANCEOPTIONTYPE_VALUE = 2; + CONDUCTANCEOPTIONTYPE_THICKNESS_AND_MATERIAL = 3; + CONDUCTANCEOPTIONTYPE_THICKNESS_AND_CONDUCTIVITY = 4; } -message ChangeSpecifyThermalConductanceRequest{ +message ChangeSpecifyConductanceRequest{ ansys.api.dbu.v0.PhysicsEntityIdentifier object_id = 1; - bool legacy_request_data = 2; - ThermalConductanceOptionType conductance_type = 3; + ConductanceOptionType conductance_type = 2; } \ No newline at end of file diff --git a/ansys/api/discovery/v0/monitors.proto b/ansys/api/discovery/v0/monitors.proto index c24ce0d..73a72ab 100644 --- a/ansys/api/discovery/v0/monitors.proto +++ b/ansys/api/discovery/v0/monitors.proto @@ -11,6 +11,11 @@ service Monitors { // Creates a new monitor rpc CreateMonitor(CreateMonitorRequest) returns (MonitorCreationResponse); + + rpc GetAllMonitors(GetAllMonitorsRequest) returns (GetAllMonitorsResponse); + + rpc GetMonitorValues(GetMonitorValuesRequest) returns (GetMonitorValuesResponse); + } message CreateMonitorRequest{ @@ -26,6 +31,21 @@ message MonitorCreationResponse{ MonitorDefinition monitor = 2; } +message GetAllMonitorsRequest{ +} + +message GetAllMonitorsResponse{ + repeated MonitorDefinition monitor_definitions = 1; +} + +message GetMonitorValuesRequest{ + string monitor_id = 1; +} + +message GetMonitorValuesResponse{ + repeated Quantity monitor_values = 1; +} + message MonitorProperties{ ansys.api.discovery.v0.results.ResultVariable result_variable = 1; ansys.api.discovery.v0.results.ResultFunction result_function = 2; diff --git a/ansys/api/discovery/v1/assignments/beams.proto b/ansys/api/discovery/v1/assignments/beams.proto new file mode 100644 index 0000000..69ed1c2 --- /dev/null +++ b/ansys/api/discovery/v1/assignments/beams.proto @@ -0,0 +1,133 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.assignments.beams; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Assignments.Beams"; + +service Beams +{ + rpc CreateBeamCircularProfile(CreateBeamCircularProfileRequest) returns(CreateBeamCircularProfileResponse); + + rpc CreateBeamSegments(CreateBeamSegmentsRequest) returns (CreateBeamSegmentsResponse); + + rpc CreateDescriptiveBeamSegments(CreateDescriptiveBeamSegmentsRequest) returns (CreateDescriptiveBeamSegmentsResponse); + + rpc Delete(MultipleEntitiesRequest) returns (DeleteResponse); + + rpc DeleteProfile(MultipleEntitiesRequest) returns (DeleteResponse); + + rpc GetBeamProfileName(GetBeamProfileNameRequest) returns (GetBeamProfileNameResponse); + + rpc GetBeamProfileParts(GetBeamProfilePartsRequest) returns (GetBeamProfilePartsResponse); + + rpc GetBeamProperties(GetBeamPropertiesRequest) returns (GetBeamPropertiesResponse); + + rpc GetBeamCrossSectionInfo(GetBeamCrossSectionInfoRequest) returns (GetBeamCrossSectionInfoResponse); +} + +message CreateBeamCircularProfileRequestData{ + Plane plane=1; + double radius=2; + Point origin=3; + string name=4; +} + +message CreateBeamCircularProfileRequest { + repeated CreateBeamCircularProfileRequestData request_data=1; +} + +message CreateBeamCircularProfileResponse { + repeated EntityIdentifier ids =1; +} + +message CreateBeamSegmentsRequestData{ + EntityIdentifier profile=1; + + repeated Line lines=2; + repeated Arc arcs=3; + repeated Circle circles=4; + + repeated Plane planes= 5; + EntityIdentifier parent=7; +} + +message CreateBeamSegmentsRequest{ + repeated CreateBeamSegmentsRequestData request_data=1; +} + +message CreateDescriptiveBeamSegmentsRequestData{ + EntityIdentifier profile=1; + + repeated Line lines=2; + repeated Arc arcs=3; + repeated Circle circles=4; + + repeated Plane planes= 5; + EntityIdentifier parent=7; +} + +message CreateDescriptiveBeamSegmentsRequest{ + repeated CreateDescriptiveBeamSegmentsRequestData request_data=1; +} + +message CreateBeamSegmentsResponseData { + EntityIdentifier profile=1; + repeated EntityIdentifier beams = 2; +} + +message CreateBeamSegmentsResponse { + repeated CreateBeamSegmentsResponseData response_data = 1; +} + +message CreateDescriptiveBeamSegmentsResponseData{ + EntityIdentifier profile=1; + repeated Beam beams = 2; +} + +message CreateDescriptiveBeamSegmentsResponse{ + repeated CreateDescriptiveBeamSegmentsResponseData response_data=1; +} + +message GetBeamProfilePartsRequest{ +} + +message GetBeamProfilePartsResponse { + repeated Part parts = 1; +} + +message GetBeamProfileNameRequest{ + EntityIdentifier id = 1; +} + +message GetBeamProfileNameResponse{ + string name = 1; +} + +message GetBeamPropertiesRequest { + repeated EntityIdentifier ids = 1; +} + +message GetBeamPropertiesResponseData{ + BeamProperties properties = 1; + EntityIdentifier id = 2; +} + +message GetBeamPropertiesResponse{ + repeated GetBeamPropertiesResponseData response_data = 1; +} + +message GetBeamCrossSectionInfoRequest{ + repeated EntityIdentifier ids = 1; +} + +message GetBeamCrossSectionInfoResponseData{ + BeamCrossSectionInfo cross_section_info = 1; + EntityIdentifier id = 2; +} + +message GetBeamCrossSectionInfoResponse{ + repeated GetBeamCrossSectionInfoResponseData response_data = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/assignments/boltassignment.proto b/ansys/api/discovery/v1/assignments/boltassignment.proto new file mode 100644 index 0000000..d52f281 --- /dev/null +++ b/ansys/api/discovery/v1/assignments/boltassignment.proto @@ -0,0 +1,39 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.assignments.boltassignment; + +import "ansys/api/discovery/v1/engineeringdata/boltdata.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Assignments"; + +service BoltAssignment +{ + //BoltAssignment condition methods + rpc CreateBoltAssignment(BoltAssignmentCreationRequest) returns (BoltAssignmentCreationResponse); +} + +//BoltAssignment +message BoltAssignmentCreationRequest{ + ScopedCreationData creation_data = 1; + BoltAssignmentProperties bolt_assignment_properties = 2; +} + +message BoltAssignmentCreationResponse{ + CreationResponse condition_response = 1; + BoltAssignmentDefinition condition_data = 2; +} + +//BoltAssignment condition definitions +message BoltAssignmentProperties { + ansys.api.discovery.v1.engineeringdata.boltdata.BoltDataDefinition definition = 1; +} + +message BoltAssignmentDefinition { + EntityIdentifier id = 1; + EntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + BoltAssignmentProperties bolt = 6; +} diff --git a/ansys/api/discovery/v1/assignments/fanassignment.proto b/ansys/api/discovery/v1/assignments/fanassignment.proto new file mode 100644 index 0000000..3b0a8cd --- /dev/null +++ b/ansys/api/discovery/v1/assignments/fanassignment.proto @@ -0,0 +1,104 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.assignments.fanassignment; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Assignments"; + +service FanAssignment +{ + rpc CreateInternalFanAssignment(InternalFanAssignmentCreationRequest) returns (InternalFanAssignmentCreationResponse); + + rpc CreateExternalFanAssignment(ExternalFanAssignmentCreationRequest) returns (ExternalFanAssignmentCreationResponse); + + rpc ChangeFanAssignment(ChangeAssignmentRequest) returns (ChangeResponse); + + rpc ChangeExternalFanSpecification(ChangeExternalFanSpecificationRequest) returns (ChangeResponse); + + rpc ChangeFanLocation(ChangeLocationExtendedRequest) returns (ChangeResponse); + + rpc ChangeExternalFanGaugePressure(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeInternalFanInletFace(ChangeLocationRequest) returns (ChangeResponse); + + rpc ChangeInternalFanIsShrouded(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeInternalFanHubRadius(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeInternalFanTipRadius(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeInternalFanTotalHeat(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeInternalFanSpecifyTotalHeat(ChangeBooleanRequest) returns (ChangeResponse); +} + +message InternalFanAssignmentCreationRequest{ + ScopedCreationData creation_data = 1; + PhysicsEntityIdentifier fan_id = 2; + InternalFanAssignmentProperties internal_fan_assignment_properties = 3; +} + +message ExternalFanAssignmentCreationRequest{ + ScopedCreationData creation_data = 1; + PhysicsEntityIdentifier fan_id = 2; + ExternalFanAssignmentProperties external_fan_assignment_properties = 3; +} + +message InternalFanAssignmentCreationResponse{ + CreationResponse condition_response = 1; + InternalFanAssignmentDefinition condition_data = 2; +} + +message ExternalFanAssignmentCreationResponse{ + CreationResponse condition_response = 1; + ExternalFanAssignmentDefinition condition_data = 2; +} + +message ChangeExternalFanSpecificationRequest{ + PhysicsEntityIdentifier object_id = 1; + ExternalFanSpecification specification = 2; +} + +message ExternalFanAssignmentProperties { + PhysicsEntityIdentifier fan_id = 1; + ExternalFanSpecification specification = 2; + Quantity gauge_pressure = 3; + bool is_swirling = 4; + Quantity flow_temperature = 5; +} + +message InternalFanAssignmentProperties { + PhysicsEntityIdentifier fan_id = 1; + bool is_shrouded = 2; + OptionalQuantity total_heat = 3; + Quantity hub_radius = 4; + Quantity tip_radius = 5; + bool is_swirling = 6; + optional EntityIdentifier inlet_face = 7; +} + +enum ExternalFanSpecification +{ + INTAKE = 0; + EXHAUST = 1; +} + +// Return definitions +message InternalFanAssignmentDefinition { + PhysicsEntityIdentifier id = 1; + PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + InternalFanAssignmentProperties assignment_properties = 6; +} + +message ExternalFanAssignmentDefinition { + PhysicsEntityIdentifier id = 1; + PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + ExternalFanAssignmentProperties assignment_properties = 6; +} diff --git a/ansys/api/discovery/v1/assignments/materialassignment.proto b/ansys/api/discovery/v1/assignments/materialassignment.proto new file mode 100644 index 0000000..f94e388 --- /dev/null +++ b/ansys/api/discovery/v1/assignments/materialassignment.proto @@ -0,0 +1,49 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.assignments.materialassignment; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Assignments"; + +service MaterialAssignment +{ + rpc CreateMaterialAssignment(MaterialAssignmentCreationRequest) returns (MaterialAssignmentCreationResponse); + + rpc ChangeMaterialAssignmentLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeMaterialAssignment(ChangeAssignmentRequest) returns (ChangeResponse); + + rpc ChangeMaterialAssignmentTemperatureMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeMaterialAssignmentTemperatureInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeMaterialAssignmentCompressibleFlowEnabled(ChangeBooleanRequest) returns (ChangeResponse); +} + +message MaterialAssignmentCreationRequest{ + ScopedCreationData creation_data = 1; + MaterialAssignmentProperties material_assignment_properties = 2; + bool enable_compressible_flow = 3; + bool enable_thermal_effects = 4; +} + +message MaterialAssignmentCreationResponse{ + CreationResponse condition_response = 1; + bool new_assignment_created = 2; + MaterialAssignmentDefinition condition_data = 3; +} + +message MaterialAssignmentProperties { + PhysicsEntityIdentifier material_id = 1; + Quantity assembled_temperature = 2; +} + +message MaterialAssignmentDefinition { + PhysicsEntityIdentifier id = 1; + PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + MaterialAssignmentProperties assignment_properties = 6; +} diff --git a/ansys/api/discovery/v1/automation/historytrackparameters.proto b/ansys/api/discovery/v1/automation/historytrackparameters.proto new file mode 100644 index 0000000..baf4244 --- /dev/null +++ b/ansys/api/discovery/v1/automation/historytrackparameters.proto @@ -0,0 +1,66 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.automation.historytrackparameters; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Automation.HistoryTrackParameters"; + +// History track parameters servicer. +// +service HistoryTrackParameters{ + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetRecordingStatus(GetRecordingStatusRequest) returns(GetRecordingStatusResponse); + + rpc Replay(ReplayRequest) returns(ReplayResponse); + + rpc SetRecordingStatus(SetRecordingStatusRequest) returns(SetRecordingStatusResponse); + + rpc Update(UpdateRequest) returns(UpdateResponse); +} + +message GetResponse{ + HistoryTrackParameter history_track_parameter = 1; +} + +message GetAllResponse{ + repeated HistoryTrackParameter history_track_parameters = 1; +} + +message UpdateRequest{ + repeated HistoryTrackParameter request_data = 1; +} + +message UpdateResponse{ + repeated HistoryTrackParameter response_data = 1; +} + +message ReplayRequest{ +} + +message ReplayResponse{ + string result = 1; +} + +enum RecordingStatus{ + OFF=0; + ON=1; +} + +message GetRecordingStatusRequest{ +} + +message GetRecordingStatusResponse{ + RecordingStatus status=1; +} + +message SetRecordingStatusRequest{ + RecordingStatus status=1; +} + +message SetRecordingStatusResponse{ +} diff --git a/ansys/api/discovery/v1/automation/scriptparameters.proto b/ansys/api/discovery/v1/automation/scriptparameters.proto new file mode 100644 index 0000000..47160cc --- /dev/null +++ b/ansys/api/discovery/v1/automation/scriptparameters.proto @@ -0,0 +1,43 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.automation.scriptparameters; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Automation.ScriptParameters"; + +// script parameters servicer. +// +service ScriptParameters{ + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse) ; + + rpc Replay(ReplayRequest) returns(ReplayResponse) ; + + rpc Update(UpdateRequest) returns(UpdateResponse) ; +} + +message GetResponse{ + ScriptParameter script_parameter = 1; +} + +message GetAllResponse{ + repeated ScriptParameter script_parameters = 1; +} + +message UpdateRequest{ + repeated ScriptParameter request_data = 1; +} + +message UpdateResponse{ + repeated ScriptParameter response_data = 1; +} + +message ReplayRequest{ +} + +message ReplayResponse{ + string result = 1; +} diff --git a/ansys/api/discovery/v1/commands/admin.proto b/ansys/api/discovery/v1/commands/admin.proto new file mode 100644 index 0000000..1cae870 --- /dev/null +++ b/ansys/api/discovery/v1/commands/admin.proto @@ -0,0 +1,154 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.commands.admin; + +import "ansys/api/discovery/v1/models.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.Admin"; + +service Admin{ + rpc ApplicationStarted(ApplicationStartedRequest) returns(ApplicationStartedResponse); + + rpc CloseApplication(CloseApplicationRequest) returns(CloseApplicationResponse); + + rpc DisposeTracker(DisposeTrackerRequest) returns (DisposeTrackerResponse); + + rpc GetBackend(GetBackendRequest) returns(GetBackendResponse); + + rpc GetLogs(LogsRequest) returns(stream LogsResponse); + + rpc GetMonikersCompressionMethod(GetMonikersCompressionMethodRequest) returns(MonikerCompressionMethodMessage); + + rpc GetTracker(GetTrackerRequest) returns (GetTrackerResponse); + + rpc GetTrackerChanges(GetTrackerChangesRequest) returns (GetTrackerChangesResponse); + + rpc Health(HealthRequest) returns(HealthResponse); + + rpc SetApplicationTitle(SetApplicationTitleRequest) returns(SetApplicationTitleResponse); + + rpc SetAutomaticTrackingState(SetAutomaticTrackingStateRequest) returns (SetAutomaticTrackingStateResponse); + + rpc SetMonikersCompressionMethod(MonikerCompressionMethodMessage) returns(SetMonikersCompressionMethodResponse); + + rpc Shutdown(ShutdownRequest) returns(ShutdownResponse); + + rpc StatusInfo(StatusInfoRequest) returns(StatusInfoResponse); +} + +message LogsRequest{ + + LogsTarget target = 1; + oneof path{ + google.protobuf.NullValue null_path = 2; + string target_path =3; + } + + LogsPeriodType period_type = 4; + + oneof period { + google.protobuf.NullValue null_period = 5; + google.protobuf.Timestamp logs_period = 6; + } +} + +message LogsResponse{ + string relative_path = 1; + string log_name = 2; + bytes log_chunk = 3; +} + +message HealthResponse{ + string message = 1; +} + + +message SetApplicationTitleRequest{ + string title =1; +} + +message GetBackendRequest{ +} + +message GetBackendResponse{ + BackendType type = 1; + VersionIdentifier version = 2; +} + +message ApplicationStartedRequest{ +} + +message ApplicationStartedResponse{ + bool is_startup_complete = 1; +} + +message GetMonikersCompressionMethodRequest{ +} + +message MonikerCompressionMethodMessage{ + MonikerCompressionMethod method = 1; +} + +message SetMonikersCompressionMethodResponse{ +} + +message SetApplicationTitleResponse{ +} + +message CloseApplicationRequest{ +} + +message CloseApplicationResponse{ +} + +message HealthRequest{ +} + +message ShutdownRequest{ +} + +message ShutdownResponse{ +} + +message StatusInfoRequest{ +} + +message StatusInfoResponse{ + string touch_time = 1 [json_name = "touch_time"]; + string application_version = 2 [json_name = "application_version"]; + string embedded_api_version = 3 [json_name = "embedded_api_version"]; +} + +message SetAutomaticTrackingStateRequest{ + AutomaticTrackingState state = 1; +} + +message SetAutomaticTrackingStateResponse{ + bool success = 1; +} + +message GetTrackerRequest{ + EntityIdentifier design_id = 1; +} + +message GetTrackerResponse{ + TrackerDefinition tracker = 1; +} + +message GetTrackerChangesRequest{ + EntityIdentifier design_id = 1; +} + +message GetTrackerChangesResponse{ + TrackerCommandResponse changes = 1; +} + +message DisposeTrackerRequest{ + EntityIdentifier design_id = 1; +} + +message DisposeTrackerResponse{ + bool success = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/commands/applicationapi.proto b/ansys/api/discovery/v1/commands/applicationapi.proto new file mode 100644 index 0000000..73c2355 --- /dev/null +++ b/ansys/api/discovery/v1/commands/applicationapi.proto @@ -0,0 +1,44 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.commands.applicationapi; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.ApplicationApi"; + +// Api +// +service ApplicationApi{ + // Sets the current scripting version. + rpc SetVersion(SetVersionRequest) returns(SetVersionResponse) ; + + // Sets the current scripting version. + rpc GetVersion(GetVersionRequest) returns(GetVersionResponse) ; +} + +message GetVersionRequest{ +} + +message GetVersionResponse{ + ApiVersion version = 1; +} + +message SetVersionRequest{ + // The set api operation being requested. + ApiVersion version = 1; +} + +message SetVersionResponse{ + string result = 1; +} + +enum ApiVersion { + INVALID = 0; + V_21 = 21; //OBSOLETE + V_22 = 22; //OBSOLETE + V_231 = 231; //OBSOLETE + V_232 = 232; //OBSOLETE + V_241 = 241; //OBSOLETE + V_242 = 242; //OBSOLETE + V_251 = 251; //OBSOLETE + V_252 = 252; + V_261 = 261; +} diff --git a/ansys/api/discovery/v1/commands/designs.proto b/ansys/api/discovery/v1/commands/designs.proto new file mode 100644 index 0000000..1f18403 --- /dev/null +++ b/ansys/api/discovery/v1/commands/designs.proto @@ -0,0 +1,206 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.commands.designs; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.Designs"; + +service Designs{ + rpc Close(CloseRequest) returns(CloseResponse); + + rpc CopyReferencedDocuments(CopyReferencedDocumentsRequest) returns(CopyReferencedDocumentsResponse); + + rpc DownloadExportFile(DownloadExportFileRequest) returns (DownloadExportFileResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetActive(GetActiveRequest) returns(GetActiveResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetAsJson(GetAsJsonRequest) returns(GetAsJsonResponse); + + rpc GetAssembly(GetAssemblyRequest) returns (GetAssemblyResponse); + + rpc Insert(InsertRequest) returns(InsertResponse); + + rpc New(NewRequest) returns(NewResponse); + + rpc Open(OpenRequest) returns(OpenResponse); + + rpc OpenCloudFileFromUrl(OpenCloudFileFromUrlRequest) returns(OpenCloudFileFromUrlResponse); + + rpc Save(SaveRequest) returns(SaveResponse); + + rpc SaveAs(SaveAsRequest) returns(SaveAsResponse); + + rpc SaveCloudFile(SaveCloudFileRequest) returns(SaveCloudFileResponse); + + rpc SaveWithoutResults(SaveWithoutResultsRequest) returns (SaveWithoutResultsResponse); + + rpc SetActive(SetActiveRequest) returns(SetActiveResponse); + + rpc StreamDownloadExportFile(DownloadExportFileRequest) returns (stream DownloadExportFileResponse); + + rpc StreamUploadFile(stream UploadFileRequest) returns (UploadFileResponse); + + rpc UploadFile(UploadFileRequest) returns (UploadFileResponse); +} + +message CloseRequest{ + EntityIdentifier design_id = 1; +} + +message CloseResponse{ +} + +message CopyReferencedDocumentsRequest { + EntityIdentifier document_id = 1; + string output_path=2; +} + +message CopyReferencedDocumentsResponse{ + RequestResult result=1; +} + +message DownloadExportFileRequest{ + PartExportFormat format = 1; + bool write_body_facets = 2; +} + +message DownloadExportFileResponse { + bytes data=1; +} + +message GetActiveRequest{ +} + +message GetActiveResponse{ + Design design = 1; +} + +message GetAllResponse{ + repeated Design designs = 1; +} + +message GetAsJsonRequest { + EntityIdentifier id=1; +} + +message GetAsJsonResponse { + string json=1; +} + +message GetResponse{ + Design design = 1; +} + +message InsertRequest{ + string filepath = 1; + bool import_named_selections = 2; +} + +message InsertResponse{ + EntityIdentifier design_id = 1; +} + +message NewRequest{ + string name = 1; +} + +message NewResponse{ + Design design = 1; +} + +message OpenCloudFileFromUrlRequest{ + string url_filepath = 1; +} + +message OpenCloudFileFromUrlResponse{ +} + +message OpenRequest{ + string filepath = 1; + map import_options = 2; + map import_options_definitions = 3; +} + +message OpenResponse{ + Design design = 1; +} + +message SaveAsRequest{ + string filepath = 1; + bool write_body_facets = 2; +} + +message SaveAsResponse{ + EntityIdentifier design_id = 1; +} + +message SaveCloudFileRequest{ +} + +message SaveCloudFileResponse{ +} + +message SaveRequest{ + EntityIdentifier design_id = 1; + bool write_body_facets = 2; +} + +message SaveResponse{ +} + +message SaveWithoutResultsRequest{ +} + +message SaveWithoutResultsResponse{ +} + +message SetActiveRequest{ + EntityIdentifier design_id = 1; +} + +message SetActiveResponse{ + Design design = 1; +} + +message UploadFileRequest { + bytes data=1; + string file_name=2; + bool open=3; + map import_options = 4; + map import_options_definitions = 5; +} + +message UploadFileResponse { + string file_path=1; + EntityIdentifier document_id=2; +} + +message GetAssemblyRequest{ + EntityIdentifier id = 1; +} + +message GetAssemblyResponse { + repeated Part parts=1; + repeated Component transformed_parts=2; + repeated Component components=3; + repeated Body bodies=4; + repeated Material materials=5; + repeated NamedSelection named_selections=6; + map component_coord_systems=7; + map component_shared_topologies=8; + repeated Beam beams=9; +} + +message CoordinateSystemList { + repeated CoordinateSystem coordinate_systems=1; +} + +message ExportLargeSizeRequest{ + PartExportFormat format = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/commands/innercommands.proto b/ansys/api/discovery/v1/commands/innercommands.proto new file mode 100644 index 0000000..c2eba1e --- /dev/null +++ b/ansys/api/discovery/v1/commands/innercommands.proto @@ -0,0 +1,71 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; + +package ansys.api.discovery.v1.commands.innercommands; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.InnerCommands"; + +service InnerCommands { + + // Runs a script based on a file. + rpc RunScriptFile(RunScriptFileRequest) returns(RunScriptFileResponse); + + // Runs a script based on a file without having it recorded by feature tracking. + // ATTENTION! Changing geometry within a not tracked would corrupt the feature's tracking state. + rpc RunNotTrackedScriptFile(RunScriptFileRequest) returns(RunScriptFileResponse); + + // Runs a script based on a supplied string. + rpc RunScript(RunScriptRequest) returns(RunScriptResponse); + + // Runs a command. A command can be exposed by Addin. + rpc RunCommand(RunCommandRequest) returns(RunCommandResponse); +} + +message RunScriptFileRequest{ + // Local path to the script to execute. + string script_path = 1; + // map of argument names to values. + map script_args = 2; + // The api version to be used to run the script + int32 api_version = 3; + // Set the type of run script file to called + RunScriptType script_type = 4; +} + +message RunScriptFileResponse{ + // Result of script execution. True means script executed successfully. + bool success = 1; + string message = 2; + map values = 3; +} + +message RunScriptRequest{ + // Script source to execute. + string script = 1; + // The api version to be used to run the script + int32 api_version = 2; +} + +message RunScriptResponse{ + // Result of script execution. True means script executed successfully. + bool script_result = 1; +} + +message RunCommandRequest{ + // Command to execute. + string command = 1; + // Data to pass to command. + string data = 2; +} + +message RunCommandResponse{ + // Data returned from command. + string data = 1; +} + +// +// The kind of RunScriptFile to be called +enum RunScriptType { + RUNSCRIPTTYPE_RUN = 0; + RUNSCRIPTTYPE_DEBUG = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/commands/materials.proto b/ansys/api/discovery/v1/commands/materials.proto new file mode 100644 index 0000000..3baf9ab --- /dev/null +++ b/ansys/api/discovery/v1/commands/materials.proto @@ -0,0 +1,39 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.commands.materials; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.Materials"; + +service Materials{ + + rpc GetAllNames(GetAllNamesRequest) returns(GetAllNamesResponse); + + rpc AddToDocument(AddToDocumentRequest) returns (AddToDocumentResponse); + + rpc RemoveFromDocument(RemoveFromDocumentRequest) returns (RemoveFromDocumentResponse); +} + +message GetAllNamesRequest{ +} + +message GetAllNamesResponse{ + repeated string materials=1; +} + +message AddToDocumentRequest { + repeated Material request_data = 1; +} + +message AddToDocumentResponse{ + repeated string successfully_set = 1; +} + +message RemoveFromDocumentRequest { + repeated Material request_data = 1; +} + +message RemoveFromDocumentResponse { + repeated string successfully_removed = 1; +} diff --git a/ansys/api/discovery/v1/commands/messaging.proto b/ansys/api/discovery/v1/commands/messaging.proto new file mode 100644 index 0000000..c5ad3d0 --- /dev/null +++ b/ansys/api/discovery/v1/commands/messaging.proto @@ -0,0 +1,26 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; + +package ansys.api.discovery.v1.commands.messaging; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.Messaging"; + +// Messaging service for getting events out of Discovery +// +service Messaging{ + rpc GetMessages(GetMessagesRequest) returns(stream MessagingResponse); + rpc ClearMessages(ClearMessagesRequest) returns(ClearMessagesResponse); +} + +message GetMessagesRequest{ +} + +message ClearMessagesRequest{ +} + +message ClearMessagesResponse{ +} + +message MessagingResponse{ + string event_message = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/commands/unsupported.proto b/ansys/api/discovery/v1/commands/unsupported.proto new file mode 100644 index 0000000..4984461 --- /dev/null +++ b/ansys/api/discovery/v1/commands/unsupported.proto @@ -0,0 +1,108 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; + +package ansys.api.discovery.v1.commands.unsupported; + +import "ansys/api/discovery/v1/models.proto"; +import "ansys/api/discovery/v1/results.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.Unsupported"; + +service Unsupported { + rpc ExportResultsToOpenVDBFile(ExportResultsToOpenVDBFileRequest) returns(ExportResultsToOpenVDBFileResponse); + + rpc ExportResultsToOpenVDBMemory(ExportResultsToOpenVDBMemoryRequest) returns(ExportResultsToOpenVDBMemoryResponse); + + rpc GetFacetedBodies(GetFacetedBodiesRequest) returns(GetFacetedBodiesResponse); + + rpc GetFacetedBodiesStream(GetFacetedBodiesRequest) returns(stream GetFacetedBodiesResponse); + + rpc GetImportIdMap(GetImportIdMapRequest) returns (GetImportIdMapResponse); + + rpc GetLegendMaximumValue(GetLegendMaximumValueRequest) returns(GetLegendMaximumValueResonse); + + rpc GetLegendMinimumValue(GetLegendMinimumValueRequest) returns(GetLegendMinimumValueResponse); + + rpc SetExportId(SetExportIdRequest) returns (SetExportIdResponse); + + rpc SetSoundEnabled(SoundEnabledRequest) returns(SetSoundEnabledResponse); +} + +message SoundEnabledRequest { + bool enabled = 1; +} + +message SetSoundEnabledResponse{ + bool success = 1; +} + +message GetImportIdMapRequest{ + ansys.api.discovery.v1.PersistentIdType type = 1; +} + +message GetImportIdMapResponse{ + map id_map = 1; +} + +message SetExportIdData{ + EntityIdentifier moniker = 1; + string id = 2; + ansys.api.discovery.v1.PersistentIdType type = 3; +} + +message SetExportIdResponse{ +} + +message SetExportIdRequest{ + repeated SetExportIdData export_data = 1; +} + +message GetFacetedBodiesRequest +{ + repeated EntityIdentifier parts_ids = 1; +} + +message GetFacetedBodiesResponse{ + map faceted_bodies=1; +} + +message ExportResultsToOpenVDBMemoryRequest { + repeated ResultVariable result_variables = 1; +} + +message ExportResultsToOpenVDBMemoryResponse{ + ByteArrayResponse response = 1; +} + +message ExportResultsToOpenVDBFileRequest { + repeated ResultVariable result_variables = 1; + string file_path = 2; +} + +message ExportResultsToOpenVDBFileResponse{ + bool success = 1; +} + +message ByteArrayResponse { + bytes bytes = 1; + bool success = 2; +} + +message GetLegendMaximumValueRequest{ +} + +message GetLegendMinimumValueRequest{ +} + +message DoubleValueResponse { + double value = 1; + bool success = 2; +} + +message GetLegendMaximumValueResonse{ + DoubleValueResponse response = 1; +} + +message GetLegendMinimumValueResponse{ + DoubleValueResponse response = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/commands/windows.proto b/ansys/api/discovery/v1/commands/windows.proto new file mode 100644 index 0000000..52e4d12 --- /dev/null +++ b/ansys/api/discovery/v1/commands/windows.proto @@ -0,0 +1,31 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.commands.windows; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Commands.Windows"; + +// Windows +// +service Windows{ + rpc GetImage(GetImageRequest) returns(GetImageResponse); + + rpc SetView(SetViewRequest) returns(SetViewResponse); +} + +message GetImageRequest{ + ImageFormat format = 1; +} + +message GetImageResponse { + bytes data=1; +} + +message SetViewRequest{ + WindowView view = 1; +} + +message SetViewResponse{ +} + diff --git a/ansys/api/discovery/v1/common_communication.proto b/ansys/api/discovery/v1/common_communication.proto new file mode 100644 index 0000000..50f6106 --- /dev/null +++ b/ansys/api/discovery/v1/common_communication.proto @@ -0,0 +1,176 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1"; + +message EntityRequest{ + EntityIdentifier id = 1; +} + +message ParentEntityRequest{ + EntityIdentifier parent = 1; +} + +message MultipleEntitiesRequest{ + repeated EntityIdentifier ids = 1; +} + +message SetObjectNameRequestData{ + EntityIdentifier id = 1; + string name = 2; + EntityType type = 3; +} + +message SetObjectsNameRequest{ + repeated SetObjectNameRequestData request_data = 1; +} + +message SetObjectNameResponse { + repeated EntityIdentifier successfully_set = 1; +} + + +message GetUpdateStateResponse{ + map update_states = 1; +} + +message GetBoundingBoxResponseData{ + EntityIdentifier id = 1; + Box box = 2; +} + +message GetBoundingBoxResponse { + repeated GetBoundingBoxResponseData response_data = 1; +} + +message GetColorResponse { + map colors = 1; +} + +message SetColorRequestData{ + EntityIdentifier id = 1; + string color = 2; +} + +message SetColorRequest { + repeated SetColorRequestData request_data=1; +} + +message SetColorResponse { + repeated EntityIdentifier successfully_set =1; +} + +message DeleteResponse{ + repeated EntityIdentifier deleted_objects_ids=1; +} + +message GetIsDeletedResponse{ + map deleted=1; +} + +message MirrorRequestData{ + repeated EntityIdentifier ids = 1; + Plane mirror_plane = 2; + EntityIdentifier mirror_plane_id = 3; +} + +message MirrorRequest { + repeated MirrorRequestData request_data = 1; +} + +message MirrorResponse { + repeated EntityIdentifier successfully_set = 1; + TrackerCommandResponse response_data = 2; +} + +message CommandResponse { + bool success = 1; + repeated Body created_bodies = 2; + repeated Body modified_bodies = 3; + repeated EntityIdentifier deleted_bodies = 4; + repeated EntityIdentifier created_faces = 5; + repeated EntityIdentifier modified_faces = 6; + repeated EntityIdentifier deleted_faces = 7; + repeated EntityIdentifier created_edges = 8; + repeated EntityIdentifier modified_edges = 9; + repeated EntityIdentifier deleted_edges = 10; + repeated EntityIdentifier created_components = 11; + repeated EntityIdentifier modified_components = 12; + repeated EntityIdentifier deleted_components = 13; + RequestResult result = 14; +} + +message RotateOptions{ + double angle = 1; + Point axis_origin = 2; + Direction axis_direction = 3; +} + +message RotateRequestData{ + EntityIdentifier id = 1; + RotateOptions options = 2; +} + +message RotateRequest { + repeated RotateRequestData request_data = 1; +} + +message RotateResponse{ + repeated EntityIdentifier successfully_set = 1; +} + +message ScaleObjectRequestData{ + EntityIdentifier id = 1; + double scale = 2; +} + +message ScaleObjectRequest{ + repeated ScaleObjectRequestData request_data = 1; +} + +message ScaleObjectResponse{ + repeated EntityIdentifier successfully_set = 1; + CommandResponse command_response = 2; +} + +message PlacementData{ + Direction translation = 2; + Point rotation_axis_origin = 3; + Direction rotation_axis_direction = 4; + double rotation_angle = 5; +} + +message MapRequestData{ + EntityIdentifier id = 1; + Frame frame = 2; +} + +message MapRequest { + repeated MapRequestData request_data = 1; +} + +message MapResponse { + repeated EntityIdentifier successfully_set = 1; +} + +message TranslateRequestData{ + EntityIdentifier id = 1; + Direction translation = 2; + float distance = 3; +} + +message TranslateRequest{ + repeated TranslateRequestData request_data=1; +} + +message TranslateResponse{ + repeated EntityIdentifier successfully_set = 1; +} + +message ChangeSpecifyConductanceRequest{ + PhysicsEntityIdentifier object_id = 1; + ConductanceOptionType conductance_type = 2; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/engineeringdata/boltdata.proto b/ansys/api/discovery/v1/engineeringdata/boltdata.proto new file mode 100644 index 0000000..8a1a5a3 --- /dev/null +++ b/ansys/api/discovery/v1/engineeringdata/boltdata.proto @@ -0,0 +1,36 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.engineeringdata.boltdata; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.EngineeringData"; + +service BoltData +{ + //BoltData condition methods + rpc GetBoltDataFromLibrary(BoltDataLibraryRequest) returns (BoltDataCreationResponse); +} + +//BoltData +message BoltDataLibraryRequest{ + string label = 1; +} + +message BoltDataCreationResponse{ + CreationResponse condition_response = 1; + BoltDataDefinition condition_data = 2; +} + +//BoltData condition definitions +message BoltDataProperties { + string material_name = 1; +} + +message BoltDataDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + bool suppressed = 4; + BoltDataProperties bolt = 5; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/engineeringdata/fandata.proto b/ansys/api/discovery/v1/engineeringdata/fandata.proto new file mode 100644 index 0000000..8460d28 --- /dev/null +++ b/ansys/api/discovery/v1/engineeringdata/fandata.proto @@ -0,0 +1,96 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.engineeringdata.fandata; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.EngineeringData"; + +service FanData +{ + //Fan Data condition methods + rpc CreateFanData(FanDataCreationRequest) returns (FanDataCreationResponse); + + rpc ConvertToUserFanData(FanDataConvertToUserRequest) returns (ChangeResponse); + + // change fan name + rpc ChangeFanDataName(ChangeStringRequest) returns (ChangeResponse); + + // change specification + rpc ChangeFanDataSpecification(ChangeFanDataSpecificationRequest) returns (ChangeResponse); + + // set pressure rise + rpc ChangeFanDataPressureRise(ChangeQuantityRequest) returns (ChangeResponse); + + // add row to VFR table + rpc ChangeFanDataVolumeFlowRateAdd(AddTableQuantityPairRequest) returns (ChangeResponse); + + // edit a row in the VFR table + rpc ChangeFanDataVolumeFlowRateEdit(EditTableQuantityPairRequest) returns (ChangeResponse); + + // remove row from VFR table + rpc ChangeFanDataVolumeFlowRateRemove(RemoveTableRowRequest) returns (ChangeResponse); + + + // add row to Vel table + rpc ChangeFanDataVelocityAdd(AddTableQuantityPairRequest) returns (ChangeResponse); + + // edit a row in the Vel table + rpc ChangeFanDataVelocityEdit(EditTableQuantityPairRequest) returns (ChangeResponse); + + // remove row from Vel table + rpc ChangeFanDataVelocityRemove(RemoveTableRowRequest) returns (ChangeResponse); +} + + +message FanDataCreationRequest{ + FanDataProperties fan_data = 2; +} + +message FanDataConvertToUserRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; +} + +message FanDataCreationResponse{ + CreationResponse data_response = 1; + FanDataDefinition engineering_data = 2; +} + + +//FanData condition definitions +message FanDataProperties { + ansys.api.discovery.v1.PhysicsEntityIdentifier data_id = 1; + string fan_name = 2; + FanSpecification fan_specification = 3; + Quantity constant_pressure_rise = 4; + QuantityPairTable volume_flow_rate_vs_pressure_table = 5; + QuantityPairTable velocity_vs_pressure_table = 6; + FanManufacturerData manufacturer_data = 7; +} + +enum FanSpecification +{ + VOLUMEFLOWRATE = 0; + CONSTANTPRESSURERISE = 1; + VELOCITY = 2; +} + +message FanManufacturerData{ + string manufacturer = 1; + string model_number = 2; + Quantity outer_radius = 3; + Quantity inner_radius = 4; + string notes = 5; + string disclaimer = 6; + bool is_user_defined = 7; +} + + +message FanDataDefinition { + FanDataProperties fan_data = 1; +} + +message ChangeFanDataSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + FanSpecification fan_specification = 2; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometricentities/assemble.proto b/ansys/api/discovery/v1/geometricentities/assemble.proto new file mode 100644 index 0000000..fc07e0c --- /dev/null +++ b/ansys/api/discovery/v1/geometricentities/assemble.proto @@ -0,0 +1,134 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometricentities.assemblycontrols; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.GeometricEntities.AssemblyControls"; + +service AssemblyControls{ + rpc CreateAlignCondition(CreateAlignConditionRequest) returns (CreateAlignConditionResponse); + + rpc CreateAnchorCondition(CreateAnchorConditionRequest) returns (CreateAnchorConditionResponse); + + rpc CreateGearCondition(CreateGearConditionRequest) returns (CreateGearConditionResponse); + + rpc CreateOrientCondition(CreateOrientConditionRequest) returns (CreateOrientConditionResponse); + + rpc CreateRigidCondition(CreateRigidConditionRequest) returns (CreateRigidConditionResponse); + + rpc CreateTangentCondition(CreateTangentConditionRequest) returns (CreateTangentConditionResponse); +} + +message CreateAnchorConditionRequestData { + EntityIdentifier parent = 1; + EntityIdentifier component = 2; +} + +message CreateAnchorConditionRequest{ + repeated CreateAnchorConditionRequestData request_data = 1; +} + +message CreateAnchorConditionResponseData{ + EntityIdentifier parent = 1; + AnchorCondition anchor_condition = 2; +} + +message CreateAnchorConditionResponse{ + repeated CreateAnchorConditionResponseData response_data = 1; +} + +message CreateRigidConditionRequestData { + EntityIdentifier parent = 1; + EntityIdentifier component_a = 2; + EntityIdentifier component_b = 3; +} + +message CreateRigidConditionRequest{ + repeated CreateRigidConditionRequestData request_data = 1; +} + +message CreateRigidConditionResponseData{ + EntityIdentifier parent = 1; + RigidCondition rigid_condition = 2; +} + +message CreateRigidConditionResponse{ + repeated CreateRigidConditionResponseData response_data = 1; +} + +message CreateTangentConditionRequestData { + EntityIdentifier parent = 1; + EntityIdentifier geometric_a = 2; + EntityIdentifier geometric_b = 3; +} + +message CreateTangentConditionRequest{ + repeated CreateTangentConditionRequestData request_data = 1; +} + +message CreateTangentConditionResponseData{ + EntityIdentifier parent = 1; + TangentCondition tangent_condition = 2; +} + +message CreateTangentConditionResponse{ + repeated CreateTangentConditionResponseData response_data = 1; +} + +message CreateAlignConditionRequestData { + EntityIdentifier parent = 1; + EntityIdentifier geometric_a = 2; + EntityIdentifier geometric_b = 3; +} + +message CreateAlignConditionRequest{ + repeated CreateAlignConditionRequestData request_data = 1; +} + +message CreateAlignConditionResponseData{ + EntityIdentifier parent = 1; + AlignCondition align_condition = 2; +} + +message CreateAlignConditionResponse{ + repeated CreateAlignConditionResponseData response_data = 1; +} + +message CreateOrientConditionRequestData { + EntityIdentifier parent = 1; + EntityIdentifier geometric_a = 2; + EntityIdentifier geometric_b = 3; +} + +message CreateOrientConditionRequest{ + repeated CreateOrientConditionRequestData request_data = 1; +} + +message CreateOrientConditionResponseData{ + EntityIdentifier parent = 1; + OrientCondition orient_condition = 2; +} + +message CreateOrientConditionResponse{ + repeated CreateOrientConditionResponseData response_data = 1; +} + +message CreateGearConditionRequestData { + EntityIdentifier parent = 1; + EntityIdentifier geometric_a = 2; + EntityIdentifier geometric_b = 3; +} + +message CreateGearConditionRequest{ + repeated CreateGearConditionRequestData request_data = 1; +} + +message CreateGearConditionResponseData{ + EntityIdentifier parent = 1; + GearCondition gear_condition = 2; +} + +message CreateGearConditionResponse{ + repeated CreateGearConditionResponseData response_data = 1; +} diff --git a/ansys/api/discovery/v1/geometricentities/coordinatesystems.proto b/ansys/api/discovery/v1/geometricentities/coordinatesystems.proto new file mode 100644 index 0000000..0ba4569 --- /dev/null +++ b/ansys/api/discovery/v1/geometricentities/coordinatesystems.proto @@ -0,0 +1,41 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometricentities.coordinatesystems; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.GeometricEntities.CoordinateSystems"; + +service CoordinateSystems{ + + rpc Create(CreateRequest) returns(CreateResponse); + + rpc Delete(MultipleEntitiesRequest) returns(DeleteResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); +} + +message GetResponse{ + CoordinateSystem coordinate_system = 1; +} + +message GetAllResponse{ + repeated CoordinateSystem coordinate_systems = 1; +} + +message CreateRequestData{ + EntityIdentifier parent = 1; + string name = 2; + Frame frame = 3; +} + +message CreateRequest{ + repeated CreateRequestData request_data = 1; +} + +message CreateResponse{ + repeated CoordinateSystem coordinate_systems =1; +} diff --git a/ansys/api/discovery/v1/geometricentities/datumplanes.proto b/ansys/api/discovery/v1/geometricentities/datumplanes.proto new file mode 100644 index 0000000..03c8139 --- /dev/null +++ b/ansys/api/discovery/v1/geometricentities/datumplanes.proto @@ -0,0 +1,44 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometricentities.datumplanes; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.GeometricEntities.DatumPlanes"; + +service DatumPlanes{ + + rpc CreatePlane(CreatePlaneRequest) returns (CreatePlaneResponse); + + rpc Delete(MultipleEntitiesRequest) returns (DeleteResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetIsDeleted(MultipleEntitiesRequest) returns(GetIsDeletedResponse); + + rpc GetUpdateState(MultipleEntitiesRequest) returns (GetUpdateStateResponse); +} + + +message CreatePlaneRequest { + repeated EntityIdentifier selection = 1; +} + +message CreatePlaneResponse { + repeated DatumPlane planes = 1; +} + +message GetResponse{ + DatumPlane plane = 1; +} + +message GetAllResponse{ + repeated DatumPlane planes = 1; +} + +message UpdateStateResponse{ + map update_states = 1; +} diff --git a/ansys/api/discovery/v1/geometricentities/namedselections.proto b/ansys/api/discovery/v1/geometricentities/namedselections.proto new file mode 100644 index 0000000..a823b05 --- /dev/null +++ b/ansys/api/discovery/v1/geometricentities/namedselections.proto @@ -0,0 +1,52 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometricentities.namedselections; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.GeometricEntities.NamedSelections"; + +// Named Selections +// +service NamedSelections{ + rpc Create(CreateRequest) returns(CreateResponse); + + rpc Delete(MultipleEntitiesRequest) returns(DeleteResponse); + + rpc DeleteByName(DeleteByNameRequest) returns(DeleteByNameResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); +} + +message GetResponse{ + NamedSelection named_selection = 1; +} + +message CreateResponse{ + repeated NamedSelection named_selections = 1; +} + +message CreateRequestData{ + string name = 1; + repeated EntityIdentifier members = 2; + EntityIdentifier parent = 3; +} + +message CreateRequest{ + repeated CreateRequestData request_data = 1; +} + +message GetAllResponse{ + repeated NamedSelection named_selections = 1; +} + +message DeleteByNameRequest{ + string name = 1; +} + +message DeleteByNameResponse{ + bool success = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometricentities/patterns.proto b/ansys/api/discovery/v1/geometricentities/patterns.proto new file mode 100644 index 0000000..0b647a9 --- /dev/null +++ b/ansys/api/discovery/v1/geometricentities/patterns.proto @@ -0,0 +1,159 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; + +package ansys.api.discovery.v1.geometricentities.patterns; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.GeometricEntities.Patterns"; + +service Patterns +{ + rpc CreateCircularPattern(CreateCircularPatternRequest) returns (CreateCircularPatternResponse); + + rpc CreateFillPattern(CreateFillPatternRequest) returns (CreateFillPatternResponse); + + rpc CreateLinearPattern(CreateLinearPatternRequest) returns (CreateLinearPatternResponse); + + rpc ModifyCircularPattern(ModifyCircularPatternRequest) returns (ModifyCircularPatternResponse); + + rpc ModifyLinearPattern(ModifyLinearPatternRequest) returns (ModifyLinearPatternResponse); + + rpc RemovePatterns(RemovePatternsRequest) returns (RemovePatternsResponse); + + rpc RemovePatternMember(RemovePatternMemberRequest) returns (RemovePatternMemberResponse); + + rpc SetPatternValue(SetPatternValueRequest) returns (SetPatternValueResponse); + + rpc UpdateFillPattern(UpdateFillPatternRequest) returns (UpdateFillPatternResponse); +} + +message CreateLinearPatternRequestData { + repeated EntityIdentifier selection = 1; + bool two_dimensional = 2; + EntityIdentifier linear_direction = 3; + int32 count_x = 4; + int32 count_y = 5; + double pitch_x = 6; + double pitch_y = 7; +} + +message CreateLinearPatternRequest { + repeated CreateLinearPatternRequestData request_data = 1; +} + +message ModifyLinearPatternRequestData { + repeated EntityIdentifier selection = 1; + int32 count_x = 2; + int32 count_y = 3; + double pitch_x = 4; + double pitch_y = 5; + int32 new_seed_index = 6; + int32 old_seed_index = 7; +} + +message ModifyLinearPatternRequest { + repeated ModifyLinearPatternRequestData request_data = 1; +} + +message ModifyCircularPatternRequestData { + repeated EntityIdentifier selection = 1; + int32 circular_count = 2; + int32 linear_count = 3; + double step_angle = 4; + double step_linear = 5; +} + +message ModifyCircularPatternRequest { + repeated ModifyCircularPatternRequestData request_data = 1; +} + +message CreateCircularPatternRequestData { + repeated EntityIdentifier selection = 1; + double circular_angle = 2; + EntityIdentifier circular_axis = 3; + int32 circular_count = 4; + int32 linear_count = 5; + double linear_pitch = 6; + bool two_dimensional = 7; + Direction radial_direction = 8; +} + +message CreateCircularPatternRequest { + repeated CreateCircularPatternRequestData request_data = 1; +} + +message CreateFillPatternRequestData { + repeated EntityIdentifier selection = 1; + double column_x_offset = 2; + double column_y_offset = 3; + FillPatternType fill_pattern_type= 4; + EntityIdentifier linear_direction = 5; + double margin = 6; + double row_x_offset = 7; + double row_y_offset = 8; + double x_spacing = 9; + double y_spacing = 10; +} + +message CreateFillPatternRequest { + repeated CreateFillPatternRequestData request_data = 1; +} + +message SetPatternValueRequestData { + repeated EntityIdentifier selection = 1; + PatternModificationType modification_type = 2; + double value = 3; +} + +message SetPatternValueRequest { + repeated SetPatternValueRequestData request_data = 1; +} + +message UpdateFillPatternRequest{ + repeated EntityIdentifier ids = 1; +} + +message RemovePatternsRequest{ + repeated EntityIdentifier ids = 1; +} + +message RemovePatternMemberRequest{ + repeated EntityIdentifier ids = 1; +} + +message CreateCircularPatternResponse{ + TrackerCommandResponse response_data = 1; +} + +message CreateFillPatternResponse{ + TrackerCommandResponse response_data = 1; +} + +message CreateLinearPatternResponse{ + TrackerCommandResponse response_data = 1; +} + +message ModifyCircularPatternResponse{ + TrackerCommandResponse response_data = 1; +} + +message ModifyLinearPatternResponse{ + TrackerCommandResponse response_data = 1; +} + +message RemovePatternsResponse{ + TrackerCommandResponse response_data = 1; +} + +message RemovePatternMemberResponse{ + TrackerCommandResponse response_data = 1; +} + +message SetPatternValueResponse{ + TrackerCommandResponse response_data = 1; +} + +message UpdateFillPatternResponse{ + TrackerCommandResponse response_data = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometricentities/points.proto b/ansys/api/discovery/v1/geometricentities/points.proto new file mode 100644 index 0000000..9158147 --- /dev/null +++ b/ansys/api/discovery/v1/geometricentities/points.proto @@ -0,0 +1,92 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometricentities.points; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.GeometricEntities.Points"; + +service Points +{ + rpc CreateDesignPoints(CreateDesignPointsRequest) returns (CreateDesignPointsResponse); + + rpc RevolvePoints(RevolvePointsRequest) returns (RevolvePointsResponse); + + rpc RevolvePointsByHelix(RevolvePointsByHelixRequest) returns (RevolvePointsByHelixResponse); + + rpc SweepPoints(SweepPointsRequest) returns (SweepPointsResponse); +} + +message CreateDesignPointsRequestData { + repeated Point points = 1; + EntityIdentifier parent = 2; +} + +message CreateDesignPointsRequest { + repeated CreateDesignPointsRequestData request_data=1; +} + +message CreateDesignPointsResponse { + repeated EntityIdentifier ids =1; +} + +message SweepPointsRequestData { + repeated EntityIdentifier selection = 1; + repeated EntityIdentifier trajectories = 2; + double distance = 3; +} + +message SweepPointsRequest { + repeated SweepPointsRequestData request_data=1; +} + +message SweepPointsResponseData{ + repeated EntityIdentifier selection = 1; + repeated Curve created_curves = 2; +} + +message SweepPointsResponse{ + repeated SweepPointsResponseData response_data = 1; +} + +message RevolvePointsRequestData { + repeated EntityIdentifier selection = 1; + Line axis = 2; + double angle = 3; +} + +message RevolvePointsRequest { + repeated RevolvePointsRequestData request_data=1; +} + +message RevolvePointsResponseData{ + repeated EntityIdentifier selection = 1; + repeated Curve created_curves = 2; +} + +message RevolvePointsResponse{ + repeated RevolvePointsResponseData response_data = 1; +} + +message RevolvePointsByHelixRequestData { + repeated EntityIdentifier selection = 1; + Line axis = 2; + double height = 3; + double pitch = 4; + double taper_angle = 5; + bool right_handed = 6; + bool pull_symmetric = 7; +} + +message RevolvePointsByHelixRequest { + repeated RevolvePointsByHelixRequestData request_data=1; +} + +message RevolvePointsByHelixResponseData{ + repeated EntityIdentifier selection = 1; + repeated Curve created_curves = 2; +} + +message RevolvePointsByHelixResponse{ + repeated RevolvePointsByHelixResponseData response_data = 1; +} diff --git a/ansys/api/discovery/v1/geometry/bodies.proto b/ansys/api/discovery/v1/geometry/bodies.proto new file mode 100644 index 0000000..27a1b0e --- /dev/null +++ b/ansys/api/discovery/v1/geometry/bodies.proto @@ -0,0 +1,712 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.bodies; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Bodies"; + +service Bodies +{ + rpc AssignMidSurfaceOffsetType(AssignMidSurfaceOffsetTypeRequest) returns (AssignMidSurfaceOffsetTypeResponse); + + rpc AssignMidSurfaceThickness(AssignMidSurfaceThicknessRequest) returns (AssignMidSurfaceThicknessResponse); + + rpc Boolean(BooleanRequest) returns (BooleanResponse); + + rpc CombineIntersectBodies(CombineIntersectBodiesRequest) returns (CombineIntersectBodiesResponse); + + rpc CombineMergeBodies(CombineMergeBodiesRequest) returns (CombineMergeBodiesResponse); + + rpc CopyBody(CopyBodyRequest) returns (CopyBodyResponse); + + rpc CreateBlockBody(CreateBlockBodyRequest) returns (CreateBlockBodyResponse); + + rpc CreateBodyFromFace(CreateBodyFromFaceRequest) returns (CreateBodyFromFaceResponse); + + rpc CreateExtrudedBody(CreateExtrudedBodyRequest) returns (CreateExtrudedBodyResponse); + + rpc CreateExtrudedBodyFromFaceProfile(CreateExtrudedBodyFromFaceProfileRequest) returns (CreateExtrudedBodyFromFaceProfileResponse); + + rpc CreateExtrudedBodyFromLoftProfiles(CreateExtrudedBodyFromLoftProfilesRequest) returns (CreateExtrudedBodyFromLoftProfilesResponse); + + rpc CreatePlanarBody(CreatePlanarBodyRequest) returns (CreatePlanarBodyResponse); + + rpc CreateSphereBody(CreateSphereBodyRequest) returns (CreateSphereBodyResponse); + + rpc CreateSurfaceBody(CreateSurfaceBodyRequest) returns (CreateSurfaceBodyResponse); + + rpc CreateSurfaceBodyFromTrimmedCurves(CreateSurfaceBodyFromTrimmedCurvesRequest) returns (CreateSurfaceBodyFromTrimmedCurvesResponse); + + rpc CreateSweepingChain(CreateSweepingChainRequest) returns (CreateSweepingChainResponse); + + rpc CreateSweepingProfile(CreateSweepingProfileRequest) returns (CreateSweepingProfileResponse); + + rpc Delete(MultipleEntitiesRequest) returns (DeleteResponse); + + rpc ExportAndDownloadBody(ExportAndDownloadBodyRequest) returns (ExportAndDownloadBodyResponse); + + rpc Get(GetBodyRequest) returns (GetBodyResponse); + + rpc GetAll(ParentEntityRequest) returns (GetAllResponse); + + rpc GetAssignedMaterial(MultipleEntitiesRequest) returns (GetAssignedMaterialResponse); + + rpc GetBodyBoundingBox(MultipleEntitiesRequest) returns (GetBoundingBoxResponse); + + rpc GetBodyEdges(MultipleEntitiesRequest) returns (GetEdgesResponse); + + rpc GetBodyFaces(MultipleEntitiesRequest) returns (GetFacesResponse); + + rpc GetBodyName(MultipleEntitiesRequest) returns (GetBodyNameResponse); + + rpc GetBodyUpdateState(MultipleEntitiesRequest) returns (GetUpdateStateResponse); + + rpc GetClosestSeparation(GetClosestSeparationRequest) returns (GetClosestSeparationResponse); + + rpc GetCollision(GetCollisionRequest) returns (GetCollisionResponse); + + rpc GetColor(MultipleEntitiesRequest) returns (GetColorResponse); + + rpc GetFillStyle(MultipleEntitiesRequest) returns (GetFillStyleResponse); + + rpc GetIsEnclosureBody(MultipleEntitiesRequest) returns (GetIsEnclosureBodyResponse); + + rpc GetIsSuppressed(MultipleEntitiesRequest) returns (GetIsSuppressedResponse); + + rpc GetSurfaceBodyThickness(MultipleEntitiesRequest) returns (GetSurfaceBodyThicknessResponse); + + rpc GetTessellation(GetTessellationRequest) returns (GetTessellationResponse); + + rpc GetTessellationStream(GetTessellationRequest) returns (stream GetTessellationResponse); + + rpc GetVertices(MultipleEntitiesRequest) returns (GetVerticesResponse); + + rpc GetVolume(MultipleEntitiesRequest) returns (GetVolumeResponse); + + rpc ImprintCurves(ImprintCurvesRequest) returns (ImprintCurvesResponse); + + rpc ImprintProjectedCurves(ImprintProjectedCurvesRequest) returns (ImprintProjectedCurvesResponse); + + rpc MapBody(MapRequest) returns (MapResponse); + + rpc MergeBodies(MergeBodiesRequest) returns (MergeBodiesResponse); + + rpc MirrorBody(MirrorRequest) returns (MirrorResponse); + + rpc PowerSelectFacesByAreaRange(PowerSelectFacesByAreaRangeRequest) returns (PowerSelectFacesByAreaRangeResponse); + + rpc ProjectCurves(ProjectCurvesRequest) returns (ProjectCurvesResponse); + + rpc RemoveAssignedMaterial(RemoveAssignedMaterialRequest) returns (RemoveAssignedMaterialResponse); + + rpc RotateBody(RotateRequest) returns (RotateResponse); + + rpc ScaleBody(ScaleObjectRequest) returns (ScaleObjectResponse); + + rpc SeparatePieces(SeparatePiecesRequest) returns (SeparatePiecesResponse); + + rpc SetAssignedMaterial(SetAssignedMaterialRequest) returns (SetAssignedMaterialResponse); + + rpc SetBodyName(SetObjectsNameRequest) returns (SetObjectNameResponse); + + rpc SetColor(SetColorRequest) returns (SetColorResponse); + + rpc SetFillStyle(SetFillStyleRequest) returns (SetFillStyleResponse); + + rpc SetSuppressed(SetSuppressedRequest) returns (SetSuppressedResponse); + + rpc Shell(ShellRequest) returns (ShellResponse); + + rpc SplitBody(SplitBodyRequest) returns (SplitBodyResponse); + + rpc SweepWithGuide(SweepWithGuideRequest) returns (SweepWithGuideResponse); + + rpc Translate(TranslateRequest) returns (TranslateResponse); +} + +message BodiesSelectionResponse{ + repeated Body bodies = 1; +} + +message CreateSurfaceBodyFromTrimmedCurvesRequestData { + string name = 1; + EntityIdentifier parent = 2; + repeated TrimmedCurve trimmed_curves = 3; +} + +message CreateSurfaceBodyFromTrimmedCurvesRequest { + repeated CreateSurfaceBodyFromTrimmedCurvesRequestData request_data = 1; +} + +message CreateBlockBodyRequest { + Point start_point = 1; + Point end_point = 2; +} + +message SeparatePiecesRequest { + repeated EntityIdentifier ids = 1; +} + +message CreateSurfaceBodyRequestData { + string name = 1; + EntityIdentifier parent = 2; + TrimmedSurface trimmed_surface = 3; +} + +message CreateSurfaceBodyRequest { + repeated CreateSurfaceBodyRequestData request_data = 1; +} + +message GetIsEnclosureBodyResponse { + map result = 1; +} + +message GetIsSuppressedResponse { + map result = 1; +} + +message SetSuppressedRequest { + repeated EntityIdentifier bodies = 1; // List of entity identifiers + bool is_suppressed = 2; +} + +message GetSurfaceBodyThicknessResponseData { + EntityIdentifier id = 1; + double result = 2; + optional string message = 3; // Optional message for errors or warnings +} + +message GetSurfaceBodyThicknessResponse { + repeated GetSurfaceBodyThicknessResponseData response_data = 1; +} + +message GetVerticesResponseData{ + EntityIdentifier id=1; + repeated Vertex vertices=2; +} + +message GetVerticesResponse { + repeated GetVerticesResponseData response_data = 1; +} + +message BooleanRequest { + EntityIdentifier body1 = 1; + string method = 3; + repeated EntityIdentifier tool_bodies = 4; + bool keep_other = 5; +} + +message BooleanResponse { + int32 empty_result = 1; + TrackerCommandResponse response = 2; +} + +message GetBodyRequest{ + EntityIdentifier id = 1; + BodyType body_type = 2; +} + +message GetBodyResponse{ + Body body = 1; +} + +message GetAllResponse{ + BodiesSelectionResponse bodies = 1; +} + +message SeparatePiecesResponseData{ + EntityIdentifier id = 1; + BodiesSelectionResponse bodies = 2; +} + +message SeparatePiecesResponse{ + repeated SeparatePiecesResponseData response_data = 1; +} + +message SetAssignedMaterialRequestData{ + EntityIdentifier id = 1; + Material material = 2; +} + +message SetAssignedMaterialRequest{ + repeated SetAssignedMaterialRequestData request_data =1; +} + +message SetAssignedMaterialResponse{ + repeated EntityIdentifier successfully_set = 1; +} + +message RemoveAssignedMaterialRequest{ + repeated EntityIdentifier ids = 1; +} + +message RemoveAssignedMaterialResponse{ + repeated EntityIdentifier successfully_removed = 1; +} + +message CreateBodyFromFaceRequestData { + string name=1; + EntityIdentifier parent=2; + EntityIdentifier face=3; +} + +message CreateBodyFromFaceRequest { + repeated CreateBodyFromFaceRequestData request_data = 1; +} + +message CreateExtrudedBodyFromFaceProfileRequestData { + string name=1; + EntityIdentifier parent=2; + EntityIdentifier face=3; + double distance=4; +} + +message CreateExtrudedBodyFromFaceProfileRequest { + repeated CreateExtrudedBodyFromFaceProfileRequestData request_data = 1; +} + +message CreateExtrudedBodyFromLoftProfilesRequestData { + string name=1; + EntityIdentifier parent=2; + repeated TrimmedCurveList profiles = 3; + bool periodic=4; + bool ruled=5; +} + +message CreateExtrudedBodyFromLoftProfilesRequest{ + repeated CreateExtrudedBodyFromLoftProfilesRequestData request_data = 1; +} + +message CreateSweepingProfileRequestData{ + string name=1; + EntityIdentifier parent=2; + Plane plane=3; + Geometries geometries=4; + repeated TrimmedCurve path = 5; +} + +message CreateSweepingProfileRequest{ + repeated CreateSweepingProfileRequestData request_data = 1; +} + +message CreateSweepingChainRequestData{ + string name=1; + EntityIdentifier parent=2; + repeated TrimmedCurve chain = 3; + repeated TrimmedCurve path = 4; +} + +message CreateSweepingChainRequest{ + repeated CreateSweepingChainRequestData request_data = 1; +} + +message CreatePlanarBodyRequestData { + string name=1; + EntityIdentifier parent=2; + Plane plane=3; + Geometries geometries=4; +} + +message CreatePlanarBodyRequest { + repeated CreatePlanarBodyRequestData request_data = 1; +} + +message CreateSphereBodyRequestData { + string name=1; + EntityIdentifier parent=2; + Point center=3; + double radius=4; +} + +message CreateSphereBodyRequest { + repeated CreateSphereBodyRequestData request_data = 1; +} + +message CreateExtrudedBodyRequestData { + string name=1; + EntityIdentifier parent=2; + Plane plane=3; + Geometries geometries=4; + double distance=5; +} + +message CreateExtrudedBodyRequest { + repeated CreateExtrudedBodyRequestData request_data = 1; +} + +message GetVolumeResponseData{ + EntityIdentifier id = 1; + double volume = 2; +} + +message GetVolumeResponse { + repeated GetVolumeResponseData response_data = 1; +} + +message GetTessellationResponseData{ + EntityIdentifier id=1; + map face_tessellation=2; +} + +message GetTessellationResponse{ + repeated GetTessellationResponseData response_data = 1; +} + +message GetEdgesResponseData{ + EntityIdentifier body_id=1; + repeated Edge edges=2; +} + +message GetEdgesResponse { + repeated GetEdgesResponseData response_data =1; +} + +message GetBodyNameResponse { + map names=1; +} + +message SetFillStyleRequestData { + EntityIdentifier id=1; + BodyFillStyle fill_style=2; +} + +message SetFillStyleRequest { + repeated SetFillStyleRequestData request_data = 1; +} + +message GetFillStyleResponseData { + EntityIdentifier id=1; + BodyFillStyle fill_style=2; +} + +message GetFillStyleResponse{ + repeated GetFillStyleResponseData response_data = 1; +} + +message SetFillStyleResponse { + repeated EntityIdentifier successfully_set=1; +} + +message CopyBodyRequestData { + EntityIdentifier id=1; + EntityIdentifier parent=2; + string name=3; +} + +message CopyBodyRequest { + repeated CopyBodyRequestData request_data = 1; +} + +message CopyBodyResponseData { + EntityIdentifier id=1; + Body body=2; +} + +message CopyBodyResponse{ + repeated CopyBodyResponseData response_data = 1; +} + +message GetCollisionRequestData{ + EntityIdentifier body_1=1; + EntityIdentifier body_2=2; +} + +message GetCollisionRequest { + repeated GetCollisionRequestData request_data = 1; +} + +message GetCollisionResponseData{ + EntityIdentifier body_1=1; + EntityIdentifier body_2=2; + CollisionType collision = 3; +} + +message GetCollisionResponse{ + repeated GetCollisionResponseData response_data=1; +} + +message GetClosestSeparationRequestData{ + EntityIdentifier body_1=1; + EntityIdentifier body_2=2; +} + +message GetClosestSeparationRequest { + repeated GetClosestSeparationRequestData request_data = 1; +} + +message GetTessellationRequestData{ + EntityIdentifier id=1; + TessellationOptions options =2; +} + +message GetTessellationRequest{ + repeated GetTessellationRequestData request_data = 1; +} + +message GetAssignedMaterialResponseData{ + EntityIdentifier id=1; + Material material=2; +} + +message GetAssignedMaterialResponse{ + repeated GetAssignedMaterialResponseData response_data = 1; +} + +message CreateBodyFromFaceResponse{ + repeated Body bodies = 1; +} + +message CreateExtrudedBodyFromFaceProfileResponse{ + repeated Body bodies = 1; +} + +message CreateExtrudedBodyFromLoftProfilesResponse{ + repeated Body bodies = 1; +} + +message CreatePlanarBodyResponse{ + repeated Body bodies = 1; +} + +message CreateSphereBodyResponse{ + repeated Body bodies = 1; +} + +message CreateExtrudedBodyResponse{ + repeated Body bodies = 1; +} + +message CreateSweepingProfileResponse{ + repeated Body bodies = 1; +} + +message CreateSweepingChainResponse{ + repeated Body bodies = 1; +} + +message SetSuppressedResponse{ + repeated EntityIdentifier successfully_set = 1; +} + +message CreateSurfaceBodyResponse{ + repeated Body bodies = 1; +} + +message CreateBlockBodyResponse{ + Body body=1; +} + +message CreateSurfaceBodyFromTrimmedCurvesResponse{ + repeated Body bodies = 1; +} + +message GetClosestSeparationResponseData{ + EntityIdentifier body_1 = 1; + EntityIdentifier body_2 = 2; + Separation separation = 3; +} + +message GetClosestSeparationResponse{ + repeated GetClosestSeparationResponseData response_data = 1; +} + +message ExportAndDownloadBodyRequest{ + EntityIdentifier id=1; + BodyExportFormat format = 2; +} + +message ExportAndDownloadBodyResponse{ + bytes data=1; +} + +message ImprintProjectedCurvesRequestData { + EntityIdentifier body=1; + Geometries curves=2; + Direction direction=3; + bool closest_face=4; + Plane plane = 5; +} + +message ImprintProjectedCurvesRequest { + repeated ImprintProjectedCurvesRequestData request_data=1; +} + + +message ProjectCurvesRequestData { + EntityIdentifier body=1; + Geometries curves=2; + Direction direction=3; + bool closest_face=4; + Plane plane = 5; +} + +message ProjectCurvesRequest{ + repeated ProjectCurvesRequestData request_data=1; +} + +message ProjectCurvesResponseData { + EntityIdentifier body_id=1; + repeated Face faces=2; +} + +message ProjectCurvesResponse { + repeated ProjectCurvesResponseData response_data=1; +} + +message ImprintCurvesRequestData { + EntityIdentifier body=1; + Geometries curves=2; + repeated EntityIdentifier faces=3; + Plane plane = 4; + repeated TrimmedCurve trimmed_curves=5; +} + +message ImprintCurvesRequest { + repeated ImprintCurvesRequestData request_data=1; +} + +message ImprintCurvesResponseData{ + EntityIdentifier body=1; + EntitiesCollection created_entities=2; + repeated EntityIdentifier deleted_faces=3; +} + +message ImprintCurvesResponse{ + repeated ImprintCurvesResponseData response_data=1; +} + +message CombineIntersectBodiesRequestData { + repeated EntityIdentifier target_selection = 1; + repeated EntityIdentifier tool_selection = 2; + optional bool keep_cutter = 3; + optional bool subtract_from_target = 4; +} + +message CombineIntersectBodiesRequest { + repeated CombineIntersectBodiesRequestData request_data = 1; +} + +message CombineIntersectBodiesResponse{ + TrackerCommandResponse response_data = 1; +} + +message CombineMergeBodiesRequestData { + repeated EntityIdentifier target_selection = 1; +} + +message CombineMergeBodiesRequest { + repeated CombineMergeBodiesRequestData request_data = 1; +} + +message CombineMergeBodiesResponse { + TrackerCommandResponse response_data = 1; +} + +message MergeBodiesRequestData { + repeated EntityIdentifier target_selection = 1; + bool abort_on_error = 2; + bool can_make_independent = 3; + bool create_imprints = 4; +} + +message MergeBodiesRequest { + repeated MergeBodiesRequestData request_data = 1; +} + +message MergeBodiesResponse { + TrackerCommandResponse response_data = 1; +} + +message SplitBodyRequestData { + repeated EntityIdentifier selection = 1; + Plane split_by_plane = 2; + repeated EntityIdentifier split_by_slicer = 3; + repeated EntityIdentifier split_by_faces = 4; + bool extend_surfaces = 5; +} + +message SplitBodyRequest { + repeated SplitBodyRequestData request_data = 1; +} + +message SplitBodyResponse { + TrackerCommandResponse response_data = 1; +} + +message AssignMidSurfaceThicknessRequestData { + repeated EntityIdentifier ids=1; + double thickness=2; +} + +message AssignMidSurfaceThicknessRequest { + repeated AssignMidSurfaceThicknessRequestData request_data=1; +} + +message AssignMidSurfaceThicknessResponse { + repeated EntityIdentifier successfully_set=1; +} + +message AssignMidSurfaceOffsetTypeRequestData { + repeated EntityIdentifier ids=1; + MidSurfaceOffsetType offset_type=2; +} + +message AssignMidSurfaceOffsetTypeRequest { + repeated AssignMidSurfaceOffsetTypeRequestData request_data=1; +} + +message AssignMidSurfaceOffsetTypeResponse { + repeated EntityIdentifier successfully_set=1; +} + +message PowerSelectFacesByAreaRangeRequest { + EntityIdentifier id=1; + double area1=2; + double area2=3; +} + +message PowerSelectFacesByAreaRangeResponse { + repeated Face faces=1; +} + +message ShellRequestData { + EntityIdentifier selection = 1; + double offset = 2; +} + +message ShellRequest { + repeated ShellRequestData request_data = 1; +} + +message ShellResponse { + TrackerCommandResponse response_data = 1; +} + +message ImprintProjectedCurvesResponseData{ + EntityIdentifier body = 1; + EntitiesCollection created_entities = 2; +} + +message ImprintProjectedCurvesResponse{ + repeated ImprintProjectedCurvesResponseData response_data = 1; +} + +message SweepWithGuideRequestData { + string name=1; + EntityIdentifier parent=2; + Plane plane=3; + Geometries geometries=4; + TrimmedCurve path=5; + TrimmedCurve guide=6; + bool tight_tolerance=7; +} + +message SweepWithGuideRequest { + repeated SweepWithGuideRequestData request_data=1; +} + +message SweepWithGuideResponse { + repeated Body bodies=1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometry/commands.proto b/ansys/api/discovery/v1/geometry/commands.proto new file mode 100644 index 0000000..1b572e0 --- /dev/null +++ b/ansys/api/discovery/v1/geometry/commands.proto @@ -0,0 +1,15 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. + +syntax = "proto3"; + +package ansys.api.discovery.v1.geometry.commands; + +import "ansys/api/discovery/v1/common_communication.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Commands"; + +service Commands{ + rpc SetObjectsName(SetObjectsNameRequest) returns (SetObjectNameResponse); + + rpc DeleteObjects(MultipleEntitiesRequest) returns (DeleteResponse); +} diff --git a/ansys/api/discovery/v1/geometry/components.proto b/ansys/api/discovery/v1/geometry/components.proto new file mode 100644 index 0000000..fb86e96 --- /dev/null +++ b/ansys/api/discovery/v1/geometry/components.proto @@ -0,0 +1,137 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.components; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Components"; + +service Components{ + rpc Create(CreateRequest) returns(CreateResponse); + + rpc Delete(MultipleEntitiesRequest) returns(DeleteResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetBeamBodies(MultipleEntitiesRequest) returns (GetBeamBodiesResponse); + + rpc GetBodies(MultipleEntitiesRequest) returns (GetBodiesResponse); + + rpc GetName(MultipleEntitiesRequest) returns (GetComponentNameResponse); + + rpc GetPart(MultipleEntitiesRequest) returns (GetPartResponse); + + rpc GetRootComponent(GetRootComponentRequest) returns (GetRootComponentResponse); + + rpc GetUpdateState(MultipleEntitiesRequest) returns (GetUpdateStateResponse); + + rpc SetName(SetObjectsNameRequest) returns (SetObjectNameResponse); + + rpc SetPlacement(SetPlacementRequest) returns (SetPlacementResponse); + + rpc SetSharedTopology(SetSharedTopologyRequest) returns (SetSharedTopologyResponse); + + rpc MakeIndependent(MakeIndependentRequest) returns (MakeIndependentResponse); + + rpc ImportGroups(ImportGroupsRequest) returns (ImportGroupsResponse); +} + +message MakeIndependentResponse { + +} + +message ImportGroupsResponse { + +} + +message ImportGroupsRequest { + EntityIdentifier id = 1; +} + +message MakeIndependentRequest { + repeated EntityIdentifier ids = 1; +} + +message CreateComponentData{ + string name = 1; + EntityIdentifier parent = 2; + EntityIdentifier template = 3; + string instance_name = 4; +} + +message CreateRequest { + repeated CreateComponentData components = 1; +} + +message CreateResponse { + repeated Component components = 1; +} + +message GetAllResponse { + repeated Component components = 1; +} + +message GetBeamBodiesRequest { + repeated EntityIdentifier ids = 1; +} + +message BeamBodies{ + EntityIdentifier beam = 1; + repeated EntityIdentifier bodies = 2; +} + +message GetBeamBodiesResponse { + repeated BeamBodies beam_bodies = 1; +} + +message ComponentBodies{ + EntityIdentifier component = 1; + repeated Body bodies = 2; +} + +message GetBodiesResponse { + repeated ComponentBodies bodies = 1; +} + +message GetComponentNameResponse { + map names = 1; +} + +message GetPartResponse { + map parts = 1; +} + +message GetResponse { + Component component = 1; +} + +message GetRootComponentRequest { +} + +message GetRootComponentResponse { + EntityIdentifier id = 1; +} + +message SetPlacementRequest { + repeated EntityIdentifier ids = 1; + repeated PlacementData placements = 2; +} + +message SetPlacementResponse { + map matrices = 1; +} + +message SharedTopologyData{ + EntityIdentifier id = 1; + ShareType share_type = 2; +} + +message SetSharedTopologyRequest { + repeated SharedTopologyData shared_topologies = 1; +} + +message SetSharedTopologyResponse { + map succesfully_applied = 1; +} diff --git a/ansys/api/discovery/v1/geometry/curves.proto b/ansys/api/discovery/v1/geometry/curves.proto new file mode 100644 index 0000000..23b9306 --- /dev/null +++ b/ansys/api/discovery/v1/geometry/curves.proto @@ -0,0 +1,110 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.curves; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Curves"; + +service Curves{ + rpc CreateCurvesFromProfile(CreateCurvesFromProfileRequest) returns (CreateCurvesFromProfileResponse); + + rpc Delete(MultipleEntitiesRequest) returns(DeleteResponse); + + rpc Get(EntityRequest) returns(GetResponse) ; + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse) ; + + rpc IntersectCurves(IntersectCurvesRequest) returns (IntersectCurvesResponse); + + rpc OffsetFaceCurves(OffsetFaceCurvesRequest) returns (OffsetFaceCurvesResponse); + + rpc PullCurvePoint(PullCurvePointRequest) returns (PullCurvePointResponse); + + rpc RevolveCurves(RevolveCurvesRequest) returns (RevolveCurvesResponse); +} + +message GetResponse{ + Curve curve = 1; +} + +message GetAllResponse{ + repeated Curve curves = 1; +} + +message CreateCurvesFromProfileRequestData { + Geometries geometries=1; + EntityIdentifier parent=2; + Plane plane=3; +} + +message CreateCurvesFromProfileRequest { + repeated CreateCurvesFromProfileRequestData request_data = 1 ; +} + +message CreateCurvesFromProfileResponse { + repeated EntityIdentifier created_curves=1; +} + +message IntersectCurvesRequestData { + TrimmedCurve first = 1; + TrimmedCurve second = 2; +} + +message IntersectCurvesRequest { + repeated IntersectCurvesRequestData request_data = 1; +} + +message IntersectCurvesResponseData { + repeated Point points = 1; + bool intersect = 2; +} + +message IntersectCurvesResponse { + repeated IntersectCurvesResponseData response_data = 1; +} + +message RevolveCurvesRequestData { + repeated TrimmedCurve curves = 1; + Line axis = 2; + double angle = 3; + bool symmetric = 4; +} + +message RevolveCurvesRequest { + repeated RevolveCurvesRequestData request_data = 1; +} + +message RevolveCurvesResponse{ + TrackerCommandResponse response_data = 1; +} + +message PullCurvePointRequestData { + repeated EntityIdentifier selection = 1; + double distance = 2; + bool linear = 3; + bool reversed = 4; +} + +message PullCurvePointRequest { + repeated PullCurvePointRequestData request_data = 1; +} + +message PullCurvePointResponse{ + TrackerCommandResponse response_data = 1; +} + +message OffsetFaceCurvesRequestData { + repeated EntityIdentifier ids = 1; + double offset = 2; +} + +message OffsetFaceCurvesRequest { + repeated OffsetFaceCurvesRequestData request_data = 1; +} + +message OffsetFaceCurvesResponse { + RequestResult result = 1; + repeated Curve created_curves = 2; +} diff --git a/ansys/api/discovery/v1/geometry/edges.proto b/ansys/api/discovery/v1/geometry/edges.proto new file mode 100644 index 0000000..580032f --- /dev/null +++ b/ansys/api/discovery/v1/geometry/edges.proto @@ -0,0 +1,192 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.edges; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Edges"; + +service Edges { + rpc Delete(MultipleEntitiesRequest) returns(DeleteResponse); + + rpc ExtrudeEdges(ExtrudeEdgesRequest) returns (ExtrudeEdgesResponse); + + rpc ExtrudeEdgesUpTo(ExtrudeEdgesUpToRequest) returns (ExtrudeEdgesUpToResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetBoundingBox(MultipleEntitiesRequest) returns(GetBoundingBoxResponse); + + rpc GetCurve(MultipleEntitiesRequest) returns(GetCurveResponse); + + rpc GetFaces(MultipleEntitiesRequest) returns(GetFacesResponse); + + rpc GetInterval(MultipleEntitiesRequest) returns(GetIntervalResponse); + + rpc GetIsDeleted(MultipleEntitiesRequest) returns(GetIsDeletedResponse); + + rpc GetLength(MultipleEntitiesRequest) returns(GetLengthResponse); + + rpc GetStartAndEndPoints(MultipleEntitiesRequest) returns(GetStartAndEndPointsResponse); + + rpc GetUpdateState(MultipleEntitiesRequest) returns(GetUpdateStateResponse); + + rpc GetVertices(MultipleEntitiesRequest) returns(GetVerticesResponse); + + rpc MoveImprintEdges(MoveImprintEdgesRequest) returns (MoveImprintEdgesResponse); + + rpc OffsetEdges(OffsetEdgesRequest) returns (OffsetEdgesResponse); + + rpc SplitEdge(SplitEdgeRequest) returns (SplitEdgeResponse); +} + +message GetResponse{ + Edge edge = 1; +} + +message GetCurveResponseData{ + EntityIdentifier id = 1; + CurveGeometry curve = 2; +} + +message GetCurveResponse{ + repeated GetCurveResponseData response_data = 1; +} + +message GetIntervalResponseData { + EntityIdentifier id = 1; + double start = 2; + double end = 3; +} + +message GetIntervalResponse { + repeated GetIntervalResponseData response_data = 1; +} + +message GetLengthResponseData{ + EntityIdentifier id = 1; + double length = 2; +} + +message GetLengthResponse{ + repeated GetLengthResponseData response_data = 1; +} + +message GetStartAndEndPointsResponseData { + EntityIdentifier id = 1; + Point start = 2; + Point end = 3; +} + +message GetStartAndEndPointsResponse { + repeated GetStartAndEndPointsResponseData response_data = 1; +} + +message GetAllResponse{ + repeated Edge edges = 1; +} + +message ExtrudeEdgesRequestData { + repeated EntityIdentifier edges = 1; + EntityIdentifier face = 2; + Point point = 3; + Direction direction = 4; + double distance= 5; + ExtrudeType extrude_type = 6; + bool pull_symmetric = 7; + bool copy = 8; + bool natural_extension = 9; +} + + +message ExtrudeEdgesRequest { + repeated ExtrudeEdgesRequestData request_data = 1; +} + +message ExtrudeEdgesUpToRequestData { + repeated EntityIdentifier edges = 1; + EntityIdentifier up_to_selection = 2; + Point seed_point = 3; + Direction direction = 4; + ExtrudeType extrude_type = 5; +} + +message ExtrudeEdgesUpToRequest { + repeated ExtrudeEdgesUpToRequestData request_data = 1; +} + +enum SplitEdgeType{ + SPLITEDGE_BY_PROPORTION=0; + SPLITEDGE_BY_POINT=1; + SPLITEDGE_BY_LENGTH=2; +} + +enum SplitEdgeReference{ + SPLITEDGE_REFERENCE_START=0; + SPLITEDGE_REFERENCE_END=1; +} + +message SplitEdgeRequestData { + repeated EntityIdentifier selection = 1; + SplitEdgeType split_type = 2; + repeated double proportions = 3; + repeated Point points = 4; + repeated double lengths = 5; + SplitEdgeReference reference = 6; +} + +message SplitEdgeRequest { + repeated SplitEdgeRequestData request_data = 1; +} + +message SplitEdgeResponse{ + TrackerCommandResponse response_data = 1; +} + +message MoveImprintEdgesRequestData { + repeated EntityIdentifier edges = 1; + Direction direction = 2; + double distance = 3; +} + +message MoveImprintEdgesRequest { + repeated MoveImprintEdgesRequestData request_data = 1; +} + +message MoveImprintEdgesResponse { + TrackerCommandResponse response_data = 1; +} + +message OffsetEdgesRequestData { + repeated EntityIdentifier edges = 1; + double value = 2; +} + +message OffsetEdgesRequest { + repeated OffsetEdgesRequestData request_data = 1; +} + +message OffsetEdgesResponse { + TrackerCommandResponse response_data = 1; +} + +message ExtrudeEdgesResponse{ + TrackerCommandResponse response_data = 1; +} + +message ExtrudeEdgesUpToResponse{ + TrackerCommandResponse response_data = 1; +} + +message GetVerticesResponseData +{ + EntityIdentifier id = 1; + repeated Vertex vertices = 2; +} + +message GetVerticesResponse{ + repeated GetVerticesResponseData response_data=1; +} diff --git a/ansys/api/discovery/v1/geometry/faces.proto b/ansys/api/discovery/v1/geometry/faces.proto new file mode 100644 index 0000000..636eefb --- /dev/null +++ b/ansys/api/discovery/v1/geometry/faces.proto @@ -0,0 +1,521 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.faces; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Faces"; + +service Faces +{ + rpc AssignMidSurfaceOffsetType(AssignMidSurfaceOffsetTypeRequest) returns (AssignMidSurfaceOffsetTypeResponse); + + rpc AssignMidSurfaceThickness(AssignMidSurfaceThicknessRequest) returns (AssignMidSurfaceThicknessResponse); + + rpc CreateIsoParamCurves(CreateIsoParamCurvesRequest) returns (CreateIsoParamCurvesResponse); + + rpc DetachFaces(DetachFacesRequest) returns (DetachFacesResponse); + + rpc DraftFaces(DraftFacesRequest) returns (DraftFacesResponse); + + rpc Evaluate(EvaluateRequest) returns(EvaluateResponse); + + rpc ExtrudeFaces(ExtrudeFacesRequest) returns (ExtrudeFacesResponse); + + rpc ExtrudeFacesUpTo(ExtrudeFacesUpToRequest) returns (ExtrudeFacesUpToResponse); + + rpc FaceOffset(FaceOffsetRequest) returns (FaceOffsetResponse); + + rpc FillFaces(FillFacesRequest) returns (FillFacesResponse); + + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetArea(MultipleEntitiesRequest) returns(GetAreaResponse); + + rpc GetBoundingBox(MultipleEntitiesRequest) returns (GetBoundingBoxResponse); + + rpc GetBoxUV(MultipleEntitiesRequest) returns (GetBoxUVResponse); + + rpc GetClosestSeparation(GetClosestSeparationRequest) returns (GetClosestSeparationResponse); + + rpc GetColor(MultipleEntitiesRequest) returns (GetColorResponse); + + rpc GetEdges(MultipleEntitiesRequest) returns(GetEdgesResponse); + + rpc GetExternalEdges(MultipleEntitiesRequest) returns(GetExternalEdgesResponse); + + rpc GetInternalEdges(MultipleEntitiesRequest) returns(GetInternalEdgesResponse); + + rpc GetIsDeleted(MultipleEntitiesRequest) returns(GetIsDeletedResponse); + + rpc GetLoops(MultipleEntitiesRequest) returns (GetLoopsResponse); + + rpc GetNormal(GetNormalRequest) returns(GetNormalResponse); + + rpc GetRoundInfo(MultipleEntitiesRequest) returns (GetRoundInfoResponse); + + rpc GetSurface(MultipleEntitiesRequest) returns (GetSurfaceResponse); + + rpc GetUpdateState(MultipleEntitiesRequest) returns (GetUpdateStateResponse); + + rpc GetVertices(MultipleEntitiesRequest) returns (GetVerticesResponse); + + rpc OffsetFacesSetRadius(OffsetFacesSetRadiusRequest) returns (OffsetFacesSetRadiusResponse); + + rpc RemoveFaces(RemoveFacesRequest) returns (RemoveFacesResponse); + + rpc ReplaceFace(ReplaceFaceRequest) returns (ReplaceFaceResponse); + + rpc RevolveFaces(RevolveFacesRequest) returns (RevolveFacesResponse); + + rpc RevolveFacesByHelix(RevolveFacesByHelixRequest) returns (RevolveFacesByHelixResponse); + + rpc RevolveFacesUpTo(RevolveFacesUpToRequest) returns (RevolveFacesUpToResponse); + + rpc SetColor(SetColorRequest) returns (SetColorResponse); + + rpc SplitFace(SplitFaceRequest) returns(SplitFaceResponse); + + rpc SweepFaces(SweepFacesRequest) returns (SweepFacesResponse); + + rpc ThickenFaces(ThickenFacesRequest) returns (ThickenFacesResponse); +} + +message GetResponse{ + Face face = 1; +} + +message GetAllResponse{ + repeated Face faces = 1; +} + +message GetAreaResponseData { + EntityIdentifier id = 1; + double area = 2; +} + +message GetAreaResponse { + repeated GetAreaResponseData response_data = 1; +} + +message GetBoxUVResponseData { + EntityIdentifier id = 1; + double start_u = 2; + double end_u = 3; + double start_v = 4; + double end_v = 5; +} + +message GetBoxUVResponse { + repeated GetBoxUVResponseData response_data = 1; +} + +message GetEdgesResponseData{ + EntityIdentifier id = 1; + repeated Edge edges = 2; +} + +message GetEdgesResponse{ + repeated GetEdgesResponseData response_data = 1; +} + +message GetSurfaceResponseData{ + EntityIdentifier id = 1; + Surface surface = 2; +} + +message GetSurfaceResponse{ + repeated GetSurfaceResponseData response_data = 1; +} + +message CreateIsoParamCurvesRequestData { + EntityIdentifier id = 1; + bool u_dir_curve = 2; + double proportion = 3; +} + +message CreateIsoParamCurvesRequest { + repeated CreateIsoParamCurvesRequestData request_data = 1; +} + +message CreateIsoParamCurvesResponseData { + EntityIdentifier id = 1; + repeated TrimmedCurve curves = 2; +} + +message CreateIsoParamCurvesResponse { + repeated CreateIsoParamCurvesResponseData response_data = 1; +} + +message GetNormalRequestData { + EntityIdentifier id=1; + double u=2; + double v=3; +} + +message GetNormalRequest { + repeated GetNormalRequestData request_data=1; +} + +message GetNormalResponseData { + EntityIdentifier id = 1; + Direction direction = 2; +} + +message GetNormalResponse { + repeated GetNormalResponseData response_data = 1; +} + +message EvaluateRequestData { + EntityIdentifier id=1; + double u=2; + double v=3; +} + +message EvaluateRequest { + repeated EvaluateRequestData request_data = 1; +} + +message EvaluateResponseData { + EntityIdentifier id = 1; + Point point = 2; +} + +message EvaluateResponse { + repeated EvaluateResponseData response_data = 1; +} + +message GetExternalEdgesResponseData{ + EntityIdentifier id = 1; + repeated Edge edges = 2; +} + +message GetExternalEdgesResponse{ + repeated GetExternalEdgesResponseData response_data = 1; +} + +message GetInternalEdgesResponseData{ + EntityIdentifier id = 1; + repeated Edge edges = 2; +} + +message GetInternalEdgesResponse{ + repeated GetInternalEdgesResponseData response_data = 1; +} + +message GetLoopsResponseData { + EntityIdentifier id = 1; + repeated Loop loops = 2; +} + +message GetLoopsResponse { + repeated GetLoopsResponseData response_data = 1; +} + +message GetClosestSeparationRequestData { + EntityIdentifier face_1 = 2; + EntityIdentifier face_2 = 3; +} + +message GetClosestSeparationRequest { + repeated GetClosestSeparationRequestData request_data = 1; +} + +message GetClosestSeparationResponseData{ + EntityIdentifier face_1 = 1; + EntityIdentifier face_2 = 2; + Separation separation = 3; +} + +message GetClosestSeparationResponse{ + repeated GetClosestSeparationResponseData response_data = 1; +} + +message FillFacesRequest { + repeated EntityIdentifier ids=1; +} + +message FillFacesResponse{ + repeated EntityIdentifier successfully_set=1; +} + +message AssignMidSurfaceThicknessRequestData { + repeated EntityIdentifier ids=1; + double thickness=2; +} + +message AssignMidSurfaceThicknessRequest { + repeated AssignMidSurfaceThicknessRequestData request_data=1; +} + +message AssignMidSurfaceThicknessResponse { + repeated EntityIdentifier successfully_set=1; +} + +message AssignMidSurfaceOffsetTypeRequestData { + repeated EntityIdentifier faces=1; + MidSurfaceOffsetType offset_type=2; +} + +message AssignMidSurfaceOffsetTypeRequest { + repeated AssignMidSurfaceOffsetTypeRequestData request_data=1; +} + +message AssignMidSurfaceOffsetTypeResponse { + repeated EntityIdentifier successfully_set=1; +} + +message OffsetFacesSetRadiusRequestData { + EntityIdentifier id = 1; + double radius = 2; + bool copy = 3; + OffsetMode offset_mode = 4; + ExtrudeType extrude_type = 5; + repeated EntityIdentifier faces_ids = 6; +} + +message OffsetFacesSetRadiusRequest { + repeated OffsetFacesSetRadiusRequestData request_data = 1; +} + +message OffsetFacesSetRadiusResponse { + TrackerCommandResponse response_data = 1; +} + +message FaceOffsetRequestData { + EntityIdentifier id1 = 1; + EntityIdentifier id2 = 2; + bool set_baselines = 3; + bool process_adjacent_faces = 4; +} + +message FaceOffsetRequest { + repeated FaceOffsetRequestData request_data = 1; +} + +message FaceOffsetResponse { + TrackerCommandResponse response_data = 1; +} + +message ThickenFacesRequestData { + repeated EntityIdentifier ids = 1; + Direction direction = 2; + double value = 3; + ExtrudeType extrude_type = 4; + bool pull_symmetric = 5; + bool select_direction = 6; +} + +message ThickenFacesRequest { + repeated ThickenFacesRequestData request_data = 1; +} + +message ThickenFacesResponse{ + TrackerCommandResponse response_data = 1; +} + +message DraftFacesRequestData { + repeated EntityIdentifier ids = 1; + repeated EntityIdentifier reference_ids = 2; + DraftSide draft_side = 3; + double draft_angle = 4; + ExtrudeType extrude_type = 5; +} + +message DraftFacesRequest { + repeated DraftFacesRequestData request_data = 1; +} + +message DraftFacesResponse { + repeated Face created_faces = 1; +} + +message ExtrudeFacesRequestData { + repeated EntityIdentifier ids = 1; + double distance = 2; + Direction direction = 3; + ExtrudeType extrude_type = 4; + bool pull_symmetric = 5; + OffsetMode offset_mode = 6; + bool copy = 7; + bool force_do_as_extrude = 8; +} + +message ExtrudeFacesRequest { + repeated ExtrudeFacesRequestData request_data = 1; +} + +message ExtrudeFacesUpToRequestData { + repeated EntityIdentifier ids = 1; + EntityIdentifier up_to_selection = 2; + Direction direction = 3; + ExtrudeType extrude_type = 4; + bool pull_symmetric = 5; + OffsetMode offset_mode = 6; + bool copy = 7; + bool force_do_as_extrude = 8; + Point seed_point = 9; +} + +message ExtrudeFacesUpToRequest { + repeated ExtrudeFacesUpToRequestData request_data = 1; +} + +message GetRoundInfoResponseData { + EntityIdentifier id = 1; + bool along_u = 2; + double radius = 3; +} + +message GetRoundInfoResponse { + repeated GetRoundInfoResponseData response_data= 1; +} + +message RevolveFacesRequestData { + repeated EntityIdentifier selection = 1; + Line axis = 2; + double angle = 3; + repeated EntityIdentifier alternate_axis = 4; + Direction alternate_direction = 5; + ExtrudeType extrude_type = 6; +} + +message RevolveFacesRequest { + repeated RevolveFacesRequestData request_data = 1; +} + +message RevolveFacesUpToRequestData { + repeated EntityIdentifier selection = 1; + EntityIdentifier up_to_selection = 2; + Direction direction = 3; + Line axis = 4; + ExtrudeType extrude_type = 5; +} + +message RevolveFacesUpToRequest { + repeated RevolveFacesUpToRequestData request_data = 1; +} + +message RevolveFacesByHelixRequestData { + repeated EntityIdentifier selection = 1; + Direction direction = 2; + Line axis = 3; + double height = 4; + double pitch = 5; + double taper_angle = 6; + bool right_handed = 7; + bool both_sides = 8; + ExtrudeType extrude_type = 9; +} + +message RevolveFacesByHelixRequest { + repeated RevolveFacesByHelixRequestData request_data = 1; +} + +message SweepFacesRequestData { + repeated EntityIdentifier selection = 1; + repeated EntityIdentifier trajectories = 2; + double optional_distance = 3; +} + +message SweepFacesRequest { + repeated SweepFacesRequestData request_data = 1; +} + +message DetachFacesRequest { + repeated EntityIdentifier selection = 1; +} + +message ReplaceFaceRequest { + repeated EntityIdentifier target_selection = 1; + repeated EntityIdentifier replacement_selection = 2; +} + +message RemoveFacesRequestData { + repeated EntityIdentifier selection = 1; + double offset = 2; +} + +message RemoveFacesRequest { + repeated RemoveFacesRequestData request_data = 1; + double offset = 2; +} + +enum SplitFaceType{ + SPLITFACE_BY_PARAMETER=0; + SPLITFACE_BY_TWO_POINTS=1; + SPLITFACE_BY_CURVES=2; + SPLITFACE_BY_CUTTER=3; +} + +enum SplitFaceParameterType{ + SPLITFACEPARAMETER_UV=0; + SPLITFACEPARAMETER_PERPENDICULAR=1; +} + +message SplitFaceRequestData{ + EntityIdentifier selection=1; + Point split_parameter=2; + Point split_start=3; + Point split_end=4; + EntityIdentifier face_cutter=5; + repeated TrimmedCurve split_curves=6; + SplitFaceType split_type=7; + SplitFaceParameterType parameter_type=8; +} + +message SplitFaceRequest{ + repeated SplitFaceRequestData request_data =1; +} + +message DetachFacesResponse{ + TrackerCommandResponse response_data = 1; +} + +message ReplaceFaceResponse{ + TrackerCommandResponse response_data = 1; +} + +message RemoveFacesResponse{ + TrackerCommandResponse response_data = 1; +} + +message RevolveFacesResponse{ + TrackerCommandResponse response_data = 1; +} + +message RevolveFacesUpToResponse{ + TrackerCommandResponse response_data = 1; +} + +message RevolveFacesByHelixResponse{ + TrackerCommandResponse response_data = 1; +} + +message SplitFaceResponse{ + TrackerCommandResponse response_data = 1; +} + +message SweepFacesResponse{ + TrackerCommandResponse response_data = 1; +} + +message ExtrudeFacesResponse{ + TrackerCommandResponse response_data = 1; +} + +message ExtrudeFacesUpToResponse{ + TrackerCommandResponse response_data = 1; +} + +message GetVerticesResponseData { + EntityIdentifier id = 1; + repeated Vertex vertices = 2; +} + +message GetVerticesResponse{ + repeated GetVerticesResponse response_data = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometry/meshes.proto b/ansys/api/discovery/v1/geometry/meshes.proto new file mode 100644 index 0000000..ce202f2 --- /dev/null +++ b/ansys/api/discovery/v1/geometry/meshes.proto @@ -0,0 +1,22 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.meshes; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Meshes"; + +service Meshes{ + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); +} + +message GetResponse{ + Mesh mesh = 1; +} + +message GetAllResponse{ + repeated Mesh meshes = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometry/nurbs.proto b/ansys/api/discovery/v1/geometry/nurbs.proto new file mode 100644 index 0000000..6451ebe --- /dev/null +++ b/ansys/api/discovery/v1/geometry/nurbs.proto @@ -0,0 +1,21 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.nurbs; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Nurbs"; + +service Nurbs +{ + rpc EvaluateNurbsCurve(EvaluateNurbsCurveRequest) returns (EvaluateNurbsCurveResponse); +} + +message EvaluateNurbsCurveRequest{ + NurbsCurve curve = 1; + double parameter = 2; +} + +message EvaluateNurbsCurveResponse { + CurveEvaluation curve_evaluation = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/geometry/parts.proto b/ansys/api/discovery/v1/geometry/parts.proto new file mode 100644 index 0000000..a85ce97 --- /dev/null +++ b/ansys/api/discovery/v1/geometry/parts.proto @@ -0,0 +1,33 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.geometry.parts; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Geometry.Parts"; + +service Parts{ + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc GetBeams(MultipleEntitiesRequest) returns(GetBeamsResponse); +} + +message GetResponse{ + Part part = 1; +} + +message GetAllResponse{ + repeated Part parts = 1; +} + +message GetBeamsResponseData { + EntityIdentifier id = 1; + repeated Beam beams = 2; +} + +message GetBeamsResponse { + repeated GetBeamsResponseData response_data = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/models.proto b/ansys/api/discovery/v1/models.proto new file mode 100644 index 0000000..eddf705 --- /dev/null +++ b/ansys/api/discovery/v1/models.proto @@ -0,0 +1,1484 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1; + +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1"; + +// +// The type of curve. +enum CurveType { + CURVETYPE_UNKNOWN = 0; + CURVETYPE_LINE = 1; + CURVETYPE_CIRCLE = 2; + CURVETYPE_ELLIPSE = 3; + CURVETYPE_NURBS = 4; + CURVETYPE_PROCEDURAL = 5; +} + +// +// The type of surface. +enum SurfaceType { + SURFACETYPE_UNKNOWN = 0; + SURFACETYPE_PLANE = 1; + SURFACETYPE_CYLINDER = 2; + SURFACETYPE_CONE = 3; + SURFACETYPE_TORUS = 4; + SURFACETYPE_SPHERE = 5; + SURFACETYPE_NURBS = 6; + SURFACETYPE_PROCEDURAL = 7; +} + +// +// The type of collision. +enum CollisionType { + COLLISIONTYPE_NONE=0; + COLLISIONTYPE_TOUCH=1; + COLLISIONTYPE_INTERSECT=2; + COLLISIONTYPE_CONTAINED=3; + COLLISIONTYPE_CONTAINEDTOUCH=4; +} + +// +// The fill style type for a body. +enum BodyFillStyle { + BODYFILLSTYLE_DEFAULT=0; + BODYFILLSTYLE_OPAQUE=1; + BODYFILLSTYLE_TRANSPARENT=2; +} + +// +// The beam type for a Beam +enum BeamType { + BEAMTYPE_BEAM=0; + BEAMTYPE_SPRING=1; + BEAMTYPE_LINK_TRUSS=2; + BEAMTYPE_CABLE=3; + BEAMTYPE_PIPE=4; + BEAMTYPE_THERMALFLUID=5; + BEAMTYPE_UNKNOWN=6; +} + +// +// A design curve. +message Curve{ + EntityIdentifier id = 1; + string owner_name = 2; + double length = 3; + repeated Point points = 4; +} + +message CurveGeometry { + Point origin = 1; + double radius = 2; + double major_radius = 3; + double minor_radius = 4; + Direction direction = 5; + Direction reference = 6; + Direction axis = 7; + NurbsCurve nurbs_curve = 8; +} + +message TrimmedCurve { + CurveGeometry curve = 1; + Point start = 2; + Point end = 3; + double interval_start = 4; + double interval_end = 5; + double length = 6; +} + +// +// A edge. +message Edge{ + EntityIdentifier id = 1; + Body parent = 2; + CurveType curve_type = 10; + string owner_name = 11; + string export_id = 12; + double length = 13; + string owner_id = 14; + bool is_reversed = 15; +} + +// +// A face. +message Face{ + EntityIdentifier id = 1; + Body parent = 2; + SurfaceType surface_type = 10; + string owner_name = 11; + string export_id = 12; + double area = 13; + bool is_reversed = 14; + EntityIdentifier parent_id = 15; +} +// +// A mesh. +message Mesh{ + EntityIdentifier id = 1; + string name=2; +} + +// +// A body. +message Body{ + EntityIdentifier id = 1; + string name = 2; + bool can_suppress = 3; + bool is_deleted = 4; + bool is_suppressed = 5; + Matrix transform_to_master = 6; + BodyMasterNullable master = 7; + EntityIdentifier master_id = 8; + EntityIdentifier parent_id = 9; + bool is_surface = 10; +} + +// +// A nullable body master. +message BodyMasterNullable{ + oneof kind + { + google.protobuf.NullValue null = 1; + BodyMaster props = 2; + } +} + +// +// A body master. +message BodyMaster { + string update_state = 6; + map< string, string > text_attributes = 7; + map< string, double > number_attributes = 8; + Material material = 9; + Material surface_material = 10; + Shape shape = 11; +} + +// +// The shape. +message Shape { + bool is_surface_body = 1; + double surface_area = 2; + double volume = 3; + Direction bounding_box_size = 4; +} + +// +// A component. +message Component{ + EntityIdentifier id = 1; + string name = 2; + Part part_occurrence = 3; + Matrix placement =4; + EntityIdentifier master_id=5; + EntityIdentifier parent_id=6; + Part part_master=7; + string display_name=8; + string instance_name=9; + EntityIdentifier template = 10; +} + +// +// A part. +message Part{ + EntityIdentifier id = 1; + string name = 2; +} + +// +// A named selection. +message NamedSelection { + EntityIdentifier id = 1; + string name = 2; + repeated EntityIdentifier selection=3; + repeated Body bodies = 4; + repeated Face faces = 5; + repeated Edge edges = 6; + repeated Beam beams = 7; + repeated Curve design_points = 8; + repeated Vertex vertices = 9; + repeated Component components = 10; +} + +// +// A 3D coordinate system. +message CoordinateSystem{ + EntityIdentifier id=1; + string name=2; + Frame frame = 3; +} + +// +// A 3D point. +message Point { + double x = 1; + double y = 2; + double z = 3; +} + +// +// A 3D direction. +message Direction { + double x = 1; + double y = 2; + double z = 3; +} + + +// +// A 3D box. +message Box { + Point min = 1; + Point max = 2; + Point center = 3; +} + +// +// A homogeneous 3D transformation matrix. +// The matrix is a pre-multiplication transformation. +// The rotation is in m00->m22 and contains no scaling in its leading diagonal. +// The translation is m03/m33, m13/m33, m23/m33. +// The uniform scale is 1/m33. +message Matrix{ + double m00 = 1; + double m01 = 2; + double m02 = 3; + double m03 = 4; + double m10 = 5; + double m11 = 6; + double m12 = 7; + double m13 = 8; + double m20 = 9; + double m21 = 10; + double m22 = 11; + double m23 = 12; + double m30 = 13; + double m31 = 14; + double m32 = 15; + double m33 = 16; +} + +// +// ShrinkWrapOptions is used to specify ShrinkWrap method in the Facet Tools. +message ShrinkWrapOptions { + double size =2; + bool keep_original_bodies =3; + bool preserve_features =4; + double angle_tolerance =5; + bool secondary_size_enabled =6; + double secondary_size = 7; + bool max_size_enabled =8; + double max_size = 9; + double curvature_angle =10; +} + +message FixInterferenceProblemArea { + int32 id = 1; + repeated EntityIdentifier body_monikers = 2; +} + +message SplitEdgeProblemArea { + int32 id = 1; + repeated EntityIdentifier edge_monikers = 2; +} + +message FixSplitEdgeOptions { + double max_edge_length = 1; + double min_edge_angle = 2; +} + +message ExtraEdgeProblemArea { + int32 id = 1; + repeated EntityIdentifier edge_monikers = 2; +} + +message InexactEdgeProblemArea { + int32 id = 1; + repeated EntityIdentifier edge_monikers = 2; +} + +message ShortEdgeProblemArea { + int32 id = 1; + repeated EntityIdentifier edge_monikers = 2; +} + +message DuplicateFaceProblemArea { + int32 id = 1; + repeated EntityIdentifier face_monikers = 2; +} + +message MissingFaceProblemArea { + int32 id = 1; + repeated EntityIdentifier edge_monikers = 2; +} + +message SmallFaceProblemArea { + int32 id = 1; + repeated EntityIdentifier face_monikers = 2; +} + +message StitchFaceProblemArea { + int32 id = 1; + repeated EntityIdentifier body_monikers = 2; +} + +message CurveGapProblemArea { + int32 id = 1; + repeated EntityIdentifier curve_point_monikers = 2; +} + +message DuplicateCurveProblemArea { + int32 id = 1; + repeated EntityIdentifier curve_point_monikers = 2; +} + +message SmallCurveProblemArea { + int32 id = 1; + repeated EntityIdentifier curve_monikers = 2; +} + +message AdjustSimplifyProblemArea { + int32 id = 1; + repeated EntityIdentifier body_monikers = 2; +} + +message GapProblemArea { + int32 id = 1; + repeated EntityIdentifier edge_monikers = 2; +} + +message GenericProblemArea { + int32 id = 1; + repeated EntityIdentifier monikers = 2; +} + +message RepairToolMessage { + bool success = 1; + repeated EntityIdentifier created_bodies_monikers = 2; + repeated EntityIdentifier modified_bodies_monikers = 3; + repeated EntityIdentifier deleted_bodies_monikers = 4; + TrackerCommandResponse complete_command_response = 5;// this should become the only response in protos v1 +} + +message EnhancedRepairToolMessage { + bool success = 1; + int32 found = 2; + int32 repaired = 3; + repeated EntityIdentifier created_bodies_monikers = 4; + repeated EntityIdentifier modified_bodies_monikers = 5; + repeated EntityIdentifier deleted_bodies_monikers = 6; + TrackerCommandResponse complete_command_response = 7; // this should become the only response in protos v1 +} + +message Material{ + string name=1; + repeated MaterialProperty material_properties=2; +} + +message MaterialProperty { + EntityIdentifier id=1; + string display_name=2; + double value=3; + string units=4; +} + + +message Frame { + Point origin = 1; + Direction dir_x = 2; + Direction dir_y = 3; + Direction dir_z = 4; +} + +message Plane { + Frame frame = 1; +} + +message DatumPlane { + EntityIdentifier id = 1; + Plane plane = 2; + string name = 3; + bool is_suppressed = 4; + bool is_deleted = 5; + bool can_suppress = 6; + EntityIdentifier master_id = 7; + EntityIdentifier parent_id = 8; + repeated Curve curves = 9; +} + +message Line { + Point start=1; + Point end=2; +} + +message Circle { + Point center=1; + double radius=2; +} + +message Arc { + Point center=1; + Point start=2; + Point end=3; + Direction axis=4; +} + +message Ellipse { + Point center=1; + double majorradius=2; + double minorradius=3; + double angle=4; +} + +message Polygon { + Point center=1; + double radius=2; + int32 numberofsides=3; + double angle=4; +} + +message Geometries { + repeated Point points = 1; + repeated Line lines = 2; + repeated Arc arcs = 3; + repeated Circle circles = 4; + repeated Ellipse ellipses = 5; + repeated Polygon polygons = 6; + repeated NurbsCurve nurbs_curves = 7; +} + +message Loop { + string type=1; + double length=2; + Box bounding_box=3; + repeated string edges=4; +} + +enum ShareType { + SHARETYPE_NONE=0; + SHARETYPE_SHARE=1; + SHARETYPE_MERGE=2; + SHARETYPE_GROUPS=3; +} + +enum MidSurfaceOffsetType { + MIDSURFACEOFFSETTYPE_MIDDLE=0; + MIDSURFACEOFFSETTYPE_TOP=1; + MIDSURFACEOFFSETTYPE_BOTTOM=2; + MIDSURFACEOFFSETTYPE_VARIABLE=3; + MIDSURFACEOFFSETTYPE_CUSTOM=4; +} + +enum OffsetMode { + OFFSETMODE_IGNORE_RELATIONSHIPS=0; + OFFSETMODE_MOVE_FACES_TOGETHER=1; + OFFSETMODE_MOVE_FACES_APART=2; +} + +enum ExtrudeType { + EXTRUDETYPE_NONE = 0; + EXTRUDETYPE_ADD = 1; + EXTRUDETYPE_CUT = 2; + EXTRUDETYPE_FORCE_ADD = 3; + EXTRUDETYPE_FORCE_CUT = 4; + EXTRUDETYPE_FORCE_INDEPENDENT = 5; + EXTRUDETYPE_FORCE_NEW_SURFACE = 6; +} + +// +// Object type descriptor +enum EntityType{ + ENTITYTYPE_PART = 0; + ENTITYTYPE_COMPONENT = 1; + ENTITYTYPE_BODY = 2; + ENTITYTYPE_NAMED_SELECTION = 3; + ENTITYTYPE_EDGE = 4; + ENTITYTYPE_FACE = 5; +} + +message EntitiesCollection{ + repeated Curve curves=1; + repeated Edge edges=2; + repeated Face faces=3; + repeated Body bodies=4; +} + +message Tessellation { + repeated double vertices = 1; + repeated int32 faces = 2; + int32 facecolor = 3; +} + +// +// The type of segment. +enum SegmentType { + SURFACETYPE_LINE = 0; + SURFACETYPE_ARC = 1; + SURFACETYPE_CIRCLE = 2; +} + +message UpdateState { + int32 state=1; +} + +message Vertex { + Point position = 1; + repeated Edge edges = 2; + EntityIdentifier id = 3; +} +message TrimmedCurveList { + repeated TrimmedCurve curves = 1; +} + +message SpotWeld { + map weld_points = 1; +} + +message Weld { + repeated TrimmedCurveList geometry = 1; + string display_name = 2; + double length = 3; + double volume = 4; + double mass = 5; + double time = 6; + double rod_length = 7; + bool is_intermittent = 8; + int32 sequence_id = 9; + double size1 = 10; + double size2 = 11; + + // This data only exists if the weld is intermittent + bool is_angular = 12; + bool is_at_center = 13; + double intermittent_length = 14; + int32 number_of_welds = 15; + double pitch = 16; +} + +message BeamProperties { + double area = 1; + double centroid_x = 2; + double centroid_y = 3; + double warping_constant = 4; + double ixx = 5; + double ixy = 6; + double iyy = 7; + double torsional_constant = 8; + double shear_center_x = 9; + double shear_center_y = 10; +} + +message BeamCrossSectionInfo { + int32 section_anchor = 1; + double section_angle = 2; + Frame section_frame = 3; + repeated TrimmedCurveList section_profile = 4; +} + +message Beam { + string name = 1; + bool can_suppress = 2; + bool is_deleted = 3; + bool is_reversed = 4; + bool is_rigid = 5; + Material material = 6; + EntityIdentifier id = 7; + Part parent = 8; + BeamCrossSectionInfo cross_section = 9; + BeamProperties properties = 10; + TrimmedCurve shape = 11; + BeamType type = 12; +} + +message CurveEvaluation { + double curvature = 1; + Direction derivative = 2; + Direction derivative2 = 3; + double param = 4; + Point point = 5; + Direction tangent = 6; +} + +message SurfaceEvaluation { + Direction derivative_u = 1; + Direction derivative_uu = 2; + Direction derivative_uv = 3; + Direction derivative_v = 4; + Direction derivative_vv = 5; + double max_curvature = 6; + Direction max_curvature_direction = 7; + double min_curvature = 8; + Direction min_curvature_direction = 9; + Direction normal = 10; + double param_u = 11; + double param_v = 12; + Point point = 13; +} + +message Surface { + Point origin = 1; + double radius = 2; + double half_angle = 3; + double major_radius = 4; + double minor_radius = 5; + Direction reference = 6; + Direction axis = 7; +} + +message TrimmedSurface { + Surface surface = 1; + SurfaceType type = 2; + double u_min = 3; + double u_max = 4; + double v_min = 5; + double v_max = 6; +} + +message Gap { + double distance = 1; +} + +message NurbsCurve { + repeated ControlPoint control_points = 1; + NurbsData nurbs_data = 2; + bool is_rational = 3; + Parameterization parameterization = 4; +} + +message NurbsData{ + int32 degree = 1; + bool is_closed = 2; + bool is_periodic = 3; + repeated Knot knots = 4; + int32 order = 5; +} + +message Knot{ + int32 multiplicity = 1; + double parameter = 2; +} + +message ControlPoint { + Point position = 1; + double weight = 2; +} + +message Parameterization{ + ParameterizationBounds bounds = 1; + ParameterizationForm form = 2; +} + +message ParameterizationBounds { + bool infinite_start = 1; + double start = 2; + bool infinite_end = 3; + double end = 4; +} + +enum ParameterizationForm { + OPEN = 0; + CLOSED = 1; + PERIODIC = 2; +} + +enum DraftSide { + DRAFTSIDE_NO_SPLIT = 0; + DRAFTSIDE_THIS = 1; + DRAFTSIDE_OTHER = 2; + DRAFTSIDE_BOTH = 3; +} + +// +// The type of a fill pattern. +enum FillPatternType { + FILLPATTERNTYPE_GRID = 0; + FILLPATTERNTYPE_OFFSET = 1; + FILLPATTERNTYPE_SKEWED = 2; +} + +// +// The type of a pattern modification. +enum PatternModificationType { + PATTERNMODIFICATIONTYPE_PRIMARY_COUNT_PRESERVE_SPACING = 0; + PATTERNMODIFICATIONTYPE_PRIMARY_COUNT_PRESERVE_OVERALL = 1; + PATTERNMODIFICATIONTYPE_PRIMARY_COUNT_PLUS_PRESERVE_SPACING = 2; + PATTERNMODIFICATIONTYPE_PRIMARY_COUNT_PLUS_PRESERVE_OVERALL = 3; + PATTERNMODIFICATIONTYPE_PRIMARY_COUNT_MINUS_PRESERVE_SPACING = 4; + PATTERNMODIFICATIONTYPE_PRIMARY_COUNT_MINUS_PRESERVE_OVERALL = 5; + PATTERNMODIFICATIONTYPE_PRIMARY_OVERALL_DIMENSION = 6; + PATTERNMODIFICATIONTYPE_PRIMARY_SPACING_DIMENSION = 7; + PATTERNMODIFICATIONTYPE_SECONDARY_COUNT_PRESERVE_SPACING = 8; + PATTERNMODIFICATIONTYPE_SECONDARY_COUNT_PRESERVE_OVERALL = 9; + PATTERNMODIFICATIONTYPE_SECONDARY_COUNT_PLUS_PRESERVE_SPACING = 10; + PATTERNMODIFICATIONTYPE_SECONDARY_COUNT_PLUS_PRESERVE_OVERALL =11; + PATTERNMODIFICATIONTYPE_SECONDARY_COUNT_MINUS_PRESERVE_SPACING = 12; + PATTERNMODIFICATIONTYPE_SECONDARY_COUNT_MINUS_PRESERVE_OVERALL = 13; + PATTERNMODIFICATIONTYPE_SECONDARY_OVERALL_DIMENSION = 14; + PATTERNMODIFICATIONTYPE_SECONDARY_SPACING_DIMENSION = 15; + PATTERNMODIFICATIONTYPE_CIRCULAR_RADIUS = 16; +} + +enum InspectGeometryMessageType { + INSPECT_GEOMETRY_UNKNOWN = 0; + INSPECT_GEOMETRY_INFORMATION = 1; + INSPECT_GEOMETRY_WARNING = 2; + INSPECT_GEOMETRY_ERROR = 3; +} + +enum InspectGeometryLevel { + COMPLETE = 0; + VALIDATE = 1; + SANITY = 2; +} + +enum InspectGeometryMessageId { + INSPECT_GEOMETRY_ID_UNKNOWN= 0; + NONE= 1; + NOERROR= 2; + ERROR_BODYTOPOLOGY= 3; + ERROR_INSIDEOUTBODY= 4; + ERROR_GENERALBODY= 5; + ERROR_FACETOPOLOGY= 6; + ERROR_FACELOOP= 7; + ERROR_FACEGEOMETRY= 8; + ERROR_FACEEDGEGEOMETRY= 9; + ERROR_EDGEGEOMETRY= 10; + ERROR_EDGENONMANIFOLD= 11; + ERROR_EDGETOPOLOGY= 12; + ERROR_VERTEX= 13; + ERROR_VERTEXNONMANIFOLD= 14; + ERROR_MESHSELFINTERSECTS= 15; + WARNING_MULTIPLESHELLS= 16; + ERROR_MESHISOPEN= 17; + ERROR_MESHISNONMANIFOLD= 18; + UNKNOWN_FACE_ERROR= 19; + UNKNOWN_EDGE_ERROR= 20; + INTERNAL_ERROR= 21; + ERROR_FACEDISPLAY= 22; + INFO_SLIVERFACE= 23; + INFO_SLIVEREDGE= 24; + ERROR_FACEINTERSECTION= 25; + ERROR_FACESELFINTERSECTINGTOPOLOGY= 26; + ERROR_FACEFACEINTERSECTION= 27; + ERROR_EDGEOFFINEXACT= 28; + ERROR_EDGESELFINTERSECTINGTOPOLOGY= 29; + ERROR_MESHINCONSISTENTORIENTATION= 30; + WARNING_GEOMETRYNONG1= 31; + WARNING_GEOMETRYSELFINTERSECTS= 32; + WARNING_GEOMETRYCOLLAPSED= 33; + WARNING_LOOPISNOTCLOSEDPROPERLY= 34; + WARNING_CURVEISNOTCLOSEDPROPERLY= 35; + WARNING_SURFACEISNOTCLOSEDPROPERLY= 36; + WARNING_MESHHASFOLDOVERS= 37; + ERROR_MESH= 38; + ERROR_NOGEOMETRY= 39; + VERTEXOVERLAP = 40; +} + +message InspectGeometryOptions { + InspectGeometryLevel level = 1; + int32 max_number_of_issues = 2; + bool check_self_intersections = 3; + bool find_g1_discontinuities = 4; + double sliver_edge_tolerance = 5; + double sliver_face_tolerance = 6; +} + +message InspectGeometryResultIssue +{ + InspectGeometryMessageType message_type = 1; + InspectGeometryMessageId message_id = 2; + repeated Face faces = 3; + repeated Edge edges = 4; + string message = 5; + optional double scalar_value = 6; +} + +message InspectGeometryResult { + Body body = 1; + repeated InspectGeometryResultIssue issues = 2; +} + +message Separation { + double distance = 1; + Point point_a = 2; + Point point_b = 3; +} + +message FindLogoOptions { + optional double min_height = 1; + optional double max_height = 2; + optional double max_fillet_radio_as_sharp = 3; + optional double fit_error = 4; +} + +message TrackerCommandResponse{ + bool success = 1; + repeated Body created_bodies = 2; + repeated Body modified_bodies = 3; + repeated EntityIdentifier deleted_bodies = 4; + repeated EntityIdentifier created_faces = 5; + repeated EntityIdentifier modified_faces = 6; + repeated EntityIdentifier deleted_faces = 7; + repeated EntityIdentifier created_edges = 8; + repeated EntityIdentifier modified_edges = 9; + repeated EntityIdentifier deleted_edges = 10; + repeated EntityIdentifier created_components = 11; + repeated EntityIdentifier modified_components = 12; + repeated EntityIdentifier deleted_components = 13; +} + +// +// The automatic tracking states. +enum AutomaticTrackingState { + AUTOMATICTRACKINGSTATE_ON = 0; + AUTOMATICTRACKINGSTATE_OFF = 1; +} + +message TrackerDefinition{ + EntityIdentifier design_id = 1; +} + +message TessellationOptions{ + double surface_deviation = 1; + double angle_deviation = 2; + double maximum_aspect_ratio = 3; + double maximum_edge_length = 4; + bool watertight = 5; + double curve_deviation = 6; +} + +message EntityIdentifier{ + string id=1; +} + +message PhysicsEntityIdentifier{ + string guid_as_string = 1; +} + +// Defines the type of location, some conditions support application to either bodies and faces +enum LocationType { + LOCATIONTYPE_FACE = 0; + LOCATIONTYPE_BODY = 1; + LOCATIONTYPE_BOLT = 2; + LOCATIONTYPE_SPRING = 3; + LOCATIONTYPE_BEAM = 4; + LOCATIONTYPE_WELD = 5; + LOCATIONTYPE_EDGE = 6; + LOCATIONTYPE_AXIS = 7; +} + +// +// A driving dimension. +message DrivingDimension { + EntityIdentifier id = 1; + string name = 2; + DimensionType dimension_type = 3; + double dimension_value = 4; +} + +message ImportOptionDefinition +{ + oneof option{ + bool bool_option = 1; + string string_option =2; + } +} + +// +// A design document. +message Design{ + EntityIdentifier id = 1; + bool is_complete=2 ; + bool is_locked=3 ; + bool is_modified=4; + bool is_removed = 5; + EntityIdentifier main_part=6; + bool main_part_displays_file_name=7; + string path = 10; + string name=11; +} + +// +// The type of dimension. +enum DimensionType { + DIMENSIONTYPE_UNKNOWN = 0; + DIMENSIONTYPE_LINEAR = 1; + DIMENSIONTYPE_DIAMETRIC = 2; + DIMENSIONTYPE_RADIAL = 3; + DIMENSIONTYPE_ARC = 4; + DIMENSIONTYPE_AREA = 5; + DIMENSIONTYPE_VOLUME = 6; + DIMENSIONTYPE_MASS = 7; + DIMENSIONTYPE_ANGULAR = 8; + DIMENSIONTYPE_COUNT = 9; + DIMENSIONTYPE_UNITLESS = 10; +} + +enum ImageFormat { + IMAGEFORMAT_PNG = 0; + IMAGEFORMAT_JPEG = 1; +} + +enum WindowView { + WINDOWVIEW_TOP = 0; + WINDOWVIEW_BOTTOM = 1; + WINDOWVIEW_LEFT = 2; + WINDOWVIEW_RIGHT = 3; + WINDOWVIEW_FRONT = 4; + WINDOWVIEW_BACK = 5; + WINDOWVIEW_ISOMETRIC = 6; + WINDOWVIEW_TRIMETRIC = 7; + WINDOWVIEW_FIT = 8; +} + +enum PartExportFormat { + PARTEXPORTFORMAT_ACIS_TEXT = 0; + PARTEXPORTFORMAT_ACIS_BINARY = 1; + PARTEXPORTFORMAT_PARASOLID_TEXT = 2; + PARTEXPORTFORMAT_PARASOLID_BINARY = 3; + PARTEXPORTFORMAT_STEP = 4; + PARTEXPORTFORMAT_FMD = 5; + PARTEXPORTFORMAT_IGES = 6; + PARTEXPORTFORMAT_PMDB = 7; + PARTEXPORTFORMAT_DISCO = 8; + PARTEXPORTFORMAT_STRIDE = 9; + PARTEXPORTFORMAT_SCDOC = 10; + PARTEXPORTFORMAT_SCDOCX = 11; + PARTEXPORTFORMAT_JT_OPEN = 12; + PARTEXPORTFORMAT_VDA = 13; + PARTEXPORTFORMAT_RHINO = 14; + PARTEXPORTFORMAT_SKETCH_UP = 15; + PARTEXPORTFORMAT_PDF_GEOMETRY = 16; + PARTEXPORTFORMAT_PDF_FACETS = 17; +} + +message RequestResult{ + bool success = 1; + string error_message = 2; + string internal_error = 3; +} + +message VersionIdentifier +{ + int32 major_release = 1; + int32 minor_release = 2; + int32 service_pack = 3; +} + +enum MonikerCompressionMethod { + MONIKERCOMPRESSIONMETHOD_FULL = 0; + MONIKERCOMPRESSIONMETHOD_COMPRESSED = 1; + MONIKERCOMPRESSIONMETHOD_OBJECT_PATH = 2; +} + +enum PersistentIdType { + PERSISTENTIDTYPE_PNAME = 0; + PERSISTENTIDTYPE_PRIME_ID = 700; +} + +enum BodyExportFormat { + BODYEXPORTFORMAT_PARASOLID_TEXT = 0; + BODYEXPORTFORMAT_PARASOLID_BINARY = 1; +} + +// +// A Variation (represents a row into the variation table) +message Variation { + EntityIdentifier id = 1; + string name = 2; + bool starred = 3; + repeated InputParameter inputs = 4; + repeated OutputParameter outputs = 5; +} + +// +// An input column (represents the same input parameter across all the variations ) +message InputColumn { + EntityIdentifier id = 1; + string name = 2; + string range = 3; + repeated InputParameter parameter_variations= 4; +} + +// +// An output column (represents the same output parameter across all the variations ) +message OutputColumn { + EntityIdentifier id = 1; + string name = 2; + string range = 3; + repeated OutputParameter parameter_variations= 4; +} + +// +// An history track parameter +message HistoryTrackParameter { + EntityIdentifier id = 1; + string name=2; + DimensionType dimension_type=3; + double dimension_value=4; +} + +// +// An input parameter +message InputParameter { + EntityIdentifier id = 1; + EntityIdentifier parent_id=2; + string name=3; + QuantityType quantity_type=4; + double quantity_value=5; + int32 unit=6; + string unit_abbreviation=7; + InputParameterType input_type=8; + EntityIdentifier parent_object_id = 9; + EntityIdentifier material_id = 10; + string material_label = 11; +} + +enum InputParameterType{ + PHYSICS=0; + DRIVING_DIMENSION=1; + HISTORY_TRACK=2; + UNKNOWN=3; +} + +// +// An output parameter +message OutputParameter { + EntityIdentifier id = 1; + EntityIdentifier parent_id = 2; + string name = 3; + QuantityType quantity_type = 4; + double quantity_value = 5; + int32 unit = 6; + string unit_abbreviation = 7; +} + +// +// A script parameter +message ScriptParameter { + EntityIdentifier id = 1; + string name = 2; + DimensionType dimension_type = 3; + double dimension_value = 4; +} +// +// SIMULATIONS PROTOS +// +message Simulation { + PhysicsEntityIdentifier object_id = 1; + string label = 2; +} + +// General Requests + +message ChangeLocationRequest{ + PhysicsEntityIdentifier object_id = 1; + repeated EntityIdentifier location_ids = 2; +} + +//enables the type of location to be changed as well as the scope. Only supported for specific condition types +message ChangeLocationExtendedRequest +{ + ChangeLocationRequest change_location_request = 1; + LocationType location_type = 2; +} + +message ChangeQuantityRequest{ + PhysicsEntityIdentifier object_id = 1; + Quantity quantity = 2; +} + +message ChangeBooleanRequest{ + PhysicsEntityIdentifier object_id = 1; + bool boolean_value = 2; +} + +message ChangeDoubleRequest{ + PhysicsEntityIdentifier object_id = 1; + double value = 2; +} + +message ChangeAssignmentRequest{ + PhysicsEntityIdentifier parent_object_id = 1; + PhysicsEntityIdentifier referenced_object_id = 2; + optional PhysicsEntityIdentifier referenced_library_id = 3; +} + +message ChangeEmptyRequest{ + PhysicsEntityIdentifier object_id = 1; +} + +message ChangeDirectionRequest{ + PhysicsEntityIdentifier object_id = 1; + Direction direction = 2; +} + +message ChangeStringRequest{ + PhysicsEntityIdentifier object_id = 1; + string text_value = 2; +} + +message ChangeCommandRequest{ + PhysicsEntityIdentifier object_id = 1; +} + +message GetByLabelRequest{ + string label = 1; +} + +message ChangeContactTypeRequest{ + PhysicsEntityIdentifier object_id = 1; + ContactType contact_type = 2; +} + +//location data definitions + +message ScopedCreationData{ + optional PhysicsEntityIdentifier object_id = 1; + PhysicsEntityIdentifier simulation_id = 2; + LocationIdentifier locations = 3; +} + +message DoubleSidedScopedCreationData{ + optional PhysicsEntityIdentifier object_id = 1; + PhysicsEntityIdentifier simulation_id = 2; + LocationIdentifier side1_locations = 3; + LocationIdentifier side2_locations = 4; +} + +message LocationIdentifier{ + repeated EntityIdentifier location_ids = 1; + optional LocationType location_type = 2; +} + +// General Responses + +message ChangeResponse{ + bool success = 1; + string message = 2; +} + +message CreationResponse{ + bool success = 1; + string message = 2; +} + +message MessageResponse{ + string message = 1; +} + +// Quantity Data +message Quantity { + QuantityType quantity_type = 1; //not required in cases where the usage context defines the quantity type + double quantity_value = 2; + int32 unit = 3; + string unit_abbreviation = 4; //not required in cases where the usage context defines the abbreviation + string as_string = 5; //Optional, but if not empty, all other properties will be defaulted from it. +} + +message QuantityVector { + Quantity x = 1; + Quantity y = 2; + Quantity z = 3; +} + +message OptionalVector { + bool is_defined = 1; + QuantityVector vector = 2; +} + +message OptionalQuantity{ + bool is_defined = 1; + Quantity quantity = 2; +} + +message TensorOfOptionalQuantities{ + OptionalQuantity dx = 1; + OptionalQuantity dy = 2; + OptionalQuantity dz = 3; + OptionalQuantity rx = 4; + OptionalQuantity ry = 5; + OptionalQuantity rz = 6; +} + +message VectorOfOptionalQuantities{ + OptionalQuantity x = 1; + OptionalQuantity y = 2; + OptionalQuantity z = 3; +} + +message TableHeader{ + string table_name = 1; //e.g. displacement + repeated string column_headers = 2; //e.g. xx, yy, zz, xy, yz, xz + int32 number_of_data_rows = 3; +} + +message QuantityGenericTable{ + TableHeader header = 1; + repeated QuantityGenericTableRow row_data = 2; //matches number_of_data_rows +} + +message QuantityGenericTableRow{ + repeated Quantity row_cells = 1; //should match number of column_headers +} + +message QuantityVectorTable{ + TableHeader header = 1; + repeated QuantityVector row_data = 2; //hence columns: x, y, z and optionally computed magnitude +} + +message QuantityPairTable{ + TableHeader header = 1; + repeated QuantityPair row_data = 2; //2 quantities, e.g. for fan data, or temperature dependant material data +} + +message QuantityPair{ + Quantity independant_data = 1; + Quantity dependant_data = 2; +} + +message ChangeQuantityPairRequest{ + PhysicsEntityIdentifier object_id = 1; + QuantityPair value = 2; +} + +message EditTableQuantityPairRequest{ + PhysicsEntityIdentifier object_id = 1; + QuantityPair value = 2; + int32 row_index = 3; +} + +message AddTableQuantityPairRequest{ + PhysicsEntityIdentifier object_id = 1; + QuantityPair value = 2; +} + +message RemoveTableRowRequest{ + PhysicsEntityIdentifier object_id = 1; + int32 row_index = 2; +} + +// Represents the quantity type for a physics parameter. +enum QuantityType { + QUANTITY_TYPE_ACCELERATION=0; + QUANTITY_TYPE_ANGLE=1; + QUANTITY_TYPE_AREA=2; + QUANTITY_TYPE_AREA_DENSITY=3; + QUANTITY_TYPE_AREA_MOMENT_OF_INERTIA=4; + QUANTITY_TYPE_CAPACITANCE=5; + QUANTITY_TYPE_COEFFICIENT_OF_THERMAL_EXPANSION=6; + QUANTITY_TYPE_DENSITY=7; + QUANTITY_TYPE_DYNAMIC_VISCOSITY=8; + QUANTITY_TYPE_ELECTRIC_ADMITTANCE=9; + QUANTITY_TYPE_ELECTRIC_CHARGE=10; + QUANTITY_TYPE_ELECTRIC_CHARGE_DENSITY=11; + QUANTITY_TYPE_ELECTRIC_CONDUCTANCE=12; + QUANTITY_TYPE_ELECTRIC_CONDUCTIVITY=13; + QUANTITY_TYPE_ELECTRIC_CURRENT=14; + QUANTITY_TYPE_ELECTRIC_CURRENT_DENSITY=15; + QUANTITY_TYPE_ELECTRIC_CURRENT_GRADIENT=16; + QUANTITY_TYPE_ELECTRIC_FIELD=17; + QUANTITY_TYPE_ELECTRIC_INDUCTANCE=18; + QUANTITY_TYPE_ELECTRIC_POTENTIAL=19; + QUANTITY_TYPE_ELECTRIC_POTENTIAL_AC=20; + QUANTITY_TYPE_ELECTRIC_POTENTIAL_CHANGE_RATE=21; + QUANTITY_TYPE_ELECTRIC_POTENTIAL_DC=22; + QUANTITY_TYPE_ELECTRIC_RESISTANCE=23; + QUANTITY_TYPE_ELECTRIC_RESISTIVITY=24; + QUANTITY_TYPE_ELECTRIC_SURFACE_CHARGE_DENSITY=25; + QUANTITY_TYPE_ENERGY=26; + QUANTITY_TYPE_ENTROPY=27; + QUANTITY_TYPE_FORCE=28; + QUANTITY_TYPE_FORCE_CHANGE_RATE=29; + QUANTITY_TYPE_FORCE_PER_LENGTH=30; + QUANTITY_TYPE_FREQUENCY=31; + QUANTITY_TYPE_HEAT_FLUX=32; + QUANTITY_TYPE_HEAT_TRANSFER_COEFFICIENT=33; + QUANTITY_TYPE_INVERSE_AREA=34; + QUANTITY_TYPE_INVERSE_LENGTH=35; + QUANTITY_TYPE_KINEMATIC_VISCOSITY=36; + QUANTITY_TYPE_LENGTH=37; + QUANTITY_TYPE_MAGNETIC_FIELD=38; + QUANTITY_TYPE_MASS=39; + QUANTITY_TYPE_MASS_CONCENTRATION=40; + QUANTITY_TYPE_MASS_FLOW=41; + QUANTITY_TYPE_MASS_FLUX=42; + QUANTITY_TYPE_MASS_FRACTION=43; + QUANTITY_TYPE_MASS_MOMENT_OF_INERTIA=44; + QUANTITY_TYPE_MOLARITY=45; + QUANTITY_TYPE_MOLAR_MASS=46; + QUANTITY_TYPE_PERMEABILITY=47; + QUANTITY_TYPE_PERMITTIVITY=48; + QUANTITY_TYPE_POWER=49; + QUANTITY_TYPE_POWER_DENSITY=50; + QUANTITY_TYPE_POWER_RATIO=51; + QUANTITY_TYPE_PRESSURE=52; + QUANTITY_TYPE_RATIO=53; + QUANTITY_TYPE_RATIO_CHANGE_RATE=54; + QUANTITY_TYPE_REACTIVE_ENERGY=55; + QUANTITY_TYPE_REACTIVE_POWER=56; + QUANTITY_TYPE_ROTATIONAL_ACCELERATION=57; + QUANTITY_TYPE_ROTATIONAL_SPEED=58; + QUANTITY_TYPE_ROTATIONAL_STIFFNESS=59; + QUANTITY_TYPE_ROTATIONAL_STIFFNESS_PER_LENGTH=60; + QUANTITY_TYPE_SOLID_ANGLE=61; + QUANTITY_TYPE_SPECIFIC_ENERGY=62; + QUANTITY_TYPE_SPECIFIC_ENTROPY=63; + QUANTITY_TYPE_SPECIFIC_VOLUME=64; + QUANTITY_TYPE_SPECIFIC_WEIGHT=65; + QUANTITY_TYPE_SPEED=66; + QUANTITY_TYPE_TEMPERATURE=67; + QUANTITY_TYPE_TEMPERATURE_CHANGE_RATE=68; + QUANTITY_TYPE_TEMPERATURE_DELTA=69; + QUANTITY_TYPE_THERMAL_CONDUCTIVITY=70; + QUANTITY_TYPE_THERMAL_RESISTANCE=71; + QUANTITY_TYPE_TIME=72; + QUANTITY_TYPE_TORQUE=73; + QUANTITY_TYPE_TORQUE_PER_LENGTH=74; + QUANTITY_TYPE_VOLUME=75; + QUANTITY_TYPE_VOLUME_CONCENTRATION=76; + QUANTITY_TYPE_VOLUME_FLOW=77; + QUANTITY_TYPE_VOLUME_PER_LENGTH=78; + QUANTITY_TYPE_WARPING_MOMENT_OF_INERTIA=79; + QUANTITY_TYPE_NONE=80; + QUANTITY_TYPE_UNKNOWN = 81; +} + +enum BodyType{ + BODYTYPE_NONE = 0; + BODYTYPE_MASTER = 1; + BODYTYPE_ORIGINAL = 2; + BODYTYPE_PARENT=3; +} + + +enum LogsTarget{ + LOGSTARGET_CLIENT = 0; + LOGSTARGET_PATH = 1; +} + +enum LogsPeriodType{ + LOGSPERIODTIME_CURRENT = 0; + LOGSPERIODTIME_PAST = 1; + LOGSPERIODTIME_ALL = 2; +} + +enum BackendType{ + BACKENDTYPE_DISCOVERY = 0; + BACKENDTYPE_SPACECLAIM = 1; + BACKENDTYPE_WINDOWS_DMS = 2; + BACKENDTYPE_LINUX_DMS = 3; + BACKENDTYPE_CORE_SERVICE_WINDOWS = 4; + BACKENDTYPE_CORE_SERVICE_LINUX = 5; + BACKENDTYPE_DISCOVERY_HEADLESS = 6; +} + +enum ContactType { + BONDED_CONTACT = 0; + SLIDING_CONTACT = 1; + PREVENTED_CONTACT = 2; +} + +message ContactPairs { + repeated ContactPair contact_pair = 1; +} + +message ContactPair { + repeated EntityIdentifier item1 = 1; + repeated EntityIdentifier item2 = 2; +} + +message ContactProperties { + ContactType contact_type = 1; + ContactPairs contact_pairs = 2; + + double friction_coefficient = 3; + double stiffness_factor = 4; + double detection_radius_factor = 5; + Quantity offset = 6; + Quantity shear_strenght = 7; + Quantity tensile_strength = 8; + bool are_strength_limits_set = 9; + bool adjust_gap_or_overlap = 10; + bool make_just_touching = 11; + bool idealize = 12; + bool specify_thermal_conductance = 13; + bool specify_electric_conductance = 14; + Quantity thermal_contact_conductance = 15; + Quantity thermal_contact_conductivity = 16; + Quantity thermal_conductance_thickness = 17; + Quantity electrical_contact_conductance = 18; + Quantity electrical_contact_conductivity = 19; + Quantity electrical_conductance_thickness = 20; + ConductanceOptionType thermal_conductance_option = 21; + ConductanceOptionType electric_conductance_option = 22; +} + +enum ConductanceOptionType { + CONDUCTANCEOPTIONTYPE_PERFECT_CONDUCTOR = 0; + CONDUCTANCEOPTIONTYPE_PERFECT_INSULATOR = 1; + CONDUCTANCEOPTIONTYPE_VALUE = 2; + CONDUCTANCEOPTIONTYPE_THICKNESS_AND_MATERIAL = 3; + CONDUCTANCEOPTIONTYPE_THICKNESS_AND_CONDUCTIVITY = 4; +} + +message MatingCondition { + EntityIdentifier id = 1; + bool is_deleted = 2; + bool is_enabled = 3; + bool is_satisfied = 4; +} + +message AlignCondition { + MatingCondition condition = 1; + double offset = 2; + bool is_reversed = 3; + bool is_valid = 4; +} + +message TangentCondition { + MatingCondition condition = 1; + double offset = 2; + bool is_reversed = 3; + bool is_valid = 4; +} + +message OrientCondition { + MatingCondition condition = 1; + double offset = 2; + bool is_reversed = 3; + bool is_valid = 4; +} + +message RigidCondition { + MatingCondition condition = 1; + Component component_a = 2; + Component component_b = 3; +} + +message AnchorCondition { + MatingCondition condition = 1; + Component component = 2; +} + +message GearCondition { + MatingCondition condition = 1; + bool is_belt = 2; + bool is_reversed = 3; + bool is_valid = 4; +} + +// moved from individual protos + +message GetFacesResponseData{ + EntityIdentifier associated_id = 1; + repeated Face faces = 2; +} + +message GetFacesResponse { + repeated GetFacesResponseData response_data = 1; +} diff --git a/ansys/api/discovery/v1/operations/facettools.proto b/ansys/api/discovery/v1/operations/facettools.proto new file mode 100644 index 0000000..bd3e76e --- /dev/null +++ b/ansys/api/discovery/v1/operations/facettools.proto @@ -0,0 +1,42 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.operations.facettools; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Operations.FacetTools"; + +service FacetTools{ + rpc FacetAutoFix(FacetAutoFixRequest) returns (FacetAutoFixResponse); + + rpc ShrinkWrapBody(ShrinkWrapBodyRequest) returns (ShrinkWrapBodyResponse); + + rpc ShrinkWrapMesh(ShrinkWrapMeshRequest) returns (ShrinkWrapMeshResponse); +} + + +message ShrinkWrapBodyRequest{ + repeated Body selection = 1; + ShrinkWrapOptions options= 2; +} + +message ShrinkWrapBodyResponse{ + bool result = 1; +} + +message ShrinkWrapMeshRequest{ + repeated Mesh selection = 1; + ShrinkWrapOptions options= 2; +} + +message ShrinkWrapMeshResponse{ + bool result = 1; +} + +message FacetAutoFixRequest{ + repeated Mesh selection = 1; +} + +message FacetAutoFixResponse{ + bool result = 1; +} diff --git a/ansys/api/discovery/v1/operations/measuretools.proto b/ansys/api/discovery/v1/operations/measuretools.proto new file mode 100644 index 0000000..e7d7069 --- /dev/null +++ b/ansys/api/discovery/v1/operations/measuretools.proto @@ -0,0 +1,31 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.operations.measuretools; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Operations.MeasureTools"; + +service MeasureTools{ + rpc MinDistanceBetweenObjects(MinDistanceBetweenObjectsRequest) returns (MinDistanceBetweenObjectsResponse); + + rpc MinDistanceBetweenSelectionObjects(MinDistanceBetweenSelectionObjectsRequest) returns (MinDistanceBetweenSelectionObjectsResponse); +} + +message MinDistanceBetweenObjectsRequest{ + repeated EntityIdentifier bodies=1; + repeated EntityIdentifier selection=2; +} + +message MinDistanceBetweenSelectionObjectsRequest{ + repeated EntityIdentifier bodies=1; + repeated EntityIdentifier selection=2; +} + +message MinDistanceBetweenObjectsResponse{ + Gap gap=1; +} + +message MinDistanceBetweenSelectionObjectsResponse{ + Gap gap=1; +} diff --git a/ansys/api/discovery/v1/operations/modeltools.proto b/ansys/api/discovery/v1/operations/modeltools.proto new file mode 100644 index 0000000..d189857 --- /dev/null +++ b/ansys/api/discovery/v1/operations/modeltools.proto @@ -0,0 +1,235 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.operations.modeltools; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Operations.ModelTools"; + +service ModelTools +{ + rpc Chamfer(ChamferRequest) returns (ChamferResponse); + + rpc CreateSketchLine(CreateSketchLineRequest) returns (CreateSketchLineResponse); + + rpc CreateSphere(CreateSphereRequest) returns (CreateSphereResponse); + + rpc CreateTorus(CreateTorusRequest) returns (CreateTorusResponse); + + rpc Fillet(FilletRequest) returns (FilletResponse); + + rpc FullFillet(FullFilletRequest) returns (FullFilletResposne); + + rpc GetAllCADWelds(GetAllCADWeldsRequest) returns (GetAllCADWeldsResponse); + + rpc GetAllSpotWelds(GetAllSpotWeldsRequest) returns (GetAllSpotWeldsResponse); + + rpc Mirror(MirrorRequest) returns (MirrorResponse); + + rpc MoveRotate(MoveRotateRequest) returns (MoveRotateResponse); + + rpc MoveTranslate(MoveTranslateRequest) returns (MoveTranslateResponse); + + rpc ProjectPoint(ProjectPointRequest) returns (ProjectPointResponse); + + rpc ProjectToSolid(ProjectToSolidRequest) returns (ProjectToSolidResponse); + + rpc Scale(ScaleRequest) returns (ScaleResponse); + + rpc ScaleNonUniform(ScaleNonUniformRequest) returns (ScaleNonUniformResponse); +} + +message MoveTranslateRequestData{ + repeated EntityIdentifier selection = 1; + Direction direction = 2; + double distance = 3; + EntityIdentifier named_selection = 4; +} + +message MoveTranslateRequest{ + repeated MoveTranslateRequestData request_data = 1; +} + +message MoveTranslateResponse { + TrackerCommandResponse response_data = 1; +} + +message MoveRotateRequestData{ + repeated EntityIdentifier selection = 1; + Line axis = 2; + double angle = 3; +} + +message MoveRotateRequest{ + repeated MoveRotateRequestData request_data = 1; +} + +message ProjectPointRequestData { + NurbsCurve curve = 1; + Point point = 2; +} + +message ProjectPointRequest { + repeated ProjectPointRequestData request_data = 1; +} + +message ProjectToSolidRequestData { + repeated EntityIdentifier selection = 1; + repeated EntityIdentifier target_faces = 2; + EntityIdentifier direction_selection = 3; +} + +message ProjectToSolidRequest { + repeated ProjectToSolidRequestData request_data = 1; +} + +message ScaleRequestData { + repeated EntityIdentifier objects = 1; + Point point = 2; + Direction optional_direction = 3; + double scale = 4; + bool keep_holes = 5; +} + +message ScaleRequest { + repeated ScaleRequestData request_data = 1; +} + +message ScaleResponse +{ + repeated EntityIdentifier successfully_set = 1; +} + +message ScaleNonUniformRequestData { + repeated EntityIdentifier objects = 1; + Frame frame= 2; + Direction scale_vector = 3; + bool keep_holes = 4; +} + +message ScaleNonUniformRequest { + repeated ScaleNonUniformRequestData request_data = 1; +} + +message ChamferRequestData { + repeated EntityIdentifier ids = 1; + double distance = 2; +} + +message ChamferRequest { + repeated ChamferRequestData request_data = 1; +} + +message ChamferResponseData { + bool success = 1; + repeated Face created_faces = 2; + repeated Edge created_edges = 3; + repeated Body created_surfaces = 4; + EntityIdentifier ids = 5; +} + +message ChamferResponse { + repeated ChamferResponseData response_data = 1; +} + +message CreateSketchLineRequestData{ + Point point1 = 1; + Point point2 = 2; +} + +message CreateSketchLineRequest{ + repeated CreateSketchLineRequestData request_data = 1; +} + +message CreateSketchLineResponse{ + int32 successfully_set = 1; +} + +message FullFilletRequest { + repeated EntityIdentifier faces = 1; +} + +message FullFilletResposne{ + TrackerCommandResponse response_data = 1; +} + +message FilletRequestData { + repeated EntityIdentifier ids = 1; + double radius = 2; +} + +message FilletRequest { + repeated FilletRequestData request_data = 1; +} + +message FilletResponse{ + TrackerCommandResponse response_data = 1; +} + +message GetAllSpotWeldsRequest{ +} + +message GetAllSpotWeldsResponse { + repeated SpotWeld welds = 1; +} + +message GetAllCADWeldsRequest{ +} + +message GetAllCADWeldsResponse { + repeated Weld welds = 1; +} + +message CreateSphereRequestData { + string name=1; + EntityIdentifier parent=2; + Point point=3; + double radius=4; +} + + +message CreateSphereRequest { + repeated CreateSphereRequestData request_data=1; +} + +message CreateSphereResponse { + repeated EntityIdentifier response_data = 1; +} + +message CreateTorusRequestData { + string name=1; + EntityIdentifier parent=2; + double major_radius=3; + double minor_radius=4; + Frame frame=5; +} + +message CreateTorusRequest { + repeated CreateTorusRequestData request_data = 1; +} + +message CreateTorusResponse { + repeated EntityIdentifier response_data=1; +} + +message MoveRotateResponse{ + TrackerCommandResponse response_data = 1; +} + +message ProjectPointResponseData{ + Point point = 1; + CurveEvaluation evaluation = 2; +} + +message ProjectPointResponse{ + repeated ProjectPointResponseData response_data = 1; +} + +message ProjectToSolidResponse{ + TrackerCommandResponse response_data = 1; +} + +message ScaleNonUniformResponse{ + TrackerCommandResponse response_data = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/operations/preparetools.proto b/ansys/api/discovery/v1/operations/preparetools.proto new file mode 100644 index 0000000..462fe04 --- /dev/null +++ b/ansys/api/discovery/v1/operations/preparetools.proto @@ -0,0 +1,183 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.operations.preparetools; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Operations.PrepareTools"; + +service PrepareTools{ + rpc CreateEnclosureBox(CreateEnclosureBoxRequest) returns (CreateEnclosureResponse); + + rpc EnhancedShareTopology(ShareTopologyRequest) returns (EnhancedShareTopologyResponse); + + rpc ExtractVolumeFromEdgeLoops(ExtractVolumeFromEdgeLoopsRequest) returns (ExtractVolumeFromEdgeLoopsResponse); + + rpc ExtractVolumeFromFaces(ExtractVolumeFromFacesRequest) returns (ExtractVolumeFromFacesResponse); + + rpc FindAndRemoveLogos(FindAndRemoveLogosRequest) returns (FindAndRemoveLogosResponse); + + rpc FindLogos(FindLogosRequest) returns (FindLogosResponse); + + rpc FixInterference(FixInterferenceRequest) returns (FixInterferenceResponse); + + rpc FixShortEdges(FixShortEdgesRequest) returns (FixShortEdgesResponse); + + rpc RemoveFaces(RemoveFacesRequest) returns (RemoveFacesResponse); + + rpc RemoveLogo(RemoveLogoRequest) returns (RemoveLogoResponse); + + rpc RemoveRounds(RemoveRoundsRequest) returns (RemoveRoundsResponse); + + rpc ShareTopology(ShareTopologyRequest) returns (ShareTopologyResponse); + + rpc UnshareTopology(UnshareTopologyRequest) returns (UnshareTopologyResponse); +} + +message CreateEnclosureBoxRequest{ + repeated EntityIdentifier bodies = 1; + double x_low = 2; + double x_high = 3; + double y_low = 4; + double y_high = 5; + double z_low = 6; + double z_high = 7; +} + +message CreateEnclosureResponse{ + // Whether the enclosure is successful. + bool success = 1; + // The bodies representing the enclosure. + repeated Body created_bodies = 2; + TrackerCommandResponse command_response = 3; +} + +message FixInterferenceRequest{ + repeated EntityIdentifier selection = 1; + // True if interfered body is removed from smaller body, false otherwise. + bool cut_smaller_body=2; +} + +message FixInterferenceResponse{ + bool result = 1; + TrackerCommandResponse changes = 2; +} + +message FixShortEdgesRequest{ + repeated EntityIdentifier selection = 1; + // The maximum edge length in mm to remove shorter edges. + double max_edge_length=2; +} + +message FixShortEdgesResponse{ + bool result = 1; + TrackerCommandResponse changes = 2; +} + +message ShareTopologyRequest{ + repeated EntityIdentifier selection = 1; + // Gets or sets the maximum distance between items to be considered intersecting in mm. + double tolerance=2; + // Gets or sets the option for preserving the instancing. + bool preserve_instances=3; +} + +message ShareTopologyResponse{ + bool result = 1; +} + +message EnhancedShareTopologyResponse{ + EnhancedRepairToolMessage response_data = 1; +} + +message UnshareTopologyRequest{ + // Gets or sets a value indicating whether to include groups. + bool include_groups=1; + // Gets or sets a value indicating whether to unshare lower topology. + bool unshare_lower_topology =2; +} + +message UnshareTopologyResponse{ + bool result = 1; +} + +message RemoveRoundsRequest{ + // The round faces to be removed. + repeated EntityIdentifier selection = 1; + // Auto-shrink fill area + bool auto_shrink = 2; +} + +message RemoveRoundsResponse{ + bool result = 1; + TrackerCommandResponse changes = 2; +} + +message RemoveFacesRequest{ + // The faces to be removed. + repeated EntityIdentifier selection = 1; +} + +message RemoveFacesResponse{ + bool result = 1; + TrackerCommandResponse changes = 2; +} + +message ExtractVolumeFromFacesRequest{ + // The id of the faces that seal the volume to be extracted. + repeated EntityIdentifier sealing_faces = 1; + // The id of one or more faces inside the volume to be extracted. + repeated EntityIdentifier inside_faces = 2; +} + +message ExtractVolumeFromEdgeLoopsRequest{ + // The id of edge loops that seal the volume to be extracted. + repeated EntityIdentifier sealing_edges = 1; + // The id of one or more faces inside the volume to be extracted. Not needed for simple cases. + repeated EntityIdentifier inside_faces = 2; +} + +message ExtractVolumeFromEdgeLoopsResponse{ + // Whether the volume extraction is successful. + bool success = 1; + // The bodies created from the volume extraction. + repeated Body created_bodies = 2; + TrackerCommandResponse changes = 3; +} + +message ExtractVolumeFromFacesResponse{ + // Whether the volume extraction is successful. + bool success = 1; + // The bodies created from the volume extraction. + repeated Body created_bodies = 2; + TrackerCommandResponse changes = 3; +} + +message FindLogosRequest{ + repeated EntityIdentifier bodies = 1; + optional FindLogoOptions options = 2; +} + +message FindAndRemoveLogosRequest{ + repeated EntityIdentifier bodies = 1; + optional FindLogoOptions options = 2; +} + +message FindLogosResponse{ + EntityIdentifier id = 1; + repeated Face logo_faces = 2; +} + +message FindAndRemoveLogosResponse{ + EntityIdentifier id = 1; + repeated Face logo_faces = 2; + bool success = 3; +} + +message RemoveLogoRequest{ + repeated EntityIdentifier face_ids = 1; +} + +message RemoveLogoResponse { + bool success = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/operations/repairtools.proto b/ansys/api/discovery/v1/operations/repairtools.proto new file mode 100644 index 0000000..46526a1 --- /dev/null +++ b/ansys/api/discovery/v1/operations/repairtools.proto @@ -0,0 +1,449 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.operations.repairtools; + +import "ansys/api/discovery/v1/models.proto"; +import "google/protobuf/struct.proto"; + + +option csharp_namespace = "Ansys.Api.Discovery.V1.Operations.RepairTools"; + +service RepairTools{ + rpc FindAdjustSimplify(FindAdjustSimplifyRequest) returns (FindAdjustSimplifyResponse); + + rpc FindAndFixExtraEdges(FindAndFixExtraEdgesRequest) returns (FindAndFixExtraEdgesResponse); + + rpc FindAndFixShortEdges(FindAndFixShortEdgesRequest) returns (FindAndFixShortEdgesResponse); + + rpc FindAndFixSplitEdges(FindAndFixSplitEdgesRequest) returns (FindAndFixSplitEdgesResponse); + + rpc FindAndFixStitchFaces(FindAndFixStitchFacesRequest) returns (FindAndFixStitchFacesResponse); + + rpc FindAndSimplify(FindAndSimplifyRequest) returns (FindAndSimplifyResponse); + + rpc FindCurveGaps(FindCurveGapsRequest) returns (FindCurveGapsResponse); + + rpc FindDuplicateCurves(FindDuplicateCurvesRequest) returns (FindDuplicateCurvesResponse); + + rpc FindDuplicateFaces(FindDuplicateFacesRequest) returns (FindDuplicateFacesResponse); + + rpc FindExtraEdges(FindExtraEdgesRequest) returns (FindExtraEdgesResponse); + + rpc FindGaps(FindGapsRequest) returns (FindGapsResponse); + + rpc FindInexactEdges(FindInexactEdgesRequest) returns (FindInexactEdgesResponse); + + rpc FindInterference(FindInterferenceRequest) returns (FindInterferenceResponse); + + rpc FindMissingFaces(FindMissingFacesRequest) returns (FindMissingFacesResponse); + + rpc FindShortEdges(FindShortEdgesRequest) returns (FindShortEdgesResponse); + + rpc FindSmallCurves(FindSmallCurvesRequest) returns (FindSmallCurvesResponse); + + rpc FindSmallFaces(FindSmallFacesRequest) returns (FindSmallFacesResponse); + + rpc FindSplitEdges(FindSplitEdgesRequest) returns (FindSplitEdgesResponse); + + rpc FindStitchFaces(FindStitchFacesRequest) returns (FindStitchFacesResponse); + + rpc FitCurves(FitCurvesRequest) returns (FitCurvesResponse); + + rpc FixAdjustSimplify(FixAdjustSimplifyRequest) returns (FixAdjustSimplifyResponse); + + rpc FixCurveGaps(FixCurveGapsRequest) returns (FixCurveGapsResponse); + + rpc FixDuplicateCurves(FixDuplicateCurvesRequest) returns (FixDuplicateCurvesResponse); + + rpc FixDuplicateFaces(FixDuplicateFacesRequest) returns (FixDuplicateFacesResponse); + + rpc FixExtraEdges(FixExtraEdgesRequest) returns (FixExtraEdgesResponse); + + rpc FixGaps(FixGapsRequest) returns (FixGapsResponse); + + rpc FixInexactEdges(FixInexactEdgesRequest) returns (FixInexactEdgesResponse); + + rpc FixInterference(FixInterferenceRequest) returns (FixInterferenceResponse); + + rpc FixMissingFaces(FixMissingFacesRequest) returns (FixMissingFacesResponse); + + rpc FixShortEdges(FixShortEdgesRequest) returns (FixShortEdgesResponse); + + rpc FixSmallCurves(FixSmallCurvesRequest) returns (FixSmallCurvesResponse); + + rpc FixSmallFaces(FixSmallFacesRequest) returns (FixSmallFacesResponse); + + rpc FixSplitEdges(FixSplitEdgesRequest) returns (FixSplitEdgesResponse); + + rpc FixStitchFaces(FixStitchFacesRequest) returns (FixStitchFacesResponse); + + rpc InspectGeometry(InspectGeometryRequest) returns (InspectGeometryResponse); + + rpc RepairGeometry(RepairGeometryRequest) returns (RepairGeometryResponse); +} + +message FindInterferenceRequest{ + repeated EntityIdentifier bodies=1; + optional bool cut_smaller_body=2; // default: false +} + +message FindInterferenceResponse{ + repeated FixInterferenceProblemArea result=1; +} + +message FixInterferenceRequest{ + int32 interference_problem_area_id=1; +} + +message FixInterferenceResponse{ + RepairToolMessage result=1; +} + +message FindSplitEdgesRequest{ + repeated EntityIdentifier bodies_or_faces=1; + double angle=2; + double distance = 3; + bool comprehensive = 4; +} + +message FindSplitEdgesResponse{ + repeated SplitEdgeProblemArea result = 1; +} + +message FixSplitEdgesRequest{ + int32 split_edge_problem_area_id=1; +} + +message FixSplitEdgesResponse{ + RepairToolMessage result = 1; +} + +message FindExtraEdgesRequest{ + repeated EntityIdentifier selection = 1; + bool comprehensive = 2; +} + +message FindExtraEdgesResponse{ + repeated ExtraEdgeProblemArea result = 1; +} + +message FixExtraEdgesRequest{ + int32 extra_edge_problem_area_id=1; +} + +message FixExtraEdgesResponse{ + RepairToolMessage result = 1; +} + +message FindShortEdgesRequest{ + repeated EntityIdentifier selection = 1; + double max_edge_length=2; + bool comprehensive = 3; +} + +message FindShortEdgesResponse{ + repeated ShortEdgeProblemArea result = 1; +} + +message FixShortEdgesRequest{ + int32 short_edge_problem_area_id=1; +} + +message FixShortEdgesResponse{ + RepairToolMessage result = 1; +} + +message FindInexactEdgesRequest{ + repeated EntityIdentifier selection = 1; +} + +message FindInexactEdgesResponse{ + repeated InexactEdgeProblemArea result = 1; +} + +message FixInexactEdgesRequest{ + int32 inexact_edge_problem_area_id=1; +} + +message FixInexactEdgesResponse{ + RepairToolMessage result = 1; +} + +message FindStitchFacesRequest{ + repeated EntityIdentifier faces = 1; + double maximum_distance = 2; // default: 0.0001 + bool check_for_coincidence = 3; // default: false + bool allow_multiple_bodies = 4; // default: false + bool maintain_components = 5; // default: false + bool comprehensive = 6; +} + +message FindStitchFacesResponse{ + repeated StitchFaceProblemArea result = 1; +} + +message FixStitchFacesRequest{ + int32 stitch_face_problem_area_id = 1; +} + +message FixStitchFacesResponse{ + RepairToolMessage result = 1; +} + +enum SolidifyFixMethodType{ + FILL = 0; + PATCH_BLEND = 1; + TRY_BOTH = 2; +} + +message FindMissingFacesRequest{ + repeated EntityIdentifier faces = 1; + double angle=2; + double distance = 3; + oneof method + { + google.protobuf.NullValue null = 4; + SolidifyFixMethodType data =5; + } + bool allow_multi_patch =6; +} + +message FindMissingFacesResponse{ + repeated MissingFaceProblemArea result = 1; +} + +message FixMissingFacesRequest{ + int32 missing_face_problem_area_id = 1; +} + +message FixMissingFacesResponse{ + RepairToolMessage result = 1; +} + +message FindDuplicateFacesRequest{ + repeated EntityIdentifier faces = 1; + double max_gap = 2; +} + +message FindDuplicateFacesResponse{ + repeated DuplicateFaceProblemArea result = 1; +} + +message FixDuplicateFacesRequest{ + int32 duplicate_face_problem_area_id = 1; +} + +message FixDuplicateFacesResponse{ + RepairToolMessage result = 1; +} + +message FindSmallFacesRequest{ + repeated EntityIdentifier selection = 1; + double area = 2; + double width = 3; +} + +message FindSmallFacesResponse{ + repeated SmallFaceProblemArea result = 1; +} + +message FixSmallFacesRequest{ + int32 small_face_problem_area_id = 1; +} + +message FixSmallFacesResponse{ + RepairToolMessage result = 1; +} + +message FindGapsRequest{ + repeated EntityIdentifier bodies = 1; + double angle=2; + double distance = 3; + optional SolidifyFixMethodType fix_method = 4; + bool allow_multi_patch = 5; +} + +message FindGapsResponse{ + repeated GapProblemArea result = 1; +} + +message FixGapsRequest{ + int32 gap_problem_area_id = 1; +} + +message FixGapsResponse{ + RepairToolMessage result = 1; +} + +message FindCurveGapsRequest{ + double distance = 1; +} + +message FindCurveGapsResponse{ + repeated CurveGapProblemArea result = 1; +} + +message FixCurveGapsRequest{ + int32 curve_gap_problem_area_id = 1; + double distance = 2; +} + +message FixCurveGapsResponse{ + RepairToolMessage result = 1; +} + +message FindDuplicateCurvesResponse{ + repeated DuplicateCurveProblemArea result = 1; +} + +message FixDuplicateCurvesRequest{ + int32 duplicate_curve_problem_area_id = 1; +} + +message FixDuplicateCurvesResponse{ + RepairToolMessage result = 1; +} + +message FindSmallCurvesRequest{ + repeated EntityIdentifier bodies = 1; + double max_curve_length = 2; +} + +message FindSmallCurvesResponse{ + repeated SmallCurveProblemArea result = 1; +} + +message FixSmallCurvesRequest{ + int32 small_curve_problem_area_id = 1; +} + +message FixSmallCurvesResponse{ + RepairToolMessage result = 1; +} + +message FindAdjustMergeFacesRequest{ + repeated EntityIdentifier selection = 1; + repeated EntityIdentifier tangent_faces = 2; + bool allow_multi_patch = 3; + bool fail_if_can_fill = 4; + bool enforce_closed_loop_check = 5; +} + +message FindAdjustMergeFacesResponse{ + repeated SplitEdgeProblemArea result = 1; +} + +message AdjustMergeFacesRequest{ + repeated EntityIdentifier selection = 1; + repeated EntityIdentifier tangent_faces = 2; + bool allow_multi_patch = 3; + bool fail_if_can_fill = 4; + bool enforce_closed_loop_check = 5; +} + +message AdjustMergeFacesResponse{ + bool result = 1; +} + +message FindAdjustSimplifyRequest{ + repeated EntityIdentifier selection = 1; + bool comprehensive = 2; +} + +message FindAdjustSimplifyResponse{ + repeated AdjustSimplifyProblemArea result = 1; +} + +message FixAdjustSimplifyRequest{ + int32 adjust_simplify_problem_area_id = 1; +} + +message FixAdjustSimplifyResponse{ + RepairToolMessage result = 1; +} + +message FitCurvesRequest{ + EntityIdentifier selection = 1; + bool arcs = 2; + bool lines = 3; + bool splines = 4; + bool tangentize = 5; + double tolerance = 6; +} + +message FitCurvesResponse{ + RepairToolMessage result = 1; +} + +message InspectGeometryRequest { + repeated EntityIdentifier bodies = 1; + optional InspectGeometryOptions options = 2; +} + +message InspectGeometryResponse { + repeated InspectGeometryResult issues_by_body = 1; +} + +message RepairGeometryRequest { + repeated EntityIdentifier bodies = 1; +} + +message RepairGeometryResponse { + RepairToolMessage result = 1; +} + +message FindDuplicateCurvesRequest{ +} + +message FindAndFixExtraEdgesResponse{ + EnhancedRepairToolMessage response_data = 1; +} + +message FindAndFixShortEdgesResponse{ + EnhancedRepairToolMessage response_data = 1; +} + +message FindAndFixSplitEdgesResponse{ + EnhancedRepairToolMessage response_data = 1; +} + +message FindAndFixStitchFacesResponse{ + EnhancedRepairToolMessage response_data = 1; +} + +message FindAndSimplifyResponse{ + EnhancedRepairToolMessage response_data = 1; +} + +message FindAndSimplifyRequest{ + repeated EntityIdentifier selection = 1; + bool comprehensive = 2; +} + +message FindAndFixExtraEdgesRequest{ + repeated EntityIdentifier selection = 1; + bool comprehensive = 2; +} + + +message FindAndFixSplitEdgesRequest{ + repeated EntityIdentifier bodies_or_faces=1; + double angle=2; + double distance = 3; + bool comprehensive = 4; +} + +message FindAndFixStitchFacesRequest{ + repeated EntityIdentifier faces = 1; + double maximum_distance = 2; // default: 0.0001 + bool check_for_coincidence = 3; // default: false + bool allow_multiple_bodies = 4; // default: false + bool maintain_components = 5; // default: false + bool comprehensive = 6; +} + +message FindAndFixShortEdgesRequest{ + repeated EntityIdentifier selection = 1; + double max_edge_length=2; + bool comprehensive = 3; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/parameters/drivingdimensions.proto b/ansys/api/discovery/v1/parameters/drivingdimensions.proto new file mode 100644 index 0000000..cb4e966 --- /dev/null +++ b/ansys/api/discovery/v1/parameters/drivingdimensions.proto @@ -0,0 +1,44 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.parameters.drivingdimensions; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Parameters.DrivingDimensions"; + +service DrivingDimensions{ + rpc Get(EntityRequest) returns(GetResponse); + + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); + + rpc UpdateParameter(UpdateRequest) returns(UpdateResponse); + +} + +message GetResponse{ + DrivingDimension driving_dimension = 1; +} + +message GetAllResponse{ + repeated DrivingDimension driving_dimensions = 1; +} + +message UpdateRequest{ + repeated DrivingDimension request_data = 1; +} + +message UpdateResponseData{ + EntityIdentifier id = 1; + UpdateStatus status = 2; +} + +message UpdateResponse{ + repeated UpdateResponseData response_data = 1; +} + +enum UpdateStatus { + SUCCESS = 0; + FAILURE = 1; + CONSTRAINED_PARAMETERS = 2; +} diff --git a/ansys/api/discovery/v1/physics/conditions/acceleration.proto b/ansys/api/discovery/v1/physics/conditions/acceleration.proto new file mode 100644 index 0000000..f45a982 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/acceleration.proto @@ -0,0 +1,51 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.acceleration; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Acceleration"; + +service Acceleration +{ + //Acceleration condition methods + rpc CreateAcceleration(AccelerationCreationRequest) returns (AccelerationCreationResponse); + + rpc ChangeAccelerationLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeAccelerationOrientation(ChangeDirectionRequest) returns(ChangeResponse); + + rpc ChangeAccelerationDX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeAccelerationDY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeAccelerationDZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeAccelerationTranslationalMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeAccelerationIsFixedDX(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeAccelerationIsFixedDY(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeAccelerationIsFixedDZ(ChangeBooleanRequest) returns (ChangeResponse); +} + +//Acceleration +message AccelerationCreationRequest{ + ScopedCreationData creation_data = 1; + AccelerationProperties acceleration_properties = 2; +} + +message AccelerationCreationResponse{ + CreationResponse condition_response = 1; + AccelerationDefinition condition_data = 2; +} + +// Acceleration condition definitions +message AccelerationProperties { + VectorOfOptionalQuantities acceleration = 1; +} + +message AccelerationDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + AccelerationProperties acceleration = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/bearing.proto b/ansys/api/discovery/v1/physics/conditions/bearing.proto new file mode 100644 index 0000000..96b2889 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/bearing.proto @@ -0,0 +1,46 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.bearing; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Bearing"; + +service Bearing +{ + //Bearing condition methods + rpc CreateBearing(BearingCreationRequest) returns (BearingCreationResponse); + + rpc ChangeBearingLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeBearingRadialForce(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeBearingThrustForce(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeBearingAngle(ChangeQuantityRequest) returns (ChangeResponse); +} + +//Bearing +message BearingCreationRequest{ + ScopedCreationData creation_data = 1; + BearingProperties bearing_properties = 2; +} + +message BearingCreationResponse{ + CreationResponse condition_response = 1; + BearingDefinition condition_data = 2; +} + +// Bearing condition definitions +message BearingProperties { + Quantity radial_force = 1; + Quantity thrust_force = 2; + Quantity angle = 3; +} + +message BearingDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + BearingProperties bearing = 6; +} diff --git a/ansys/api/discovery/v1/physics/conditions/boltpreload.proto b/ansys/api/discovery/v1/physics/conditions/boltpreload.proto new file mode 100644 index 0000000..c6a8fa8 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/boltpreload.proto @@ -0,0 +1,93 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.boltpreload; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.BoltPreload"; + +service BoltPreload +{ + //Bolt prestress condition methods + rpc CreateBoltPreloadClampForce(BoltPreloadClampForceCreationRequest) returns (BoltPreloadCreationResponse); + rpc CreateBoltPreloadGripLength(BoltPreloadGripLengthCreationRequest) returns (BoltPreloadCreationResponse); + rpc CreateBoltPreloadTorque(BoltPreloadTorqueCreationRequest) returns (BoltPreloadCreationResponse); + + rpc ChangeBoltPreloadSide1Location(ChangeLocationExtendedRequest) returns(ChangeResponse); + rpc ChangeBoltPreloadSide2Location(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeBoltPreloadSpecification(ChangeBoltPreloadSpecificationRequest) returns(ChangeResponse); + + rpc ChangeBoltPreloadClampForce(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeBoltPreloadGripLength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeBoltPreloadTorque(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeBoltPreloadTorqueCoefficient(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeBoltPreloadSpecifyBoltDiameter(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeBoltPreloadShankDiameter(ChangeQuantityRequest) returns (ChangeResponse); +} + +//Creation +message BoltPreloadClampForceCreationRequest{ + DoubleSidedScopedCreationData creation_data = 1; + BoltPreloadClampForceProperties clamp_force_properties = 2; +} + +message BoltPreloadGripLengthCreationRequest{ + DoubleSidedScopedCreationData creation_data = 1; + BoltPreloadGripLengthProperties grip_length_properties = 2; +} + +message BoltPreloadTorqueCreationRequest{ + DoubleSidedScopedCreationData creation_data = 1; + BoltPreloadTorqueProperties torque_properties = 2; +} + +message BoltPreloadCreationResponse{ + CreationResponse condition_response = 1; + BoltPreloadDefinition condition_data = 2; +} + +//Other requests + +message ChangeBoltPreloadSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + BoltPreloadSpecification specification = 2; +} + +// Enumerations + +enum BoltPreloadSpecification { + CLAMPFORCE = 0; + GRIPLENGTH = 1; + TORQUE = 2; +} + +// Condition definitions + +message BoltPreloadClampForceProperties { + Quantity clamp_force = 1; +} + +message BoltPreloadGripLengthProperties { + Quantity grip_length = 1; +} + +message BoltPreloadTorqueProperties { + Quantity torque = 1; + double torque_coefficient = 2; + OptionalQuantity boltdiameter = 3; +} + +message BoltPreloadDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string side1_locations = 4; + repeated string side2_locations = 5; + bool suppressed = 6; + BoltPreloadSpecification specification = 7; + BoltPreloadClampForceProperties clamp_force_properties = 8; + BoltPreloadGripLengthProperties grip_length_properties = 9; + BoltPreloadTorqueProperties torque_properties = 10; +} diff --git a/ansys/api/discovery/v1/physics/conditions/condition.proto b/ansys/api/discovery/v1/physics/conditions/condition.proto new file mode 100644 index 0000000..804ce37 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/condition.proto @@ -0,0 +1,32 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions"; + +service Condition +{ + //General condition methods + rpc DeleteCondition(DeleteConditionRequest) returns (ChangeResponse); + + rpc ChangeConditionSuppressionState(ChangeConditionSuppressionStateRequest) returns (ChangeResponse); + + rpc ChangeConditionName(ChangeConditionNameRequest) returns (ChangeResponse); +} + +//General Requests +message DeleteConditionRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; +} + +message ChangeConditionSuppressionStateRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + bool is_suppressed = 2; +} + +message ChangeConditionNameRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + string new_name = 2; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/convection.proto b/ansys/api/discovery/v1/physics/conditions/convection.proto new file mode 100644 index 0000000..d832be2 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/convection.proto @@ -0,0 +1,42 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.convection; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Convection"; + +service Convection +{ + rpc CreateConvection(ConvectionCreationRequest) returns (ConvectionCreationResponse); + + rpc ChangeConvectionLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeConvectionCoefficientMagnitude(ChangeQuantityRequest) returns(ChangeResponse); + + rpc ChangeConvectionTemperatureMagnitude(ChangeQuantityRequest) returns(ChangeResponse); +} + +//Requests and responses +message ConvectionCreationRequest{ + ScopedCreationData creation_data = 1; + Quantity coefficient = 2; + Quantity temperature = 3; + +} + +message ConvectionCreationResponse{ + CreationResponse condition_response = 1; + ConvectionDefinition condition_data = 2; +} + +//Definitions +message ConvectionDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + Quantity coefficient = 6; + Quantity temperature = 7; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/current.proto b/ansys/api/discovery/v1/physics/conditions/current.proto new file mode 100644 index 0000000..2b58aeb --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/current.proto @@ -0,0 +1,42 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.current; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Current"; + +service Current +{ + //Current condition methods + rpc CreateCurrent(CurrentCreationRequest) returns (CurrentCreationResponse); + + rpc ChangeCurrentLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeCurrentMagnitude(ChangeQuantityRequest) returns (ChangeResponse); +} + +// Current +message CurrentCreationRequest{ + ScopedCreationData creation_data = 1; + CurrentProperties current_properties = 2; +} + +message CurrentCreationResponse{ + CreationResponse condition_response = 1; + CurrentDefinition condition_data = 2; +} + +// Current condition definitions +message CurrentProperties { + Quantity current_magnitude = 1; +} + +message CurrentDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + CurrentProperties current = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/displacement.proto b/ansys/api/discovery/v1/physics/conditions/displacement.proto new file mode 100644 index 0000000..ea88ca9 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/displacement.proto @@ -0,0 +1,104 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.displacement; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Displacement"; + +service Displacement +{ + //Displacement condition methods + rpc CreateDisplacementTranslation(DisplacementTranslationCreationRequest) returns (DisplacementCreationResponse); + rpc CreateDisplacementRotation(DisplacementRotationCreationRequest) returns (DisplacementCreationResponse); + rpc CreateDisplacementCombined(DisplacementCombinedCreationRequest) returns (DisplacementCreationResponse); + + rpc ChangeDisplacementLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeDisplacementSpecification(ChangeDisplacementSpecificationRequest) returns(ChangeResponse); + rpc ChangeDisplacementOrientation(ChangeDirectionRequest) returns(ChangeResponse); + + rpc ChangeDisplacementDX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementDY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementDZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementTranslationalMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeDisplacementRX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementRY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementRZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementRotationalMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeDisplacementIsFixedDX(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeDisplacementIsFixedDY(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeDisplacementIsFixedDZ(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeDisplacementIsFixedRX(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeDisplacementIsFixedRY(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeDisplacementIsFixedRZ(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeDisplacementUseRemotePointEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeDisplacementDistributedRemotePositionX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementDistributedRemotePositionY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeDisplacementDistributedRemotePositionZ(ChangeQuantityRequest) returns (ChangeResponse); +} + +// Displacement +message DisplacementTranslationCreationRequest{ + ScopedCreationData creation_data = 1; + DisplacementTranslationProperties displacement_properties = 2; +} + +message DisplacementRotationCreationRequest{ + ScopedCreationData creation_data = 1; + DisplacementRotationProperties displacement_properties = 2; +} + +message DisplacementCombinedCreationRequest{ + ScopedCreationData creation_data = 1; + DisplacementCombinedProperties displacement_properties = 2; +} + +message DisplacementCreationResponse{ + CreationResponse condition_response = 1; + DisplacementDefinition condition_data = 2; +} + +message ChangeDisplacementSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + DisplacementSpecification displacement_specification = 2; +} + +// Displacement enumerations + +enum DisplacementSpecification { + TRANSLATION = 0; + ROTATION = 1; + COMBINED = 2; +} + +// Displacement condition definitions + +message DisplacementTranslationProperties { + VectorOfOptionalQuantities displacement = 1; + OptionalVector remote_point = 2; +} + +message DisplacementRotationProperties { + VectorOfOptionalQuantities rotation = 1; + OptionalVector remote_point = 2; +} + +message DisplacementCombinedProperties { + VectorOfOptionalQuantities displacement = 1; + VectorOfOptionalQuantities rotation = 2; + OptionalVector remote_point = 3; +} + +message DisplacementDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + DisplacementCombinedProperties displacement = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/flow.proto b/ansys/api/discovery/v1/physics/conditions/flow.proto new file mode 100644 index 0000000..5bf186a --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/flow.proto @@ -0,0 +1,240 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.flow; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Flow"; + +service Flow +{ + //Fluid flow methods + rpc CreateFlowVelocityInlet(FlowVelocityInletCreationRequest) returns (FlowVelocityInletCreationResponse); + + rpc CreateFlowVelocityOutlet(FlowVelocityOutletCreationRequest) returns (FlowVelocityOutletCreationResponse); + + rpc CreateFlowPressureInlet(FlowPressureInletCreationRequest) returns (FlowPressureInletCreationResponse); + + rpc CreateFlowPressureOutlet(FlowPressureOutletCreationRequest) returns (FlowPressureOutletCreationResponse); + + rpc CreateFlowMassFlowInlet(FlowMassFlowInletCreationRequest) returns (FlowMassFlowInletCreationResponse); + + rpc CreateFlowMassFlowOutlet(FlowMassFlowOutletCreationRequest) returns (FlowMassFlowOutletCreationResponse); + + rpc ChangeFlowLocation(ChangeLocationRequest) returns (ChangeResponse); + + rpc ChangeFlowVelocityInletMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowVelocityOutletMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowPressureInletMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowPressureOutletMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowMassFlowInletMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowMassFlowOutletMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowTemperatureInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeFlowTemperatureMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowSwirlingInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeFlowSwirlingMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFlowSpecification(ChangeFlowSpecificationRequest) returns (ChangeResponse); + + rpc ChangeFlowDirection(ChangeFlowDirectionRequest) returns (ChangeResponse); +} + +// Command Requests and Responses + +// Velocity In +message FlowVelocityInletCreationRequest{ + ScopedCreationData creation_data = 2; + VelocityInletProperties velocity_inlet = 4; +} + +message FlowVelocityInletCreationResponse{ + CreationResponse condition_response = 1; + FlowVelocityInletDefinition condition_data = 2; +} + +// Velocity Out +message FlowVelocityOutletCreationRequest{ + ScopedCreationData creation_data = 1; + VelocityOutletProperties velocity_outlet = 2; +} + +message FlowVelocityOutletCreationResponse{ + CreationResponse condition_response = 1; + FlowVelocityOutletDefinition condition_data = 2; +} + +// Pressure In +message FlowPressureInletCreationRequest{ + ScopedCreationData creation_data = 1; + PressureInletProperties pressure_inlet = 2; +} + +message FlowPressureInletCreationResponse{ + CreationResponse condition_response = 1; + FlowPressureInletDefinition condition_data = 2; +} + +// Pressure Out +message FlowPressureOutletCreationRequest{ + ScopedCreationData creation_data = 1; + PressureOutletProperties pressure_outlet = 2; +} +message FlowPressureOutletCreationResponse{ + CreationResponse condition_response = 1; + FlowPressureOutletDefinition condition_data = 2; +} + +// Mass Flow In +message FlowMassFlowInletCreationRequest{ + ScopedCreationData creation_data = 1; + MassFlowInletProperties mass_flow_inlet = 2; +} + +message FlowMassFlowInletCreationResponse{ + CreationResponse condition_response = 1; + FlowMassFlowInletDefinition condition_data = 2; +} + +// Mass Flow Out +message FlowMassFlowOutletCreationRequest{ + ScopedCreationData creation_data = 1; + MassFlowOutletProperties mass_flow_outlet = 2; +} + +message FlowMassFlowOutletCreationResponse{ + CreationResponse condition_response = 1; + FlowMassFlowOutletDefinition condition_data = 2; +} + +message ChangeFlowSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + FlowSpecificationDefinition specification = 2; +} + +message ChangeFlowDirectionRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + FlowDirectionDefinition direction = 2; + bool reset_to_default_subtype = 3; +} + +// fluid enumerations + +enum FlowDirectionDefinition { + IN = 0; + OUT = 1; +} + +enum FlowSpecificationDefinition { + VELOCITY = 0; + MASSFLOW = 1; + PRESSURE = 2; +} + +// Fluid conditions properties + +message VelocityInletProperties +{ + Quantity speed = 1; + FlowThermalProperties thermal_properties = 2; + bool is_swirling = 3; + Quantity rotational_speed = 4; +} + +message VelocityOutletProperties +{ + Quantity speed = 1; +} + +message PressureInletProperties +{ + Quantity pressure = 1; + FlowThermalProperties thermal_properties = 2; +} + +message PressureOutletProperties +{ + Quantity pressure = 1; + FlowThermalProperties thermal_properties = 2; +} + +message MassFlowInletProperties +{ + Quantity mass_flow = 1; + FlowThermalProperties thermal_properties = 2; +} + +message MassFlowOutletProperties +{ + Quantity mass_flow = 1; +} + +message FlowThermalProperties +{ + bool is_thermal = 1; + Quantity temperature = 2; +} + +// Fluid conditions definitions + +message FlowVelocityInletDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + VelocityInletProperties velocity_inlet = 6; +} + +message FlowVelocityOutletDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + VelocityOutletProperties velocity_outlet = 6; +} + +message FlowPressureInletDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + PressureInletProperties pressure_inlet = 6; +} + +message FlowPressureOutletDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + PressureOutletProperties pressure_outlet = 6; +} + +message FlowMassFlowInletDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + MassFlowInletProperties mass_flow_inlet = 6; +} + +message FlowMassFlowOutletDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + MassFlowOutletProperties mass_flow_outlet = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/fluidinitialtemperature.proto b/ansys/api/discovery/v1/physics/conditions/fluidinitialtemperature.proto new file mode 100644 index 0000000..70ff2d7 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/fluidinitialtemperature.proto @@ -0,0 +1,12 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.fluidinitialtemperature; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.FluidInitialTemperature"; + +service FluidInitialTemperature +{ + rpc ChangeTemperatureMagnitude(ChangeQuantityRequest) returns(ChangeResponse); +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/force.proto b/ansys/api/discovery/v1/physics/conditions/force.proto new file mode 100644 index 0000000..2a8dda4 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/force.proto @@ -0,0 +1,133 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.force; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Force"; + +service Force +{ + //Force condition methods + + rpc CreateForceDistributedTotal(ForceDistributedTotalCreationRequest) returns (ForceDistributedTotalCreationResponse); + + rpc CreateForceDistributedArea(ForceDistributedAreaCreationRequest) returns (ForceDistributedAreaCreationResponse); + + rpc CreateForceTorque(ForceTorqueCreationRequest) returns (ForceTorqueCreationResponse); + + rpc ChangeForceLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeForceSpecification(ChangeForceSpecificationRequest) returns (ChangeResponse); + rpc ChangeForceMagnitudeDefinition(ChangeForceMagnitudeDefinitionRequest) returns (ChangeResponse); + rpc ChangeForceByReversingDirection(ChangeCommandRequest) returns (ChangeResponse); + + rpc ChangeForceDefinedByComponentEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeForceDistributedTotalMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedTotalX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedTotalY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedTotalZ(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeForceDistributedAreaMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedAreaX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedAreaY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedAreaZ(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeForceUseRemoteForceEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeForceDistributedRemotePositionX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedRemotePositionY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceDistributedRemotePositionZ(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeForceTorqueMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceTorqueX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceTorqueY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeForceTorqueZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc GetForceDistributedByLabel(GetByLabelRequest) + returns (ForceDistributedDefinition); + rpc GetForceTorqueByLabel(GetByLabelRequest) returns (ForceTorqueDefinition); +} + +// Force +message ChangeForceSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + ForceSpecification force_specification = 2; +} + +message ChangeForceMagnitudeDefinitionRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + ForceMagnitudeDefinition force_magnitude_definition = 2; +} + +message ForceDistributedTotalCreationRequest{ + ScopedCreationData creation_data = 1; + ForceDistributedProperties force_properties = 2; +} + +message ForceDistributedTotalCreationResponse{ + CreationResponse condition_response = 1; + ForceDistributedDefinition condition_data = 2; +} + +message ForceDistributedAreaCreationRequest{ + ScopedCreationData creation_data = 1; + ForceDistributedProperties force_properties = 2; +} + +message ForceDistributedAreaCreationResponse{ + CreationResponse condition_response = 1; + ForceDistributedDefinition condition_data = 2; +} + +message ForceTorqueCreationRequest{ + ScopedCreationData creation_data = 1; + ForceTorqueProperties force_properties = 2; +} + +message ForceTorqueCreationResponse{ + CreationResponse condition_response = 1; + ForceTorqueDefinition condition_data = 2; +} + +// force enumerations + +enum ForceMagnitudeDefinition { + TOTALFORCE = 0; + FORCEPERAREA = 1; +} + +enum ForceSpecification { + DISTRIBUTED = 0; + TORQUE = 1; +} + +// force condition definitions + +message ForceDistributedDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + ForceDistributedProperties force_distributed = 6; +} + +message ForceDistributedProperties { + Quantity force = 1; + OptionalVector force_components = 2; + OptionalVector remote_point = 3; +} + +message ForceTorqueDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + ForceTorqueProperties force_torque = 6; +} + +message ForceTorqueProperties { + Quantity force = 1; + OptionalVector force_components = 2; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/gravity.proto b/ansys/api/discovery/v1/physics/conditions/gravity.proto new file mode 100644 index 0000000..7c9a8f7 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/gravity.proto @@ -0,0 +1,40 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.gravity; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Gravity"; + +service Gravity +{ + //Gravity condition methods + //No create for gravity, it's done automatically, and always applied to all bodies + rpc ChangeGravityOrientation(ChangeDirectionRequest) returns(ChangeResponse); + + rpc ChangeGravityDX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeGravityDY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeGravityDZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeGravityTranslationalMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeGravityUseBuoyancyEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeGravityIncludeSelfWeightEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc GetByLabel(GetByLabelRequest) returns (GravityDefinition); +} + +// Gravity condition definitions +message GravityProperties { + VectorOfOptionalQuantities acceleration = 1; + bool include_buoyancy = 2; + bool include_self_weight = 3; +} + +message GravityDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + GravityProperties gravity = 6; +} + diff --git a/ansys/api/discovery/v1/physics/conditions/heat.proto b/ansys/api/discovery/v1/physics/conditions/heat.proto new file mode 100644 index 0000000..4c4d9c1 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/heat.proto @@ -0,0 +1,88 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.heat; + +import "ansys/api/discovery/v1/models.proto"; +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Heat"; + +service Heat +{ + //Heat condition methods + rpc CreateHeatVolumetricTotal(HeatCreationRequest) returns (HeatTotalCreationResponse); + + rpc CreateHeatVolumetricDistributed(HeatCreationRequest) returns (HeatVolumetricDistributedCreationResponse); + + rpc CreateHeatSurfaceTotal(HeatCreationRequest) returns (HeatTotalCreationResponse); + + rpc CreateHeatSurfaceDistributed(HeatCreationRequest) returns (HeatSurfaceDistributedCreationResponse); + + rpc ChangeHeatLocation(ChangeLocationExtendedRequest) returns(ChangeResponse); + + rpc ChangeTotalHeat(ChangeQuantityRequest) returns(ChangeResponse); + + rpc ChangeHeatPerUnitVolume(ChangeQuantityRequest) returns(ChangeResponse); + + rpc ChangeHeatPerUnitArea(ChangeQuantityRequest) returns(ChangeResponse); + + rpc ChangeHeatSpecification(ChangeHeatSpecificationRequest) returns(ChangeResponse); +} + +// Requests and responses +message ChangeHeatSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + HeatSpecification heat_specification = 2; +} + +message HeatCreationRequest{ + ScopedCreationData creation_data = 1; + Quantity heat = 2; +} + +message HeatTotalCreationResponse{ + CreationResponse condition_response = 1; + HeatTotalDefinition condition_data = 2; +} + +message HeatVolumetricDistributedCreationResponse{ + CreationResponse condition_response = 1; + HeatPerVolumeDefinition condition_data = 2; +} + +message HeatSurfaceDistributedCreationResponse{ + CreationResponse condition_response = 1; + HeatPerAreaDefinition condition_data = 2; +} + +//Enumerations +enum HeatSpecification { + TOTALHEAT = 0; + HEATPERUNITVOLUMEORAREA = 1; +} + +//Definitions +message HeatTotalDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + Quantity total_heat = 7; +} + +message HeatPerAreaDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + Quantity heat_per_unitarea = 6; +} + +message HeatPerVolumeDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + Quantity heat_per_unitvolume = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/insulated.proto b/ansys/api/discovery/v1/physics/conditions/insulated.proto new file mode 100644 index 0000000..bbeba33 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/insulated.proto @@ -0,0 +1,33 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.insulated; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Insulated"; + +service Insulated +{ + rpc CreateInsulated(InsulatedCreationRequest) returns (InsulatedCreationResponse); + + rpc ChangeInsulatedLocation(ChangeLocationRequest) returns(ChangeResponse); +} + +// Requests and responses +message InsulatedCreationRequest{ + ScopedCreationData creation_data = 1; +} + +message InsulatedCreationResponse{ + CreationResponse condition_response = 1; + InsulatedDefinition condition_data = 2; +} + +//Definitions +message InsulatedDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; +} diff --git a/ansys/api/discovery/v1/physics/conditions/localfidelity.proto b/ansys/api/discovery/v1/physics/conditions/localfidelity.proto new file mode 100644 index 0000000..367bd5b --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/localfidelity.proto @@ -0,0 +1,42 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.localfidelity; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.LocalFidelity"; + +service LocalFidelity +{ + //LocalFidelity condition methods + rpc CreateLocalFidelity(LocalFidelityCreationRequest) returns (LocalFidelityCreationResponse); + + rpc ChangeLocalFidelityLocation(ChangeLocationExtendedRequest) returns(ChangeResponse); + + rpc ChangeLocalFidelityMagnitude(ChangeQuantityRequest) returns (ChangeResponse); +} + +// LocalFidelity +message LocalFidelityCreationRequest{ + ScopedCreationData creation_data = 1; + LocalFidelityProperties local_fidelity_properties = 2; +} + +message LocalFidelityCreationResponse{ + CreationResponse condition_response = 1; + LocalFidelityDefinition condition_data = 2; +} + +// LocalFidelity condition definitions +message LocalFidelityProperties { + Quantity local_fidelity_magnitude = 1; +} + +message LocalFidelityDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + LocalFidelityProperties local_fidelity = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/mass.proto b/ansys/api/discovery/v1/physics/conditions/mass.proto new file mode 100644 index 0000000..72cf883 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/mass.proto @@ -0,0 +1,48 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.mass; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Mass"; + +service Mass +{ + //Mass condition methods + rpc CreateMass(MassCreationRequest) returns (MassCreationResponse); + + rpc ChangeMassLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeMassMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeMassUseRemotePointEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeMassRemotePositionX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeMassRemotePositionY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeMassRemotePositionZ(ChangeQuantityRequest) returns (ChangeResponse); +} + +// Mass +message MassCreationRequest{ + ScopedCreationData creation_data = 1; + MassProperties mass_properties = 2; +} + +message MassCreationResponse{ + CreationResponse condition_response = 1; + MassDefinition condition_data = 2; +} + +// Mass condition definitions +message MassProperties { + Quantity mass_magnitude = 1; + OptionalVector remote_point = 2; +} + +message MassDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + MassProperties mass = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/moment.proto b/ansys/api/discovery/v1/physics/conditions/moment.proto new file mode 100644 index 0000000..77fdde3 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/moment.proto @@ -0,0 +1,66 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.moment; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Moment"; + +service Moment +{ + //Moment condition methods + rpc CreateMomentLocal(MomentCreationRequest) returns (MomentCreationResponse); + rpc CreateMomentGlobal(MomentCreationRequest) returns (MomentCreationResponse); + + rpc ChangeMomentLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeMomentSpecification(ChangeMomentSpecificationRequest) returns(ChangeResponse); + rpc ChangeMomentOrientation(ChangeDirectionRequest) returns(ChangeResponse); + + rpc ChangeMomentLocalX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeMomentLocalY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeMomentLocalZ(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeMomentGlobalX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeMomentGlobalY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeMomentGlobalZ(ChangeQuantityRequest) returns (ChangeResponse); +} + +// Moment +message MomentCreationRequest{ + ScopedCreationData creation_data = 1; + MomentProperties moment_properties = 2; +} + +message MomentCreationResponse{ + CreationResponse condition_response = 1; + MomentDefinition condition_data = 2; +} + +message ChangeMomentSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + MomentSpecification moment_specification = 2; +} + +// Moment enumerations + +enum MomentSpecification { + GLOBAL = 0; + LOCAL = 1; +} + +// Moment condition definitions + +message MomentProperties { + QuantityVector moment = 1; +} + +message MomentDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + MomentProperties local = 6; + MomentProperties global = 7; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/operatingpressure.proto b/ansys/api/discovery/v1/physics/conditions/operatingpressure.proto new file mode 100644 index 0000000..14a8db0 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/operatingpressure.proto @@ -0,0 +1,12 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.operatingpressure; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.OperatingPressure"; + +service OperatingPressure +{ + rpc ChangePressureMagnitude(ChangeQuantityRequest) returns(ChangeResponse); +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/porous.proto b/ansys/api/discovery/v1/physics/conditions/porous.proto new file mode 100644 index 0000000..940273a --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/porous.proto @@ -0,0 +1,119 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.porous; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Porous"; + +service Porous +{ + //wall creation methods + rpc CreatePorousIsotropic(PorousCreationRequest) returns (PorousCreationResponse); + + rpc CreatePorousBidirectional(PorousCreationRequest) returns (PorousCreationResponse); + + rpc CreatePorousOrthotropic(PorousCreationRequest) returns (PorousCreationResponse); + + // properties + rpc ChangePorousSpecification(ChangePorousSpecificationRequest) returns (ChangeResponse); + + rpc ChangePorousLocation(ChangeLocationRequest) returns (ChangeResponse); + + rpc ChangePorousStreamwiseFlowDirectionReference(ChangeLocationExtendedRequest) returns (ChangeResponse); + + + // Resistance coeffiecient quantities + rpc ChangePorousViscousStreamwiseMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousInertialStreamwiseMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousViscousCrossflowPrimaryMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousInertialCrossflowPrimaryMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousViscousCrossflowSecondaryMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousInertialCrossflowSecondaryMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + + //Solid quantities + + rpc ChangePorousThermalInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangePorousSolidPorosity(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousSolidDensity(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousSolidIsotropicThermalConductivity(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangePorousSolidSpecificHeat(ChangeQuantityRequest) returns (ChangeResponse); + +} + +// Command Requests and Responses + +message PorousCreationRequest{ + ScopedCreationData creation_data = 1; + PorousProperties porous_properties = 2; + optional LocationIdentifier streamwise_flow_direction_reference = 3; +} + +message PorousCreationResponse{ + CreationResponse condition_response = 1; + PorousDefinition condition_data = 2; +} + +// enum commands +message ChangePorousSpecificationRequest{ + PhysicsEntityIdentifier object_id = 1; + PorousSpecification specification = 2; +} + +// enumerations + +enum PorousSpecification { + ISOTROPIC = 0; + BIDIRECTIONAL = 1; + ORTHOTROPIC = 2; +} + +// Conditions properties + +message PorousProperties +{ + ResistanceCoeffients coefficients = 1; + SolidProperties solid_properties = 2; +} + + +message SolidProperties +{ + double porosity = 1; + Quantity density = 2; + Quantity isotropic_thermal_conductivity = 3; + Quantity specific_heat = 4; +} + +message ResistanceCoeffients +{ + Quantity viscous_streamwise = 1; + Quantity inertial_streamwise = 2; + optional Quantity viscous_primary = 3; + optional Quantity inertial_primary = 4; + optional Quantity viscous_secondary = 5; + optional Quantity inertial_secondary = 6; +} + +// conditions definitions + +message PorousDefinition { + PhysicsEntityIdentifier id = 1; + PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + PorousProperties porous_properties = 6; + PorousSpecification porous_specification = 7; + optional LocationIdentifier streamwise_flow_direction_reference = 8; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/pressure.proto b/ansys/api/discovery/v1/physics/conditions/pressure.proto new file mode 100644 index 0000000..948cd01 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/pressure.proto @@ -0,0 +1,42 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.pressure; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Pressure"; + +service Pressure +{ + //Pressure condition methods + rpc CreatePressure(PressureCreationRequest) returns (PressureCreationResponse); + + rpc ChangePressureLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangePressureMagnitude(ChangeQuantityRequest) returns (ChangeResponse); +} + +// Pressure +message PressureCreationRequest{ + ScopedCreationData creation_data = 1; + PressureProperties pressure_properties = 2; +} + +message PressureCreationResponse{ + CreationResponse condition_response = 1; + PressureDefinition condition_data = 2; +} + +// Pressure condition definitions +message PressureProperties { + Quantity pressure_magnitude = 1; +} + +message PressureDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + PressureProperties pressure = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/rotatingfluidzone.proto b/ansys/api/discovery/v1/physics/conditions/rotatingfluidzone.proto new file mode 100644 index 0000000..45fea44 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/rotatingfluidzone.proto @@ -0,0 +1,56 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.rotatingfluidzone; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.RotatingFluidZone"; + +service RotatingFluidZone +{ + //creation methods + rpc CreateRotatingFluidZone(RotatingFluidZoneCreationRequest) returns (RotatingFluidZoneCreationResponse); + + + // properties commands + rpc ChangeRotatingFluidZoneLocation(ChangeLocationRequest) returns (ChangeResponse); + + + // Motion quantities + rpc ChangeWallRotationalVelocityMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + +} + +// Command Requests and Responses + +// Create RFZ +message RotatingFluidZoneCreationRequest{ + ScopedCreationData creation_data = 2; + RotatingFluidZoneProperties rotating_fluid_zone_properties = 4; +} + +message RotatingFluidZoneCreationResponse{ + CreationResponse condition_response = 1; + RotatingFluidZoneDefinition condition_data = 2; +} + + +// RFZ conditions properties + +message RotatingFluidZoneProperties +{ + Quantity translational_velocity = 1; +} + + +// Fluid conditions definitions + +message RotatingFluidZoneDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + RotatingFluidZoneProperties rotating_fluid_zone_properties = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/solidtemperature.proto b/ansys/api/discovery/v1/physics/conditions/solidtemperature.proto new file mode 100644 index 0000000..3fc3c7f --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/solidtemperature.proto @@ -0,0 +1,39 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.solidtemperature; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.SolidTemperature"; + +service SolidTemperature +{ + rpc CreateTemperatureVolumetric(TemperatureCreationRequest) returns (TemperatureCreationResponse); + + rpc CreateTemperatureSurface(TemperatureCreationRequest) returns (TemperatureCreationResponse); + + rpc ChangeTemperatureLocation(ChangeLocationExtendedRequest) returns(ChangeResponse); + + rpc ChangeTemperatureMagnitude(ChangeQuantityRequest) returns(ChangeResponse); +} + +//Requests and responses +message TemperatureCreationRequest{ + ScopedCreationData creation_data = 1; + Quantity temperature = 2; +} + +message TemperatureCreationResponse{ + CreationResponse condition_response = 1; + TemperatureDefinition condition_data = 2; +} + +// Definitions +message TemperatureDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + Quantity magnitude = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/springpreload.proto b/ansys/api/discovery/v1/physics/conditions/springpreload.proto new file mode 100644 index 0000000..702b1e2 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/springpreload.proto @@ -0,0 +1,104 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.springpreload; + +import "ansys/api/discovery/v1/models.proto"; + + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.SpringPreload"; + +service SpringPreload +{ + //spring preload condition methods + rpc CreateSpringPreloadLongitudinal(SpringPreloadLongitudinalCreationRequest) returns (SpringPreloadCreationResponse); + rpc CreateSpringPreloadTorsional(SpringPreloadTorsionalCreationRequest) returns (SpringPreloadCreationResponse); + + rpc ChangeSpringPreloadSide1Location(ChangeLocationExtendedRequest) returns (ChangeResponse); + rpc ChangeSpringPreloadSide2Location(ChangeLocationRequest) returns (ChangeResponse); + + rpc ChangeSpringPreloadSpecification(ChangeSpringPreloadSpecificationRequest) returns (ChangeResponse); + + rpc ChangeSpringPreloadLongitudinalStiffness(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSpringPreloadTorsionalStiffness(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeSpringPreloadtype(ChangeSpringPreloadTypeRequest) returns (ChangeResponse); + rpc ChangeSpringPreloadForce(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSpringPreloadTorque(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSpringPreloadLength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSpringPreloadRotation(ChangeQuantityRequest) returns (ChangeResponse); +} + +//Creation +message SpringPreloadLongitudinalCreationRequest { + DoubleSidedScopedCreationData creation_data = 1; + SpringPreloadLongitudinalStiffnessProperties longitudinal_stiffness_properties = 3; + SpringPreloadProperties preload_properties = 4; +} + +message SpringPreloadTorsionalCreationRequest { + DoubleSidedScopedCreationData creation_data = 1; + SpringPreloadTorsionalStiffnessProperties torsional_stiffness_properties = 3; + SpringPreloadProperties preload_properties = 4; +} + +message SpringPreloadCreationResponse { + CreationResponse condition_response = 1; + SpringPreloadDefinition condition_data = 2; +} + +//Other requests +message ChangeSpringPreloadSpecificationRequest { + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + SpringPreloadSpecification specification = 2; +} + +message ChangeSpringPreloadTypeRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + SpringPreloadType type = 2; +} + +// Enumerations + +enum SpringPreloadSpecification { + LONGITUDINAL = 0; + TORSIONAL = 1; +} + +enum SpringPreloadType{ + NONE = 0; + LOAD = 1; + LENGTH = 2; + TORQUE = 3; + ROTATION = 4; +} + +// Condition definitions + +message SpringPreloadLongitudinalStiffnessProperties { + Quantity longitudinal_stiffness = 1; +} + +message SpringPreloadTorsionalStiffnessProperties { + Quantity torsional_stiffness = 1; +} + +message SpringPreloadProperties { + SpringPreloadType type = 1; + Quantity preload_force = 2; + Quantity preload_length = 3; + Quantity preload_torque = 4; + Quantity preload_rotation = 5; +} + +message SpringPreloadDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string side1_locations = 4; + repeated string side2_locations = 5; + bool suppressed = 6; + SpringPreloadSpecification specification = 7; + SpringPreloadLongitudinalStiffnessProperties longitudinal_stiffness_properties = 8; + SpringPreloadTorsionalStiffnessProperties torsional_stiffness_properties = 9; + SpringPreloadProperties preload_properties = 10; +} diff --git a/ansys/api/discovery/v1/physics/conditions/support.proto b/ansys/api/discovery/v1/physics/conditions/support.proto new file mode 100644 index 0000000..2286cee --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/support.proto @@ -0,0 +1,97 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.support; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Support"; + +service Support +{ + //Support condition methods + rpc CreateSupportFixed(SupportGeneralCreationRequest) returns (SupportGeneralCreationResponse); + rpc CreateSupportHinged(SupportGeneralCreationRequest) returns (SupportGeneralCreationResponse); + rpc CreateSupportSliding(SupportGeneralCreationRequest) returns (SupportGeneralCreationResponse); + rpc CreateSupportBall(SupportGeneralCreationRequest) returns (SupportGeneralCreationResponse); + rpc CreateSupportDisplaced(SupportDisplacedCreationRequest) returns (SupportDisplacedCreationResponse); + + rpc ChangeSupportLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeSupportSpecification(ChangeSupportSpecificationRequest) returns(ChangeResponse); + + rpc ChangeSupportDisplacedOrientation(ChangeDirectionRequest) returns(ChangeResponse); + + rpc ChangeSupportDisplacedDX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedDY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedDZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedRX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedRY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedRZ(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeSupportDisplacedIsFixedDX(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedIsFixedDY(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedIsFixedDZ(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedIsFixedRX(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedIsFixedRY(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeSupportDisplacedIsFixedRZ(ChangeBooleanRequest) returns (ChangeResponse); +} + +//Support +message ChangeSupportSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + SupportSpecification support_specification = 2; +} + +message SupportGeneralCreationRequest{ + ScopedCreationData creation_data = 1; +} + +message SupportGeneralCreationResponse{ + CreationResponse condition_response = 1; + SupportGeneralDefinition condition_data = 2; +} + +message SupportDisplacedCreationRequest{ + ScopedCreationData creation_data = 1; + SupportDisplacedProperties support_displaced = 2; +} + +message SupportDisplacedCreationResponse{ + CreationResponse condition_response = 1; + SupportDisplacedDefinition condition_data = 2; +} + +// Support enumerations + +enum SupportSpecification { + FIXED = 0; + SLIDING = 1; + HINGED = 2; + BALL = 3; + DISPLACED = 4; +} + +// Support condition definitions + +message SupportGeneralDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + SupportSpecification support_type = 6; +} + +message SupportDisplacedDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + SupportSpecification support_type = 6; + TensorOfOptionalQuantities displacement = 7; +} + +message SupportDisplacedProperties { + TensorOfOptionalQuantities displacement = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/symmetry.proto b/ansys/api/discovery/v1/physics/conditions/symmetry.proto new file mode 100644 index 0000000..111971c --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/symmetry.proto @@ -0,0 +1,34 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.symmetry; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Symmetry"; + +service Symmetry +{ + //Symmetry condition methods + rpc CreateSymmetry(SymmetryCreationRequest) returns (SymmetryCreationResponse); + + rpc ChangeSymmetryLocation(ChangeLocationRequest) returns(ChangeResponse); +} + +// Symmetry +message SymmetryCreationRequest{ + ScopedCreationData creation_data = 1; +} + +message SymmetryCreationResponse{ + CreationResponse condition_response = 1; + SymmetryDefinition condition_data = 2; +} + + +message SymmetryDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/velocity.proto b/ansys/api/discovery/v1/physics/conditions/velocity.proto new file mode 100644 index 0000000..3f77f39 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/velocity.proto @@ -0,0 +1,57 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.velocity; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Velocity"; + +service Velocity +{ + //Velocity condition methods + rpc CreateVelocity(VelocityCreationRequest) returns (VelocityCreationResponse); + + rpc ChangeVelocityLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeVelocityOrientation(ChangeDirectionRequest) returns(ChangeResponse); + + rpc ChangeVelocityRX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeVelocityRY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeVelocityRZ(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeVelocityRotationalMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeVelocityIsFixedRX(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeVelocityIsFixedRY(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeVelocityIsFixedRZ(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeVelocityUseRemotePointEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeVelocityRemotePositionX(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeVelocityRemotePositionY(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeVelocityRemotePositionZ(ChangeQuantityRequest) returns (ChangeResponse); +} + +//Velocity +message VelocityCreationRequest{ + ScopedCreationData creation_data = 1; + VelocityProperties velocity_properties = 2; +} + +message VelocityCreationResponse{ + CreationResponse condition_response = 1; + VelocityDefinition condition_data = 2; +} + +// Velocity condition definitions +message VelocityProperties { + VectorOfOptionalQuantities velocity = 1; + OptionalVector remote_point = 2; +} + +message VelocityDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + VelocityProperties velocity = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/voltage.proto b/ansys/api/discovery/v1/physics/conditions/voltage.proto new file mode 100644 index 0000000..1ba87fb --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/voltage.proto @@ -0,0 +1,42 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.voltage; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Voltage"; + +service Voltage +{ + //Voltage condition methods + rpc CreateVoltage(VoltageCreationRequest) returns (VoltageCreationResponse); + + rpc ChangeVoltageLocation(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeVoltageMagnitude(ChangeQuantityRequest) returns (ChangeResponse); +} + +// Voltage +message VoltageCreationRequest{ + ScopedCreationData creation_data = 1; + VoltageProperties voltage_properties = 2; +} + +message VoltageCreationResponse{ + CreationResponse condition_response = 1; + VoltageDefinition condition_data = 2; +} + +// Voltage condition definitions +message VoltageProperties { + Quantity voltage_magnitude = 1; +} + +message VoltageDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + VoltageProperties voltage = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/conditions/wall.proto b/ansys/api/discovery/v1/physics/conditions/wall.proto new file mode 100644 index 0000000..c07e001 --- /dev/null +++ b/ansys/api/discovery/v1/physics/conditions/wall.proto @@ -0,0 +1,215 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.conditions.wall; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Conditions.Wall"; + +service Wall +{ + //wall creation methods + rpc CreateWallFreeSlip(WallFreeSlipCreationRequest) returns (WallFreeSlipCreationResponse); + + rpc CreateWallStationary(WallStationaryCreationRequest) returns (WallStationaryCreationResponse); + + rpc CreateWallTranslating(WallTranslationCreationRequest) returns (WallTranslationCreationResponse); + + rpc CreateWallRotating(WallRotationCreationRequest) returns (WallRotationCreationResponse); + + // Wall properties + rpc ChangeWallSpecification(ChangeWallSpecificationRequest) returns (ChangeResponse); + + rpc ChangeWallLocation(ChangeLocationRequest) returns (ChangeResponse); + + + // Motion quantities + rpc ChangeWallRotationalVelocityMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallTranslationalVelocityMagnitude(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallTranslationalVelocityX(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallTranslationalVelocityY(ChangeQuantityRequest) returns (ChangeResponse); + + + //Thermal quantities + + rpc ChangeWallThermalInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeWallThermalOption(ChangeWallThermalOptionRequest) returns (ChangeResponse); + + rpc ChangeWallInternalRadiationInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeWallExternalRadiationInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeWallInternalEmissivity(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallExternalTemperature(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallConvectionCoefficient(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallHeatFlux(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallHeatFlow(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallTemperature(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeWallExternalEmissivity(ChangeQuantityRequest) returns (ChangeResponse); + +} + +// Command Requests and Responses + +// Create Free Slip +message WallFreeSlipCreationRequest{ + ScopedCreationData creation_data = 2; + FreeSlipProperties freeslip_properties = 4; +} + +message WallFreeSlipCreationResponse{ + CreationResponse condition_response = 1; + WallFreeSlipDefinition condition_data = 2; +} + +// Create Stationary +message WallStationaryCreationRequest{ + ScopedCreationData creation_data = 2; + StationaryProperties stationary_properties = 4; +} + +message WallStationaryCreationResponse{ + CreationResponse condition_response = 1; + WallStationaryDefinition condition_data = 2; +} + +// Create Translating +message WallTranslationCreationRequest{ + ScopedCreationData creation_data = 2; + TranslationProperties translating_properties = 4; +} + +message WallTranslationCreationResponse{ + CreationResponse condition_response = 1; + WallTranslationDefinition condition_data = 2; +} + +// Create Rotating +message WallRotationCreationRequest{ + ScopedCreationData creation_data = 2; + RotationProperties rotating_properties = 4; +} + +message WallRotationCreationResponse{ + CreationResponse condition_response = 1; + WallRotationDefinition condition_data = 2; +} + +// enum commands +message ChangeWallSpecificationRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + WallSpecification wall_specification = 2; +} + +message ChangeWallThermalOptionRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + WallThermalOption wall_thermal_option = 2; + bool is_external_radiation_enabled = 3; +} + +// wall enumerations + +enum WallThermalOption { + INSULATED = 0; + CONVECTION = 1; + HEATFLUX = 2; + HEATFLOW = 3; + TEMPERATURE = 4; + RADIATION = 5; +} + +enum WallSpecification { + FREESLIP = 0; + STATIONARY = 1; + TRANSLATING = 2; + ROTATING = 3; +} + +// Wall conditions properties + +message FreeSlipProperties +{ + bool wall_thermal_option_enabled = 1; + optional WallThermalProperties wall_thermal_properties = 2; +} + +message StationaryProperties +{ + bool wall_thermal_option_enabled = 1; + optional WallThermalProperties wall_thermal_properties = 2; +} + +message RotationProperties +{ + Quantity rotational_velocity = 1; + bool wall_thermal_option_enabled = 2; + optional WallThermalProperties wall_thermal_properties = 3; +} + +message TranslationProperties +{ + bool wall_thermal_option_enabled = 1; + QuantityVector translational_velocity = 2; + optional WallThermalProperties wall_thermal_properties = 3; +} + +message WallThermalProperties +{ + WallThermalOption wall_thermal_option = 1; + OptionalQuantity internal_emissivity = 2; + optional Quantity external_temperature = 3; + optional Quantity convection_coefficient = 4; + optional Quantity heatflux = 5; + optional Quantity heatflow = 6; + optional Quantity temperature = 7; + optional OptionalQuantity external_emissivity = 8; +} + + +// Fluid conditions definitions + +message WallFreeSlipDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + FreeSlipProperties free_slip_properties = 6; +} + +message WallStationaryDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + StationaryProperties stationary_properties = 6; +} + +message WallRotationDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + RotationProperties rotation_properties = 6; +} + +message WallTranslationDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string locations = 4; + bool suppressed = 5; + TranslationProperties translation_properties = 6; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/connections/contact.proto b/ansys/api/discovery/v1/physics/connections/contact.proto new file mode 100644 index 0000000..11b160c --- /dev/null +++ b/ansys/api/discovery/v1/physics/connections/contact.proto @@ -0,0 +1,69 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.connections.contact; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Connections.Contact"; + +service Contact +{ + //Contact condition methods + rpc CreateContact(ContactCreationRequest) returns (ContactCreationResponse); + + rpc ChangeContactSide1Location(ChangeLocationRequest) returns(ChangeResponse); + rpc ChangeContactSide2Location(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeContactType(ChangeContactTypeRequest) returns (ChangeResponse); + rpc ChangeContactPairs(ChangeContactPairRequest) returns (ChangeResponse); + rpc SplitContact(ChangeEmptyRequest) returns (ChangeResponse); + + rpc ChangeContactFrictionCoefficient(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactStiffnessFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactDetectionRadiusFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactOffset(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactShearStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactTensileStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactAreStrengthLimitsSet(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactAdjustGapOrOverlap(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactMakeJustTouching(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactIdealize(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactSpecifyThermalConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactSpecifyElectricConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactConductanceMaterial(ChangeAssignmentRequest) returns (ChangeResponse); + rpc ChangeContactThermalContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactElectricContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactThermalContactConductance(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactElectricContactConductance(ChangeQuantityRequest) returns (ChangeResponse); +} + +message ContactCreationRequest{ + DoubleSidedScopedCreationData creation_data = 1; + ContactProperties contact_properties = 2; +} + +message ContactCreationResponse{ + CreationResponse condition_response = 1; + ContactDefinition condition_data = 2; +} + +message ChangeContactPairRequest{ + PhysicsEntityIdentifier object_id = 1; + ContactPairs contact_pairs = 2; +} + +// Contact condition definitions + + + +message ContactDefinition { + PhysicsEntityIdentifier id = 1; + PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string side1_locations = 4; + repeated string side2_locations = 5; + bool suppressed = 6; + ContactProperties contact = 7; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/connections/contactgroup.proto b/ansys/api/discovery/v1/physics/connections/contactgroup.proto new file mode 100644 index 0000000..24615d6 --- /dev/null +++ b/ansys/api/discovery/v1/physics/connections/contactgroup.proto @@ -0,0 +1,69 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.connections.contactgroup; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Connections.ContactGroup"; + +service ContactGroup +{ + rpc ChangeContactGroupSide1Location(ChangeLocationRequest) returns(ChangeResponse); + rpc ChangeContactGroupSide2Location(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeContactGroupContactType(ChangeContactTypeRequest) returns (ChangeResponse); + rpc SplitContactGroup(ChangeEmptyRequest) returns (ChangeResponse); + rpc ConvertContactGroup(ConvertContactGroupChangeRequest) returns (ChangeResponse); + + rpc ChangeContactGroupFrictionCoefficient(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactGroupStiffnessFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactGroupDetectionRadiusFactor(ChangeDoubleRequest) returns (ChangeResponse); + rpc ChangeContactGroupOffset(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupShearStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupTensileStrength(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupAreStrengthLimitsSet(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactGroupAdjustGapOrOverlap(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactGroupMakeJustTouching(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeContactGroupIdealize(ChangeBooleanRequest) returns (ChangeResponse); + + rpc ChangeContactGroupDetectionDistanceLow(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupDetectionDistanceHigh(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeContactGroupSpecifyThermalConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactGroupSpecifyElectricConductance(ChangeSpecifyConductanceRequest) returns (ChangeResponse); + rpc ChangeContactGroupConductanceThickness(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupConductanceMaterial(ChangeAssignmentRequest) returns (ChangeResponse); + rpc ChangeContactGroupThermalContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupElectricContactConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupThermalContactConductance(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeContactGroupElectricContactConductance(ChangeQuantityRequest) returns (ChangeResponse); + + rpc GetByLabel(GetByLabelRequest) returns (ContactGroupDefinition); +} + +message ConvertContactGroupChangeRequest{ + PhysicsEntityIdentifier object_id = 1; + ContactGoupConversionType contact_group_type = 2; + ContactPairs contact_pairs = 3; + optional bool idealize = 4; + optional double friction_coefficient = 5; +} + +// Contact group condition definitions +enum ContactGoupConversionType { + SLIDING_CONTACT_GROUP = 0; + JOINT = 1; + BOND = 2; + EXCLUDE = 3; +} + +message ContactGroupDefinition { + PhysicsEntityIdentifier id = 1; + PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string side1_locations = 4; + repeated string side2_locations = 5; + bool suppressed = 6; + ContactProperties contact = 7; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/connections/fluidinterface.proto b/ansys/api/discovery/v1/physics/connections/fluidinterface.proto new file mode 100644 index 0000000..0166c79 --- /dev/null +++ b/ansys/api/discovery/v1/physics/connections/fluidinterface.proto @@ -0,0 +1,60 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.connections.fluidinterface; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Connections.FluidInterface"; + +service FluidInterface +{ + rpc ChangeFluidInterfaceType(ChangeFluidInterfaceTypeRequest) returns (ChangeResponse); + rpc ChangeFluidInterfaceFaceGroupingMethod(ChangeFluidInterfaceFaceGroupingMethodRequest) returns (ChangeResponse); + rpc ChangeFluidInterfaceConductanceMethod(ChangeSpecifyConductanceRequest) returns(ChangeResponse); + + rpc ChangeFluidInterfaceThermalMaterialAssignment(ChangeAssignmentRequest) returns (ChangeResponse); + rpc ChangeFluidInterfaceThermalConductance(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeFluidInterfaceThermalConductivity(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeFluidInterfaceThermalThickness(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFluidInterfaceDetectionDistanceHigh(ChangeQuantityRequest) returns (ChangeResponse); + rpc ChangeFluidInterfaceFaceOverlapAllowance(ChangeQuantityRequest) returns (ChangeResponse); + + rpc ChangeFSInterfaceInternalRadiationInputEnabled(ChangeBooleanRequest) returns (ChangeResponse); + rpc ChangeFSInterfaceInternalEmissivity(ChangeQuantityRequest) returns (ChangeResponse); +} + +message ChangeFluidInterfaceTypeRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + FluidInterfaceType interface_type = 2; +} + +// Contact group condition definitions +enum FluidInterfaceType { + CONDUCTING = 0; + EXCLUDE = 1; +} + +message ChangeFluidInterfaceFaceGroupingMethodRequest{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + FluidInterfaceFaceGroupingMethod face_grouping_method = 2; +} + +enum FluidInterfaceFaceGroupingMethod { + GROUPBYBODY = 0; + GROUPTANGENTFACES = 1; + NOGROUPING = 2; +} + +message ChangeFluidInterfaceConductanceMethod{ + ansys.api.discovery.v1.PhysicsEntityIdentifier object_id = 1; + FluidInterfaceFaceThermalConductanceMethod thermal_conductivity_method = 2; +} + +enum FluidInterfaceFaceThermalConductanceMethod { + INSULATED = 0; + THERMALCONDUCTANCE = 1; + THICKNESSANDCONDUCTIVITY = 2; + THICKNESSANDMATERIAL = 3; +} diff --git a/ansys/api/discovery/v1/physics/connections/joint.proto b/ansys/api/discovery/v1/physics/connections/joint.proto new file mode 100644 index 0000000..31958bd --- /dev/null +++ b/ansys/api/discovery/v1/physics/connections/joint.proto @@ -0,0 +1,55 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.connections.joint; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Connections.Joint"; + +service Joint +{ + //Joint condition methods + rpc CreateJoint(JointCreationRequest) returns (JointCreationResponse); + + rpc ChangeJointSide1Location(ChangeLocationRequest) returns(ChangeResponse); + rpc ChangeJointSide2Location(ChangeLocationRequest) returns(ChangeResponse); + + rpc ChangeJointType(ChangeJointTypeRequest) returns (ChangeResponse); + +} + +message JointCreationRequest{ + DoubleSidedScopedCreationData creation_data = 1; + JointProperties joint_properties = 2; +} + +message ChangeJointTypeRequest{ + EntityIdentifier object_id = 1; + JointType joint_type = 2; +} + +message JointCreationResponse{ + CreationResponse condition_response = 1; + JointDefinition condition_data = 2; +} + +// Joint condition definitions +enum JointType { + FIXED_JOINT = 0; + HINGED_JOINT = 1; + SPHERICAL_JOINT = 2; +} + +message JointProperties { + JointType joint_type = 1; +} + +message JointDefinition { + ansys.api.discovery.v1.PhysicsEntityIdentifier id = 1; + ansys.api.discovery.v1.PhysicsEntityIdentifier parent_id = 2; + string label = 3; + repeated string side1_locations = 4; + repeated string side2_locations = 5; + bool suppressed = 6; + JointProperties joint = 7; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/parameterization/definedvariationstable.proto b/ansys/api/discovery/v1/physics/parameterization/definedvariationstable.proto new file mode 100644 index 0000000..c20d8b2 --- /dev/null +++ b/ansys/api/discovery/v1/physics/parameterization/definedvariationstable.proto @@ -0,0 +1,221 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; + +package ansys.api.discovery.v1.physics.parameterization.definedvariationstable; + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Parameterization.DefinedVariationsTable"; + +// Defined variation table servicer. +// +service DefinedVariationsTable{ + // Create variation + rpc CreateVariation(CreateVariationRequest) returns(CreateVariationResponse); + + // Get all the inputs. + rpc GetAllInputs(GetAllInputsRequest) returns(GetAllInputsResponse); + + // Get all the outputs. + rpc GetAllOutputs(GetAllOutputsRequest) returns(GetAllOutputsResponse); + + // Get all the variations (i.e get all the table as rows list) + rpc GetAllVariations(GetAllVariationsRequest) returns(GetAllVariationsResponse); + + // Get the current variation from the design table + rpc GetCurrentVariation(GetCurrentVariationRequest) returns(GetCurrentVariationResponse); + + // Get an input variation table's cell + rpc GetInputForVariation(GetInputForVariationRequest) returns(GetInputForVariationResponse); + + // Get a variation input table's column + rpc GetInputColumn(GetInputColumnRequest) returns(GetInputColumnResponse); + + // Get an output variation table's cell + rpc GetOutputForVariation(GetOutputForVariationRequest) returns(GetOutputForVariationResponse); + + // Get a variation output table's column + rpc GetOutputColumn(GetOutputColumnRequest) returns(GetOutputColumnResponse); + + // Gets a whole row from the defined variations table + rpc GetVariation(GetVariationRequest) returns(GetVariationResponse); + + // Asks if the solve is running + rpc IsSolving(IsSolvingRequest) returns(IsSolvingResponse); + + // Set the current variation from the design table + rpc SetCurrentVariation(SetCurrentVariationRequest) returns(SetCurrentVariationResponse); + + // Set an input parameter + rpc SetInputValue(SetInputValueRequest) returns(SetInputValueResponse); + + // Set a star status for a variations list. + rpc SetStarredStatus(SetStarredStatusRequest) returns(SetStarredStatusResponse); + + // Updates outputs for current variation + rpc UpdateAll(UpdateAllRequest) returns(UpdateAllResponse); + + // Updates outputs for current variation + rpc UpdateCurrent(UpdateCurrentRequest) returns(UpdateCurrentResponse); + + // Updates outputs for starred variations + rpc UpdateStarred(UpdateStarredRequest) returns(UpdateStarredResponse); + +} + +message GetVariationRequest{ + EntityIdentifier id = 1 ; +} + +message GetVariationResponse{ + Variation variation = 1; +} + +message GetAllVariationsRequest{ +} + +message GetAllVariationsResponse{ + // The variations on this page. + repeated Variation defined_variations = 1 ; +} + +message GetAllInputsRequest{ +} + +message GetAllInputsResponse{ + // The inputs on this page. + repeated InputColumn inputs = 1 ; +} + +message GetAllOutputsRequest{ +} + +message GetAllOutputsResponse{ + // The outputs on this page. + repeated OutputColumn outputs = 1 ; +} + +message GetInputForVariationRequest{ + // The variation's moniker. + EntityIdentifier variation_moniker = 1; + // The parameter' moniker. + EntityIdentifier input_parameter_moniker = 2; +} + +message GetInputForVariationResponse{ + InputParameter input = 1; +} + +message SetInputValueRequest{ + // The variation's moniker. + EntityIdentifier variation_moniker = 1; + // The input parameter. + InputParameter defined_variation_table_input = 2; +} + +message SetInputValueResponse{ + InputParameter input = 1; +} + +message CreateVariationRequest{ +} + +message CreateVariationResponse{ + Variation variation = 1; +} + +message GetOutputForVariationRequest{ + // The variation's moniker. + EntityIdentifier variation_moniker = 1; + // The parameter' moniker. + EntityIdentifier output_parameter_moniker = 2; +} + +message GetOutputForVariationResponse{ + OutputParameter output = 1; +} + +message GetInputColumnRequest{ + // The parameter' moniker. + EntityIdentifier input_parameter_moniker = 1; +} + +message GetInputColumnResponse{ + // The parameter's variations column. + InputColumn column = 1; +} + +message GetOutputColumnRequest{ + // The parameter' moniker. + EntityIdentifier output_parameter_moniker = 1; +} + +message GetOutputColumnResponse{ + // The parameter's variations column. + OutputColumn column = 1; +} + +message SetStarredStatusRequest{ + // The variations monikers. + repeated EntityIdentifier variations_monikers = 1; + // The starred status + bool starred = 2; +} + +message SetStarredStatusResponse{ +} + +message UpdateCurrentRequest{ +} + +message UpdateCurrentResponse{ + UpdateResponse result = 1; +} + +message UpdateStarredRequest{ +} + +message UpdateStarredResponse{ + UpdateResponse result = 1; +} + +message UpdateAllRequest{ +} + +message UpdateAllResponse{ + UpdateResponse result = 1; +} + +message GetCurrentVariationRequest{ +} + +message GetCurrentVariationResponse{ + // The variation's moniker. + EntityIdentifier variation_moniker = 1; + string message = 2; +} + +message SetCurrentVariationRequest{ + EntityIdentifier id = 1; +} + +message SetCurrentVariationResponse{ + MessageResponse response = 1; +} + +///UPDATES +// + +message UpdateResponse{ + // The result + bool result = 1; + string message = 2; +} + +message IsSolvingRequest{ +} + +message IsSolvingResponse{ + // The result + bool is_solving = 1; +} diff --git a/ansys/api/discovery/v1/physics/simulation/monitors.proto b/ansys/api/discovery/v1/physics/simulation/monitors.proto new file mode 100644 index 0000000..25690a1 --- /dev/null +++ b/ansys/api/discovery/v1/physics/simulation/monitors.proto @@ -0,0 +1,61 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.simulation.monitors; + +import "ansys/api/discovery/v1/models.proto"; +import "ansys/api/discovery/v1/results.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Simulation.Monitors"; + +service Monitors +{ + // Creates a new monitor + rpc CreateMonitor(CreateMonitorRequest) returns (MonitorCreationResponse); + + rpc GetAllMonitors(GetAllMonitorsRequest) returns (GetAllMonitorsResponse); + + rpc GetMonitorValues(GetMonitorValuesRequest) returns (GetMonitorValuesResponse); + +} + +message CreateMonitorRequest{ + // The monitor id + DoubleSidedScopedCreationData creation_data = 1; + MonitorProperties monitor = 2; +} + +message MonitorCreationResponse{ + // Creation response + CreationResponse monitor_response = 1; + // Monitor definition + MonitorDefinition monitor = 2; +} + +message GetAllMonitorsRequest{ +} + +message GetAllMonitorsResponse{ + repeated MonitorDefinition monitor_definitions = 1; +} + +message GetMonitorValuesRequest{ + EntityIdentifier id = 1; +} + +message GetMonitorValuesResponse{ + repeated Quantity monitor_values = 1; +} + +message MonitorProperties{ + ResultVariable result_variable = 1; + ResultFunction result_function = 2; + optional ResultComponent result_component = 3; +} + +message MonitorDefinition{ + EntityIdentifier id = 1; + string label = 2; + repeated string side1_locations = 3; + repeated string side2_locations = 4; + MonitorProperties monitor = 5; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/simulation/simulations.proto b/ansys/api/discovery/v1/physics/simulation/simulations.proto new file mode 100644 index 0000000..85e1a56 --- /dev/null +++ b/ansys/api/discovery/v1/physics/simulation/simulations.proto @@ -0,0 +1,29 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.simulation.simulations; + +import "ansys/api/discovery/v1/common_communication.proto"; +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Simulation.Simulations"; + +service Simulations +{ + // Creates a new simulation + rpc CreateSimulation(CreateSimulationRequest) returns (CreateSimulationResponse); + + // Lists all simulations + rpc GetAll(ParentEntityRequest) returns(GetAllResponse); +} + +message CreateSimulationRequest{ +} + +message CreateSimulationResponse{ + Simulation simulation = 1; +} + +message GetAllResponse{ + // The simulations in the study. + repeated Simulation simulations = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/physics/simulation/solutions.proto b/ansys/api/discovery/v1/physics/simulation/solutions.proto new file mode 100644 index 0000000..514ea62 --- /dev/null +++ b/ansys/api/discovery/v1/physics/simulation/solutions.proto @@ -0,0 +1,52 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1.physics.simulation.solutions; + + +import "ansys/api/discovery/v1/models.proto"; + +option csharp_namespace = "Ansys.Api.Discovery.V1.Physics.Simulation.Solutions"; + +service Solutions +{ + rpc GetSolverFidelity(GetSolverFidelityRequest) returns (GetSolverFidelityResponse); + + rpc SetSolverFidelity(SetSolverFidelityRequest) returns (SetSolverFidelityResponse); + + rpc Solve(SolveExecutionRequest) returns (SolveExecutionResponse); +} + +message GetSolverFidelityRequest{ + PhysicsEntityIdentifier simulation_id = 1; + string stage = 2; +} + +message GetSolverFidelityResponse{ + double value = 1; +} + +message SetSolverFidelityRequest{ + GetSolverFidelityRequest simulation_stage = 1; + double value = 2; +} + +message SetSolverFidelityResponse{ +} + + +message SolveExecutionRequest{ + PhysicsEntityIdentifier simulation_id = 1; + SolverManager solver_manager = 2; + bool execute_remotely =3; + repeated EntityIdentifier variation_id_list = 4; +} + +message SolveExecutionResponse{ + bool success = 1; + string message = 2; +} + +enum SolverManager { + ARTEMIS= 0; + APOLLO = 1; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/results.proto b/ansys/api/discovery/v1/results.proto new file mode 100644 index 0000000..eab74a2 --- /dev/null +++ b/ansys/api/discovery/v1/results.proto @@ -0,0 +1,100 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1; + +option csharp_namespace = "Ansys.Api.Discovery.V1"; + +enum ResultVariable{ + RESULT_VARIABLE_UNSPECIFIED = 0; + RESULT_VARIABLE_DISPLACEMENT = 1; + RESULT_VARIABLE_VON_MISES_STRESS = 2; + RESULT_VARIABLE_TEMPERATURE = 3; + RESULT_VARIABLE_STRESS = 4; + RESULT_VARIABLE_PRINCIPAL_STRESS = 5; + RESULT_VARIABLE_ELASTIC_STRAIN = 6; + RESULT_VARIABLE_PRINCIPAL_ELASTIC_STRAIN = 7; + RESULT_VARIABLE_HEAT_FLUX = 8; + RESULT_VARIABLE_PRESSURE = 9; + RESULT_VARIABLE_VELOCITY = 10; + RESULT_VARIABLE_VORTICES_LAMBDA_2 = 11; + RESULT_VARIABLE_MASS = 12; + RESULT_VARIABLE_FORCE_REACTION = 13; + RESULT_VARIABLE_DENSITY = 14; + RESULT_VARIABLE_FACTOR_OF_SAFETY = 15; + RESULT_VARIABLE_PRESSURE_DROP = 16; + RESULT_VARIABLE_CONTACT_REACTION = 17; + RESULT_VARIABLE_JOINT_TOTAL_FORCE = 18; + RESULT_VARIABLE_JOINT_TOTAL_MOMENT = 19; + RESULT_VARIABLE_FREQUENCY = 20; + RESULT_VARIABLE_MESH_STATISTICS = 21; + RESULT_VARIABLE_MESH_QUALITY = 22; + RESULT_VARIABLE_FLUID_FORCE = 23; + RESULT_VARIABLE_VOLUME = 24; + RESULT_VARIABLE_VOLUME_FLOW = 25; + RESULT_VARIABLE_MASS_FLOW = 26; + RESULT_VARIABLE_HEAT_FLOW = 27; + RESULT_VARIABLE_TOTAL_PRESSURE = 28; + RESULT_VARIABLE_FLOW_UNIFORMITY = 29; + RESULT_VARIABLE_S_PARAMETERS = 30; + RESULT_VARIABLE_GAIN = 31; + RESULT_VARIABLE_REALIZED_GAIN = 32; + RESULT_VARIABLE_DIRECTIVITY = 33; + RESULT_VARIABLE_AXIAL_RATIO = 34; + RESULT_VARIABLE_RADIAL_E = 35; + RESULT_VARIABLE_CONTACT_STRESS = 36; + RESULT_VARIABLE_MACH_NUMBER = 37; + RESULT_VARIABLE_ELECTRIC_FIELD = 38; + RESULT_VARIABLE_MAGNETIC_FIELD = 39; + RESULT_VARIABLE_CONNECTION_FACTOR_OF_SAFETY = 40; + RESULT_VARIABLE_AXIAL_STRESS = 41; + RESULT_VARIABLE_TORSIONAL_MOMENT = 42; + RESULT_VARIABLE_SHEAR_FORCE = 43; + RESULT_VARIABLE_ANTENNA_PARAMETERS = 44; + RESULT_VARIABLE_FAN_PRESSURE_RISE = 45; + RESULT_VARIABLE_RADIATIVE_HEAT_FLUX = 46; + RESULT_VARIABLE_VOLTAGE = 47; + RESULT_VARIABLE_CURRENT_DENSITY = 48; + RESULT_VARIABLE_JOULE_HEAT = 49; +} + +enum ResultFunction{ + RESULT_FUNCTION_UNSPECIFIED = 0; + RESULT_FUNCTION_MINIMUM = 1; + RESULT_FUNCTION_MAXIMUM = 2; + RESULT_FUNCTION_AVERAGE = 3; + RESULT_FUNCTION_SUM = 4; + RESULT_FUNCTION_INTEGRAL = 5; + RESULT_FUNCTION_STANDARD_DEVIATION = 6; +} + +enum ResultComponent{ + RESULT_COMPONENT_UNSPECIFIED = 0; + RESULT_COMPONENT_NONE = 1; + RESULT_COMPONENT_X = 2; + RESULT_COMPONENT_Y = 3; + RESULT_COMPONENT_Z = 4; + RESULT_COMPONENT_XX = 5; + RESULT_COMPONENT_YY = 6; + RESULT_COMPONENT_ZZ = 7; + RESULT_COMPONENT_YZ = 8; + RESULT_COMPONENT_XY = 9; + RESULT_COMPONENT_XZ = 10; + RESULT_COMPONENT_MAG = 11; + RESULT_COMPONENT_FIRST = 12; + RESULT_COMPONENT_SECOND = 13; + RESULT_COMPONENT_THIRD = 14; + RESULT_COMPONENT_VELOCITY = 15; + RESULT_COMPONENT_TEMPERATURE = 16; + RESULT_COMPONENT_REAL = 17; + RESULT_COMPONENT_IMAGINARY = 18; + RESULT_COMPONENT_PHASE = 19; + RESULT_COMPONENT_LOGARITHMIC_MAG = 20; + RESULT_COMPONENT_CONJUGATE_PHASE = 21; + RESULT_COMPONENT_TOTAL = 22; + RESULT_COMPONENT_L3X = 23; + RESULT_COMPONENT_L3Y = 24; + RESULT_COMPONENT_RHCP = 25; + RESULT_COMPONENT_LHCP = 26; + RESULT_COMPONENT_THETA = 27; + RESULT_COMPONENT_PHI = 28; +} \ No newline at end of file diff --git a/ansys/api/discovery/v1/streaming.proto b/ansys/api/discovery/v1/streaming.proto new file mode 100644 index 0000000..2dcb8bc --- /dev/null +++ b/ansys/api/discovery/v1/streaming.proto @@ -0,0 +1,19 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1; +option csharp_namespace = "Ansys.Api.Discovery.V1.Streaming"; + +message StreamPackage{ + // The type of content + string content_type = 1; + // The number of packages + int32 count = 2; + // The package index + int32 index = 3; + // The image total size + int32 total_size = 4; + // This package size + int32 package_size = 5; + // The package data + bytes data =6; +} diff --git a/ansys/api/discovery/v1/units.proto b/ansys/api/discovery/v1/units.proto new file mode 100644 index 0000000..4d2e229 --- /dev/null +++ b/ansys/api/discovery/v1/units.proto @@ -0,0 +1,1471 @@ +// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited. +syntax = "proto3"; +package ansys.api.discovery.v1; +option csharp_namespace = "Ansys.Api.Discovery.V1"; + +// +// Acceleration units. +enum AccelerationUnit { + ACCELERATION_CENTIMETER_PER_SECOND_SQUARED=0; + ACCELERATION_DECIMETER_PER_SECOND_SQUARED=1; + ACCELERATION_FOOT_PER_SECOND_SQUARED=2; + ACCELERATION_INCH_PER_SECOND_SQUARED=3; + ACCELERATION_KILOMETER_PER_SECOND_SQUARED=4; + ACCELERATION_KNOT_PER_HOUR=5; + ACCELERATION_KNOT_PER_MINUTE=6; + ACCELERATION_KNOT_PER_SECOND=7; + ACCELERATION_METER_PER_SECOND_SQUARED=8; + ACCELERATION_MICROMETER_PER_SECOND_SQUARED=9; + ACCELERATION_MILLIMETER_PER_SECOND_SQUARED=10; + ACCELERATION_NANOMETER_PER_SECOND_SQUARED=11; + ACCELERATION_STANDARD_GRAVITY=12; +} + +// +// Angle units. +enum AngleUnit { + ANGLE_ARCMINUTE=0; + ANGLE_ARCSECOND=1; + ANGLE_CENTIRADIAN=2; + ANGLE_DECIRADIAN=3; + ANGLE_DEGREE=4; + ANGLE_GRADIAN=5; + ANGLE_MICRODEGREE=6; + ANGLE_MICRORADIAN=7; + ANGLE_MILLIDEGREE=8; + ANGLE_MILLIRADIAN=9; + ANGLE_NANODEGREE=10; + ANGLE_NANORADIAN=11; + ANGLE_RADIAN=12; + ANGLE_REVOLUTION=13; +} + +// +// Area units. +enum AreaUnit { + AREA_ACRE=0; + AREA_HECTARE=1; + AREA_SQUARE_CENTIMETER=2; + AREA_SQUARE_DECIMETER=3; + AREA_SQUARE_FOOT=4; + AREA_SQUARE_INCH=5; + AREA_SQUARE_KILOMETER=6; + AREA_SQUARE_METER=7; + AREA_SQUARE_MICROMETER=8; + AREA_SQUARE_MILE=9; + AREA_SQUARE_MILLIMETER=10; + AREA_SQUARE_NAUTICAL_MILE=11; + AREA_SQUARE_YARD=12; + AREA_US_SURVEY_SQUARE_FOOT=13; +} + +// +// AreaDensity units. +enum AreaDensityUnit { + AREADENSITY_KILOGRAM_PER_SQUARE_METER=0; +} + +// +// AreaMomentOfInertia units. +enum AreaMomentOfInertiaUnit { + AREAMOMENTOFINERTIA_CENTIMETER_TO_THE_FOURTH=0; + AREAMOMENTOFINERTIA_DECIMETER_TO_THE_FOURTH=1; + AREAMOMENTOFINERTIA_FOOT_TO_THE_FOURTH=2; + AREAMOMENTOFINERTIA_INCH_TO_THE_FOURTH=3; + AREAMOMENTOFINERTIA_METER_TO_THE_FOURTH=4; + AREAMOMENTOFINERTIA_MILLIMETER_TO_THE_FOURTH=5; +} + +// +// Capacitance units. +enum CapacitanceUnit { + CAPACITANCE_FARAD=0; + CAPACITANCE_KILOFARAD=1; + CAPACITANCE_MEGAFARAD=2; + CAPACITANCE_MICROFARAD=3; + CAPACITANCE_MILLIFARAD=4; + CAPACITANCE_NANOFARAD=5; + CAPACITANCE_PICOFARAD=6; +} + +// +// CoefficientOfThermalExpansion units. +enum CoefficientOfThermalExpansionUnit { + COEFFICIENTOFTHERMALEXPANSION_INVERSE_DEGREE_CELSIUS=0; + COEFFICIENTOFTHERMALEXPANSION_INVERSE_DEGREE_FAHRENHEIT=1; + COEFFICIENTOFTHERMALEXPANSION_INVERSE_KELVIN=2; +} + +// +// Density units. +enum DensityUnit { + DENSITY_CENTIGRAM_PER_DECILITER=0; + DENSITY_CENTIGRAM_PER_LITER=1; + DENSITY_CENTIGRAM_PER_MILLILITER=2; + DENSITY_DECIGRAM_PER_DECILITER=3; + DENSITY_DECIGRAM_PER_LITER=4; + DENSITY_DECIGRAM_PER_MILLILITER=5; + DENSITY_GRAM_PER_CUBIC_CENTIMETER=6; + DENSITY_GRAM_PER_CUBIC_METER=7; + DENSITY_GRAM_PER_CUBIC_MILLIMETER=8; + DENSITY_GRAM_PER_DECILITER=9; + DENSITY_GRAM_PER_LITER=10; + DENSITY_GRAM_PER_MILLILITER=11; + DENSITY_KILOGRAM_PER_CUBIC_CENTIMETER=12; + DENSITY_KILOGRAM_PER_CUBIC_METER=13; + DENSITY_KILOGRAM_PER_CUBIC_MILLIMETER=14; + DENSITY_KILOGRAM_PER_LITER=15; + DENSITY_KILOPOUND_PER_CUBIC_FOOT=16; + DENSITY_KILOPOUND_PER_CUBIC_INCH=17; + DENSITY_MICROGRAM_PER_CUBIC_METER=18; + DENSITY_MICROGRAM_PER_DECILITER=19; + DENSITY_MICROGRAM_PER_LITER=20; + DENSITY_MICROGRAM_PER_MILLILITER=21; + DENSITY_MILLIGRAM_PER_CUBIC_METER=22; + DENSITY_MILLIGRAM_PER_DECILITER=23; + DENSITY_MILLIGRAM_PER_LITER=24; + DENSITY_MILLIGRAM_PER_MILLILITER=25; + DENSITY_NANOGRAM_PER_DECILITER=26; + DENSITY_NANOGRAM_PER_LITER=27; + DENSITY_NANOGRAM_PER_MILLILITER=28; + DENSITY_PICOGRAM_PER_DECILITER=29; + DENSITY_PICOGRAM_PER_LITER=30; + DENSITY_PICOGRAM_PER_MILLILITER=31; + DENSITY_POUND_PER_CUBIC_FOOT=32; + DENSITY_POUND_PER_CUBIC_INCH=33; + DENSITY_POUND_PER_IMPERIAL_GALLON=34; + DENSITY_POUND_PER_U_S_GALLON=35; + DENSITY_SLUG_PER_CUBIC_FOOT=36; + DENSITY_TONNE_PER_CUBIC_CENTIMETER=37; + DENSITY_TONNE_PER_CUBIC_METER=38; + DENSITY_TONNE_PER_CUBIC_MILLIMETER=39; +} + +// +// DynamicViscosity units. +enum DynamicViscosityUnit { + DYNAMICVISCOSITY_CENTIPOISE=0; + DYNAMICVISCOSITY_MICROPASCAL_SECOND=1; + DYNAMICVISCOSITY_MILLIPASCAL_SECOND=2; + DYNAMICVISCOSITY_NEWTON_SECOND_PER_METER_SQUARED=3; + DYNAMICVISCOSITY_PASCAL_SECOND=4; + DYNAMICVISCOSITY_POISE=5; + DYNAMICVISCOSITY_POUND_FORCE_SECOND_PER_SQUARE_FOOT=6; + DYNAMICVISCOSITY_POUND_FORCE_SECOND_PER_SQUARE_INCH=7; + DYNAMICVISCOSITY_REYN=8; +} + +// +// ElectricAdmittance units. +enum ElectricAdmittanceUnit { + ELECTRICADMITTANCE_MICROSIEMENS=0; + ELECTRICADMITTANCE_MILLISIEMENS=1; + ELECTRICADMITTANCE_NANOSIEMENS=2; + ELECTRICADMITTANCE_SIEMENS=3; +} + +// +// ElectricCharge units. +enum ElectricChargeUnit { + ELECTRICCHARGE_AMPERE_HOUR=0; + ELECTRICCHARGE_COULOMB=1; + ELECTRICCHARGE_KILOAMPERE_HOUR=2; + ELECTRICCHARGE_MEGAAMPERE_HOUR=3; + ELECTRICCHARGE_MILLIAMPERE_HOUR=4; +} + +// +// ElectricChargeDensity units. +enum ElectricChargeDensityUnit { + ELECTRICCHARGEDENSITY_COULOMB_PER_CUBIC_METER=0; +} + +// +// ElectricConductance units. +enum ElectricConductanceUnit { + ELECTRICCONDUCTANCE_MICROSIEMENS=0; + ELECTRICCONDUCTANCE_MILLISIEMENS=1; + ELECTRICCONDUCTANCE_SIEMENS=2; +} + +// +// ElectricConductivity units. +enum ElectricConductivityUnit { + ELECTRICCONDUCTIVITY_SIEMENS_PER_FOOT=0; + ELECTRICCONDUCTIVITY_SIEMENS_PER_INCH=1; + ELECTRICCONDUCTIVITY_SIEMENS_PER_METER=2; +} + +// +// ElectricCurrent units. +enum ElectricCurrentUnit { + ELECTRICCURRENT_AMPERE=0; + ELECTRICCURRENT_CENTIAMPERE=1; + ELECTRICCURRENT_KILOAMPERE=2; + ELECTRICCURRENT_MEGAAMPERE=3; + ELECTRICCURRENT_MICROAMPERE=4; + ELECTRICCURRENT_MILLIAMPERE=5; + ELECTRICCURRENT_NANOAMPERE=6; + ELECTRICCURRENT_PICOAMPERE=7; +} + +// +// ElectricCurrentDensity units. +enum ElectricCurrentDensityUnit { + ELECTRICCURRENTDENSITY_AMPERE_PER_SQUARE_FOOT=0; + ELECTRICCURRENTDENSITY_AMPERE_PER_SQUARE_INCH=1; + ELECTRICCURRENTDENSITY_AMPERE_PER_SQUARE_METER=2; +} + +// +// ElectricCurrentGradient units. +enum ElectricCurrentGradientUnit { + ELECTRICCURRENTGRADIENT_AMPERE_PER_SECOND=0; +} + +// +// ElectricField units. +enum ElectricFieldUnit { + ELECTRICFIELD_VOLT_PER_METER=0; +} + +// +// ElectricInductance units. +enum ElectricInductanceUnit { + ELECTRICINDUCTANCE_HENRY=0; + ELECTRICINDUCTANCE_MICROHENRY=1; + ELECTRICINDUCTANCE_MILLIHENRY=2; + ELECTRICINDUCTANCE_NANOHENRY=3; +} + +// +// ElectricPotential units. +enum ElectricPotentialUnit { + ELECTRICPOTENTIAL_KILOVOLT=0; + ELECTRICPOTENTIAL_MEGAVOLT=1; + ELECTRICPOTENTIAL_MICROVOLT=2; + ELECTRICPOTENTIAL_MILLIVOLT=3; + ELECTRICPOTENTIAL_VOLT=4; +} + +// +// ElectricPotentialAc units. +enum ElectricPotentialAcUnit { + ELECTRICPOTENTIALAC_KILOVOLT_AC=0; + ELECTRICPOTENTIALAC_MEGAVOLT_AC=1; + ELECTRICPOTENTIALAC_MICROVOLT_AC=2; + ELECTRICPOTENTIALAC_MILLIVOLT_AC=3; + ELECTRICPOTENTIALAC_VOLT_AC=4; +} + +// +// ElectricPotentialChangeRate units. +enum ElectricPotentialChangeRateUnit { + ELECTRICPOTENTIALCHANGERATE_KILOVOLT_PER_HOUR=0; + ELECTRICPOTENTIALCHANGERATE_KILOVOLT_PER_MICROSECOND=1; + ELECTRICPOTENTIALCHANGERATE_KILOVOLT_PER_MINUTE=2; + ELECTRICPOTENTIALCHANGERATE_KILOVOLT_PER_SECOND=3; + ELECTRICPOTENTIALCHANGERATE_MEGAVOLT_PER_HOUR=4; + ELECTRICPOTENTIALCHANGERATE_MEGAVOLT_PER_MICROSECOND=5; + ELECTRICPOTENTIALCHANGERATE_MEGAVOLT_PER_MINUTE=6; + ELECTRICPOTENTIALCHANGERATE_MEGAVOLT_PER_SECOND=7; + ELECTRICPOTENTIALCHANGERATE_MICROVOLT_PER_HOUR=8; + ELECTRICPOTENTIALCHANGERATE_MICROVOLT_PER_MICROSECOND=9; + ELECTRICPOTENTIALCHANGERATE_MICROVOLT_PER_MINUTE=10; + ELECTRICPOTENTIALCHANGERATE_MICROVOLT_PER_SECOND=11; + ELECTRICPOTENTIALCHANGERATE_MILLIVOLT_PER_HOUR=12; + ELECTRICPOTENTIALCHANGERATE_MILLIVOLT_PER_MICROSECOND=13; + ELECTRICPOTENTIALCHANGERATE_MILLIVOLT_PER_MINUTE=14; + ELECTRICPOTENTIALCHANGERATE_MILLIVOLT_PER_SECOND=15; + ELECTRICPOTENTIALCHANGERATE_VOLT_PER_HOUR=16; + ELECTRICPOTENTIALCHANGERATE_VOLT_PER_MICROSECOND=17; + ELECTRICPOTENTIALCHANGERATE_VOLT_PER_MINUTE=18; + ELECTRICPOTENTIALCHANGERATE_VOLT_PER_SECOND=19; +} + +// +// ElectricPotentialDc units. +enum ElectricPotentialDcUnit { + ELECTRICPOTENTIALDC_KILOVOLT_DC=0; + ELECTRICPOTENTIALDC_MEGAVOLT_DC=1; + ELECTRICPOTENTIALDC_MICROVOLT_DC=2; + ELECTRICPOTENTIALDC_MILLIVOLT_DC=3; + ELECTRICPOTENTIALDC_VOLT_DC=4; +} + +// +// ElectricResistance units. +enum ElectricResistanceUnit { + ELECTRICRESISTANCE_GIGAOHM=0; + ELECTRICRESISTANCE_KILOOHM=1; + ELECTRICRESISTANCE_MEGAOHM=2; + ELECTRICRESISTANCE_MICROOHM=3; + ELECTRICRESISTANCE_MILLIOHM=4; + ELECTRICRESISTANCE_OHM=5; +} + +// +// ElectricResistivity units. +enum ElectricResistivityUnit { + ELECTRICRESISTIVITY_KILOOHM_CENTIMETER=0; + ELECTRICRESISTIVITY_KILOOHM_METER=1; + ELECTRICRESISTIVITY_MEGAOHM_CENTIMETER=2; + ELECTRICRESISTIVITY_MEGAOHM_METER=3; + ELECTRICRESISTIVITY_MICROOHM_CENTIMETER=4; + ELECTRICRESISTIVITY_MICROOHM_METER=5; + ELECTRICRESISTIVITY_MILLIOHM_CENTIMETER=6; + ELECTRICRESISTIVITY_MILLIOHM_METER=7; + ELECTRICRESISTIVITY_NANOOHM_CENTIMETER=8; + ELECTRICRESISTIVITY_NANOOHM_METER=9; + ELECTRICRESISTIVITY_OHM_CENTIMETER=10; + ELECTRICRESISTIVITY_OHM_METER=11; + ELECTRICRESISTIVITY_PICOOHM_CENTIMETER=12; + ELECTRICRESISTIVITY_PICOOHM_METER=13; +} + +// +// ElectricSurfaceChargeDensity units. +enum ElectricSurfaceChargeDensityUnit { + ELECTRICSURFACECHARGEDENSITY_COULOMB_PER_SQUARE_CENTIMETER=0; + ELECTRICSURFACECHARGEDENSITY_COULOMB_PER_SQUARE_INCH=1; + ELECTRICSURFACECHARGEDENSITY_COULOMB_PER_SQUARE_METER=2; +} + +// +// Energy units. +enum EnergyUnit { + ENERGY_BRITISH_THERMAL_UNIT=0; + ENERGY_CALORIE=1; + ENERGY_DECATHERM_EC=2; + ENERGY_DECATHERM_IMPERIAL=3; + ENERGY_DECATHERM_US=4; + ENERGY_ELECTRON_VOLT=5; + ENERGY_ERG=6; + ENERGY_FOOT_POUND=7; + ENERGY_GIGABRITISH_THERMAL_UNIT=8; + ENERGY_GIGAELECTRON_VOLT=9; + ENERGY_GIGAJOULE=10; + ENERGY_GIGAWATT_DAY=11; + ENERGY_GIGAWATT_HOUR=12; + ENERGY_HORSEPOWER_HOUR=13; + ENERGY_JOULE=14; + ENERGY_KILOBRITISH_THERMAL_UNIT=15; + ENERGY_KILOCALORIE=16; + ENERGY_KILOELECTRON_VOLT=17; + ENERGY_KILOJOULE=18; + ENERGY_KILOWATT_DAY=19; + ENERGY_KILOWATT_HOUR=20; + ENERGY_MEGABRITISH_THERMAL_UNIT=21; + ENERGY_MEGACALORIE=22; + ENERGY_MEGAELECTRON_VOLT=23; + ENERGY_MEGAJOULE=24; + ENERGY_MEGAWATT_DAY=25; + ENERGY_MEGAWATT_HOUR=26; + ENERGY_MILLIJOULE=27; + ENERGY_TERAELECTRON_VOLT=28; + ENERGY_TERAWATT_DAY=29; + ENERGY_TERAWATT_HOUR=30; + ENERGY_THERM_EC=31; + ENERGY_THERM_IMPERIAL=32; + ENERGY_THERM_US=33; + ENERGY_WATT_DAY=34; + ENERGY_WATT_HOUR=35; +} + +// +// Entropy units. +enum EntropyUnit { + ENTROPY_CALORIE_PER_KELVIN=0; + ENTROPY_JOULE_PER_DEGREE_CELSIUS=1; + ENTROPY_JOULE_PER_KELVIN=2; + ENTROPY_KILOCALORIE_PER_KELVIN=3; + ENTROPY_KILOJOULE_PER_DEGREE_CELSIUS=4; + ENTROPY_KILOJOULE_PER_KELVIN=5; + ENTROPY_MEGAJOULE_PER_KELVIN=6; +} + +// +// Force units. +enum ForceUnit { + FORCE_DECANEWTON=0; + FORCE_DYN=1; + FORCE_KILOGRAM_FORCE=2; + FORCE_KILONEWTON=3; + FORCE_KILO_POND=4; + FORCE_KILOPOUND_FORCE=5; + FORCE_MEGANEWTON=6; + FORCE_MICRONEWTON=7; + FORCE_MILLINEWTON=8; + FORCE_NEWTON=9; + FORCE_OUNCE_FORCE=10; + FORCE_POUNDAL=11; + FORCE_POUND_FORCE=12; + FORCE_TONNE_FORCE=13; +} + +// +// ForceChangeRate units. +enum ForceChangeRateUnit { + FORCECHANGERATE_CENTINEWTON_PER_SECOND=0; + FORCECHANGERATE_DECANEWTON_PER_MINUTE=1; + FORCECHANGERATE_DECANEWTON_PER_SECOND=2; + FORCECHANGERATE_DECINEWTON_PER_SECOND=3; + FORCECHANGERATE_KILONEWTON_PER_MINUTE=4; + FORCECHANGERATE_KILONEWTON_PER_SECOND=5; + FORCECHANGERATE_MICRONEWTON_PER_SECOND=6; + FORCECHANGERATE_MILLINEWTON_PER_SECOND=7; + FORCECHANGERATE_NANONEWTON_PER_SECOND=8; + FORCECHANGERATE_NEWTON_PER_MINUTE=9; + FORCECHANGERATE_NEWTON_PER_SECOND=10; +} + +// +// ForcePerLength units. +enum ForcePerLengthUnit { + FORCEPERLENGTH_CENTINEWTON_PER_CENTIMETER=0; + FORCEPERLENGTH_CENTINEWTON_PER_METER=1; + FORCEPERLENGTH_CENTINEWTON_PER_MILLIMETER=2; + FORCEPERLENGTH_DECANEWTON_PER_CENTIMETER=3; + FORCEPERLENGTH_DECANEWTON_PER_METER=4; + FORCEPERLENGTH_DECANEWTON_PER_MILLIMETER=5; + FORCEPERLENGTH_DECINEWTON_PER_CENTIMETER=6; + FORCEPERLENGTH_DECINEWTON_PER_METER=7; + FORCEPERLENGTH_DECINEWTON_PER_MILLIMETER=8; + FORCEPERLENGTH_KILOGRAM_FORCE_PER_CENTIMETER=9; + FORCEPERLENGTH_KILOGRAM_FORCE_PER_METER=10; + FORCEPERLENGTH_KILOGRAM_FORCE_PER_MILLIMETER=11; + FORCEPERLENGTH_KILONEWTON_PER_CENTIMETER=12; + FORCEPERLENGTH_KILONEWTON_PER_METER=13; + FORCEPERLENGTH_KILONEWTON_PER_MILLIMETER=14; + FORCEPERLENGTH_KILOPOUND_FORCE_PER_FOOT=15; + FORCEPERLENGTH_KILOPOUND_FORCE_PER_INCH=16; + FORCEPERLENGTH_MEGANEWTON_PER_CENTIMETER=17; + FORCEPERLENGTH_MEGANEWTON_PER_METER=18; + FORCEPERLENGTH_MEGANEWTON_PER_MILLIMETER=19; + FORCEPERLENGTH_MICRONEWTON_PER_CENTIMETER=20; + FORCEPERLENGTH_MICRONEWTON_PER_METER=21; + FORCEPERLENGTH_MICRONEWTON_PER_MILLIMETER=22; + FORCEPERLENGTH_MILLINEWTON_PER_CENTIMETER=23; + FORCEPERLENGTH_MILLINEWTON_PER_METER=24; + FORCEPERLENGTH_MILLINEWTON_PER_MILLIMETER=25; + FORCEPERLENGTH_NANONEWTON_PER_CENTIMETER=26; + FORCEPERLENGTH_NANONEWTON_PER_METER=27; + FORCEPERLENGTH_NANONEWTON_PER_MILLIMETER=28; + FORCEPERLENGTH_NEWTON_PER_CENTIMETER=29; + FORCEPERLENGTH_NEWTON_PER_METER=30; + FORCEPERLENGTH_NEWTON_PER_MILLIMETER=31; + FORCEPERLENGTH_POUND_FORCE_PER_FOOT=32; + FORCEPERLENGTH_POUND_FORCE_PER_INCH=33; + FORCEPERLENGTH_POUND_FORCE_PER_YARD=34; + FORCEPERLENGTH_TONNE_FORCE_PER_CENTIMETER=35; + FORCEPERLENGTH_TONNE_FORCE_PER_METER=36; + FORCEPERLENGTH_TONNE_FORCE_PER_MILLIMETER=37; +} + +// +// Frequency units. +enum FrequencyUnit { + FREQUENCY_BEAT_PER_MINUTE=0; + FREQUENCY_CYCLE_PER_HOUR=1; + FREQUENCY_CYCLE_PER_MINUTE=2; + FREQUENCY_GIGAHERTZ=3; + FREQUENCY_HERTZ=4; + FREQUENCY_KILOHERTZ=5; + FREQUENCY_MEGAHERTZ=6; + FREQUENCY_RADIAN_PER_SECOND=7; + FREQUENCY_TERAHERTZ=8; +} + +// +// HeatFlux units. +enum HeatFluxUnit { + HEATFLUX_BTU_PER_HOUR_SQUARE_FOOT=0; + HEATFLUX_BTU_PER_MINUTE_SQUARE_FOOT=1; + HEATFLUX_BTU_PER_SECOND_SQUARE_FOOT=2; + HEATFLUX_BTU_PER_SECOND_SQUARE_INCH=3; + HEATFLUX_CALORIE_PER_SECOND_SQUARE_CENTIMETER=4; + HEATFLUX_CENTIWATT_PER_SQUARE_METER=5; + HEATFLUX_DECIWATT_PER_SQUARE_METER=6; + HEATFLUX_KILOCALORIE_PER_HOUR_SQUARE_METER=7; + HEATFLUX_KILOCALORIE_PER_SECOND_SQUARE_CENTIMETER=8; + HEATFLUX_KILOWATT_PER_SQUARE_METER=9; + HEATFLUX_MICROWATT_PER_SQUARE_METER=10; + HEATFLUX_MILLIWATT_PER_SQUARE_METER=11; + HEATFLUX_NANOWATT_PER_SQUARE_METER=12; + HEATFLUX_POUND_FORCE_PER_FOOT_SECOND=13; + HEATFLUX_POUND_PER_SECOND_CUBED=14; + HEATFLUX_WATT_PER_SQUARE_FOOT=15; + HEATFLUX_WATT_PER_SQUARE_INCH=16; + HEATFLUX_WATT_PER_SQUARE_METER=17; +} + +// +// HeatTransferCoefficient units. +enum HeatTransferCoefficientUnit { + HEATTRANSFERCOEFFICIENT_BTU_PER_SQUARE_FOOT_DEGREE_FAHRENHEIT=0; + HEATTRANSFERCOEFFICIENT_WATT_PER_SQUARE_METER_CELSIUS=1; + HEATTRANSFERCOEFFICIENT_WATT_PER_SQUARE_METER_KELVIN=2; +} + +// +// InverseArea units. +enum InverseAreaUnit { + INVERSEAREA_INVERSE_SQUARE_CENTIMETER=0; + INVERSEAREA_INVERSE_SQUARE_FOOT=1; + INVERSEAREA_INVERSE_SQUARE_INCH=2; + INVERSEAREA_INVERSE_SQUARE_METER=3; + INVERSEAREA_INVERSE_SQUARE_MICROMETER=4; + INVERSEAREA_INVERSE_SQUARE_MILLIMETER=5; +} + +// +// InverseLength units. +enum InverseLengthUnit { + INVERSELENGTH_INVERSE_CENTIMETER=0; + INVERSELENGTH_INVERSE_FOOT=1; + INVERSELENGTH_INVERSE_INCH=2; + INVERSELENGTH_INVERSE_METER=3; + INVERSELENGTH_INVERSE_MICROMETER=4; + INVERSELENGTH_INVERSE_MILLIMETER=5; +} + +// +// KinematicViscosity units. +enum KinematicViscosityUnit { + KINEMATICVISCOSITY_CENTISTOKES=0; + KINEMATICVISCOSITY_DECISTOKES=1; + KINEMATICVISCOSITY_KILOSTOKES=2; + KINEMATICVISCOSITY_MICROSTOKES=3; + KINEMATICVISCOSITY_MILLISTOKES=4; + KINEMATICVISCOSITY_NANOSTOKES=5; + KINEMATICVISCOSITY_SQUARE_METER_PER_SECOND=6; + KINEMATICVISCOSITY_STOKES=7; +} + +// +// Length units. +enum LengthUnit { + LENGTH_ASTRONOMICAL_UNIT=0; + LENGTH_CENTIMETER=1; + LENGTH_DECIMETER=2; + LENGTH_DTP_PICA=3; + LENGTH_DTP_POINT=4; + LENGTH_FATHOM=5; + LENGTH_FOOT=6; + LENGTH_HAND=7; + LENGTH_HECTOMETER=8; + LENGTH_INCH=9; + LENGTH_KILOLIGHT_YEAR=10; + LENGTH_KILOMETER=11; + LENGTH_KILOPARSEC=12; + LENGTH_LIGHT_YEAR=13; + LENGTH_MEGALIGHT_YEAR=14; + LENGTH_MEGAPARSEC=15; + LENGTH_METER=16; + LENGTH_MICROINCH=17; + LENGTH_MICROMETER=18; + LENGTH_MIL=19; + LENGTH_MILE=20; + LENGTH_MILLIMETER=21; + LENGTH_NANOMETER=22; + LENGTH_NAUTICAL_MILE=23; + LENGTH_PARSEC=24; + LENGTH_PRINTER_PICA=25; + LENGTH_PRINTER_POINT=26; + LENGTH_SHACKLE=27; + LENGTH_SOLAR_RADIUS=28; + LENGTH_TWIP=29; + LENGTH_US_SURVEY_FOOT=30; + LENGTH_YARD=31; +} + +// +// MagneticField units. +enum MagneticFieldUnit { + MAGNETICFIELD_GAUSS=0; + MAGNETICFIELD_MICROTESLA=1; + MAGNETICFIELD_MILLITESLA=2; + MAGNETICFIELD_NANOTESLA=3; + MAGNETICFIELD_TESLA=4; +} + +// +// Mass units. +enum MassUnit { + MASS_CENTIGRAM=0; + MASS_DECAGRAM=1; + MASS_DECIGRAM=2; + MASS_EARTH_MASS=3; + MASS_GRAIN=4; + MASS_GRAM=5; + MASS_HECTOGRAM=6; + MASS_KILOGRAM=7; + MASS_KILOPOUND=8; + MASS_KILOTONNE=9; + MASS_LONG_HUNDREDWEIGHT=10; + MASS_LONG_TON=11; + MASS_MEGAPOUND=12; + MASS_MEGATONNE=13; + MASS_MICROGRAM=14; + MASS_MILLIGRAM=15; + MASS_NANOGRAM=16; + MASS_OUNCE=17; + MASS_POUND=18; + MASS_SHORT_HUNDREDWEIGHT=19; + MASS_SHORT_TON=20; + MASS_SLUG=21; + MASS_SOLAR_MASS=22; + MASS_STONE=23; + MASS_TONNE=24; +} + +// +// MassConcentration units. +enum MassConcentrationUnit { + MASSCONCENTRATION_CENTIGRAM_PER_DECILITER=0; + MASSCONCENTRATION_CENTIGRAM_PER_LITER=1; + MASSCONCENTRATION_CENTIGRAM_PER_MICROLITER=2; + MASSCONCENTRATION_CENTIGRAM_PER_MILLILITER=3; + MASSCONCENTRATION_DECIGRAM_PER_DECILITER=4; + MASSCONCENTRATION_DECIGRAM_PER_LITER=5; + MASSCONCENTRATION_DECIGRAM_PER_MICROLITER=6; + MASSCONCENTRATION_DECIGRAM_PER_MILLILITER=7; + MASSCONCENTRATION_GRAM_PER_CUBIC_CENTIMETER=8; + MASSCONCENTRATION_GRAM_PER_CUBIC_METER=9; + MASSCONCENTRATION_GRAM_PER_CUBIC_MILLIMETER=10; + MASSCONCENTRATION_GRAM_PER_DECILITER=11; + MASSCONCENTRATION_GRAM_PER_LITER=12; + MASSCONCENTRATION_GRAM_PER_MICROLITER=13; + MASSCONCENTRATION_GRAM_PER_MILLILITER=14; + MASSCONCENTRATION_KILOGRAM_PER_CUBIC_CENTIMETER=15; + MASSCONCENTRATION_KILOGRAM_PER_CUBIC_METER=16; + MASSCONCENTRATION_KILOGRAM_PER_CUBIC_MILLIMETER=17; + MASSCONCENTRATION_KILOGRAM_PER_LITER=18; + MASSCONCENTRATION_KILOPOUND_PER_CUBIC_FOOT=19; + MASSCONCENTRATION_KILOPOUND_PER_CUBIC_INCH=20; + MASSCONCENTRATION_MICROGRAM_PER_CUBIC_METER=21; + MASSCONCENTRATION_MICROGRAM_PER_DECILITER=22; + MASSCONCENTRATION_MICROGRAM_PER_LITER=23; + MASSCONCENTRATION_MICROGRAM_PER_MICROLITER=24; + MASSCONCENTRATION_MICROGRAM_PER_MILLILITER=25; + MASSCONCENTRATION_MILLIGRAM_PER_CUBIC_METER=26; + MASSCONCENTRATION_MILLIGRAM_PER_DECILITER=27; + MASSCONCENTRATION_MILLIGRAM_PER_LITER=28; + MASSCONCENTRATION_MILLIGRAM_PER_MICROLITER=29; + MASSCONCENTRATION_MILLIGRAM_PER_MILLILITER=30; + MASSCONCENTRATION_NANOGRAM_PER_DECILITER=31; + MASSCONCENTRATION_NANOGRAM_PER_LITER=32; + MASSCONCENTRATION_NANOGRAM_PER_MICROLITER=33; + MASSCONCENTRATION_NANOGRAM_PER_MILLILITER=34; + MASSCONCENTRATION_PICOGRAM_PER_DECILITER=35; + MASSCONCENTRATION_PICOGRAM_PER_LITER=36; + MASSCONCENTRATION_PICOGRAM_PER_MICROLITER=37; + MASSCONCENTRATION_PICOGRAM_PER_MILLILITER=38; + MASSCONCENTRATION_POUND_PER_CUBIC_FOOT=39; + MASSCONCENTRATION_POUND_PER_CUBIC_INCH=40; + MASSCONCENTRATION_POUND_PER_IMPERIAL_GALLON=41; + MASSCONCENTRATION_POUND_PER_U_S_GALLON=42; + MASSCONCENTRATION_SLUG_PER_CUBIC_FOOT=43; + MASSCONCENTRATION_TONNE_PER_CUBIC_CENTIMETER=44; + MASSCONCENTRATION_TONNE_PER_CUBIC_METER=45; + MASSCONCENTRATION_TONNE_PER_CUBIC_MILLIMETER=46; +} + +// +// MassFlow units. +enum MassFlowUnit { + MASSFLOW_CENTIGRAM_PER_DAY=0; + MASSFLOW_CENTIGRAM_PER_SECOND=1; + MASSFLOW_DECAGRAM_PER_DAY=2; + MASSFLOW_DECAGRAM_PER_SECOND=3; + MASSFLOW_DECIGRAM_PER_DAY=4; + MASSFLOW_DECIGRAM_PER_SECOND=5; + MASSFLOW_GRAM_PER_DAY=6; + MASSFLOW_GRAM_PER_HOUR=7; + MASSFLOW_GRAM_PER_SECOND=8; + MASSFLOW_HECTOGRAM_PER_DAY=9; + MASSFLOW_HECTOGRAM_PER_SECOND=10; + MASSFLOW_KILOGRAM_PER_DAY=11; + MASSFLOW_KILOGRAM_PER_HOUR=12; + MASSFLOW_KILOGRAM_PER_MINUTE=13; + MASSFLOW_KILOGRAM_PER_SECOND=14; + MASSFLOW_MEGAGRAM_PER_DAY=15; + MASSFLOW_MEGAPOUND_PER_DAY=16; + MASSFLOW_MEGAPOUND_PER_HOUR=17; + MASSFLOW_MEGAPOUND_PER_MINUTE=18; + MASSFLOW_MEGAPOUND_PER_SECOND=19; + MASSFLOW_MICROGRAM_PER_DAY=20; + MASSFLOW_MICROGRAM_PER_SECOND=21; + MASSFLOW_MILLIGRAM_PER_DAY=22; + MASSFLOW_MILLIGRAM_PER_SECOND=23; + MASSFLOW_NANOGRAM_PER_DAY=24; + MASSFLOW_NANOGRAM_PER_SECOND=25; + MASSFLOW_POUND_PER_DAY=26; + MASSFLOW_POUND_PER_HOUR=27; + MASSFLOW_POUND_PER_MINUTE=28; + MASSFLOW_POUND_PER_SECOND=29; + MASSFLOW_SHORT_TON_PER_HOUR=30; + MASSFLOW_TONNE_PER_DAY=31; + MASSFLOW_TONNE_PER_HOUR=32; +} + +// +// MassFlux units. +enum MassFluxUnit { + MASSFLUX_GRAM_PER_HOUR_PER_SQUARE_CENTIMETER=0; + MASSFLUX_GRAM_PER_HOUR_PER_SQUARE_METER=1; + MASSFLUX_GRAM_PER_HOUR_PER_SQUARE_MILLIMETER=2; + MASSFLUX_GRAM_PER_SECOND_PER_SQUARE_CENTIMETER=3; + MASSFLUX_GRAM_PER_SECOND_PER_SQUARE_METER=4; + MASSFLUX_GRAM_PER_SECOND_PER_SQUARE_MILLIMETER=5; + MASSFLUX_KILOGRAM_PER_HOUR_PER_SQUARE_CENTIMETER=6; + MASSFLUX_KILOGRAM_PER_HOUR_PER_SQUARE_METER=7; + MASSFLUX_KILOGRAM_PER_HOUR_PER_SQUARE_MILLIMETER=8; + MASSFLUX_KILOGRAM_PER_SECOND_PER_SQUARE_CENTIMETER=9; + MASSFLUX_KILOGRAM_PER_SECOND_PER_SQUARE_METER=10; + MASSFLUX_KILOGRAM_PER_SECOND_PER_SQUARE_MILLIMETER=11; +} + +// +// MassFraction units. +enum MassFractionUnit { + MASSFRACTION_CENTIGRAM_PER_GRAM=0; + MASSFRACTION_CENTIGRAM_PER_KILOGRAM=1; + MASSFRACTION_DECAGRAM_PER_GRAM=2; + MASSFRACTION_DECAGRAM_PER_KILOGRAM=3; + MASSFRACTION_DECIGRAM_PER_GRAM=4; + MASSFRACTION_DECIGRAM_PER_KILOGRAM=5; + MASSFRACTION_DECIMAL_FRACTION=6; + MASSFRACTION_GRAM_PER_GRAM=7; + MASSFRACTION_GRAM_PER_KILOGRAM=8; + MASSFRACTION_HECTOGRAM_PER_GRAM=9; + MASSFRACTION_HECTOGRAM_PER_KILOGRAM=10; + MASSFRACTION_KILOGRAM_PER_GRAM=11; + MASSFRACTION_KILOGRAM_PER_KILOGRAM=12; + MASSFRACTION_MICROGRAM_PER_GRAM=13; + MASSFRACTION_MICROGRAM_PER_KILOGRAM=14; + MASSFRACTION_MILLIGRAM_PER_GRAM=15; + MASSFRACTION_MILLIGRAM_PER_KILOGRAM=16; + MASSFRACTION_NANOGRAM_PER_GRAM=17; + MASSFRACTION_NANOGRAM_PER_KILOGRAM=18; + MASSFRACTION_PART_PER_BILLION=19; + MASSFRACTION_PART_PER_MILLION=20; + MASSFRACTION_PART_PER_THOUSAND=21; + MASSFRACTION_PART_PER_TRILLION=22; + MASSFRACTION_PERCENT=23; +} + +// +// MassMomentOfInertia units. +enum MassMomentOfInertiaUnit { + MASSMOMENTOFINERTIA_GRAM_SQUARE_CENTIMETER=0; + MASSMOMENTOFINERTIA_GRAM_SQUARE_DECIMETER=1; + MASSMOMENTOFINERTIA_GRAM_SQUARE_METER=2; + MASSMOMENTOFINERTIA_GRAM_SQUARE_MILLIMETER=3; + MASSMOMENTOFINERTIA_KILOGRAM_SQUARE_CENTIMETER=4; + MASSMOMENTOFINERTIA_KILOGRAM_SQUARE_DECIMETER=5; + MASSMOMENTOFINERTIA_KILOGRAM_SQUARE_METER=6; + MASSMOMENTOFINERTIA_KILOGRAM_SQUARE_MILLIMETER=7; + MASSMOMENTOFINERTIA_KILOTONNE_SQUARE_CENTIMETER=8; + MASSMOMENTOFINERTIA_KILOTONNE_SQUARE_DECIMETER=9; + MASSMOMENTOFINERTIA_KILOTONNE_SQUARE_METER=10; + MASSMOMENTOFINERTIA_KILOTONNE_SQUARE_MILIMETER=11; + MASSMOMENTOFINERTIA_MEGATONNE_SQUARE_CENTIMETER=12; + MASSMOMENTOFINERTIA_MEGATONNE_SQUARE_DECIMETER=13; + MASSMOMENTOFINERTIA_MEGATONNE_SQUARE_METER=14; + MASSMOMENTOFINERTIA_MEGATONNE_SQUARE_MILIMETER=15; + MASSMOMENTOFINERTIA_MILLIGRAM_SQUARE_CENTIMETER=16; + MASSMOMENTOFINERTIA_MILLIGRAM_SQUARE_DECIMETER=17; + MASSMOMENTOFINERTIA_MILLIGRAM_SQUARE_METER=18; + MASSMOMENTOFINERTIA_MILLIGRAM_SQUARE_MILLIMETER=19; + MASSMOMENTOFINERTIA_POUND_SQUARE_FOOT=20; + MASSMOMENTOFINERTIA_POUND_SQUARE_INCH=21; + MASSMOMENTOFINERTIA_SLUG_SQUARE_FOOT=22; + MASSMOMENTOFINERTIA_SLUG_SQUARE_INCH=23; + MASSMOMENTOFINERTIA_TONNE_SQUARE_CENTIMETER=24; + MASSMOMENTOFINERTIA_TONNE_SQUARE_DECIMETER=25; + MASSMOMENTOFINERTIA_TONNE_SQUARE_METER=26; + MASSMOMENTOFINERTIA_TONNE_SQUARE_MILIMETER=27; +} + +// +// Molarity units. +enum MolarityUnit { + MOLARITY_CENTIMOLES_PER_LITER=0; + MOLARITY_DECIMOLES_PER_LITER=1; + MOLARITY_MICROMOLES_PER_LITER=2; + MOLARITY_MILLIMOLES_PER_LITER=3; + MOLARITY_MOLES_PER_CUBIC_METER=4; + MOLARITY_MOLES_PER_LITER=5; + MOLARITY_NANOMOLES_PER_LITER=6; + MOLARITY_PICOMOLES_PER_LITER=7; +} + +// +// MolarMass units. +enum MolarMassUnit { + MOLARMASS_CENTIGRAM_PER_MOLE=0; + MOLARMASS_DECAGRAM_PER_MOLE=1; + MOLARMASS_DECIGRAM_PER_MOLE=2; + MOLARMASS_GRAM_PER_MOLE=3; + MOLARMASS_HECTOGRAM_PER_MOLE=4; + MOLARMASS_KILOGRAM_PER_MOLE=5; + MOLARMASS_KILOPOUND_PER_MOLE=6; + MOLARMASS_MEGAPOUND_PER_MOLE=7; + MOLARMASS_MICROGRAM_PER_MOLE=8; + MOLARMASS_MILLIGRAM_PER_MOLE=9; + MOLARMASS_NANOGRAM_PER_MOLE=10; + MOLARMASS_POUND_PER_MOLE=11; +} + +// +// Permeability units. +enum PermeabilityUnit { + PERMEABILITY_HENRY_PER_METER=0; +} + +// +// Permittivity units. +enum PermittivityUnit { + PERMITTIVITY_FARAD_PER_METER=0; +} + +// +// Power units. +enum PowerUnit { + POWER_BOILER_HORSEPOWER=0; + POWER_BRITISH_THERMAL_UNIT_PER_HOUR=1; + POWER_DECAWATT=2; + POWER_DECIWATT=3; + POWER_ELECTRICAL_HORSEPOWER=4; + POWER_FEMTOWATT=5; + POWER_GIGAJOULE_PER_HOUR=6; + POWER_GIGAWATT=7; + POWER_HYDRAULIC_HORSEPOWER=8; + POWER_JOULE_PER_HOUR=9; + POWER_KILOBRITISH_THERMAL_UNIT_PER_HOUR=10; + POWER_KILOJOULE_PER_HOUR=11; + POWER_KILOWATT=12; + POWER_MECHANICAL_HORSEPOWER=13; + POWER_MEGAJOULE_PER_HOUR=14; + POWER_MEGAWATT=15; + POWER_METRIC_HORSEPOWER=16; + POWER_MICROWATT=17; + POWER_MILLIJOULE_PER_HOUR=18; + POWER_MILLIWATT=19; + POWER_NANOWATT=20; + POWER_PETAWATT=21; + POWER_PICOWATT=22; + POWER_TERAWATT=23; + POWER_WATT=24; +} + +// +// PowerDensity units. +enum PowerDensityUnit { + POWERDENSITY_DECAWATT_PER_CUBIC_FOOT=0; + POWERDENSITY_DECAWATT_PER_CUBIC_INCH=1; + POWERDENSITY_DECAWATT_PER_CUBIC_METER=2; + POWERDENSITY_DECAWATT_PER_LITER=3; + POWERDENSITY_DECIWATT_PER_CUBIC_FOOT=4; + POWERDENSITY_DECIWATT_PER_CUBIC_INCH=5; + POWERDENSITY_DECIWATT_PER_CUBIC_METER=6; + POWERDENSITY_DECIWATT_PER_LITER=7; + POWERDENSITY_GIGAWATT_PER_CUBIC_FOOT=8; + POWERDENSITY_GIGAWATT_PER_CUBIC_INCH=9; + POWERDENSITY_GIGAWATT_PER_CUBIC_METER=10; + POWERDENSITY_GIGAWATT_PER_LITER=11; + POWERDENSITY_KILOWATT_PER_CUBIC_FOOT=12; + POWERDENSITY_KILOWATT_PER_CUBIC_INCH=13; + POWERDENSITY_KILOWATT_PER_CUBIC_METER=14; + POWERDENSITY_KILOWATT_PER_LITER=15; + POWERDENSITY_MEGAWATT_PER_CUBIC_FOOT=16; + POWERDENSITY_MEGAWATT_PER_CUBIC_INCH=17; + POWERDENSITY_MEGAWATT_PER_CUBIC_METER=18; + POWERDENSITY_MEGAWATT_PER_LITER=19; + POWERDENSITY_MICROWATT_PER_CUBIC_FOOT=20; + POWERDENSITY_MICROWATT_PER_CUBIC_INCH=21; + POWERDENSITY_MICROWATT_PER_CUBIC_METER=22; + POWERDENSITY_MICROWATT_PER_LITER=23; + POWERDENSITY_MILLIWATT_PER_CUBIC_FOOT=24; + POWERDENSITY_MILLIWATT_PER_CUBIC_INCH=25; + POWERDENSITY_MILLIWATT_PER_CUBIC_METER=26; + POWERDENSITY_MILLIWATT_PER_LITER=27; + POWERDENSITY_NANOWATT_PER_CUBIC_FOOT=28; + POWERDENSITY_NANOWATT_PER_CUBIC_INCH=29; + POWERDENSITY_NANOWATT_PER_CUBIC_METER=30; + POWERDENSITY_NANOWATT_PER_LITER=31; + POWERDENSITY_PICOWATT_PER_CUBIC_FOOT=32; + POWERDENSITY_PICOWATT_PER_CUBIC_INCH=33; + POWERDENSITY_PICOWATT_PER_CUBIC_METER=34; + POWERDENSITY_PICOWATT_PER_LITER=35; + POWERDENSITY_TERAWATT_PER_CUBIC_FOOT=36; + POWERDENSITY_TERAWATT_PER_CUBIC_INCH=37; + POWERDENSITY_TERAWATT_PER_CUBIC_METER=38; + POWERDENSITY_TERAWATT_PER_LITER=39; + POWERDENSITY_WATT_PER_CUBIC_FOOT=40; + POWERDENSITY_WATT_PER_CUBIC_INCH=41; + POWERDENSITY_WATT_PER_CUBIC_METER=42; + POWERDENSITY_WATT_PER_LITER=43; +} + +// +// PowerRatio units. +enum PowerRatioUnit { + POWERRATIO_DECIBEL_MILLIWATT=0; + POWERRATIO_DECIBEL_WATT=1; +} + +// +// Pressure units. +enum PressureUnit { + PRESSURE_ATMOSPHERE=0; + PRESSURE_BAR=1; + PRESSURE_CENTIBAR=2; + PRESSURE_DECAPASCAL=3; + PRESSURE_DECIBAR=4; + PRESSURE_DYNE_PER_SQUARE_CENTIMETER=5; + PRESSURE_FOOT_OF_HEAD=6; + PRESSURE_GIGAPASCAL=7; + PRESSURE_HECTOPASCAL=8; + PRESSURE_INCH_OF_MERCURY=9; + PRESSURE_INCH_OF_WATER_COLUMN=10; + PRESSURE_KILOBAR=11; + PRESSURE_KILOGRAM_FORCE_PER_SQUARE_CENTIMETER=12; + PRESSURE_KILOGRAM_FORCE_PER_SQUARE_METER=13; + PRESSURE_KILOGRAM_FORCE_PER_SQUARE_MILLIMETER=14; + PRESSURE_KILONEWTON_PER_SQUARE_CENTIMETER=15; + PRESSURE_KILONEWTON_PER_SQUARE_METER=16; + PRESSURE_KILONEWTON_PER_SQUARE_MILLIMETER=17; + PRESSURE_KILOPASCAL=18; + PRESSURE_KILOPOUND_FORCE_PER_SQUARE_FOOT=19; + PRESSURE_KILOPOUND_FORCE_PER_SQUARE_INCH=20; + PRESSURE_MEGABAR=21; + PRESSURE_MEGANEWTON_PER_SQUARE_METER=22; + PRESSURE_MEGAPASCAL=23; + PRESSURE_METER_OF_HEAD=24; + PRESSURE_MICROBAR=25; + PRESSURE_MICROPASCAL=26; + PRESSURE_MILLIBAR=27; + PRESSURE_MILLIMETER_OF_MERCURY=28; + PRESSURE_MILLIPASCAL=29; + PRESSURE_NEWTON_PER_SQUARE_CENTIMETER=30; + PRESSURE_NEWTON_PER_SQUARE_METER=31; + PRESSURE_NEWTON_PER_SQUARE_MILLIMETER=32; + PRESSURE_PASCAL=33; + PRESSURE_POUND_FORCE_PER_SQUARE_FOOT=34; + PRESSURE_POUND_FORCE_PER_SQUARE_INCH=35; + PRESSURE_POUND_PER_INCH_SECOND_SQUARED=36; + PRESSURE_TECHNICAL_ATMOSPHERE=37; + PRESSURE_TONNE_FORCE_PER_SQUARE_CENTIMETER=38; + PRESSURE_TONNE_FORCE_PER_SQUARE_METER=39; + PRESSURE_TONNE_FORCE_PER_SQUARE_MILLIMETER=40; + PRESSURE_TORR=41; +} + +// +// Ratio units. +enum RatioUnit { + RATIO_DECIMAL_FRACTION=0; + RATIO_PART_PER_BILLION=1; + RATIO_PART_PER_MILLION=2; + RATIO_PART_PER_THOUSAND=3; + RATIO_PART_PER_TRILLION=4; + RATIO_PERCENT=5; +} + +// +// RatioChangeRate units. +enum RatioChangeRateUnit { + RATIOCHANGERATE_DECIMAL_FRACTION_PER_SECOND=0; + RATIOCHANGERATE_PERCENT_PER_SECOND=1; +} + +// +// ReactiveEnergy units. +enum ReactiveEnergyUnit { + REACTIVEENERGY_KILOVOLTAMPERE_REACTIVE_HOUR=0; + REACTIVEENERGY_MEGAVOLTAMPERE_REACTIVE_HOUR=1; + REACTIVEENERGY_VOLTAMPERE_REACTIVE_HOUR=2; +} + +// +// ReactivePower units. +enum ReactivePowerUnit { + REACTIVEPOWER_GIGAVOLTAMPERE_REACTIVE=0; + REACTIVEPOWER_KILOVOLTAMPERE_REACTIVE=1; + REACTIVEPOWER_MEGAVOLTAMPERE_REACTIVE=2; + REACTIVEPOWER_VOLTAMPERE_REACTIVE=3; +} + +// +// RotationalAcceleration units. +enum RotationalAccelerationUnit { + ROTATIONALACCELERATION_DEGREE_PER_SECOND_SQUARED=0; + ROTATIONALACCELERATION_RADIAN_PER_SECOND_SQUARED=1; + ROTATIONALACCELERATION_REVOLUTION_PER_MINUTE_PER_SECOND=2; + ROTATIONALACCELERATION_REVOLUTION_PER_SECOND_SQUARED=3; +} + +// +// RotationalSpeed units. +enum RotationalSpeedUnit { + ROTATIONALSPEED_CENTIRADIAN_PER_SECOND=0; + ROTATIONALSPEED_DECIRADIAN_PER_SECOND=1; + ROTATIONALSPEED_DEGREE_PER_MINUTE=2; + ROTATIONALSPEED_DEGREE_PER_SECOND=3; + ROTATIONALSPEED_MICRODEGREE_PER_SECOND=4; + ROTATIONALSPEED_MICRORADIAN_PER_SECOND=5; + ROTATIONALSPEED_MILLIDEGREE_PER_SECOND=6; + ROTATIONALSPEED_MILLIRADIAN_PER_SECOND=7; + ROTATIONALSPEED_NANODEGREE_PER_SECOND=8; + ROTATIONALSPEED_NANORADIAN_PER_SECOND=9; + ROTATIONALSPEED_RADIAN_PER_SECOND=10; + ROTATIONALSPEED_REVOLUTION_PER_MINUTE=11; + ROTATIONALSPEED_REVOLUTION_PER_SECOND=12; +} + +// +// RotationalStiffness units. +enum RotationalStiffnessUnit { + ROTATIONALSTIFFNESS_CENTINEWTON_METER_PER_DEGREE=0; + ROTATIONALSTIFFNESS_CENTINEWTON_MILLIMETER_PER_DEGREE=1; + ROTATIONALSTIFFNESS_CENTINEWTON_MILLIMETER_PER_RADIAN=2; + ROTATIONALSTIFFNESS_DECANEWTON_METER_PER_DEGREE=3; + ROTATIONALSTIFFNESS_DECANEWTON_MILLIMETER_PER_DEGREE=4; + ROTATIONALSTIFFNESS_DECANEWTON_MILLIMETER_PER_RADIAN=5; + ROTATIONALSTIFFNESS_DECINEWTON_METER_PER_DEGREE=6; + ROTATIONALSTIFFNESS_DECINEWTON_MILLIMETER_PER_DEGREE=7; + ROTATIONALSTIFFNESS_DECINEWTON_MILLIMETER_PER_RADIAN=8; + ROTATIONALSTIFFNESS_KILONEWTON_METER_PER_DEGREE=9; + ROTATIONALSTIFFNESS_KILONEWTON_METER_PER_RADIAN=10; + ROTATIONALSTIFFNESS_KILONEWTON_MILLIMETER_PER_DEGREE=11; + ROTATIONALSTIFFNESS_KILONEWTON_MILLIMETER_PER_RADIAN=12; + ROTATIONALSTIFFNESS_KILOPOUND_FORCE_FOOT_PER_DEGREES=13; + ROTATIONALSTIFFNESS_MEGANEWTON_METER_PER_DEGREE=14; + ROTATIONALSTIFFNESS_MEGANEWTON_METER_PER_RADIAN=15; + ROTATIONALSTIFFNESS_MEGANEWTON_MILLIMETER_PER_DEGREE=16; + ROTATIONALSTIFFNESS_MEGANEWTON_MILLIMETER_PER_RADIAN=17; + ROTATIONALSTIFFNESS_MICRONEWTON_METER_PER_DEGREE=18; + ROTATIONALSTIFFNESS_MICRONEWTON_MILLIMETER_PER_DEGREE=19; + ROTATIONALSTIFFNESS_MICRONEWTON_MILLIMETER_PER_RADIAN=20; + ROTATIONALSTIFFNESS_MILLINEWTON_METER_PER_DEGREE=21; + ROTATIONALSTIFFNESS_MILLINEWTON_MILLIMETER_PER_DEGREE=22; + ROTATIONALSTIFFNESS_MILLINEWTON_MILLIMETER_PER_RADIAN=23; + ROTATIONALSTIFFNESS_NANONEWTON_METER_PER_DEGREE=24; + ROTATIONALSTIFFNESS_NANONEWTON_MILLIMETER_PER_DEGREE=25; + ROTATIONALSTIFFNESS_NANONEWTON_MILLIMETER_PER_RADIAN=26; + ROTATIONALSTIFFNESS_NEWTON_METER_PER_DEGREE=27; + ROTATIONALSTIFFNESS_NEWTON_METER_PER_RADIAN=28; + ROTATIONALSTIFFNESS_NEWTON_MILLIMETER_PER_DEGREE=29; + ROTATIONALSTIFFNESS_NEWTON_MILLIMETER_PER_RADIAN=30; + ROTATIONALSTIFFNESS_POUND_FORCE_FEET_PER_RADIAN=31; + ROTATIONALSTIFFNESS_POUND_FORCE_FOOT_PER_DEGREES=32; +} + +// +// RotationalStiffnessPerLength units. +enum RotationalStiffnessPerLengthUnit { + ROTATIONALSTIFFNESSPERLENGTH_KILONEWTON_METER_PER_RADIAN_PER_METER=0; + ROTATIONALSTIFFNESSPERLENGTH_KILOPOUND_FORCE_FOOT_PER_DEGREES_PER_FOOT=1; + ROTATIONALSTIFFNESSPERLENGTH_MEGANEWTON_METER_PER_RADIAN_PER_METER=2; + ROTATIONALSTIFFNESSPERLENGTH_NEWTON_METER_PER_RADIAN_PER_METER=3; + ROTATIONALSTIFFNESSPERLENGTH_POUND_FORCE_FOOT_PER_DEGREES_PER_FOOT=4; +} + +// +// SolidAngle units. +enum SolidAngleUnit { + SOLIDANGLE_STERADIAN=0; +} + +// +// SpecificEnergy units. +enum SpecificEnergyUnit { + SPECIFICENERGY_BTU_PER_POUND=0; + SPECIFICENERGY_CALORIE_PER_GRAM=1; + SPECIFICENERGY_GIGAWATT_DAY_PER_KILOGRAM=2; + SPECIFICENERGY_GIGAWATT_DAY_PER_SHORT_TON=3; + SPECIFICENERGY_GIGAWATT_DAY_PER_TONNE=4; + SPECIFICENERGY_GIGAWATT_HOUR_PER_KILOGRAM=5; + SPECIFICENERGY_JOULE_PER_KILOGRAM=6; + SPECIFICENERGY_KILOCALORIE_PER_GRAM=7; + SPECIFICENERGY_KILOJOULE_PER_KILOGRAM=8; + SPECIFICENERGY_KILOWATT_DAY_PER_KILOGRAM=9; + SPECIFICENERGY_KILOWATT_DAY_PER_SHORT_TON=10; + SPECIFICENERGY_KILOWATT_DAY_PER_TONNE=11; + SPECIFICENERGY_KILOWATT_HOUR_PER_KILOGRAM=12; + SPECIFICENERGY_MEGAJOULE_PER_KILOGRAM=13; + SPECIFICENERGY_MEGAWATT_DAY_PER_KILOGRAM=14; + SPECIFICENERGY_MEGAWATT_DAY_PER_SHORT_TON=15; + SPECIFICENERGY_MEGAWATT_DAY_PER_TONNE=16; + SPECIFICENERGY_MEGAWATT_HOUR_PER_KILOGRAM=17; + SPECIFICENERGY_TERAWATT_DAY_PER_KILOGRAM=18; + SPECIFICENERGY_TERAWATT_DAY_PER_SHORT_TON=19; + SPECIFICENERGY_TERAWATT_DAY_PER_TONNE=20; + SPECIFICENERGY_WATT_DAY_PER_KILOGRAM=21; + SPECIFICENERGY_WATT_DAY_PER_SHORT_TON=22; + SPECIFICENERGY_WATT_DAY_PER_TONNE=23; + SPECIFICENERGY_WATT_HOUR_PER_KILOGRAM=24; +} + +// +// SpecificEntropy units. +enum SpecificEntropyUnit { + SPECIFICENTROPY_BTU_PER_POUND_FAHRENHEIT=0; + SPECIFICENTROPY_CALORIE_PER_GRAM_KELVIN=1; + SPECIFICENTROPY_JOULE_PER_KILOGRAM_DEGREE_CELSIUS=2; + SPECIFICENTROPY_JOULE_PER_KILOGRAM_KELVIN=3; + SPECIFICENTROPY_KILOCALORIE_PER_GRAM_KELVIN=4; + SPECIFICENTROPY_KILOJOULE_PER_KILOGRAM_DEGREE_CELSIUS=5; + SPECIFICENTROPY_KILOJOULE_PER_KILOGRAM_KELVIN=6; + SPECIFICENTROPY_MEGAJOULE_PER_KILOGRAM_DEGREE_CELSIUS=7; + SPECIFICENTROPY_MEGAJOULE_PER_KILOGRAM_KELVIN=8; +} + +// +// SpecificVolume units. +enum SpecificVolumeUnit { + SPECIFICVOLUME_CUBIC_FOOT_PER_POUND=0; + SPECIFICVOLUME_CUBIC_METER_PER_KILOGRAM=1; + SPECIFICVOLUME_MILLICUBIC_METER_PER_KILOGRAM=2; +} + +// +// SpecificWeight units. +enum SpecificWeightUnit { + SPECIFICWEIGHT_KILOGRAM_FORCE_PER_CUBIC_CENTIMETER=0; + SPECIFICWEIGHT_KILOGRAM_FORCE_PER_CUBIC_METER=1; + SPECIFICWEIGHT_KILOGRAM_FORCE_PER_CUBIC_MILLIMETER=2; + SPECIFICWEIGHT_KILONEWTON_PER_CUBIC_CENTIMETER=3; + SPECIFICWEIGHT_KILONEWTON_PER_CUBIC_METER=4; + SPECIFICWEIGHT_KILONEWTON_PER_CUBIC_MILLIMETER=5; + SPECIFICWEIGHT_KILOPOUND_FORCE_PER_CUBIC_FOOT=6; + SPECIFICWEIGHT_KILOPOUND_FORCE_PER_CUBIC_INCH=7; + SPECIFICWEIGHT_MEGANEWTON_PER_CUBIC_METER=8; + SPECIFICWEIGHT_NEWTON_PER_CUBIC_CENTIMETER=9; + SPECIFICWEIGHT_NEWTON_PER_CUBIC_METER=10; + SPECIFICWEIGHT_NEWTON_PER_CUBIC_MILLIMETER=11; + SPECIFICWEIGHT_POUND_FORCE_PER_CUBIC_FOOT=12; + SPECIFICWEIGHT_POUND_FORCE_PER_CUBIC_INCH=13; + SPECIFICWEIGHT_TONNE_FORCE_PER_CUBIC_CENTIMETER=14; + SPECIFICWEIGHT_TONNE_FORCE_PER_CUBIC_METER=15; + SPECIFICWEIGHT_TONNE_FORCE_PER_CUBIC_MILLIMETER=16; +} + +// +// Speed units. +enum SpeedUnit { + SPEED_CENTIMETER_PER_HOUR=0; + SPEED_CENTIMETER_PER_MINUTE=1; + SPEED_CENTIMETER_PER_SECOND=2; + SPEED_DECIMETER_PER_MINUTE=3; + SPEED_DECIMETER_PER_SECOND=4; + SPEED_FOOT_PER_HOUR=5; + SPEED_FOOT_PER_MINUTE=6; + SPEED_FOOT_PER_SECOND=7; + SPEED_INCH_PER_HOUR=8; + SPEED_INCH_PER_MINUTE=9; + SPEED_INCH_PER_SECOND=10; + SPEED_KILOMETER_PER_HOUR=11; + SPEED_KILOMETER_PER_MINUTE=12; + SPEED_KILOMETER_PER_SECOND=13; + SPEED_KNOT=14; + SPEED_METER_PER_HOUR=15; + SPEED_METER_PER_MINUTE=16; + SPEED_METER_PER_SECOND=17; + SPEED_MICROMETER_PER_MINUTE=18; + SPEED_MICROMETER_PER_SECOND=19; + SPEED_MILE_PER_HOUR=20; + SPEED_MILLIMETER_PER_HOUR=21; + SPEED_MILLIMETER_PER_MINUTE=22; + SPEED_MILLIMETER_PER_SECOND=23; + SPEED_NANOMETER_PER_MINUTE=24; + SPEED_NANOMETER_PER_SECOND=25; + SPEED_US_SURVEY_FOOT_PER_HOUR=26; + SPEED_US_SURVEY_FOOT_PER_MINUTE=27; + SPEED_US_SURVEY_FOOT_PER_SECOND=28; + SPEED_YARD_PER_HOUR=29; + SPEED_YARD_PER_MINUTE=30; + SPEED_YARD_PER_SECOND=31; +} + +// +// Temperature units. +enum TemperatureUnit { + TEMPERATURE_DEGREE_CELSIUS=0; + TEMPERATURE_DEGREE_DELISLE=1; + TEMPERATURE_DEGREE_FAHRENHEIT=2; + TEMPERATURE_DEGREE_NEWTON=3; + TEMPERATURE_DEGREE_RANKINE=4; + TEMPERATURE_DEGREE_REAUMUR=5; + TEMPERATURE_DEGREE_ROEMER=6; + TEMPERATURE_KELVIN=7; + TEMPERATURE_SOLAR_TEMPERATURE=8; +} + +// +// TemperatureChangeRate units. +enum TemperatureChangeRateUnit { + TEMPERATURECHANGERATE_CENTIDEGREE_CELSIUS_PER_SECOND=0; + TEMPERATURECHANGERATE_DECADEGREE_CELSIUS_PER_SECOND=1; + TEMPERATURECHANGERATE_DECIDEGREE_CELSIUS_PER_SECOND=2; + TEMPERATURECHANGERATE_DEGREE_CELSIUS_PER_MINUTE=3; + TEMPERATURECHANGERATE_DEGREE_CELSIUS_PER_SECOND=4; + TEMPERATURECHANGERATE_HECTODEGREE_CELSIUS_PER_SECOND=5; + TEMPERATURECHANGERATE_KILODEGREE_CELSIUS_PER_SECOND=6; + TEMPERATURECHANGERATE_MICRODEGREE_CELSIUS_PER_SECOND=7; + TEMPERATURECHANGERATE_MILLIDEGREE_CELSIUS_PER_SECOND=8; + TEMPERATURECHANGERATE_NANODEGREE_CELSIUS_PER_SECOND=9; +} + +// +// TemperatureDelta units. +enum TemperatureDeltaUnit { + TEMPERATUREDELTA_DEGREE_CELSIUS=0; + TEMPERATUREDELTA_DEGREE_DELISLE=1; + TEMPERATUREDELTA_DEGREE_FAHRENHEIT=2; + TEMPERATUREDELTA_DEGREE_NEWTON=3; + TEMPERATUREDELTA_DEGREE_RANKINE=4; + TEMPERATUREDELTA_DEGREE_REAUMUR=5; + TEMPERATUREDELTA_DEGREE_ROEMER=6; + TEMPERATUREDELTA_KELVIN=7; + TEMPERATUREDELTA_MILLIDEGREE_CELSIUS=8; +} + +// +// ThermalConductivity units. +enum ThermalConductivityUnit { + THERMALCONDUCTIVITY_BTU_PER_HOUR_FOOT_FAHRENHEIT=0; + THERMALCONDUCTIVITY_WATT_PER_METER_KELVIN=1; +} + +// +// ThermalResistance units. +enum ThermalResistanceUnit { + THERMALRESISTANCE_HOUR_SQUARE_FEET_DEGREE_FAHRENHEIT_PER_BTU=0; + THERMALRESISTANCE_SQUARE_CENTIMETER_HOUR_DEGREE_CELSIUS_PER_KILOCALORIE=1; + THERMALRESISTANCE_SQUARE_CENTIMETER_KELVIN_PER_WATT=2; + THERMALRESISTANCE_SQUARE_METER_DEGREE_CELSIUS_PER_WATT=3; + THERMALRESISTANCE_SQUARE_METER_KELVIN_PER_KILOWATT=4; +} + +// +// Time units. +enum TimeUnit { + TIME_DAY=0; + TIME_HOUR=1; + TIME_MICROSECOND=2; + TIME_MILLISECOND=3; + TIME_MINUTE=4; + TIME_MONTH=5; + TIME_NANOSECOND=6; + TIME_SECOND=7; + TIME_WEEK=8; + TIME_YEAR=9; +} + +// +// Torque units. +enum TorqueUnit { + TORQUE_KILOGRAM_FORCE_CENTIMETER=0; + TORQUE_KILOGRAM_FORCE_METER=1; + TORQUE_KILOGRAM_FORCE_MILLIMETER=2; + TORQUE_KILONEWTON_CENTIMETER=3; + TORQUE_KILONEWTON_METER=4; + TORQUE_KILONEWTON_MILLIMETER=5; + TORQUE_KILOPOUND_FORCE_FOOT=6; + TORQUE_KILOPOUND_FORCE_INCH=7; + TORQUE_MEGANEWTON_CENTIMETER=8; + TORQUE_MEGANEWTON_METER=9; + TORQUE_MEGANEWTON_MILLIMETER=10; + TORQUE_MEGAPOUND_FORCE_FOOT=11; + TORQUE_MEGAPOUND_FORCE_INCH=12; + TORQUE_NEWTON_CENTIMETER=13; + TORQUE_NEWTON_METER=14; + TORQUE_NEWTON_MILLIMETER=15; + TORQUE_POUND_FORCE_FOOT=16; + TORQUE_POUND_FORCE_INCH=17; + TORQUE_TONNE_FORCE_CENTIMETER=18; + TORQUE_TONNE_FORCE_METER=19; + TORQUE_TONNE_FORCE_MILLIMETER=20; +} + +// +// TorquePerLength units. +enum TorquePerLengthUnit { + TORQUEPERLENGTH_KILOGRAM_FORCE_CENTIMETER_PER_METER=0; + TORQUEPERLENGTH_KILOGRAM_FORCE_METER_PER_METER=1; + TORQUEPERLENGTH_KILOGRAM_FORCE_MILLIMETER_PER_METER=2; + TORQUEPERLENGTH_KILONEWTON_CENTIMETER_PER_METER=3; + TORQUEPERLENGTH_KILONEWTON_METER_PER_METER=4; + TORQUEPERLENGTH_KILONEWTON_MILLIMETER_PER_METER=5; + TORQUEPERLENGTH_KILOPOUND_FORCE_FOOT_PER_FOOT=6; + TORQUEPERLENGTH_KILOPOUND_FORCE_INCH_PER_FOOT=7; + TORQUEPERLENGTH_MEGANEWTON_CENTIMETER_PER_METER=8; + TORQUEPERLENGTH_MEGANEWTON_METER_PER_METER=9; + TORQUEPERLENGTH_MEGANEWTON_MILLIMETER_PER_METER=10; + TORQUEPERLENGTH_MEGAPOUND_FORCE_FOOT_PER_FOOT=11; + TORQUEPERLENGTH_MEGAPOUND_FORCE_INCH_PER_FOOT=12; + TORQUEPERLENGTH_NEWTON_CENTIMETER_PER_METER=13; + TORQUEPERLENGTH_NEWTON_METER_PER_METER=14; + TORQUEPERLENGTH_NEWTON_MILLIMETER_PER_METER=15; + TORQUEPERLENGTH_POUND_FORCE_FOOT_PER_FOOT=16; + TORQUEPERLENGTH_POUND_FORCE_INCH_PER_FOOT=17; + TORQUEPERLENGTH_TONNE_FORCE_CENTIMETER_PER_METER=18; + TORQUEPERLENGTH_TONNE_FORCE_METER_PER_METER=19; + TORQUEPERLENGTH_TONNE_FORCE_MILLIMETER_PER_METER=20; +} + +// +// Volume units. +enum VolumeUnit { + VOLUME_ACRE_FOOT=0; + VOLUME_AU_TABLESPOON=1; + VOLUME_CENTILITER=2; + VOLUME_CUBIC_CENTIMETER=3; + VOLUME_CUBIC_DECIMETER=4; + VOLUME_CUBIC_FOOT=5; + VOLUME_CUBIC_HECTOMETER=6; + VOLUME_CUBIC_INCH=7; + VOLUME_CUBIC_KILOMETER=8; + VOLUME_CUBIC_METER=9; + VOLUME_CUBIC_MICROMETER=10; + VOLUME_CUBIC_MILE=11; + VOLUME_CUBIC_MILLIMETER=12; + VOLUME_CUBIC_YARD=13; + VOLUME_DECILITER=14; + VOLUME_HECTOCUBIC_FOOT=15; + VOLUME_HECTOCUBIC_METER=16; + VOLUME_HECTOLITER=17; + VOLUME_IMPERIAL_BEER_BARREL=18; + VOLUME_IMPERIAL_GALLON=19; + VOLUME_IMPERIAL_OUNCE=20; + VOLUME_IMPERIAL_PINT=21; + VOLUME_KILOCUBIC_FOOT=22; + VOLUME_KILOCUBIC_METER=23; + VOLUME_KILOIMPERIAL_GALLON=24; + VOLUME_KILOLITER=25; + VOLUME_KILOUS_GALLON=26; + VOLUME_LITER=27; + VOLUME_MEGACUBIC_FOOT=28; + VOLUME_MEGAIMPERIAL_GALLON=29; + VOLUME_MEGALITER=30; + VOLUME_MEGAUS_GALLON=31; + VOLUME_METRIC_CUP=32; + VOLUME_METRIC_TEASPOON=33; + VOLUME_MICROLITER=34; + VOLUME_MILLILITER=35; + VOLUME_OIL_BARREL=36; + VOLUME_UK_TABLESPOON=37; + VOLUME_US_BEER_BARREL=38; + VOLUME_US_CUSTOMARY_CUP=39; + VOLUME_US_GALLON=40; + VOLUME_US_LEGAL_CUP=41; + VOLUME_US_OUNCE=42; + VOLUME_US_PINT=43; + VOLUME_US_QUART=44; + VOLUME_US_TABLESPOON=45; + VOLUME_US_TEASPOON=46; +} + +// +// VolumeConcentration units. +enum VolumeConcentrationUnit { + VOLUMECONCENTRATION_CENTILITERS_PER_LITER=0; + VOLUMECONCENTRATION_CENTILITERS_PER_MILILITER=1; + VOLUMECONCENTRATION_DECILITERS_PER_LITER=2; + VOLUMECONCENTRATION_DECILITERS_PER_MILILITER=3; + VOLUMECONCENTRATION_DECIMAL_FRACTION=4; + VOLUMECONCENTRATION_LITERS_PER_LITER=5; + VOLUMECONCENTRATION_LITERS_PER_MILILITER=6; + VOLUMECONCENTRATION_MICROLITERS_PER_LITER=7; + VOLUMECONCENTRATION_MICROLITERS_PER_MILILITER=8; + VOLUMECONCENTRATION_MILLILITERS_PER_LITER=9; + VOLUMECONCENTRATION_MILLILITERS_PER_MILILITER=10; + VOLUMECONCENTRATION_NANOLITERS_PER_LITER=11; + VOLUMECONCENTRATION_NANOLITERS_PER_MILILITER=12; + VOLUMECONCENTRATION_PART_PER_BILLION=13; + VOLUMECONCENTRATION_PART_PER_MILLION=14; + VOLUMECONCENTRATION_PART_PER_THOUSAND=15; + VOLUMECONCENTRATION_PART_PER_TRILLION=16; + VOLUMECONCENTRATION_PERCENT=17; + VOLUMECONCENTRATION_PICOLITERS_PER_LITER=18; + VOLUMECONCENTRATION_PICOLITERS_PER_MILILITER=19; +} + +// +// VolumeFlow units. +enum VolumeFlowUnit { + VOLUMEFLOW_ACRE_FOOT_PER_DAY=0; + VOLUMEFLOW_ACRE_FOOT_PER_HOUR=1; + VOLUMEFLOW_ACRE_FOOT_PER_MINUTE=2; + VOLUMEFLOW_ACRE_FOOT_PER_SECOND=3; + VOLUMEFLOW_CENTILITER_PER_DAY=4; + VOLUMEFLOW_CENTILITER_PER_MINUTE=5; + VOLUMEFLOW_CUBIC_DECIMETER_PER_MINUTE=6; + VOLUMEFLOW_CUBIC_FOOT_PER_HOUR=7; + VOLUMEFLOW_CUBIC_FOOT_PER_MINUTE=8; + VOLUMEFLOW_CUBIC_FOOT_PER_SECOND=9; + VOLUMEFLOW_CUBIC_METER_PER_DAY=10; + VOLUMEFLOW_CUBIC_METER_PER_HOUR=11; + VOLUMEFLOW_CUBIC_METER_PER_MINUTE=12; + VOLUMEFLOW_CUBIC_METER_PER_SECOND=13; + VOLUMEFLOW_CUBIC_MILLIMETER_PER_SECOND=14; + VOLUMEFLOW_CUBIC_YARD_PER_DAY=15; + VOLUMEFLOW_CUBIC_YARD_PER_HOUR=16; + VOLUMEFLOW_CUBIC_YARD_PER_MINUTE=17; + VOLUMEFLOW_CUBIC_YARD_PER_SECOND=18; + VOLUMEFLOW_DECILITER_PER_DAY=19; + VOLUMEFLOW_DECILITER_PER_MINUTE=20; + VOLUMEFLOW_KILOLITER_PER_DAY=21; + VOLUMEFLOW_KILOLITER_PER_MINUTE=22; + VOLUMEFLOW_KILOUS_GALLON_PER_MINUTE=23; + VOLUMEFLOW_LITER_PER_DAY=24; + VOLUMEFLOW_LITER_PER_HOUR=25; + VOLUMEFLOW_LITER_PER_MINUTE=26; + VOLUMEFLOW_LITER_PER_SECOND=27; + VOLUMEFLOW_MEGALITER_PER_DAY=28; + VOLUMEFLOW_MEGAUK_GALLON_PER_SECOND=29; + VOLUMEFLOW_MICROLITER_PER_DAY=30; + VOLUMEFLOW_MICROLITER_PER_MINUTE=31; + VOLUMEFLOW_MILLILITER_PER_DAY=32; + VOLUMEFLOW_MILLILITER_PER_MINUTE=33; + VOLUMEFLOW_MILLION_US_GALLONS_PER_DAY=34; + VOLUMEFLOW_NANOLITER_PER_DAY=35; + VOLUMEFLOW_NANOLITER_PER_MINUTE=36; + VOLUMEFLOW_OIL_BARREL_PER_DAY=37; + VOLUMEFLOW_OIL_BARREL_PER_HOUR=38; + VOLUMEFLOW_OIL_BARREL_PER_MINUTE=39; + VOLUMEFLOW_OIL_BARREL_PER_SECOND=40; + VOLUMEFLOW_UK_GALLON_PER_DAY=41; + VOLUMEFLOW_UK_GALLON_PER_MINUTE=42; + VOLUMEFLOW_UK_GALLON_PER_SECOND=43; + VOLUMEFLOW_US_GALLON_PER_DAY=44; + VOLUMEFLOW_US_GALLON_PER_HOUR=45; + VOLUMEFLOW_US_GALLON_PER_MINUTE=46; + VOLUMEFLOW_US_GALLON_PER_SECOND=47; +} + +// +// VolumePerLength units. +enum VolumePerLengthUnit { + VOLUMEPERLENGTH_CUBIC_METER_PER_METER=0; + VOLUMEPERLENGTH_CUBIC_YARD_PER_FOOT=1; + VOLUMEPERLENGTH_CUBIC_YARD_PER_US_SURVEY_FOOT=2; + VOLUMEPERLENGTH_LITER_PER_KILOMETER=3; + VOLUMEPERLENGTH_LITER_PER_METER=4; + VOLUMEPERLENGTH_LITER_PER_MILLIMETER=5; + VOLUMEPERLENGTH_OIL_BARREL_PER_FOOT=6; +} + +// +// WarpingMomentOfInertia units. +enum WarpingMomentOfInertiaUnit { + WARPINGMOMENTOFINERTIA_CENTIMETER_TO_THE_SIXTH=0; + WARPINGMOMENTOFINERTIA_DECIMETER_TO_THE_SIXTH=1; + WARPINGMOMENTOFINERTIA_FOOT_TO_THE_SIXTH=2; + WARPINGMOMENTOFINERTIA_INCH_TO_THE_SIXTH=3; + WARPINGMOMENTOFINERTIA_METER_TO_THE_SIXTH=4; + WARPINGMOMENTOFINERTIA_MILLIMETER_TO_THE_SIXTH=5; +}