REXS object structure
Model Object
The REXS model is contained in an XML or JSON object called "model."
Feature | Description | |
---|---|---|
Part of the REXS file | version | Version of the REXS interface Format: mainversionnumber.subversionnumber Example: version="1.2" |
applicationId | Name of the application that generated the XML file; e.g., "FVA-Workbench" | |
applicationVersion | Version of the application | |
date | Time at which the file was created Date and time according to ISO 8601 in the following format: "yyyy-mm-ddThh:mm:ss+<offset to UTC>" Example: 2016-06-03T11:35:17+01:00 | |
applicationLanguage | Optional: specification of the language used in the application Language code according to 639-1 Example: applicationLanguage="en" |
Model Object - XML syntax
The REXS model is contained in an XML tag called "model," which includes the "relations" and "components" tags as well as the "load_spectrum" tag, if applicable.
Example model REXS file | XML syntax
<model version="1.4" applicationId="FVA-Workbench" applicationVersion="7.0.0" date="2021-11-03T11:35:17+01:00" applicationLanguage="en"> <relations>...</relations> <components>...</components> <load_spectrum>...</load_spectrum> (optional) </model>
Model object - JSON syntax
The REXS model is contained in a JSON object called "model," which includes a row of name-value pairs. In addition to the metadata ("version," "applicationId," "applicationVersion," "date," "applicationLanguage"), the "model" object contains the "relations" and "components" arrays, as well as a "load_spectrum" object if applicable.
Example model REXS file | JSON syntax
{"model": { "version": "1.4", "applicationId":"FVA-Workbench", "applicationVersion":"7.0.0", "date":"2021-11-03T11:35:17+01:00", "applicationLanguage":"en", "relations": [...], "components": [...], "load_spectrum": {...} (optional) } }
Component structure
Feature | Description | Details | |
---|---|---|---|
Part of the REXS file | type | Type of component; e.g., shaft Data type: enum | Naming convention List of components |
id | Unique identifier for the component in the concrete instance of the model Data type: integer | ||
name | User-defined identifier for the component in the concrete instance of the model Data type: string | optional | |
Metadata (in the database) | designation | Component name (multi-lingual) |
Components - XML Syntax
Components are described in the interface file with the <component></component> XML tag.
The contents of the tag are the attributes associated with the component.
Example components | XML syntax
<components> <component id="4" type="cylindrical_gear" name="Pinion"> <attribute id="attr1"> .. </attribute> <attribute id="attr2"> .. </attribute> ... </component > <component id="6" type="cylindrical_gear" name="Wheel"> <attribute id="attr1"> .. </attribute> <attribute id="attr2"> .. </attribute> ... </component > </components>
Components - JSON syntax
The "components" array contains a list of JSON objects. Each of these objects includes the name-value pairs "id" (ID of the component), "name" (component name), "type" (component type), as well as the "attributes" array.
Example components | JSON syntax
"components":[ {"id":4, "type"="cylindrical_gear", "name":"Pinion", "attributes": [ {"id": "attr1", "boolean": false}, {"id": "attr2", "unit": "none", "floating_point": 0.1}, ... ] }, {"id":6, "type"="cylindrical_gear", "name":"Wheel", "attributes": [ ... ] } ]
Attribute structure
Feature | Description | Details | |
---|---|---|---|
Part of the REXS file | id | Unique attribute identifier in REXS Data type: string | |
unit | The SI system is the preferred unit measurement system. The unit to be used for each attribute is specified in the attribute database. All values of an array or a matrix use the same unit of measurement. | ||
Optional in REXS file | origin | Option for an application to identify an attribute value as either "user_defined" or "calculated." The distinction of which attributes can be input parameters and/or output parameters is application specific. Therefore, this is not defined in the standard and it is up to each application to determine whether or not this additional information should be considered when reading a REXS file. | Optional NoticeChange from REXS version 1.4 Characterization of attributes as "user_defined" or "calculated" is new. |
Metadata (in the database) | component | Component type of the attribute The XML hierarchy is used for allocation of components in the REXS file (see example cylindrical gear component) | |
numeric_id | Consecutive numbering in the Product Model | ||
type | Data type of the attribute value | ||
value_range | Value or validity range | ||
symbol | Symbol of the attribute, if applicable | ||
designation | Attribute identifier (multi-lingual) | ||
description | Unique attribute definition (multi-lingual) |
Permitted data types
The following data types are available for attributes:
Data type | Details |
---|---|
scalar | Scalar values |
boolean | true, false |
string | |
integer | |
floating_point | Maximum number of significant digits: 15 |
enum | Has a specified value range |
file_reference | Reference to a file or folder (relative or absolute) |
reference_component | Reference to a component ID |
date_time | Date and time according to ISO 8601 in the following format: "yyyy-mm-ddThh:mm:ss+<offset to UTC>" Example: 2016-06-03T11:35:17+01:00 |
array | One-dimensional array of values |
floating_point_array | |
integer_array | |
boolean_array | |
string_array | |
enum_array | Array of enum values |
matrix | Two-dimensional array of values, where each row has the same length |
floating_point_matrix | |
integer_matrix | |
boolean_matrix | |
string_matrix | |
array_of_arrays | Two-dimensional array of values, where the rows can have different lengths |
array_of_integer_arrays |
Value range - "value_range"
For numerical attributes, the permissible domain is specified in the REXS database in interval notation. The following convention applies:
Opening bracket: interval lower limit
Closing bracket: interval upper limit
Also:
Parentheses: limit is not included in the interval (< / >)
Brackets: limit is included in the interval (<= / >=)
Value range | Notation |
---|---|
0 < value | (0; ∞) |
0 <= value < 1 | [0; 1) |
-90 <= value <= 90 | [-90;90] |
indefinite | (-∞; ∞) |
The value range for enum attributes is also included in the REXS database.
Rules for assigning units
The units in which each attribute is to be specified are defined in the REXS database. If no units are associated with the attribute, "none" should be specified. Specifying a unit other than what is defined in the REXS database is not permitted, even if it can be converted. If applications use different units internally, they must be converted to/from the unit specified in REXS.
The list of possible units can be viewed in the REXS database.
Convention
Absolute temperatures must always be specified in °C
Temperature differences must always be specified in K
Rules for assigning the Unit ID:
A maximum of one SI prefix is added before the unit. Example: mm
Use a space to identify multiplication of units. Example: N m
Powers are represented by ^. Example: m^2
Fractions are represented by /. Use parentheses to indicate multiplication in the denominator. Example: kg / (m^2 s^3)
Base64 Encoding of Attributes
If arrays and matrices exceed a certain size, it may be practical to save them in the REXS file in binary format for performance reasons.
An array is first converted into binary format. The byte order is "Little Endian.“ In the second step, the byte array is then converted into a string using base64 encoding. This string is then available in the REXS file. The binary format used must also be indicated (int32, float64, or float32).
The procedure for encoding of matrices is as follows: first, the 2d matrix is converted column-by-column into a 1d array (array = [column1, column2, ...]). This is then converted to binary format as described above (the byte order is "Little Endian“) and finally converted to a string using base64 encoding. In addition to specification of the binary format (int32, float64, float32), specification of the number of rows and columns of the matrix is also required.
For more information on identification of base64 encoded attributes in the REXS file, see XML syntax, JSON syntax, and Code examples
Attribute values - XML syntax
Feature | Description | |
---|---|---|
Scalar attribute values | The value of the attribute is specified in the "attribute" tag; e.g., <attribute …>4.72</attribute>. | |
The floating-point symbol is "." (period). | ||
Array values | array | The "array" tag encloses the columns of a one-dimensional array. |
c | The "c" (column) tag indicates a column of the array, and encloses a scalar entry of the array (see example below) | |
The floating-point symbol is "." (period). | ||
code | If arrays exceed a certain size, it may be helpful to store them in binary format in the REXS file for performance reasons. This can be done using the optional "code" xml attribute in the array tag. The following variants are available:
If the array is entered in binary format, the "c" tags are omitted. | |
Matrix values | matrix | The "matrix" tag encloses the rows of a matrix. |
r | The "r" tag (row) identifies a row of the matrix, and encloses a list of "c" entries. The contents of all rows must be the same length. | |
c | The "c" tag (column) identifies a column of the matrix, and encloses a scalar entry of the matrix (see example below). | |
The floating-point symbol is "." (period). | ||
code, rows, columns | If matrices exceed a certain size, it may be helpful to store them in binary format in the REXS file for performance reasons. This can be done using the optional "code" xml attribute in the matrix tag. For binary encoded matrices, the number of rows and columns must also be specified via "rows" and "columns" in the matrix tag. This is necessary to be able to convert the 1d byte array back into a 2d matrix during decoding. The following variants are available:
If the matrix is entered in binary format, the "r" and "c" tags are omitted. | |
Array-of-array values | array_of_arrays | The "array_of_arrays" tag encloses the rows of an array-of-arrays. |
array | The "array" tag identifies a row of the array-of-arrays, and encloses a list of "c" entries. The rows may be different lengths. | |
c | The "c" tag (column) identifies a column of an array, and encloses a scalar entry of the array-of-arrays (see example below). |
Example Attribute - XML Syntax
Example string attribute | XML syntax
<attribute id="name">30203-A</attribute>
Example double-attribute with unit | XML syntax
<attribute id="normal_module" unit="mm">23.5</attribute>
Example double-attribute without unit | XML syntax
<attribute id="addendum_modification_coefficient" unit="none">0.5</attribute>
Example attribute with origin="user_defined" | XML syntax
<attribute id=addendum_modification_coefficient" unit="none" origin="user_defined">0.5</attribute>
Example attribute with origin="calculated" | XML syntax
<attribute id=addendum_modification_coefficient" unit="none" origin="calculated">0.5</attribute>
Example integer attribute without unit | XML syntax
<attribute id="number_of_teeth" unit="none">8</attribute>
Example boolean attribute | XML syntax
<attribute id="is_driving_gear">false</attribute>
Example enum attribute | XML syntax
<attribute id="axial_force_absorption">both_directions</attribute>
Example array attribute | XML syntax
<attribute id="support_vector" unit="mm"> <array> <c>1.0</c> <c>1.0</c> <c>0.0</c> </array> </attribute>
Example matrix attribute | XML syntax
<attribute id="matrix_correction" unit="mm"> <matrix> <r> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> </r> <r> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> </r> ... <r> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> <c>0.0</c> </r> </matrix> </attribute>
Example array attribute in binary format | XML syntax
<attribute id="example_attribute_id" unit="mm"> <array code="float64"/>62wRNhgQS0AAAAAAAAAAANgPsyG1MXDA=<array/> </attribute>
Example matrix attribute in binary format | XML syntax
<attribute id="example_matrix_coded" unit="mm"> <matrix code="float64" columns="3" rows="2">AAAAAAAA8D8AAAAAAAAQQAAAAAAAAABAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABhA</matrix> </attribute>
Example array_of_integer_arrays attribute | XML syntax
<attribute id="element_structure" unit="none"> <array_of_arrays> <array><c>108</c><c>2</c><c>1</c><c>107</c></array> <array><c>109</c><c>3</c><c>2</c><c>108</c></array> <array><c>8</c><c>114</c><c>115</c></array> </array_of_arrays> </attribute>
Attribute values - JSON syntax
The "attributes" array contains a list of objects with the following name-value pairs: "id" (attribute ID), "unit" (unit, required for certain data types), "origin" (optional, identifies the attribute as "calculated" or "user_defined"), and the attribute value. Different identifiers are used to enable JSON validation, depending on the data type. The available identifiers are listed below. For details on binary-coded arrays and matrices, see Note and Note.
Data type | Details | JSON identifier | Example JSON value |
---|---|---|---|
scalar | Scalar values | ||
boolean | true, false | boolean | false |
string | string | "NU 206" | |
integer | integer | 3 | |
floating_point | The floating-point symbol is "." (period). Maximum number of significant digits: 15 | floating_point | 2.0 |
enum | Has a specified value range | enum | "both_directions" |
reference_component | ID of the reference component for specification of the position and orientation (POSE) | reference_component | 1 |
file_reference | Reference to a file or folder (relative or absolute) | file_reference | "example.gde" |
array | One-dimensional array of values | ||
floating_point_array | The floating-point symbol is "." (period). Maximum number of significant digits: 15 | floating_point_array | [1.0,0.0,0.0] |
floating_point_array | floating_point_array_coded | {"code": "float64", "value": "62wRNhgQS0AAAAAAAAAAANgPsyG1MXDA"}} | |
integer_array | integer_array | [1,2,3] | |
boolean_array | boolean_array | [true,false,true] | |
string_array | string_array | ["example 1","example 2"] | |
enum_array | The enum_array data type is new. Array of enum values | enum_array | ["quad4","triangle3","quad4"] |
matrix | Two-dimensional array of values, where each row has the same length | ||
floating_point_matrix | The floating-point symbol is "." (period). Maximum number of significant digits: 15 | floating_point_matrix | [[1.0,0.0,0.0],[0.0,1.0,0.0],[0.0,0.0,1.0]] |
floating_point_matrix | floating_point_matrix_coded | {"code": "float64", "rows":2, "columns":3 "value": "AAAAAAAA8D8AAAAAAAAQQAAAAAAAAABAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABhA"}} | |
integer_matrix | integer_matrix | [[1,0,0],[0,1,0],[0,0,1]] | |
boolean_matrix | boolean_matrix | [[true,false,true],[false,false,true],[true,false,false]] | |
string_matrix | string_matrix | [["example 1","example 2"],["example 3","example 4"]] | |
array_of_arrays | Two-dimensional array of values, where the rows can have different lengths | ||
array_of_integer_arrays | array_of_integer_arrays | [[1,2,3,4],[1,3,4,5,6],[7,9,11]] |
Example attribute list | JSON syntax
"attributes":[ {"id": "name", "string": "30203-A"}, {"id": "normal_module", "unit": "mm", "floating_point": 2.0}, {"id": "addendum_modification_coefficient", "unit": "none", "floating_point": 0.1}, {"id": "addendum_modification_coefficient", "unit": "none", "origin":"user_defined", "floating_point": 0.1}, {"id": "addendum_modification_coefficient", "unit": "none", "origin":"calculated", "floating_point": 0.1}, {"id": "number_of_gears", "integer": 3}, {"id": "is_driving_gear", "boolean": false}, {"id": "axial_force_absorption", "enum": "both_directions" }, {"id": "u_axis_vector", "unit": "mm","floating_point_array": [1.0,0.0,0.0]}, {"id": "matrix_correction", "unit": "mm", "floating_point_matrix": [[1.0,0.0,0.0],[0.0,1.0,0.0],[0.0,0.0,1.0]] }, {"id": "example_array_coded", "unit": "mm", "floating_point_array_coded": {"code": "float64", "value": "62wRNhgQS0AAAAAAAAAAANgPsyG1MXDA"}}, {"id": "example_matrix_coded", "unit": "mm", "floating_point_matrix_coded": {"code": "float64", columns="3", rows="2", "value": "AAAAAAAA8D8AAAAAAAAQQAAAAAAAAABAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABhA62wRNhgQS0AAAAAAAAAAANgPsyG1MXDA"}}, {"id": "element_structure", "array_of_integer_arrays": [[108,2,1,107,7],[0,1,0],[0,7,0,1]]}, ]
Structure of relations
Relations connect components to assemblies. A relation consists of a "relation" object, which contains multiple "ref" tags. A relation may not contain multiple "ref" objects with the same role. For example, it is not allowed to use multiple "part" elements in the same assembly relation. A separate relation must created for each "part."
Feature | Description | Details | |
---|---|---|---|
Part of the REXS file | id | Unique identifier of the relation in the concrete instance of the model Data type: integer | |
type | Type of relation; e.g., "assembly“ Follows the naming convention Data type: string | ||
order | Some relations between two components (e.g., "ordered_assembly_relation") also include an order, which is determined by the "order" tag. For example, this makes it possible to uniquely assign the bearing rows of a rolling bearing. Data type: integer The "order" always begins = 1 and increases in increments of 1. |
Feature | Description | Details | |
---|---|---|---|
Part of the REXS file | id | ID of a component in the relation | |
role | Role of the component in the relation (e.g., stage) | ||
Optional in REXS file | hint | Note to make the relation easier to read (e.g., type of the referenced component), max. 40 characters |
Modeling Guideline Static Analysis
Incomplete relations are not permitted. Thus, each relation must contain exactly one instance of each permitted role for the type of relation.
Modeling Guideline Static Analysis
The model must be coherent. Each component must be (indirectly) connected to the gear_unit via the network of relations. In particular, components that do not appear in any relation are not permitted.
Relations - XML syntax
A relation in the XML file consists of a "relation" tag, which contains multiple "ref" tags.
Example REXS file relations | XML syntax
<relations> <relation id="15" type="ordered_assembly" order="1"> <ref id="8" role="assembly" hint="bearing"/> <ref id="16" role="part" hint="bearing_row"/> </relation> <relation id="23" type="stage"> <ref id="3" role="stage" hint="cylindrical_stage"/> <ref id="7" role="gear_1" hint="cylindrical_gear"/> <ref id="9" role="gear_2" hint="cylindrical_gear"/> </relation> </relations>
Relations - JSON syntax
The "relations" array contains a list of JSON objects. Each of these objects includes the name-value pairs "id" (ID of the relation), "type" (type of relation), "order" (for relevant relation types), and the "refs" array. The "refs" array contains a list of objects with the name-value pairs "role" (role of the component in the relation), "id" (ID of the component in the relation), "hint" (optional addition for improved clarity).
Example REXS file relations | JSON syntax
"relations": [ {"id":15, "type":"ordered_assembly", "order":1, "refs": [ {"id":8, "role":"assembly", "hint":"bearing"}, {"id":16, "role":"part", "hint":"bearing_row"} ] }, {"id":23, "type":"stage", "refs": [ {"id":3, "role":"stage", "hint":"cylindrical_stage"}, {"id":7, "role":"gear_1", "hint":"cylindrical_gear"}, {"id":9, "role":"gear_2", "hint":"cylindrical_gear"} ] }, ]
Types of relations
Type of relation | Components/roles | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
assembly | Connects a primary component K1 with sub-component K2
Example XML syntax <relation id="33" type="assembly"> <ref id="5" role="assembly" hint="shaft"/> <ref id="32" role="part" hint="external_load"/> </relation> | ||||||||||||
ordered_assembly | Connects a primary component K1 with sub-component K2, specifying the order of the sub-components. The order can be specified by entering an integer with the "order" tag. The "order" always begins = 1 and increases in increments of 1.
Example XML syntax <relation id="15" type="ordered_assembly" order="1"> <ref id="8" role="assembly" hint="bearing"/> <ref id="16" role="part" hint="bearing_row"/> </relation> <relation id="16" type="ordered_assembly" order="2"> <ref id="8" role="assembly" hint="bearing"/> <ref id="17" role="part" hint="bearing_row"/> </relation> | ||||||||||||
stage | Connects a stage component S with two gears, R1 and R2
Example XML syntax <relation id="23" type="stage"> <ref id="3" role="stage" hint="cylindrical_stage"/> <ref id="7" role="gear_1" hint="cylindrical_gear"/> <ref id="9" role="gear_2" hint="cylindrical_gear"/> </relation> | ||||||||||||
stage_gear_data | This relation is used to represent stage-related gear data. It connects a stage component S with a gear R and a "stage_gear_data" component.
Example XML syntax <relation id="23" type="stage_gear_data"> <ref id="3" role="stage" hint="cylindrical_stage"/> <ref id="7" role="gear" hint="cylindrical_gear"/> <ref id="9" role="stage_data" hint="stage_gear_data"/> </relation> | ||||||||||||
side | For example, connects a bearing M with two components: a component IP on the inner side of the bearing, and a component OP on the outer side of the bearing.
Example XML syntax <relation id="22" type="side"> <ref id="11" role="assembly" hint="concept_bearing"/> <ref id="17" role="inner_part" hint="shaft"/> <ref id="2" role="outer_part" hint="gear_casing"/> </relation> | ||||||||||||
flank | Used to assign a left (C1) and right (C2) tooth flank to a gear R. The right (or left) flank is the flank seen on the right (or left) side in the viewing direction of an upward-pointing tooth. The viewing direction must be specified separately for each type of gear.
Example XML syntax <relation id="67" type="flank"> <ref id="8" role="gear" hint="bevel_gear"/> <ref id="13" role="left" hint="bevel_gear_flank"/> <ref id="14" role="right" hint="bevel_gear_flank"/> </relation> | ||||||||||||
reference | Used to assign components such as materials or lubricants to a component.
Example XML syntax <relation id="40" type="reference"> <ref id="10" role="origin" hint="cylindrical_gear"/> <ref id="15" role="referenced" hint="material"/> </relation> | ||||||||||||
manufacturing_step | Used to assign a manufacturing step with tool T to a gear flank F, taking the manufacturing settings M into consideration. The "order" specifies the processing sequence. An integer is used to specify the "order." The "order" always begins = 1 and increases in increments of 1. The manufacturing_step relation type was introduced in REXS 1.3. It replaces the ordered_reference relation, which was used to connect a gear and a tool through REXS 1.2.
Example XML syntax <relation id="41" type="manufacturing_step" order="1"> <ref id="10" role="workpiece" hint="cylindrical_gear_flank"/> <ref id="15" role="tool" hint="rack_shaped_tool"/> <ref id="16" role="manufacturing_settings" hint="cylindrical_gear_manufacturing_settings"/> </relation> | ||||||||||||
planet_shaft | Identification of planetary shaft C2 in planetary stage C1.
Example XML syntax <relation id="42" type="planet_shaft"> <ref id="3" role="planetary_stage" hint="planetary_stage"/> <ref id="8" role="shaft" hint="shaft"/> </relation> | ||||||||||||
central_shaft | Identification of central shaft C2 in planetary stage C1.
Example XML syntax <relation id="43" type="central_shaft"> <ref id="3" role="planetary_stage" hint="planetary_stage"/> <ref id="9" role="shaft" hint="shaft"/> </relation> | ||||||||||||
planet_carrier_shaft | Identification of carrier shaft C2 in planetary stage C1.
Example XML syntax <relation id="44" type="planet_carrier_shaft"> <ref id="3" role="planetary_stage" hint="planetary_stage"/> <ref id="10" role="shaft" hint="shaft"/> </relation> | ||||||||||||
planet_pin | Identification of pin C2 in planetary stage C1.
Example XML syntax <relation id="45" type="planet_pin"> <ref id="3" role="planetary_stage" hint="planetary_stage"/> <ref id="11" role="shaft" hint="shaft"/> </relation> |
"load_spectrum" object
The load spectrum is represented by a master model (containing files and relations, which remain unchanged) and multiple sub-models (containing only variable data).
Each load case corresponds to a sub-model, thus these sub-models are referred to as a "load_case."
The load cases are combined in a "load_spectrum."
Only variation data for the load spectra is included in a load_case (sub-model). The following applies:
As in the master model, the corresponding attributes are structured into components.
Unique Component IDs are used to create assignments between components in the master model and sub-model.
All sub-models must contain the same set of attributes.
Attributes that are specified in the sub-models may not be assigned in the master model.
Thus, the master model only becomes a complete, computable model when combined with a sub-model.
Accumulated values from the load spectrum are saved in a separate sub-model of the load spectrum named "accumulation.“
Initially, only one load spectrum per model is allowed.
For details on the modeling system, see Load spectra.
"load_spectrum" object - XML syntax
The "load_spectrum" tag is an optional part of a REXS XML model. It has a (numeric) identifier ("id") and encloses one or more "load_case" tags and the "accumulation" tag. These in turn enclose a list of "component" tags.
Example load spectrum | XML syntax
<model> <relations> <components> <component id="1"> <component id="4"> <component id="6"> <!-- further components --> </components> <load_spectrum id="1"> <load_case id="1"> <load_case id="2"> <load_case id="3"> <component id="4"> <component id="6"> </load_case> <accumulation> <component id="4"> <component id="6"> </accumulation> </load_spectrum> </model>
"load_spectrum" object - JSON syntax
The "load_spectrum" object includes the name-value pairs "id" (ID of the load spectrum), "accumulation" (sub-model for accumulated values of the spectrum), and the "load_cases" array. The "accumulation" object contains a "components" array. The "load_cases" array contains a list of JSON objects, each of which includes both an "id" and a "components" array.
Example load spectrum | JSON syntax
"load_spectrum": { "id": 1, "load_cases": [ { "id": 1, "components": [ { "id": 1, "attributes": [...]}, { ... }, ... ] }, { "id": 2, "components": [ { "id": 2, "attributes": [...]}, { ... }, ... ] }, ... ] "accumulation": { "components": [ { "id": 2, "attributes": [...]}, { ... }, ... ] } }
Example model - XML syntax
Example model | XML syntax
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <model applicationId="FVA Workbench" applicationVersion="7.0" date="2021-11-23T13:52:44+01:00" version="1.4"> <relations> <relation id="45" type="assembly"> <ref hint="shaft" id="42" role="assembly"/> <ref hint="shaft_section" id="78" role="part"/> </relation> <relation id="53" type="side"> <ref hint="shaft" id="6" role="inner_part"/> <ref hint="shaft" id="42" role="outer_part"/> <ref hint="rolling_bearing_with_detailed_geometry" id="86" role="assembly"/> </relation> ... </relations> <components> <component id="44" name="Cylindrical gear [44]" type="cylindrical_gear"> <attribute id="example_string" unit="none">30203-A</attribute> <attribute id="example_floating_point_unit" unit="mum">20.0</attribute> <attribute id="example_floating_point_without_unit" unit="none">0.3</attribute> <attribute id="example_integer" unit="none">3</attribute> <attribute id="example_enum" unit="none">method_b</attribute> <attribute id="example_boolean" unit="none">false</attribute> <attribute id="example_floating_point_array" unit="mm"> <array><c>155.0</c><c>0.0</c><c>-190.0</c></array> </attribute> <attribute id="example_floating_point_matrix" unit="mm"> <matrix> <r><c>1.0</c><c>0.0</c><c>0.0</c></r> <r><c>0.0</c><c>1.0</c><c>0.0</c></r> <r><c>0.0</c><c>0.0</c><c>1.0</c></r> </matrix> </attribute> <attribute id="example_floating_point_array_coded" unit="mm"> <array code="float64">62wRNhgQS0AAAAAAAAAAANgPsyG1MXDA</array> </attribute> <attribute id="example_array_of_arrays" unit="none"> <array_of_arrays> <array><c>108</c><c>2</c><c>1</c><c>107</c></array> <array><c>109</c><c>3</c><c>2</c><c>108</c></array> <array><c>8</c><c>114</c><c>115</c></array> </array_of_arrays> </attribute> </component> <component id="45" name="Cylindrical gear [45]" type="cylindrical_gear"> ... </component> </components> <load_spectrum id="1"> <load_case id="1"> <load_case id="2"> <load_case id="3"> <component id="4"> <attribute id="example" unit="mm">20.0</attribute> ... </component> </load_case> <accumulation> <component id="4">...</component> </accumulation> </load_spectrum> </model>
Example model - JSON syntax
Example model | JSON syntax
{ "model": { "applicationId": "Bearinx", "applicationVersion": "12.0.8823", "date": "2021-07-01T12:18:38+01:00", "version": "1.3", "relations": [ { "id": 48, "type": "assembly", "refs": [ {"hint": "gear_unit","id": 1,"role": "assembly"}, {"hint": "gear_casing","id": 2,"role": "part"} ] }, { "id": 49, "type": "side", "refs": [ {"hint": "concept_bearing","id": 40,"role": "assembly"}, {"hint": "shaft","id": 13,"role": "inner_part"}, {"hint": "gear_casing","id": 2,"role": "outer_part"} ] } ... ] "components": [ { "id": 1, "name": "Transmission unit", "type": "gear_unit", "attributes": [ {"id": "example_string", "string": "30203-A"}, {"id": "example_floating_point_unit", "unit": "mm", "floating_point": 2.0}, {"id": "example_floating_point_without_unit", "unit": "none", "floating_point": 0.1}, {"id": "example_integer", "integer": 3}, {"id": "example_boolean", "boolean": false}, {"id": "example_enum", "enum": "both_directions" }, {"id": "example_floating_point_array", "unit": "mm","floating_point_array": [1.0,0.0,0.0]}, {"id": "example_floating_point_matrix", "unit": "mm", "floating_point_matrix": [[1.0,0.0,0.0], [0.0,1.0,0.0], [0.0,0.0,1.0]] }, {"id": "example_array_coded", "unit": "mm", "floating_point_array_coded": {"code": "float64", "value": "62wRNhgQS0AAAAAAAAAAANgPsyG1MXDA"}}, {"id": "example_array_of_arrays", "array_of_integer_arrays": [[108,2,1,107,7],[0,1,0],[0,7,0,1]]}, ] } { "id": 2, "name": "Input shaft", "type": "shaft", "attributes": [ ... ] } ... ] "load_spectrum": { "id": 1, "load_cases": [ { "id": 2, "components": [ { "id": 2, "attributes": [ ... ] }, { ... }, ... ] }, { ... } ] "accumulation": { "components": [ { "id": 2, "attributes": [ ... ] }, { ... }, ... ] } } } }