Product Model

Component structure

The Product Model specifies the component types and respective attributes that can be used for the gear unit design.

  No. Feature Description Details
Part of the REXS file 1 type Type of component; e.g., shaft
Data type: enum
Naming convention List of components
2 id Unique identifier for the component in the concrete instance of the model
Data type: integer
 
3 name User-defined identifier for the component in the concrete instance of the model
Data type: string
optional
Metadata (in the database) 4 designation Component name (multi-lingual)  
5 description Unique component definition (multi-lingual)  

The <component></component> XML tag is used to describe components in the interface file.

The contents of the tag are the attributes associated with the component.

Example cylindrical gear component | XML syntax
<component id="4" type="cylindrical_gear">
	<attribute id="attr1"> .. </attribute>
	<attribute id="attr2"> .. </attribute>
</component >

Attribute structure

  No. Feature Description Details
Part of the REXS file 1 id Unique attribute identifier in REXS
Data type: string
 
2 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.
Unit conventions
Metadata (in the database) 3 component Component type of the attribute
The XML hierarchy is used for allocation of components in the REXS file (see example cylindrical gear component)
 
4 numeric_id Consecutive numbering in the Product Model
 
5 type Data type of the attribute value List of data types
6 value_range Value or validity range Value range
7 symbol Symbol of the attribute, if applicable  
8 designation Attribute identifier (multi-lingual)  
9 description Unique attribute definition (multi-lingual)  

Additional rules for representing attributes in a REXS file:

  No. Feature Description Details
Scalar attribute values 1  
  • The value of the attribute is specified in the "attribute" tag; e.g., <attribute …>4.72</attribute>.
  •  
    2  

    The floating-point symbol is " . “ (period).

     
    Array values 3 array The "array" tag encloses the columns of a one-dimensional array.  
    4 c The "c" (column) tag indicates a column of the array, and encloses a scalar entry of the array (see example below)
     
    5   The floating-point symbol is " . “ (period).  
    6 code
    Changes from REXS version 1.3

    If arrays exceed a certain size, it may be helpful to store them in binary form in the REXS file for performance reasons. The "code" xml attribute is an optional specification in the array tag. This should be used if the array is in binary form with base64 encoding in the REXS file. To do so, the encoding and the binary format are specified in the "array" xml tag. The byte order is "Little Endian." The following variants are available:

    • <array code="int32">
    • <array code="float64">
    • <array code="float32">

    If the array is entered in binary form, the "c" tags are omitted.

     
    Matrix values 7 matrix The "matrix" tag encloses the rows of a “matrix."  
    8 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.
     
    9 c The "c" tag (column) identifies a column of the matrix, and encloses a scalar entry of the matrix (see example below).
     
    10   The floating-point symbol is " . “ (period).  
    11 code, rows, columns
    Changes from REXS version 1.3

    If matrices exceed a certain size, it may be helpful to store them in binary form in the REXS file for performance reasons. The "code" xml attribute is an optional specification in the matrix tag. This should be used if the matrix is in binary form with base64 encoding in the REXS file. To do so, the encoding and the binary format are specified in the "matrix" xml tag. The byte order is "Little Endian." For binary encoded matrices, the number of rows and columns must also be specified via "rows" and "columns" in the matrix tag. The following variants are available:

    • <matrix code="int32" rows="x" columns="y">
    • <matrix code="float64" rows="x" columns="y">
    • <matrix code="float32" rows="x" columns="y">

    If the matrix is entered in binary form, the "r" and "c" tags are omitted.

     
    Changes from REXS version 1.3

    Arrays-of-array values

    12 array_of_arrays The "array_of_arrays" tag encloses the rows of an array-of-arrays.  
    13 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.
     
    14 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 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">23.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 form | XML syntax
    <attribute id="example_attribute_id" unit="mm">
    	<array code="float32"/>MveeQZ6hM0I=<array/>
    </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>

    Relations

    Structure of relations

    Relations are used to connect components to assemblies. A relation consists of a "relation" tag, which contains multiple "ref" tags.

    Changes from REXS version 1.3
    Clarification: relations may not include multiple "ref" tags with the same role. For example, it is not allowed to use multiple "part" elements in the same assembly relation. A separate relation must be created for each "part."

    The "relation" tag has the following characteristics:

      No. Feature Description Details
    Part of the REXS file 1 id Unique identifier of the relation in the concrete instance of the model
    Data type: integer
     
    2 type Type of relation; e.g., "assembly“
    Follows the naming convention
    Data type: string
    Naming convention
    3 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.

     

    The "ref" tag has the following characteristics:

      No. Feature Description
    Part of the REXS file 1 id ID of a component in the relation
    2 role Role of the component in the relation (e.g., stage)
    Optional in REXS file 3 hint Note to make the relation easier to read; e.g., type of the referenced component, max. 40 characters
    Notes:
    • The order of the relation tags within the REXS file is arbitrary.
    • The order of ref tags within the relation tags is also arbitrary.

    Types of relations

    Type of relation Components/roles Example
    assembly
    Component Role Comp. Type
    K1 assembly all
    K2 part all

    Connects primary component K1 with sub-component K2

    <relation id="33" type="assembly">
    	<ref id="5" role="assembly" hint="shaft"/>
    	<ref id="32" role="part" hint="external_load"/>
    </relation>
    ordered_assembly
    Component Role Comp. Type
    K1 assembly all
    K2 part all

    Connects primary component K1 with sub-component K2 by 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.

    <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
    Component Role Comp. Type
    S stage all stages
    R1 gear_1 all gears
    R2 gear_2 all gears

    Connects a stage component S with two gears, R1 and R2

    <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
    Component Role Comp. Type
    S stage all stages
    R gear all gears
    D stage_gear_data gear stage data

    This relation is used to represent stage-related gear data. It connects stage component S with gear R and a "stage_gear_data" component.

    <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
    Component Role Comp. Type
    M assembly

    concept_bearing, rolling_bearing_with_catalog_geometry, rolling_bearing_with_detailed_geometry, switchable_coupling, coupling, cylindrical_interference_fit, tapered_interference_fit, feather_key_connection, involute_spline_connection

    IP inner_part

    gear_casing, shaft, side_plate,

    *_gear (for shaft-hub connections)

    OP outer_part

    gear_casing, shaft, side_plate,

    *_gear (for shaft-hub connections)

    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.

    <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
    Component Role Comp. Type
    R gear all gears
    C1 left corresponding flank component type
    C2 right corresponding flank component type

    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.

    <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
    Component Role Comp. Type
    R origin all
    P referenced all

    Used to assign components such as materials or lubricants to a component.

    <relation id="40" type="reference">
    	<ref id="10" role="origin" hint="cylindrical_gear"/>
    	<ref id="15" role="referenced" hint="material"/>
    </relation>
    manufacturing_step
    Component Role Comp. Type
    F workpiece all gear flanks
    T tool associated tool types
    M manufacturing_settings associated manufacturing settings

    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.

    
    <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
    Component Role Comp. Type
    C1 planetary_stage planetary_stage
    C2 shaft shaft

    Identification of planetary shaft C2 in planetary stage C1.

    <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
    Component Role Comp. Type
    C1 planetary_stage planetary_stage
    C2 shaft shaft

    Identification of central shaft C2 in planetary stage C1.

    <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

    Component Role Comp. Type
    C1 planetary_stage planetary_stage
    C2 shaft shaft

    Identification of carrier shaft C2 in planetary stage C1.

    <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

    Component Role Comp. Type
    C1 planetary_stage planetary_stage
    C2 shaft shaft

    Identification of pin C2 in planetary stage C1.

    <relation id="45" type="planet_pin">
    	<ref id="3" role="planetary_stage" hint="planetary_stage"/>
    	<ref id="11" role="shaft" hint="shaft"/>
    </relation>