Data Groups
TonCut Engine uses 3 data groups:
- Configuration – contains configuration, i.e. optimization profiles.
- Input – contains input data, i.e. pieces, stock, veneers, material groups and devices.
- Output – contains output data, i.e. piece locations, piece transformations and cuts.
Each of the data groups is described in JSON format.
Common
All the data groups must contain two properties that are used to decode the data.
That is version and defaultUnits.
version
The version property specifies the version of the format the data group is encoded in.
The version may be different for different data groups, as we are increasing it always when the format changes.
defaultUnits
The defaultUnits property specifies the default units for various measurements in the data group. 
It contains several sub-properties:
| time | default unit for time measurements. | 
| percent | default unit for percentage measurements. | 
| length | default unit for length measurements. | 
| field | default unit for field measurements. | 
| angle | default unit for angle measurements. | 
Configuration
Config data group contains just a list of profiles to be used.
| Attributes | 
|---|
- versionint mandatory- Version number of the data group. - For the moment it should be set to 3. 
- defaultUnitsobject- Default units specification as described in defaultUnits section. 
- profileslist(Profile)- List of profile objects. 
 If no profiles are provided, the program will use the default ones.
Configuration data group
Input
Input data group contains input data.
| Attributes | 
|---|
- versionint mandatory- Version number of the data group. - For the moment it should be set to 1. 
- defaultUnitsobject- Default units specification as described in defaultUnits section. 
- deviceslist(Device) mandatory- List of device objects. 
- materialslist(Material) mandatory- List of material objects. 
- veneerslist(Veneer)- List of veneer objects. 
- pieceslist(Piece) mandatory- List of piece objects. 
- stocklist(StockItem) mandatory- List of StockItem objects. 
Input data group
Output
Output data group contains optimization results.
| Attributes | 
|---|
- versionint- Version number of the data group. - Version - 1had no support for- quantityin Cutting object. Latest version is- 3.
- defaultUnitsobject- Default units specification as described in defaultUnits section. 
- statisticsobject- Global statistics of the entire optimization. - Show Child Attributes
- cuttingslist(Cutting)- List of cutting objects.