TypeScript declaration

WSi4 exposes a complete TypeScript declaration file for its API.

The declarations can be found here.

Users are encouraged to write their own scripts in TypeScript and compile them to JavaScript using this declaration file.

Script library

In addition to WSi4’s API, there are modules written in TypeScript and in JavaScript that can be included in user modules.

The documentation for it can be found here.

Download for TypeScript and JavaScript can be found here.

Users are encouraged to write their own scripts either in JavaScript or in TypeScript and compile them to JavaScript using these source files.

For modules to work, the desired library files need to be placed in the users script directory and need to be included in the files where they will be used. For example - assuming that the TypeScript files are placed in a directory ts relative to the current file - to import the function readSetting from utils.ts, one would use the following code, .

import {
        readSetting,
} from "./ts/lib/utils.js";

Alternatively, the library files included in the executable can be used

import {
        readSetting,
} from "qrc:/js/lib/utils.js";

All files that are provided in the library are also included in the executable.

File endings for included modules must be specified for lookup to work.

Includes in JavaScript function similarly.

For further reading on modules check here for TypeScript and here for JavaScript.

Tutorial

This section gives an overview of the usage of the WSi4 command line tool wsi4cli.

In this tutorial wsi4cli is used as name for the WSi4 command line tool binary. Depending on the platform the binary can be wsi4cli, wsi4cli.exe or wsi4cli.AppImage.

In the first section the usage of the command line tool itself is explained. In the subsequent sections two approaches (interactive mode / server mode) of working with wsi4cli are explained.

Command line usage

wsi4cli provides several command line options. Calling wsi4cli with the option -h or --help shows a list of all available options.

For each regular (not -h / --help or -v / --version) call of wsi4cli the command line options -u / --user and -p / --password are mandatory.

$ wsi4cli --user <username> --password <password>

By default wsi4cli starts in interactive mode. Calling wsi4cli as shown above opens an interactive shell:

WSi4 >

If the command line option --server is set WSi4 runs in server mode instead (see below).

Interactive mode

In this mode WSi4’s backend JavaScript API can be accessed directly. The prompt expects valid JavaScript code (ECMA Script 7 or below).

Input lines are submitted by typing <Enter>.

By pressing <Arrow-up> / <Arrow-down> it is possible to browse the command history.

The following code snippets show how to import CAD data and query information from the underlying graph in an interactive session.

Read and classify CAD file content

The following one-line-script reads a STEP-file’s content and assigns the return value (ArrayBuffer) to a variable called buffer.

WSi4 > var buffer = wsi4.io.fs.readFile("/absolute/path/to/cad/file.step");
{
    "error": "",
    "return": null,
    "runId": "0",
    "type": "Success"
}

After evaluating the (one-line-) script a JSON-formated string is returned. The script’s return value is written to the property return. The propertytype holds the script result’s type and indicates if the script has been evaluated successfully.

Scripts can consist of one line (as seen in the next few examples) or of multiple lines (see below).

As soon as the entered script is valid it will be evaluated. When the script evaluation is finished the scripts scope is left and scoped variables become unreachable for subsequent commands. For this reson the in general discouraged var is used in the examples of this subsection instead of the scoped let and const.

To add the CAD data held by buffer to WSi4 the input type must be provided. The input type can be detected utilizing WSi4’s classifier module:

WSi4 > var type = wsi4.classifier.classify(buffer);
{
    "error": "",
    "return": "null",
    "runId": "1",
    "type": "Success"
}

To check the type it can be printed to the console output. Printing can be done via JavaScript’s console module or via functions provided by WSi4’s util module (see API Reference).

WSi4 > console.log(type);
js: Assembly
{
    "error": "",
    "return": null,
    "runId": "2",
    "type": "Success"
}

Note the js: Assembly prior to the evaluation result showing the printed text.

Add data to WSi4

Now the file content of type Assembly can be added to WSi4:

Other types supported by WSi4 are Layered (type for DXF files) or DocumentGraph (type for wsi4 files). When adding data of type Layered two additional parameters are mandatory: thickness (double) and tolerance (double).

WSi4 > wsi4.graphManipulator.add([{type : type, content : {data: buffer, id : ""}}]);
{
    "error": "",
    "return": true,
    "runId": "3",
    "type": "Success"
}

Note: id will be part of the return value of add(). If the return value is unused there is no need to set an actual id.

Note: When typing the prompt offers auto-completion for built-in functions. To accept a completion press <Tab>. If no completion is shown pressing <Tab> shows all available functions for the input entered so far.

To list all available functions type :help. Detailed information for a function can be listed by typing :help <function name>.

WSi4 > :help wsi4.graphManipulator.add

wsi4.graphManipulator.add(Input[] input)

Add data to graph
help graphManipulator.add

Multi-line scripts

The interactive prompt offers basic support for scripts that cover more than one line. If the script engine detects an incomplete script the prompt shows all lines entered so far:

WSi4 > function print(val) {
function print(val) {

WSi4 > console.log(val);
function print(val) {
console.log(val);

WSi4 > }
{
    "error": "",
    "return": null,
    "runId": "7",
    "type": "Success"
}


WSi4 > print("hello world");
js: hello world
{
    "error": "",
    "return": null,
    "runId": "8",
    "type": "Success"
}

The previous lines define a function print(val) that is evaluated in the last statement.

Note: Lines submitted to the prompt cannot be edited any more. If a syntax error has been entered it is possible that the prompt won’t detect the entered script as complete any more. In this case the interactive session must be restarted.

Summary

This section showed how to read a STEP file from the file system, add its content to WSi4 and query data for certain parts of the added STEP model.

Server mode

When calling wsi4cli with the command line option -s / --server the process will block but no interactive prompt will show. Instead wsi4cli runs in server mode and can be controlled via a TCP socket ("TCP socket mode") or via input- / output-stream ("I/O stream mode"). Both modes are mutually exclusive.

In contrast to interactive mode in server mode wsi4cli can run pre-defined scripts as well ("module mode"). To expose the script engine directly the command line option --pass-through must be set ("pass-through mode"). Both modes are mutually exclusive.

The server modes (TCP / I/O-stream) and script modes (module / pass-through) can be combined as needed.

TCP socket mode

By default wsi4cli listens to port 8193 when launched in server mode. A custom port can be defined using the --port <Port> command line option.

wsi4cli can be controlled via POST requests. Depending on the script mode (module / pass-through) the message body can vary (see below).

I/O stream mode

When the command line option --io-stream is set wsi4cli does not listen to a TCP socket. Instead the input is read from stdin. Results are written to stdout. Requests need to be delimited by line-breaks ('\n').

Module mode

By default (--pass-through unset) wsi4cli can be controled via (POST-)requests. In this mode wsi4cli does not accept JavaScript code. Instead a JavaScript module’s path, a function-name of the specified module and (optionally) function arguments are submitted as a JSON-formatted string via the (POST-)request’s message body.

{
	"modulePath" : "relative/path/to/module.js",
	"functionName" : "computeSomething",
	"args" : ["optional", "function", "arguments"]
}

Note: args is an optional property. If defined it must be an array that provides function parameters for the called function (e. g. "computeSomething" in the example above has three string function parameters).

Scripts can be imported from a custom directory specified via the command line option --script-dir.

Script modules can import other script modules internally via JavaScript’s import keyword.

Pass-through mode

By setting the command line option --pass-through the backend’s script engine is exposed directly. This mode is similar to interactive mode. The request’s message body is passed to the script engine as is and evaluated immediately.

Data Interfaces

WSi4 can be interfaced to exchange data with e. g. ERP systems.

Reading interface

This section describes WSi4’s reading interface, i. e. submitting read-only data to WSi4.

The reading interface basically boils down to replacing the built-in tables delivered by WSi4 with external data. The external data must conform to the same interfaces as WSi4’s built-in tables.

External data can be submitted to WSi4 via a dedicated API function.

Supported data sources for external tables are

  • File (see example below)

  • HTTP-Server (via a GET request)

Example: File-based data access

The following example assumes that /path/to/global/material/table.json contains a JSON-formatted table. The contained table is assumed to conform to WSi4’s interface for the table defined by the specified table type.

const arrayBuffer = wsi4.io.fs.readFile("/path/to/global/material/table.json");
const jsonString = wsi4.util.arrayBufferToString(arrayBuffer);
const table = JSON.parse(jsonString);

// `content` must conform to the interface associated with `type`
wsi4.tables.setExternalTable({
	type: TableType.sheetMaterial,
	content: table,
});

Now each call of wsi4.tables.get(TableType.sheetMaterial) returns the table submitted previously.

This change is not persistent though. A good place to set external tables is WSi4’s configuration script. It is not possible to store / modify external tables within WSi4.

As seen in the example only tables known to WSi4 can be set. All tables known to WSi4 are listed in the table documentation section below.

Example: HTTP server access

The sequence diagram visualizes a GET request and the corresponding server response. The communication is always synchronous. As a consequence the script evaluation for `wsi4.io.http.get() blocks until the server-request is received.

Reading from ERP via HTTP interface

image/svg+xml https://server/wsi4/<tableName>" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:125%;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="text1007">

The example below utilizes the http API to query data from a server.

const jsonString = wsi4.io.net.http.get("https://server/wsi4/sheetMaterial");
const table = JSON.parse(jsonString);

// `content` must conform to the interface associated with `type`
wsi4.tables.setExternalTable({
	type: TableType.sheetMaterial,
	content: table,
);

The server internals along with the query path are independent from wsi4. A sensible choice for the server API is to accept string-values of TableType (e. g. "sheetMaterial") to access the respective table.

Writing interface

This sections describes WSi4’s built-in writing interface. It can be used to submit data to third-party software.

By default WSi4 writes a file graph.json to the export directory when executing the export script. This file contains a JSON-formatted structure representing the project’s underlying graph.

The file content is defined by the function createGraphRepresentation() defined in export_graph_representation.ts which can be found here.

The following example shows the resulting (reformatted) file-content for a project containing an assembly that consists of two parts. Each part contains the work steps sheet-cutting and sheet-bending and a node prepresenting the sheet metal.

Please note that this interface has not been finalized yet.

{
  "articles": [
    {
      "comment": "",
      "externalDrawingNumber": "",
      "externalPartNumber": "",
      "externalRevisionNumber": "",
      "multiplicity": 1,
      "name": "Sheet_0",
      "scaleData": [],
      "vertexKeys": [
        "0x7fb140ebc830_4"
      ]
    },
    {
      "comment": "",
      "externalDrawingNumber": "",
      "externalPartNumber": "",
      "externalRevisionNumber": "",
      "multiplicity": 1,
      "name": "Sheet_1",
      "scaleData": [],
      "vertexKeys": [
        "0x7fb140ebc830_6"
      ]
    },
    {
      "comment": "",
      "externalDrawingNumber": "",
      "externalPartNumber": "",
      "externalRevisionNumber": "",
      "globalMaterialId": "global-1.0038",
      "multiplicity": 1,
      "name": "Teil3^Baugruppe1",
      "scaleData": [
        {
          "manufacturingCosts": 25.754750325317154,
          "scaleCosts": {
            "material": 0.8200022687488632,
            "setup": 24.223333333333333,
            "unit": 0.7114147232349586
          },
          "scaleValue": 1,
          "sellingPrice": 38.7
        },
        {
          "manufacturingCosts": 31.880418293252443,
          "scaleCosts": {
            "material": 4.100011343744316,
            "setup": 24.223333333333333,
            "unit": 3.5570736161747925
          },
          "scaleValue": 5,
          "sellingPrice": 48.55
        },
        {
          "manufacturingCosts": 100.79418293252442,
          "scaleCosts": {
            "material": 41.00011343744316,
            "setup": 24.223333333333333,
            "unit": 35.570736161747924
          },
          "scaleValue": 50,
          "sellingPrice": 159.5
        }
      ],
      "sheetMaterialId": "global-1.0038",
      "vertexKeys": [
        "0x7fb140ebc830_3",
        "0x7fb140ebc830_1"
      ]
    },
    {
      "comment": "",
      "externalDrawingNumber": "",
      "externalPartNumber": "",
      "externalRevisionNumber": "",
      "globalMaterialId": "global-1.0038",
      "multiplicity": 1,
      "name": "Teil2",
      "scaleData": [
        {
          "manufacturingCosts": 41.44191358365164,
          "scaleCosts": {
            "material": 5.016447632374743,
            "setup": 31.816666666666666,
            "unit": 4.608799284610226
          },
          "scaleValue": 1,
          "sellingPrice": 63.03
        },
        {
          "manufacturingCosts": 79.94290125159151,
          "scaleCosts": {
            "material": 25.082238161873715,
            "setup": 31.816666666666666,
            "unit": 23.04399642305113
          },
          "scaleValue": 5,
          "sellingPrice": 124.75
        },
        {
          "manufacturingCosts": 513.0790125159151,
          "scaleCosts": {
            "material": 250.82238161873715,
            "setup": 31.816666666666666,
            "unit": 230.43996423051132
          },
          "scaleValue": 50,
          "sellingPrice": 819
        }
      ],
      "sheetMaterialId": "global-1.0038",
      "vertexKeys": [
        "0x7fb140ebc830_5",
        "0x7fb140ebc830_2"
      ]
    },
    {
      "comment": "",
      "externalDrawingNumber": "",
      "externalPartNumber": "",
      "externalRevisionNumber": "",
      "multiplicity": 1,
      "name": "baugruppe1",
      "scaleData": [
        {
          "manufacturingCosts": 67.19666390896879,
          "scaleCosts": {
            "material": 5.836449901123606,
            "setup": 56.04,
            "unit": 5.320214007845185
          },
          "scaleValue": 1,
          "sellingPrice": 101.72
        },
        {
          "manufacturingCosts": 111.82331954484397,
          "scaleCosts": {
            "material": 29.18224950561803,
            "setup": 56.04,
            "unit": 26.601070039225924
          },
          "scaleValue": 5,
          "sellingPrice": 173.25
        },
        {
          "manufacturingCosts": 613.8731954484396,
          "scaleCosts": {
            "material": 291.8224950561803,
            "setup": 56.04,
            "unit": 266.01070039225925
          },
          "scaleValue": 50,
          "sellingPrice": 978
        }
      ],
      "vertexKeys": [
        "0x7fb140ebc830_0"
      ]
    }
  ],
  "creator": "WSi4 (<version>)",
  "erpInterfaceVersion": "v1",
  "nodes": [
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 0,
        "material": 0,
        "selling": 0,
        "setup": 0,
        "unit": 0
      },
      "importId": "",
      "mass": 3.919469100972685,
      "processId": "joiningId",
      "processRep": {
        "type": "joining"
      },
      "sourceMultiplicities": [
        {
          "multiplicity": 1,
          "vertexKey": "0x7fb140ebc830_1"
        },
        {
          "multiplicity": 1,
          "vertexKey": "0x7fb140ebc830_2"
        }
      ],
      "sourceVertexKeys": [
        "0x7fb140ebc830_1",
        "0x7fb140ebc830_2"
      ],
      "targetVertexKeys": [],
      "times": {
        "setup": 0,
        "unit": 0
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_0",
      "workStep": {
        "content": {},
        "type": "joining"
      }
    },
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 10.2,
        "material": 0,
        "selling": 15.259199999999998,
        "setup": 9.973333333333333,
        "unit": 0.22666666666666668
      },
      "mass": 0.7988523924569767,
      "processId": "dieBendingId",
      "processRep": {
        "content": {
          "bendLineData": [
            {
              "bendAngle": 1.5707963267948968,
              "bendDescriptor": 0,
              "constructedInnerRadius": 4.599999999999994,
              "innerRadius": 4.599999999999994,
              "resultingInnerRadius": 4.599999999999998,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        41.715664539546765,
                        -49.41305904430661
                      ]
                    },
                    "to": {
                      "entries": [
                        -91.26956563704638,
                        -49.4130590443066
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            }
          ],
          "sheetThickness": 4
        },
        "type": "dieBending"
      },
      "sourceMultiplicities": [
        {
          "multiplicity": 1,
          "vertexKey": "0x7fb140ebc830_3"
        }
      ],
      "sourceVertexKeys": [
        "0x7fb140ebc830_3"
      ],
      "targetVertexKeys": [
        "0x7fb140ebc830_0"
      ],
      "times": {
        "setup": 528,
        "unit": 12
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_1",
      "workStep": {
        "content": {
          "bendLineData": [
            {
              "bendAngle": 1.5707963267948968,
              "bendDescriptor": 0,
              "constructedInnerRadius": 4.599999999999994,
              "innerRadius": 4.599999999999994,
              "resultingInnerRadius": 4.599999999999998,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        41.715664539546765,
                        -49.41305904430661
                      ]
                    },
                    "to": {
                      "entries": [
                        -91.26956563704638,
                        -49.4130590443066
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            }
          ],
          "sheetThickness": 4
        },
        "type": "sheetBending"
      }
    },
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 20.966666666666665,
        "material": 0,
        "selling": 31.366133333333334,
        "setup": 17.566666666666666,
        "unit": 3.4
      },
      "mass": 3.1206167085157084,
      "processId": "dieBendingId",
      "processRep": {
        "content": {
          "bendLineData": [
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 0,
              "constructedInnerRadius": 0.7999999999999998,
              "innerRadius": 0.7999999999999998,
              "resultingInnerRadius": 4,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -95.1667478328334,
                        38.161171315994906
                      ]
                    },
                    "to": {
                      "entries": [
                        -10.212104966042528,
                        96.70919812231415
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 1,
              "constructedInnerRadius": 0.7999999999999972,
              "innerRadius": 0.7999999999999972,
              "resultingInnerRadius": 4,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -6.074456119836075,
                        96.98376894633996
                      ]
                    },
                    "to": {
                      "entries": [
                        61.79064392824266,
                        62.41167704845956
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 2,
              "constructedInnerRadius": 0.8000000000000034,
              "innerRadius": 0.8000000000000034,
              "resultingInnerRadius": 4,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        63.96361849391411,
                        58.86757334260705
                      ]
                    },
                    "to": {
                      "entries": [
                        63.96361849391486,
                        -50.57435277996415
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.0078996598309609,
              "bendDescriptor": 3,
              "constructedInnerRadius": 0.7999999999999785,
              "innerRadius": 0.7999999999999785,
              "resultingInnerRadius": 6.73522664879026,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        154.80361829456268,
                        -51.93801780426657
                      ]
                    },
                    "to": {
                      "entries": [
                        65.60361829456266,
                        -51.93801780426718
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.4912289756594594,
              "bendDescriptor": 4,
              "constructedInnerRadius": 0.7999999999999794,
              "innerRadius": 0.7999999999999794,
              "resultingInnerRadius": 4.156079446075509,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -97.54806394685781,
                        38.51178538858042
                      ]
                    },
                    "to": {
                      "entries": [
                        -148.165595681689,
                        111.95908269129508
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            }
          ],
          "sheetThickness": 6
        },
        "type": "dieBending"
      },
      "sourceMultiplicities": [
        {
          "multiplicity": 1,
          "vertexKey": "0x7fb140ebc830_5"
        }
      ],
      "sourceVertexKeys": [
        "0x7fb140ebc830_5"
      ],
      "targetVertexKeys": [
        "0x7fb140ebc830_0"
      ],
      "times": {
        "setup": 930,
        "unit": 180
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_2",
      "workStep": {
        "content": {
          "bendLineData": [
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 0,
              "constructedInnerRadius": 0.7999999999999998,
              "innerRadius": 0.7999999999999998,
              "resultingInnerRadius": 4,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -95.1667478328334,
                        38.161171315994906
                      ]
                    },
                    "to": {
                      "entries": [
                        -10.212104966042528,
                        96.70919812231415
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 1,
              "constructedInnerRadius": 0.7999999999999972,
              "innerRadius": 0.7999999999999972,
              "resultingInnerRadius": 4,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -6.074456119836075,
                        96.98376894633996
                      ]
                    },
                    "to": {
                      "entries": [
                        61.79064392824266,
                        62.41167704845956
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 2,
              "constructedInnerRadius": 0.8000000000000034,
              "innerRadius": 0.8000000000000034,
              "resultingInnerRadius": 4,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        63.96361849391411,
                        58.86757334260705
                      ]
                    },
                    "to": {
                      "entries": [
                        63.96361849391486,
                        -50.57435277996415
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.0078996598309609,
              "bendDescriptor": 3,
              "constructedInnerRadius": 0.7999999999999785,
              "innerRadius": 0.7999999999999785,
              "resultingInnerRadius": 6.73522664879026,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        154.80361829456268,
                        -51.93801780426657
                      ]
                    },
                    "to": {
                      "entries": [
                        65.60361829456266,
                        -51.93801780426718
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.4912289756594594,
              "bendDescriptor": 4,
              "constructedInnerRadius": 0.7999999999999794,
              "innerRadius": 0.7999999999999794,
              "resultingInnerRadius": 4.156079446075509,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -97.54806394685781,
                        38.51178538858042
                      ]
                    },
                    "to": {
                      "entries": [
                        -148.165595681689,
                        111.95908269129508
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            }
          ],
          "sheetThickness": 6
        },
        "type": "sheetBending"
      }
    },
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 14.734748056568291,
        "material": 0,
        "selling": 22.043183092626162,
        "setup": 14.25,
        "unit": 0.48474805656829184
      },
      "mass": 0.798852392456977,
      "processId": "laserSheetCuttingId",
      "processRep": {
        "content": {
          "boundingBox": {
            "lower": {
              "entries": [
                -91.71566453954676,
                -135.9440677608448
              ]
            },
            "upper": {
              "entries": [
                91.71566453954676,
                44.74555904430663
              ]
            }
          },
          "contourCount": 5,
          "contourLength": 980.298780999471,
          "cuttingGasId": "O2",
          "fixedRotations": [],
          "sheetConsumption": 0.008196743989892674,
          "sheetId": "3000.0x1500.0-1.0038-4.0",
          "sheetThickness": 4
        },
        "type": "laserSheetCutting"
      },
      "sourceMultiplicities": [
        {
          "multiplicity": 1,
          "vertexKey": "0x7fb140ebc830_4"
        }
      ],
      "sourceVertexKeys": [
        "0x7fb140ebc830_4"
      ],
      "targetVertexKeys": [
        "0x7fb140ebc830_1"
      ],
      "times": {
        "setup": 540,
        "unit": 18.369400038377375
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_3",
      "workStep": {
        "content": {
          "boundingBox": {
            "lower": {
              "entries": [
                -91.71566453954676,
                -135.9440677608448
              ]
            },
            "upper": {
              "entries": [
                91.71566453954676,
                44.74555904430663
              ]
            }
          },
          "contourCount": 5,
          "contourLength": 980.298780999471,
          "cuttingGasId": "O2",
          "fixedRotations": [],
          "sheetConsumption": 0.008196743989892674,
          "sheetId": "3000.0x1500.0-1.0038-4.0",
          "sheetThickness": 4
        },
        "type": "sheetCutting"
      }
    },
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 0.8200022687488632,
        "material": 0.8200022687488632,
        "selling": 1.3940038568730673,
        "setup": 0,
        "unit": 0
      },
      "mass": 1.1581999257718347,
      "processId": "sheetId",
      "processRep": {
        "content": {
          "consumptions": [
            0.008196743989892674
          ],
          "sheetIds": [
            "3000.0x1500.0-1.0038-4.0"
          ],
          "sheetThickness": 4,
          "testReportRequired": false
        },
        "type": "sheet"
      },
      "sourceMultiplicities": [],
      "sourceVertexKeys": [],
      "targetVertexKeys": [
        "0x7fb140ebc830_3"
      ],
      "times": {
        "setup": 0,
        "unit": 0
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_4",
      "workStep": {
        "content": {
          "consumptions": [
            0.008196743989892674
          ],
          "sheetIds": [
            "3000.0x1500.0-1.0038-4.0"
          ],
          "sheetThickness": 4,
          "testReportRequired": false
        },
        "type": "sheet"
      }
    },
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 15.458799284610226,
        "material": 0,
        "selling": 23.126363729776898,
        "setup": 14.25,
        "unit": 1.2087992846102262
      },
      "mass": 3.12061670851571,
      "processId": "laserSheetCuttingId",
      "processRep": {
        "content": {
          "boundingBox": {
            "lower": {
              "entries": [
                -282.5157325932403,
                -145.95669893449292
              ]
            },
            "upper": {
              "entries": [
                154.80361829456334,
                180.34275998765543
              ]
            }
          },
          "contourCount": 5,
          "contourLength": 2231.107105105117,
          "cuttingGasId": "O2",
          "fixedRotations": [],
          "sheetConsumption": 0.033429612370883266,
          "sheetId": "3000.0x1500.0-1.0038-6.0",
          "sheetThickness": 6
        },
        "type": "laserSheetCutting"
      },
      "sourceMultiplicities": [
        {
          "multiplicity": 1,
          "vertexKey": "0x7fb140ebc830_6"
        }
      ],
      "sourceVertexKeys": [
        "0x7fb140ebc830_6"
      ],
      "targetVertexKeys": [
        "0x7fb140ebc830_2"
      ],
      "times": {
        "setup": 540,
        "unit": 45.807130785229624
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_5",
      "workStep": {
        "content": {
          "boundingBox": {
            "lower": {
              "entries": [
                -282.5157325932403,
                -145.95669893449292
              ]
            },
            "upper": {
              "entries": [
                154.80361829456334,
                180.34275998765543
              ]
            }
          },
          "contourCount": 5,
          "contourLength": 2231.107105105117,
          "cuttingGasId": "O2",
          "fixedRotations": [],
          "sheetConsumption": 0.033429612370883266,
          "sheetId": "3000.0x1500.0-1.0038-6.0",
          "sheetThickness": 6
        },
        "type": "sheetCutting"
      }
    },
    {
      "comment": "",
      "costCenter": "",
      "costs": {
        "manufacturing": 5.016447632374743,
        "material": 5.016447632374743,
        "selling": 8.527960975037063,
        "setup": 0,
        "unit": 0
      },
      "mass": 7.0854063420087074,
      "processId": "sheetId",
      "processRep": {
        "content": {
          "consumptions": [
            0.033429612370883266
          ],
          "sheetIds": [
            "3000.0x1500.0-1.0038-6.0"
          ],
          "sheetThickness": 6,
          "testReportRequired": false
        },
        "type": "sheet"
      },
      "sourceMultiplicities": [],
      "sourceVertexKeys": [],
      "targetVertexKeys": [
        "0x7fb140ebc830_5"
      ],
      "times": {
        "setup": 0,
        "unit": 0
      },
      "userDefinedScalePrices": [],
      "vertexKey": "0x7fb140ebc830_6",
      "workStep": {
        "content": {
          "consumptions": [
            0.033429612370883266
          ],
          "sheetIds": [
            "3000.0x1500.0-1.0038-6.0"
          ],
          "sheetThickness": 6,
          "testReportRequired": false
        },
        "type": "sheet"
      }
    }
  ],
  "projectName": "Baugruppe1",
  "resources": {
    "attachments": {},
    "dxfs": {
      "0x7fb140ebc830_1": "<Base64 encode data>",
      "0x7fb140ebc830_2": "<Base64 encode data>",
      "0x7fb140ebc830_3": "<Base64 encode data>",
      "0x7fb140ebc830_4": "<Base64 encode data>",
      "0x7fb140ebc830_5": "<Base64 encode data>",
      "0x7fb140ebc830_6": "<Base64 encode data>"
    },
    "dxfsCompressed": {},
    "geos": {
      "0x7fb140ebc830_1": "<Base64 encode data>",
      "0x7fb140ebc830_2": "<Base64 encode data>",
      "0x7fb140ebc830_3": "<Base64 encode data>",
      "0x7fb140ebc830_4": "<Base64 encode data>",
      "0x7fb140ebc830_5": "<Base64 encode data>",
      "0x7fb140ebc830_6": "<Base64 encode data>"
    },
    "geosCompressed": {},
    "inputSteps": {
      "0x7fb140ebc830_0": "<Base64 encode data>",
      "0x7fb140ebc830_1": "<Base64 encode data>",
      "0x7fb140ebc830_2": "<Base64 encode data>"
    },
    "inputStepsCompressed": {},
    "outputSteps": {
      "0x7fb140ebc830_0": "<Base64 encode data>",
      "0x7fb140ebc830_1": "<Base64 encode data>",
      "0x7fb140ebc830_2": "<Base64 encode data>",
      "0x7fb140ebc830_3": "<Base64 encode data>",
      "0x7fb140ebc830_4": "<Base64 encode data>",
      "0x7fb140ebc830_5": "<Base64 encode data>",
      "0x7fb140ebc830_6": "<Base64 encode data>"
    },
    "outputStepsCompressed": {},
    "pngs": {
      "0x7fb140ebc830_0": "<Base64 encode data>",
      "0x7fb140ebc830_1": "<Base64 encode data>",
      "0x7fb140ebc830_2": "<Base64 encode data>",
      "0x7fb140ebc830_3": "<Base64 encode data>",
      "0x7fb140ebc830_4": "<Base64 encode data>",
      "0x7fb140ebc830_5": "<Base64 encode data>",
      "0x7fb140ebc830_6": "<Base64 encode data>"
    },
    "svgs": {
      "0x7fb140ebc830_1": "<Base64 encode data>",
      "0x7fb140ebc830_2": "<Base64 encode data>",
      "0x7fb140ebc830_3": "<Base64 encode data>",
      "0x7fb140ebc830_4": "<Base64 encode data>",
      "0x7fb140ebc830_5": "<Base64 encode data>",
      "0x7fb140ebc830_6": "<Base64 encode data>"
    },
    "svgsCompressed": {}
  }
}

Custom Bend Deductions

WSi4 provides default-tables for bend-die-groups and bend-deductions.

To use custom tables for bend-die-groups and bend-deductions the following data needs to be provided:

There may be other tables that refer to or are referred by one or more of the tables listed above. See the respective table documentation for a full list of dependencies for each table.

The definitions of bend deduction values depend on the angle.
Bend deduction definition for angles below and above 90°

image/svg+xml D D E E L

Bend deduction value for angles < 90°: L - 2D

Bend deduction value for angles > 90°: L - 2E

Bend deduction values for 90° are mandatory.

As the definition for bend deductions varies for angles below and above 90° there must be a value for each unique tuple (bendMaterialId, upperDieGroupId, lowerDieGroupId, thickness).

Reference

Opaque objects

Opaque objects are objects used in the API whose content is not supposed to be directly observed or modified by callees. They are only meant to serve as further input to API functions.

Polygon

Polygon consisting of line and arc segments

Details

A Polygon can not contain holes.

InnerOuterPolygon

Type representing a polygon with arbitrarily many Polygons as holes

Details

An InnerOuterPolygon corresponds to a two dimensional part.

Scene

Type representing a two dimensional scene with arbitrary non-bitmap content

Details

A Scene can be converted to various two-dimensional output formats such as DXF or SVG.

Layered

Type representing layered vector graphics

Details

A Layered represents arbitrary two-dimensional contours. These need not form actual parts. A Layered can potentially be turned into an InnerOuterPolygon if it forms one.

Brep

Boundary representation of a single part

Details

A Brep represents a three-dimensional object. Breps can be placed into Assemblys.

Assembly

Assembly consisting of arbitrarily many Breps at arbitrary positions

Details

An Assembly recursively contains other Assemblys and Breps.

TwoDimRepresentation

Workstep specific two-dimensional representation

Details

A TwoDimRepresentation shows, in a manner specific to the underlying workstep, the available two-dimensional information.

Vertex

Vertex object of a graph

Details

A Vertex references one node in one graph instance. It becomes invalid as soon as the graph changes.

GraphNodeId

Unique identifier of one node

Details

A GraphNodeId is a unique identifier for one node. It is unique for a whole program instance across different graphs and projects.

GraphNodeRootId

Identifier for a group of nodes

Details

A GraphNodeRootId identifies a group of nodes such that one graph contains at most one member of the group. If a node has a certain GraphNodeRootId and is changed by some API function, its GraphNodeRootId remains the same.

ArrayBufferFuture

Asynchronously computed binary data

MeasurementScenesFuture

Asynchronously computed measurement scenes

BooleanFuture

Asynchronously computed boolean value

PolygonFuture

Asynchronously computed polygon value

TwoDimRepOptionalFuture

Asynchronously computed optional TwoDimRepresentation

Nest3ResultFuture

Asynchronously computed nest3 result value

Interfaces

Interfaces are objects used in the API whose content can be observed and modified in scripts.

StringIndexedInterface

Type containing arbitrary values or arrays of values indexed by strings

interface StringIndexedInterface {
	[index: string]: unknown;
}

Defined in module lib/generated/typeguard.ts

function isStringIndexedInterface(arg: unknown) : arg is StringIndexedInterface;
Details

This type is meant to be used when the exact type of a value is a runtime choice.

BendReplyStateContentUndefinedError

Data associated to undefinedError

interface BendReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentUndefinedError(arg: unknown) : arg is BendReplyStateContentUndefinedError;

BendReplyStateContentContourInBend

Legacy entry; unused

interface BendReplyStateContentContourInBend {
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentContourInBend(arg: unknown) : arg is BendReplyStateContentContourInBend;

BendReplyStateContentUndetectedFeatures

Data associated to undetectedFeatures

interface BendReplyStateContentUndetectedFeatures {
	unassignedFaceDescriptors: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentUndetectedFeatures(arg: unknown) : arg is BendReplyStateContentUndetectedFeatures;

BendReplyStateContentInvalidBend

Data associated to invalidBend

interface BendReplyStateContentInvalidBend {
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentInvalidBend(arg: unknown) : arg is BendReplyStateContentInvalidBend;

BendReplyStateContentMultipleOuterContours

Data associated to multipleOuterContours

interface BendReplyStateContentMultipleOuterContours {
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentMultipleOuterContours(arg: unknown) : arg is BendReplyStateContentMultipleOuterContours;

SheetCuttingReplyStateContentUndefinedError

Data associated to undefinedError

interface SheetCuttingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingReplyStateContentUndefinedError(arg: unknown) : arg is SheetCuttingReplyStateContentUndefinedError;

SheetCuttingReplyStateContentUndetectedFeatures

Data associated to undetectedFeatures

interface SheetCuttingReplyStateContentUndetectedFeatures {
	unassignedFaceDescriptors: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingReplyStateContentUndetectedFeatures(arg: unknown) : arg is SheetCuttingReplyStateContentUndetectedFeatures;

SheetCuttingReplyStateContentMultipleOuterContours

Data associated to multipleOuterContours

interface SheetCuttingReplyStateContentMultipleOuterContours {
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingReplyStateContentMultipleOuterContours(arg: unknown) : arg is SheetCuttingReplyStateContentMultipleOuterContours;

Unused

interface Unused {
}

Defined in module lib/generated/typeguard.ts

function isUnused(arg: unknown) : arg is Unused;

PackagingReplyStateContentUndefinedError

Data associated to undefinedError

interface PackagingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isPackagingReplyStateContentUndefinedError(arg: unknown) : arg is PackagingReplyStateContentUndefinedError;

PackagingReplyStateContentInsufficientPackageVolume

Data associated to insufficientPackageVolume

interface PackagingReplyStateContentInsufficientPackageVolume {
}

Defined in module lib/generated/typeguard.ts

function isPackagingReplyStateContentInsufficientPackageVolume(arg: unknown) : arg is PackagingReplyStateContentInsufficientPackageVolume;

PackagingReplyStateContentOverweightParts

Data associated to overweightParts

interface PackagingReplyStateContentOverweightParts {
}

Defined in module lib/generated/typeguard.ts

function isPackagingReplyStateContentOverweightParts(arg: unknown) : arg is PackagingReplyStateContentOverweightParts;

TransformReplyStateContentUndefinedError

Data associated to undefinedError

interface TransformReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isTransformReplyStateContentUndefinedError(arg: unknown) : arg is TransformReplyStateContentUndefinedError;

JoiningReplyStateContentUndefinedError

Data associated to undefinedError

interface JoiningReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isJoiningReplyStateContentUndefinedError(arg: unknown) : arg is JoiningReplyStateContentUndefinedError;

SheetReplyStateContentUndefinedError

Data associated to undefinedError

interface SheetReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isSheetReplyStateContentUndefinedError(arg: unknown) : arg is SheetReplyStateContentUndefinedError;

SheetReplyStateContentNestingFailedError

Data associated to nestingFailed

interface SheetReplyStateContentNestingFailedError {
}

Defined in module lib/generated/typeguard.ts

function isSheetReplyStateContentNestingFailedError(arg: unknown) : arg is SheetReplyStateContentNestingFailedError;

UndefinedReplyStateContentUndefinedError

Data associated to undefinedError

interface UndefinedReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isUndefinedReplyStateContentUndefinedError(arg: unknown) : arg is UndefinedReplyStateContentUndefinedError;

UserDefinedReplyStateContentUndefinedError

Data associated to undefinedError

interface UserDefinedReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isUserDefinedReplyStateContentUndefinedError(arg: unknown) : arg is UserDefinedReplyStateContentUndefinedError;

UserDefinedBaseReplyStateContentUndefinedError

Data associated to undefinedError

interface UserDefinedBaseReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isUserDefinedBaseReplyStateContentUndefinedError(arg: unknown) : arg is UserDefinedBaseReplyStateContentUndefinedError;

TubeCuttingReplyStateContentUndefinedError

Data associated to undefinedError

interface TubeCuttingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingReplyStateContentUndefinedError(arg: unknown) : arg is TubeCuttingReplyStateContentUndefinedError;

TubeCuttingReplyStateContentUndetectedFeatures

Data associated to undetectedFeatures

interface TubeCuttingReplyStateContentUndetectedFeatures {
	unassignedFaceDescriptors: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingReplyStateContentUndetectedFeatures(arg: unknown) : arg is TubeCuttingReplyStateContentUndetectedFeatures;

TubeReplyStateContentUndefinedError

Data associated to undefinedError

interface TubeReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

function isTubeReplyStateContentUndefinedError(arg: unknown) : arg is TubeReplyStateContentUndefinedError;

ReplyStateMapSheet

ReplyStateIndicator map for type sheet

interface ReplyStateMapSheet {
	undefinedError?: SheetReplyStateContentUndefinedError;
	nestingFailed?: SheetReplyStateContentNestingFailedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapSheet(arg: unknown) : arg is ReplyStateMapSheet;
Details

A ReplyStateMapSheet contains all errors associated to Sheet.

ReplyStateMapSheetBending

ReplyStateIndicator map for type bend

interface ReplyStateMapSheetBending {
	undefinedError?: BendReplyStateContentUndefinedError;
	multipleOuterContours?: BendReplyStateContentMultipleOuterContours;
	contourInBend?: BendReplyStateContentContourInBend;
	invalidBend?: BendReplyStateContentInvalidBend;
	undetectedFeatures?: BendReplyStateContentUndetectedFeatures;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapSheetBending(arg: unknown) : arg is ReplyStateMapSheetBending;
Details

A ReplyStateMapSheetBending contains all errors associated to Bend.

ReplyStateMapJoining

ReplyStateIndicator map for type joining

interface ReplyStateMapJoining {
	undefinedError?: JoiningReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapJoining(arg: unknown) : arg is ReplyStateMapJoining;
Details

A ReplyStateMapJoining contains all errors associated to Joining.

ReplyStateMapSheetCutting

ReplyStateIndicator map for type laser

interface ReplyStateMapSheetCutting {
	undefinedError?: SheetCuttingReplyStateContentUndefinedError;
	undetectedFeatures?: SheetCuttingReplyStateContentUndetectedFeatures;
	multipleOuterContours?: SheetCuttingReplyStateContentMultipleOuterContours;
	unused0?: Unused;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapSheetCutting(arg: unknown) : arg is ReplyStateMapSheetCutting;
Details

A ReplyStateMapSheetCutting contains all errors associated to Laser.

ReplyStateMapPackaging

ReplyStateIndicator map for type packaging

interface ReplyStateMapPackaging {
	undefinedError?: PackagingReplyStateContentUndefinedError;
	insufficientPackageVolume?: PackagingReplyStateContentInsufficientPackageVolume;
	overweightParts?: PackagingReplyStateContentOverweightParts;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapPackaging(arg: unknown) : arg is ReplyStateMapPackaging;
Details

A ReplyStateMapPackaging contains all errors associated to Packaging.

ReplyStateMapTransform

ReplyStateIndicator map for type transform

interface ReplyStateMapTransform {
	undefinedError?: TransformReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapTransform(arg: unknown) : arg is ReplyStateMapTransform;
Details

A ReplyStateMapTransform contains all errors associated to Transform.

ReplyStateMapTube

ReplyStateIndicator map for type tube

interface ReplyStateMapTube {
	undefinedError?: TubeReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapTube(arg: unknown) : arg is ReplyStateMapTube;
Details

A ReplyStateMapTube contains all errors associated to tube.

ReplyStateMapUndefined

ReplyStateIndicator map for type undefined

interface ReplyStateMapUndefined {
	undefinedError?: UndefinedReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapUndefined(arg: unknown) : arg is ReplyStateMapUndefined;
Details

A ReplyStateMapUndefined contains all errors associated to Undefined.

ReplyStateMapUserDefined

ReplyStateIndicator map for type userDefined

interface ReplyStateMapUserDefined {
	undefinedError?: UserDefinedReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapUserDefined(arg: unknown) : arg is ReplyStateMapUserDefined;
Details

A ReplyStateMapUserDefined contains all errors associated to UserDefined.

ReplyStateMapUserDefinedBase

ReplyStateIndicator map for type userDefinedBase

interface ReplyStateMapUserDefinedBase {
	undefinedError?: UserDefinedBaseReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapUserDefinedBase(arg: unknown) : arg is ReplyStateMapUserDefinedBase;
Details

A ReplyStateMapUserDefinedBase contains all errors associated to UserDefinedBase.

ReplyStateMapTubeCutting

ReplyStateIndicator map for type tubeCutting

interface ReplyStateMapTubeCutting {
	undefinedError?: TubeCuttingReplyStateContentUndefinedError;
	undetectedFeatures?: TubeCuttingReplyStateContentUndetectedFeatures;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateMapTubeCutting(arg: unknown) : arg is ReplyStateMapTubeCutting;
Details

A ReplyStateMapTubeCutting contains all errors associated to TubeCutting.

ReplyStateIndicatorsUndefined

ReplyStateIndicators with content for workstep undefined

interface ReplyStateIndicatorsUndefined {
	replyStateIndicators: ReplyStateMapUndefined;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsUndefined(arg: unknown) : arg is ReplyStateIndicatorsUndefined;
Details

A ReplyStateIndicatorsUndefined contains all errors associated to Undefined.

ReplyStateIndicatorsSheet

ReplyStateIndicators with content for workstep sheet

interface ReplyStateIndicatorsSheet {
	replyStateIndicators: ReplyStateMapSheet;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsSheet(arg: unknown) : arg is ReplyStateIndicatorsSheet;
Details

A ReplyStateIndicatorsSheet contains all errors associated to Sheet.

ReplyStateIndicatorsSheetCutting

ReplyStateIndicators with content for workstep sheetCutting

interface ReplyStateIndicatorsSheetCutting {
	replyStateIndicators: ReplyStateMapSheetCutting;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsSheetCutting(arg: unknown) : arg is ReplyStateIndicatorsSheetCutting;
Details

A ReplyStateIndicatorsSheetCutting contains all errors associated to SheetCutting.

ReplyStateIndicatorsJoining

ReplyStateIndicators with content for workstep joining

interface ReplyStateIndicatorsJoining {
	replyStateIndicators: ReplyStateMapJoining;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsJoining(arg: unknown) : arg is ReplyStateIndicatorsJoining;
Details

A ReplyStateIndicatorsJoining contains all errors associated to Joining.

ReplyStateIndicatorsTubeCutting

ReplyStateIndicators with content for workstep tubeCutting

interface ReplyStateIndicatorsTubeCutting {
	replyStateIndicators: ReplyStateMapTubeCutting;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsTubeCutting(arg: unknown) : arg is ReplyStateIndicatorsTubeCutting;
Details

A ReplyStateIndicatorsTubeCutting contains all errors associated to TubeCutting.

ReplyStateIndicatorsUserDefined

ReplyStateIndicators with content for workstep userDefined

interface ReplyStateIndicatorsUserDefined {
	replyStateIndicators: ReplyStateMapUserDefined;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsUserDefined(arg: unknown) : arg is ReplyStateIndicatorsUserDefined;
Details

A ReplyStateIndicatorsUserDefined contains all errors associated to UserDefined.

ReplyStateIndicatorsUserDefinedBase

ReplyStateIndicators with content for workstep userDefinedBase

interface ReplyStateIndicatorsUserDefinedBase {
	replyStateIndicators: ReplyStateMapUserDefinedBase;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsUserDefinedBase(arg: unknown) : arg is ReplyStateIndicatorsUserDefinedBase;
Details

A ReplyStateIndicatorsUserDefinedBase contains all errors associated to UserDefinedBase.

ReplyStateIndicatorsSheetBending

ReplyStateIndicators with content for workstep sheetBending

interface ReplyStateIndicatorsSheetBending {
	replyStateIndicators: ReplyStateMapSheetBending;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsSheetBending(arg: unknown) : arg is ReplyStateIndicatorsSheetBending;
Details

A ReplyStateIndicatorsSheetBending contains all errors associated to SheetBending.

ReplyStateIndicatorsPackaging

ReplyStateIndicators with content for workstep packaging

interface ReplyStateIndicatorsPackaging {
	replyStateIndicators: ReplyStateMapPackaging;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsPackaging(arg: unknown) : arg is ReplyStateIndicatorsPackaging;
Details

A ReplyStateIndicatorsPackaging contains all errors associated to Packaging.

ReplyStateIndicatorsTransform

ReplyStateIndicators with content for workstep transform

interface ReplyStateIndicatorsTransform {
	replyStateIndicators: ReplyStateMapTransform;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsTransform(arg: unknown) : arg is ReplyStateIndicatorsTransform;
Details

A ReplyStateIndicatorsTransform contains all errors associated to Transform.

ReplyStateIndicatorsTube

ReplyStateIndicators with content for workstep sheet tube

interface ReplyStateIndicatorsTube {
	replyStateIndicators: ReplyStateMapTube;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorsTube(arg: unknown) : arg is ReplyStateIndicatorsTube;
Details

A ReplyStateIndicatorsTransform contains all errors associated to tube.

ReplyStateIndicatorMap

Map that contains ReplyStateIndicators for all worksteps

interface ReplyStateIndicatorMap {
	undefined?: ReplyStateIndicatorsUndefined;
	sheet?: ReplyStateIndicatorsSheet;
	sheetCutting?: ReplyStateIndicatorsSheetCutting;
	joining?: ReplyStateIndicatorsJoining;
	tubeCutting?: ReplyStateIndicatorsTubeCutting;
	sheetBending?: ReplyStateIndicatorsSheetBending;
	userDefined?: ReplyStateIndicatorsUserDefined;
	userDefinedBase?: ReplyStateIndicatorsUserDefinedBase;
	packaging?: ReplyStateIndicatorsPackaging;
	transform?: ReplyStateIndicatorsTransform;
	tube?: ReplyStateIndicatorsTube;
}

Defined in module lib/generated/typeguard.ts

function isReplyStateIndicatorMap(arg: unknown) : arg is ReplyStateIndicatorMap;
Details

A ReplyStateIndicatorMap contains all ReplyStateIndicators. For each workstep that triggered indicators during computation, a workstep specific map containing those indicators is contained in this map.

CamNestedPart

A CamNestedPart contains the root id of the vertex the InnerOuterPolygon belongs to, and the CoordinateSystem2 on the sheet

interface CamNestedPart {
	innerOuterPolygon: InnerOuterPolygon;
	coordinateSystem: CoordinateSystem2;
}

Defined in module lib/generated/typeguard.ts

function isCamNestedPart(arg: unknown) : arg is CamNestedPart;

CamSheet

A CamSheet contains information about sheet, multiplicity and CamNestedParts on sheet

interface CamSheet {
	dimX: number;
	dimY: number;
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isCamSheet(arg: unknown) : arg is CamSheet;

CamNesting

A CamNesting contains array of CamSheets

interface CamNesting {
	sheets: (CamSheet)[];
}

Defined in module lib/generated/typeguard.ts

function isCamNesting(arg: unknown) : arg is CamNesting;

CamTubeNestingResultNesting

Partial result of a tube nesting computation

interface CamTubeNestingResultNesting {
	transformations: (CoordinateSystem3)[];
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isCamTubeNestingResultNesting(arg: unknown) : arg is CamTubeNestingResultNesting;

CamTubeNestingResult

Result of a tube nesting computation

interface CamTubeNestingResult {
	inputLength: number;
	nestings: (CamTubeNestingResultNesting)[];
}

Defined in module lib/generated/typeguard.ts

function isCamTubeNestingResult(arg: unknown) : arg is CamTubeNestingResult;

Box2

Axis-aligned 2-dim Box

interface Box2 {
	lower: Point2;
	upper: Point2;
}

Defined in module lib/generated/typeguard.ts

function isBox2(arg: unknown) : arg is Box2;
Details

A Box2 is an axis-aligned 2-dimensional Box. Its content is stored in lower and upper.

Box3

Axis-aligned 3-dim Box

interface Box3 {
	lower: Point3;
	upper: Point3;
}

Defined in module lib/generated/typeguard.ts

function isBox3(arg: unknown) : arg is Box3;
Details

A Box3 is an axis-aligned 3-dimensional Box. Its content is stored in lower and upper.

Point2

2-dim vector

interface Point2 {
	entries: [ (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isPoint2(arg: unknown) : arg is Point2;
Details

A Point2 is defined by an array of length 2 representing its x and y coordinates

Point3

3-dim vector

interface Point3 {
	entries: [ (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isPoint3(arg: unknown) : arg is Point3;
Details

A Point3 is defined by an array of length 3 representing its x, y, and z coordinates

Vector2

2-dim vector

interface Vector2 {
	entries: [ (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isVector2(arg: unknown) : arg is Vector2;
Details

A Vector2 is defined by an array of length 2 representing its x and y coordinates

Vector3

3-dim vector

interface Vector3 {
	entries: [ (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isVector3(arg: unknown) : arg is Vector3;
Details

A Vector3 is defined by an array of length 3 representing its x, y, and z coordinates

Vector4

4-dim vector

interface Vector4 {
	entries: [ (number), (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isVector4(arg: unknown) : arg is Vector4;
Details

A Vector4 is defined by an array of length 4

Matrix2

Column-major 2x2 Matrix

interface Matrix2 {
	entries: [ (number), (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isMatrix2(arg: unknown) : arg is Matrix2;
Details

A Matrix2 is a square matrix of size 2x2. Its content is stored as a flat array of length 4 in column-major format.

Matrix3

Column-major 3x3 Matrix

interface Matrix3 {
	entries: [ (number), (number), (number), (number), (number), (number), (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isMatrix3(arg: unknown) : arg is Matrix3;
Details

A Matrix3 is a square matrix of size 3x3. Its content is stored as a flat array of length 9 in column-major format.

Matrix4

Column-major 4x4 Matrix

interface Matrix4 {
	entries: [ (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isMatrix4(arg: unknown) : arg is Matrix4;
Details

A Matrix4 is a square matrix of size 4x4. Its content is stored as a flat array of length 16 in column-major format.

CoordinateSystem2

2D coordinate system

interface CoordinateSystem2 {
	origin: Vector2;
	unitaryMatrix: Matrix2;
}

Defined in module lib/generated/typeguard.ts

function isCoordinateSystem2(arg: unknown) : arg is CoordinateSystem2;
Details

A CoordinateSystem2 is defined by its origin and a unitary rotation matrix.

CoordinateSystem3

3D coordinate system

interface CoordinateSystem3 {
	origin: Vector3;
	unitaryMatrix: Matrix3;
}

Defined in module lib/generated/typeguard.ts

function isCoordinateSystem3(arg: unknown) : arg is CoordinateSystem3;
Details

A CoordinateSystem3 is defined by its origin and a unitary rotation matrix.

ConnectionProperties

Properties of a database connection

interface ConnectionProperties {
	databaseType: DatabaseType;
	name: string;
	hostName: string;
	port: number;
	databaseName: string;
	userName: string;
	password: string;
}

Defined in module lib/generated/typeguard.ts

function isConnectionProperties(arg: unknown) : arg is ConnectionProperties;
Details

ConnectionProperties contain all the information that is used to connect to a database.

ArticleAttributes

Properties of an article

interface ArticleAttributes {
	userData: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isArticleAttributes(arg: unknown) : arg is ArticleAttributes;
Details

ArticleAttributes contain the backend information pertinent to a whole article.

DieSelectorQuery

Constraints for the internal die group selector

interface DieSelectorQuery {
	thickness: number;
	bendAngle: number;
	maxOpeningWidth: number;
}

Defined in module lib/generated/typeguard.ts

function isDieSelectorQuery(arg: unknown) : arg is DieSelectorQuery;

CamBendDeduction

Bend deduction computed for a specific bend line

interface CamBendDeduction {
	roundDeduction: number;
	innerRadius: number;
}

Defined in module lib/generated/typeguard.ts

function isCamBendDeduction(arg: unknown) : arg is CamBendDeduction;
Details

A CamBendDeduction is computed for a specific bend-line and die-group-combination and is applied to e. g. sheet cutting parts.

BendDieChoice

Resulting parameters for a single bend-line and the corresponding die-group-selection

interface BendDieChoice {
	baseClass: CamBendDeduction;
	upperDieGroupId: string;
	lowerDieGroupId: string;
	thickness: number;
	type: BendDieChoiceType;
	sharpDeduction: number;
}

Defined in module lib/generated/typeguard.ts

function isBendDieChoice(arg: unknown) : arg is BendDieChoice;

DieChoiceMapEntry

Combination of bendDescriptor and BendDieChoice

interface DieChoiceMapEntry {
	bendDescriptor: number;
	bendDieChoice: BendDieChoice;
}

Defined in module lib/generated/typeguard.ts

function isDieChoiceMapEntry(arg: unknown) : arg is DieChoiceMapEntry;

SceneObjectData

Bend-specific parameters for one bend line

interface SceneObjectData {
	zValue: number;
	bendAngle: number;
	innerRadius: number;
	upperDieGroup: string;
	lowerDieGroup: string;
	sharpDeduction: number;
}

Defined in module lib/generated/typeguard.ts

function isSceneObjectData(arg: unknown) : arg is SceneObjectData;
Details

Used to write additional bend-related information to e. g. DXF files.

SceneSceneData

Scene wide additional meta data

interface SceneSceneData {
	material: string;
	thickness: number;
	identifier: string;
	comment: string;
	globalMaterial: string;
}

Defined in module lib/generated/typeguard.ts

function isSceneSceneData(arg: unknown) : arg is SceneSceneData;
Details

Used to export additional attributes in file formats that support it.

SceneLabel

Label to add to a Scene

interface SceneLabel {
	position: Point2;
	text: string;
}

Defined in module lib/generated/typeguard.ts

function isSceneLabel(arg: unknown) : arg is SceneLabel;

Layer

Layer of a Layered

interface Layer {
	descriptor: number;
	number: number;
	name: string;
}

Defined in module lib/generated/typeguard.ts

function isLayer(arg: unknown) : arg is Layer;

AddResult

Return value of wsi4.graphManipulator.add function for a file

interface AddResult {
	id: string;
	status: AddResultStatus;
	vertices: (Vertex)[];
}

Defined in module lib/generated/typeguard.ts

function isAddResult(arg: unknown) : arg is AddResult;

BendLineData

Data associated with each individual bend line

interface BendLineData {
	constructedInnerRadius: number;
	resultingInnerRadius: number;
	bendAngle: number;
	bendDescriptor: number;
	segments: (Segment)[];
}

Defined in module lib/generated/typeguard.ts

function isBendLineData(arg: unknown) : arg is BendLineData;

BendLineFlangeLength

Flange lengths associated with each individual bend line

interface BendLineFlangeLength {
	flangeLengthLhs: number;
	flangeLengthRhs: number;
	bendDescriptor: number;
}

Defined in module lib/generated/typeguard.ts

function isBendLineFlangeLength(arg: unknown) : arg is BendLineFlangeLength;
Details

For a bend, take its two adjacent plates p0 and p1 on the outside shell of the bend. p0 lies to the left of the bend line, taking its orientation into account, and p1 to the right. They are contained in two planes p0' and p1'. The two planes p0' and p1' intersect in one straight line l.

The flange lengths f0 and f1 are the maximal distances of any point on p0 and p1 has from l respectively.

MeasurementScene

A Scene combined with three-dimensional coordinate information

interface MeasurementScene {
	scene: Scene;
	camera: Camera3;
}

Defined in module lib/generated/typeguard.ts

function isMeasurementScene(arg: unknown) : arg is MeasurementScene;
Details

This object is deprecated and will be removed in future versions.

DocumentParagraph

Paragraph of a document

interface DocumentParagraph {
	width: number;
	text: string;
	alignment: DocumentAlignment;
}

Defined in module lib/generated/typeguard.ts

function isDocumentParagraph(arg: unknown) : arg is DocumentParagraph;

DocumentSeparator

Separator (e. g. horizontal line)

interface DocumentSeparator {
}

Defined in module lib/generated/typeguard.ts

function isDocumentSeparator(arg: unknown) : arg is DocumentSeparator;

DocumentHeading

Heading of a document

interface DocumentHeading {
	level: number;
	text: string;
}

Defined in module lib/generated/typeguard.ts

function isDocumentHeading(arg: unknown) : arg is DocumentHeading;

DocumentBarcode

Barcode placed in a document

interface DocumentBarcode {
	width: number;
	text: string;
	alignment: DocumentAlignment;
}

Defined in module lib/generated/typeguard.ts

function isDocumentBarcode(arg: unknown) : arg is DocumentBarcode;

DocumentImage

Image placed in a document

interface DocumentImage {
	width: number;
	type: DocumentImageType;
	uuid: string;
	data: ArrayBuffer;
	alignment: DocumentAlignment;
}

Defined in module lib/generated/typeguard.ts

function isDocumentImage(arg: unknown) : arg is DocumentImage;

DocumentTable

Table placed in a document

interface DocumentTable {
	width: number;
	columnWidths: (number)[];
	columnHeaders: DocumentTableRow;
	rows: (DocumentTableRow)[];
}

Defined in module lib/generated/typeguard.ts

function isDocumentTable(arg: unknown) : arg is DocumentTable;

DocumentTableCell

Cell of a document-Table

interface DocumentTableCell {
	text: string;
	alignment: DocumentAlignment;
}

Defined in module lib/generated/typeguard.ts

function isDocumentTableCell(arg: unknown) : arg is DocumentTableCell;

DocumentTableRow

Array of document-Table Cells

interface DocumentTableRow {
}

Defined in module lib/generated/typeguard.ts

function isDocumentTableRow(arg: unknown) : arg is DocumentTableRow;

DocumentPageBreak

Page break

interface DocumentPageBreak {
}

Defined in module lib/generated/typeguard.ts

function isDocumentPageBreak(arg: unknown) : arg is DocumentPageBreak;

DocumentItem

Part of a document row

interface DocumentItem {
	type: DocumentItemType;
	content: DocumentParagraph|DocumentHeading|DocumentTable|DocumentImage|DocumentBarcode|DocumentSeparator|DocumentPageBreak;
}

Defined in module lib/generated/typeguard.ts

function isDocumentItem(arg: unknown) : arg is DocumentItem;

DocumentFormat

Format properties of a document

interface DocumentFormat {
	orientation: DocumentOrientation;
}

Defined in module lib/generated/typeguard.ts

function isDocumentFormat(arg: unknown) : arg is DocumentFormat;

Camera3

Defines a scene view

interface Camera3 {
	eye: Point3;
	center: Point3;
	up: Vector3;
}

Defined in module lib/generated/typeguard.ts

function isCamera3(arg: unknown) : arg is Camera3;

InputContentUndefined

Content needed to add file

interface InputContentUndefined {
}

Defined in module lib/generated/typeguard.ts

function isInputContentUndefined(arg: unknown) : arg is InputContentUndefined;

InputContentDocumentGraph

Content needed to add file

interface InputContentDocumentGraph {
	data: ArrayBuffer;
	id: string;
}

Defined in module lib/generated/typeguard.ts

function isInputContentDocumentGraph(arg: unknown) : arg is InputContentDocumentGraph;

InputContentAssembly

Content needed to add file

interface InputContentAssembly {
	data: ArrayBuffer;
	id: string;
}

Defined in module lib/generated/typeguard.ts

function isInputContentAssembly(arg: unknown) : arg is InputContentAssembly;

InputContentLayered

Content needed to add file

interface InputContentLayered {
	data: Layered;
	thickness: number;
	tolerance: number;
	name: string;
	id: string;
}

Defined in module lib/generated/typeguard.ts

function isInputContentLayered(arg: unknown) : arg is InputContentLayered;

InputContentTwoDimRep

Content needed to add file

interface InputContentTwoDimRep {
	twoDimRep: TwoDimRepresentation;
	thickness: number;
	name: string;
	id: string;
}

Defined in module lib/generated/typeguard.ts

function isInputContentTwoDimRep(arg: unknown) : arg is InputContentTwoDimRep;

Input

Input added to DocumentGraph

interface Input {
	type: InputType;
	content: InputContentUndefined|InputContentDocumentGraph|InputContentAssembly|InputContentLayered|InputContentTwoDimRep;
}

Defined in module lib/generated/typeguard.ts

function isInput(arg: unknown) : arg is Input;

IdRefPair

Internal API; should not be used in third-party scripts.

interface IdRefPair {
	id: string;
	reference: Assembly|Brep|TwoDimRepresentation;
}

Defined in module lib/generated/typeguard.ts

function isIdRefPair(arg: unknown) : arg is IdRefPair;

CameraOrientation3

3-dim camera orientation

interface CameraOrientation3 {
	center: Vector3;
	direction: Vector3;
	up: Vector3;
}

Defined in module lib/generated/typeguard.ts

function isCameraOrientation3(arg: unknown) : arg is CameraOrientation3;
Details

A CameraOrirentation3 is defined by an origin Vector3 and an rotation matrix.

JoiningStepEntry

Entry of step of joining sequence

interface JoiningStepEntry {
	assembly: Assembly;
}

Defined in module lib/generated/typeguard.ts

function isJoiningStepEntry(arg: unknown) : arg is JoiningStepEntry;

JoiningStep

Step of joining sequence

interface JoiningStep {
	entries: (JoiningStepEntry)[];
	cameraOrientation?: CameraOrientation3;
	comment: string;
}

Defined in module lib/generated/typeguard.ts

function isJoiningStep(arg: unknown) : arg is JoiningStep;

Joining

Joining sequence of a node

interface Joining {
	joiningSteps: (JoiningStep)[];
}

Defined in module lib/generated/typeguard.ts

function isJoining(arg: unknown) : arg is Joining;

SheetFilter

Parameters to filter a set of Sheets

interface SheetFilter {
	ids: (string)[];
}

Defined in module lib/generated/typeguard.ts

function isSheetFilter(arg: unknown) : arg is SheetFilter;

VertexWithProcessTypeData

Parameters to change a graph nodes process type

interface VertexWithProcessTypeData {
	vertex: Vertex;
	processId: string;
	forced: boolean;
}

Defined in module lib/generated/typeguard.ts

function isVertexWithProcessTypeData(arg: unknown) : arg is VertexWithProcessTypeData;

VertexWithUserData

Parameters to change a graph nodes UserData

interface VertexWithUserData {
	vertex: Vertex;
	userData: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isVertexWithUserData(arg: unknown) : arg is VertexWithUserData;

VertexWithMultiplicity

Parameters to change a graph nodes multiplicity

interface VertexWithMultiplicity {
	vertex: Vertex;
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isVertexWithMultiplicity(arg: unknown) : arg is VertexWithMultiplicity;

HandlerPackaging

Interface for DocumentGraphHandler

interface HandlerPackaging {
	package: Box3;
	maxWeight: number;
	masses: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isHandlerPackaging(arg: unknown) : arg is HandlerPackaging;
Details

Internal API; should not be used in third-party scripts.

HandlerPostProcessSheetBending

Interface for DocumentGraphHandler

interface HandlerPostProcessSheetBending {
	upperDieAffectDistances: (number)[];
	lowerDieAffectDistances: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isHandlerPostProcessSheetBending(arg: unknown) : arg is HandlerPostProcessSheetBending;
Details

Internal API; should not be used in third-party scripts.

VertexWithArticleAttributes

Interface for DocumentGraphHandler

interface VertexWithArticleAttributes {
	vertex: Vertex;
	articleAttributes: ArticleAttributes;
}

Defined in module lib/generated/typeguard.ts

function isVertexWithArticleAttributes(arg: unknown) : arg is VertexWithArticleAttributes;
Details

Internal API; should not be used in third-party scripts.

HandlerPostProcessCreateSources

Interface for DocumentGraphHandler

interface HandlerPostProcessCreateSources {
	attributes: (VertexWithArticleAttributes)[];
}

Defined in module lib/generated/typeguard.ts

function isHandlerPostProcessCreateSources(arg: unknown) : arg is HandlerPostProcessCreateSources;
Details

Internal API; should not be used in third-party scripts.

HandlerPreProcessCreateWorkStep

Interface for DocumentGraphHandler

interface HandlerPreProcessCreateWorkStep {
	processTable: (Process)[];
}

Defined in module lib/generated/typeguard.ts

function isHandlerPreProcessCreateWorkStep(arg: unknown) : arg is HandlerPreProcessCreateWorkStep;
Details

Internal API; should not be used in third-party scripts.

PrivatePostProcessingResultCreateWorkStep

Interface for DocumentGraphHandler

interface PrivatePostProcessingResultCreateWorkStep {
	processType: ProcessType;
	processId: string;
	userData: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isPrivatePostProcessingResultCreateWorkStep(arg: unknown) : arg is PrivatePostProcessingResultCreateWorkStep;
Details

Internal API; should not be used in third-party scripts.

PrivatePostProcessingResultCreateSourcesSheetCutting

Interface for DocumentGraphHandler

interface PrivatePostProcessingResultCreateSourcesSheetCutting {
	source: Vertex;
	deducedDataOfSource: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isPrivatePostProcessingResultCreateSourcesSheetCutting(arg: unknown) : arg is PrivatePostProcessingResultCreateSourcesSheetCutting;
Details

Internal API; should not be used in third-party scripts.

UiJoiningStepEntryRepresentation

JoiningStepEntry representation as required for ui API

interface UiJoiningStepEntryRepresentation {
	assembly: string;
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isUiJoiningStepEntryRepresentation(arg: unknown) : arg is UiJoiningStepEntryRepresentation;

UiJoiningStepRepresentation

JoiningStep representation as required for ui API

interface UiJoiningStepRepresentation {
	entries: (UiJoiningStepEntryRepresentation)[];
	cameraOrientation?: CameraOrientation3;
	comment: string;
}

Defined in module lib/generated/typeguard.ts

function isUiJoiningStepRepresentation(arg: unknown) : arg is UiJoiningStepRepresentation;

UiJoiningRepresentation

Joining representation as required for ui API

interface UiJoiningRepresentation {
	joiningSteps: (UiJoiningStepRepresentation)[];
}

Defined in module lib/generated/typeguard.ts

function isUiJoiningRepresentation(arg: unknown) : arg is UiJoiningRepresentation;

Attachment

File representation consisting of a name and a Base64 encoded data string

interface Attachment {
	name: string;
	data: string;
}

Defined in module lib/generated/typeguard.ts

function isAttachment(arg: unknown) : arg is Attachment;

FormWidgetCheckBoxConfig

Check box configuration

interface FormWidgetCheckBoxConfig {
	initialValue: boolean;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetCheckBoxConfig(arg: unknown) : arg is FormWidgetCheckBoxConfig;

FormWidgetSpinBoxConfig

Spin box configuration

interface FormWidgetSpinBoxConfig {
	initialValue: number;
	min: number;
	max: number;
	decimals: number;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetSpinBoxConfig(arg: unknown) : arg is FormWidgetSpinBoxConfig;

FormWidgetDropDownEntry

Drop down entry

interface FormWidgetDropDownEntry {
	id: string;
	text: string;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetDropDownEntry(arg: unknown) : arg is FormWidgetDropDownEntry;

FormWidgetDropDownConfig

Drop down configuration

interface FormWidgetDropDownConfig {
	initialValue: string;
	entries: (FormWidgetDropDownEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetDropDownConfig(arg: unknown) : arg is FormWidgetDropDownConfig;

FormWidgetLineEditConfig

Line edit configuration

interface FormWidgetLineEditConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetLineEditConfig(arg: unknown) : arg is FormWidgetLineEditConfig;

FormWidgetTextEditConfig

Text edit configuration

interface FormWidgetTextEditConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetTextEditConfig(arg: unknown) : arg is FormWidgetTextEditConfig;

FormWidgetLabelConfig

Label configuration

interface FormWidgetLabelConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetLabelConfig(arg: unknown) : arg is FormWidgetLabelConfig;

FormWidgetConfig

Form widget configuration

interface FormWidgetConfig {
	type: FormWidgetType;
	content: FormWidgetCheckBoxConfig|FormWidgetSpinBoxConfig|FormWidgetDropDownConfig|FormWidgetLineEditConfig|FormWidgetTextEditConfig|FormWidgetLabelConfig;
}

Defined in module lib/generated/typeguard.ts

function isFormWidgetConfig(arg: unknown) : arg is FormWidgetConfig;

FormRowConfig

Form row configuration

interface FormRowConfig {
	key: string;
	name: string;
	config: FormWidgetConfig;
}

Defined in module lib/generated/typeguard.ts

function isFormRowConfig(arg: unknown) : arg is FormRowConfig;

GeometrySelectionEntry

Set of selected entities and associated parameters

interface GeometrySelectionEntry {
	entities: (GeometryEntity)[];
	data: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isGeometrySelectionEntry(arg: unknown) : arg is GeometrySelectionEntry;

SheetTappingEditorCandidateValue

Screw thread alternative

interface SheetTappingEditorCandidateValue {
	id: string;
	name: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetTappingEditorCandidateValue(arg: unknown) : arg is SheetTappingEditorCandidateValue;

SheetTappingEditorCandidate

Corresponds to a core hole where tapping for at least one screw thread type can be applied

interface SheetTappingEditorCandidate {
	id: string;
	name: string;
	values: (SheetTappingEditorCandidateValue)[];
}

Defined in module lib/generated/typeguard.ts

function isSheetTappingEditorCandidate(arg: unknown) : arg is SheetTappingEditorCandidate;

SheetTappingEditorSelectionEntry

Consists of user selection

interface SheetTappingEditorSelectionEntry {
	candidateId: string;
	valueId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetTappingEditorSelectionEntry(arg: unknown) : arg is SheetTappingEditorSelectionEntry;

UserDefinedScalePrice

Scale value and corresponding price

interface UserDefinedScalePrice {
	scaleValue: number;
	price: number;
}

Defined in module lib/generated/typeguard.ts

function isUserDefinedScalePrice(arg: unknown) : arg is UserDefinedScalePrice;
Details

Prices repesent the total price for the respective multiplicity.

BendingToolEditorInputEntry

Input data for one bend for bending tool editor

interface BendingToolEditorInputEntry {
	bendDescriptor: number;
	angle: number;
	constructedInnerRadius: number;
	bendDieChoices: (BendDieChoice)[];
}

Defined in module lib/generated/typeguard.ts

function isBendingToolEditorInputEntry(arg: unknown) : arg is BendingToolEditorInputEntry;

WidgetConfigAssemblyView

Widget config

interface WidgetConfigAssemblyView {
	assembly: Assembly;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigAssemblyView(arg: unknown) : arg is WidgetConfigAssemblyView;

WidgetConfigAttachmentEditor

Widget config

interface WidgetConfigAttachmentEditor {
	initialValue: WidgetResultAttachmentEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigAttachmentEditor(arg: unknown) : arg is WidgetConfigAttachmentEditor;

WidgetConfigBendingToolEditor

Widget config

interface WidgetConfigBendingToolEditor {
	input: (BendingToolEditorInputEntry)[];
	initialValue: WidgetResultBendingToolEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigBendingToolEditor(arg: unknown) : arg is WidgetConfigBendingToolEditor;

WidgetConfigCalcParamEditor

Widget config

interface WidgetConfigCalcParamEditor {
	initialValue: WidgetResultCalcParamEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigCalcParamEditor(arg: unknown) : arg is WidgetConfigCalcParamEditor;

WidgetConfigFileDialog

Widget config

interface WidgetConfigFileDialog {
	type: FileDialogType;
	title: string;
	defaultPath: string;
	filter: string;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigFileDialog(arg: unknown) : arg is WidgetConfigFileDialog;
Details

defaultPath and filter can be empty. filter has no effect for FileDialogType::directory.

WidgetConfigFormEditor

Widget config

interface WidgetConfigFormEditor {
	rows: (FormRowConfig)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigFormEditor(arg: unknown) : arg is WidgetConfigFormEditor;

WidgetConfigGeometrySelector

Widget config

interface WidgetConfigGeometrySelector {
	flags: GeometrySelectorConfigFlags;
	assembly: Assembly;
	formEditorConfig: WidgetConfigFormEditor;
	initialValue: WidgetResultGeometrySelector;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigGeometrySelector(arg: unknown) : arg is WidgetConfigGeometrySelector;

WidgetConfigGeometryColorSelector

Widget config

interface WidgetConfigGeometryColorSelector {
	flags: GeometrySelectorConfigFlags;
	assembly: Assembly;
	formEditorConfig: WidgetConfigFormEditor;
	colorDataKey: string;
	initialValue: WidgetResultGeometryColorSelector;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigGeometryColorSelector(arg: unknown) : arg is WidgetConfigGeometryColorSelector;

AssemblyMapEntry

Assembly map entry

interface AssemblyMapEntry {
	id: string;
	assembly: Assembly;
}

Defined in module lib/generated/typeguard.ts

function isAssemblyMapEntry(arg: unknown) : arg is AssemblyMapEntry;

WidgetConfigJoiningSequenceEditor

Widget config

interface WidgetConfigJoiningSequenceEditor {
	articleName: string;
	assemblyMap: (AssemblyMapEntry)[];
	initialValue: WidgetResultJoiningSequenceEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigJoiningSequenceEditor(arg: unknown) : arg is WidgetConfigJoiningSequenceEditor;

WidgetConfigLayeredImportDialog

Widget config

interface WidgetConfigLayeredImportDialog {
	title: string;
	layered: Layered;
	thickness: number;
	name: string;
	material: string;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigLayeredImportDialog(arg: unknown) : arg is WidgetConfigLayeredImportDialog;

WidgetConfigMessageBox

Widget config

interface WidgetConfigMessageBox {
	type: MessageBoxType;
	title: string;
	text: string;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigMessageBox(arg: unknown) : arg is WidgetConfigMessageBox;

WidgetConfigProcessSelector

Widget config

interface WidgetConfigProcessSelector {
	processTable: (Process)[];
	supportedWorkStepTypes: (WorkStepType)[];
	initialValue: WidgetResultProcessSelector;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigProcessSelector(arg: unknown) : arg is WidgetConfigProcessSelector;

WidgetConfigSheetFilterEditor

Widget config

interface WidgetConfigSheetFilterEditor {
	sheets: (string)[];
	initialValue: WidgetResultSheetFilterEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigSheetFilterEditor(arg: unknown) : arg is WidgetConfigSheetFilterEditor;

WidgetConfigSheetTappingEditor

Widget config

interface WidgetConfigSheetTappingEditor {
	base64Scene: string;
	candidates: (SheetTappingEditorCandidate)[];
	initialValue: WidgetResultSheetTappingEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfigSheetTappingEditor(arg: unknown) : arg is WidgetConfigSheetTappingEditor;

WidgetConfig

Widget configuration

interface WidgetConfig {
	type: WidgetType;
	content: WidgetConfigAssemblyView|WidgetConfigAttachmentEditor|WidgetConfigBendingToolEditor|WidgetConfigCalcParamEditor|WidgetConfigFileDialog|WidgetConfigFormEditor|WidgetConfigGeometrySelector|WidgetConfigGeometryColorSelector|WidgetConfigJoiningSequenceEditor|WidgetConfigLayeredImportDialog|WidgetConfigMessageBox|WidgetConfigProcessSelector|WidgetConfigSheetFilterEditor|WidgetConfigSheetTappingEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetConfig(arg: unknown) : arg is WidgetConfig;

WidgetResultAssemblyView

Widget result

interface WidgetResultAssemblyView {
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultAssemblyView(arg: unknown) : arg is WidgetResultAssemblyView;

WidgetResultAttachmentEditor

Widget result

interface WidgetResultAttachmentEditor {
	attachments: (Attachment)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultAttachmentEditor(arg: unknown) : arg is WidgetResultAttachmentEditor;

WidgetResultBendingToolEditor

Widget result

interface WidgetResultBendingToolEditor {
	dieChoiceMap: (DieChoiceMapEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultBendingToolEditor(arg: unknown) : arg is WidgetResultBendingToolEditor;

WidgetResultCalcParamEditor

Widget result

interface WidgetResultCalcParamEditor {
	materialCostsPerPiece?: number;
	setupTime?: number;
	unitTimePerPiece?: number;
	userDefinedScalePrices: (UserDefinedScalePrice)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultCalcParamEditor(arg: unknown) : arg is WidgetResultCalcParamEditor;

WidgetResultFileDialog

Widget result

interface WidgetResultFileDialog {
	paths: (string)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultFileDialog(arg: unknown) : arg is WidgetResultFileDialog;

WidgetResultFormEditor

Widget result

interface WidgetResultFormEditor {
	values: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultFormEditor(arg: unknown) : arg is WidgetResultFormEditor;

WidgetResultGeometrySelector

Widget result

interface WidgetResultGeometrySelector {
	selection: (GeometrySelectionEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultGeometrySelector(arg: unknown) : arg is WidgetResultGeometrySelector;

WidgetResultGeometryColorSelector

Widget result

interface WidgetResultGeometryColorSelector {
	selection: (GeometrySelectionEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultGeometryColorSelector(arg: unknown) : arg is WidgetResultGeometryColorSelector;

WidgetResultJoiningSequenceEditor

Widget result

interface WidgetResultJoiningSequenceEditor {
	joining: UiJoiningRepresentation;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultJoiningSequenceEditor(arg: unknown) : arg is WidgetResultJoiningSequenceEditor;

WidgetResultLayeredImportDialog

Widget result

interface WidgetResultLayeredImportDialog {
	twoDimRep: TwoDimRepresentation;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultLayeredImportDialog(arg: unknown) : arg is WidgetResultLayeredImportDialog;

WidgetResultMessageBox

Widget result

interface WidgetResultMessageBox {
	accepted: boolean;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultMessageBox(arg: unknown) : arg is WidgetResultMessageBox;
Details

Property accepted is only meaningful for type MessageBoxType::question

WidgetResultProcessSelector

Widget result

interface WidgetResultProcessSelector {
	processId: string;
	forced: boolean;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultProcessSelector(arg: unknown) : arg is WidgetResultProcessSelector;

WidgetResultSheetFilterEditor

Widget result

interface WidgetResultSheetFilterEditor {
	filter: SheetFilter;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultSheetFilterEditor(arg: unknown) : arg is WidgetResultSheetFilterEditor;

WidgetResultSheetTappingEditor

Widget result

interface WidgetResultSheetTappingEditor {
	selection: (SheetTappingEditorSelectionEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isWidgetResultSheetTappingEditor(arg: unknown) : arg is WidgetResultSheetTappingEditor;

WidgetResult

Widget result

interface WidgetResult {
	type: WidgetType;
	content: WidgetResultAssemblyView|WidgetResultAttachmentEditor|WidgetResultBendingToolEditor|WidgetResultCalcParamEditor|WidgetResultFileDialog|WidgetResultFormEditor|WidgetResultGeometrySelector|WidgetResultGeometryColorSelector|WidgetResultJoiningSequenceEditor|WidgetResultLayeredImportDialog|WidgetResultMessageBox|WidgetResultProcessSelector|WidgetResultSheetFilterEditor|WidgetResultSheetTappingEditor;
}

Defined in module lib/generated/typeguard.ts

function isWidgetResult(arg: unknown) : arg is WidgetResult;

TubeProfileGeometryRectangular

interface TubeProfileGeometryRectangular {
	dimY: number;
	dimZ: number;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeProfileGeometryRectangular(arg: unknown) : arg is TubeProfileGeometryRectangular;

TubeProfileGeometryCircular

interface TubeProfileGeometryCircular {
	outerRadius: number;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeProfileGeometryCircular(arg: unknown) : arg is TubeProfileGeometryCircular;

TubeProfileGeometry

interface TubeProfileGeometry {
	type: TubeProfileGeometryType;
	content: TubeProfileGeometryRectangular|TubeProfileGeometryCircular;
}

Defined in module lib/generated/typeguard.ts

function isTubeProfileGeometry(arg: unknown) : arg is TubeProfileGeometry;

Nest2PartInstance

Instance of a part in a 2D nesting

interface Nest2PartInstance {
	descriptor: number;
	transformation: CoordinateSystem2;
}

Defined in module lib/generated/typeguard.ts

function isNest2PartInstance(arg: unknown) : arg is Nest2PartInstance;

SheetMaterial

Defines material that can be assigned to a sheet metal part

Unique members interface
interface SheetMaterialUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetMaterialUniqueMembers(arg: unknown) : arg is SheetMaterialUniqueMembers;
Regular interface
interface SheetMaterial extends SheetMaterialUniqueMembers {
	name: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetMaterial(arg: unknown) : arg is SheetMaterial;
Details

This table is referenced by tables defining work-step-specific materials. Please also note the documentation for the respective table.

SheetMaterialDensity

Assigns density to sheet material

Unique members interface
interface SheetMaterialDensityUniqueMembers {
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetMaterialDensityUniqueMembers(arg: unknown) : arg is SheetMaterialDensityUniqueMembers;
Regular interface
interface SheetMaterialDensity extends SheetMaterialDensityUniqueMembers {
	density: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetMaterialDensity(arg: unknown) : arg is SheetMaterialDensity;
Details

Please also note the documentation for the respective table.

SheetCuttingMaterialMapping

Assigns laser sheet cutting specific material to sheet material

Unique members interface
interface SheetCuttingMaterialMappingUniqueMembers {
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingMaterialMappingUniqueMembers(arg: unknown) : arg is SheetCuttingMaterialMappingUniqueMembers;
Regular interface
interface SheetCuttingMaterialMapping extends SheetCuttingMaterialMappingUniqueMembers {
	sheetCuttingMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingMaterialMapping(arg: unknown) : arg is SheetCuttingMaterialMapping;
Details

Please also note the documentation for the respective table.

SheetBendingMaterialMapping

Assigns bend specific material to sheet material

Unique members interface
interface SheetBendingMaterialMappingUniqueMembers {
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetBendingMaterialMappingUniqueMembers(arg: unknown) : arg is SheetBendingMaterialMappingUniqueMembers;
Regular interface
interface SheetBendingMaterialMapping extends SheetBendingMaterialMappingUniqueMembers {
	sheetBendingMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetBendingMaterialMapping(arg: unknown) : arg is SheetBendingMaterialMapping;
Details

Please also note the documentation for the respective table.

BendTime

Define times used to calculate a node of type sheet bending

Unique members interface
interface BendTimeUniqueMembers {
	mass: number;
}

Defined in module lib/generated/typeguard.ts

function isBendTimeUniqueMembers(arg: unknown) : arg is BendTimeUniqueMembers;
Regular interface
interface BendTime extends BendTimeUniqueMembers {
	setupTime: number;
	setupTimePerBend: number;
	unitTime: number;
	unitTimePerBend: number;
}

Defined in module lib/generated/typeguard.ts

function isBendTime(arg: unknown) : arg is BendTime;
Details

Please also note the documentation for the respective table.

BendTimeParameters

Define bend related time-computation parameters

Unique members interface
interface BendTimeParametersUniqueMembers {
	sheetBendingMaterialId: string;
	thickness: number;
	bendLineNetLength: number;
}

Defined in module lib/generated/typeguard.ts

function isBendTimeParametersUniqueMembers(arg: unknown) : arg is BendTimeParametersUniqueMembers;
Regular interface
interface BendTimeParameters extends BendTimeParametersUniqueMembers {
	setupTimeFactor: number;
	setupTimeDelta: number;
	setupTimePerBendFactor: number;
	setupTimePerBendDelta: number;
	unitTimeFactor: number;
	unitTimeDelta: number;
	unitTimePerBendFactor: number;
	unitTimePerBendDelta: number;
}

Defined in module lib/generated/typeguard.ts

function isBendTimeParameters(arg: unknown) : arg is BendTimeParameters;
Details

Please also note the documentation for the respective table.

BendRateParameters

Define bend related cost-computation parameters

Unique members interface
interface BendRateParametersUniqueMembers {
	sheetBendingMaterialId: string;
	thickness: number;
	bendLineNetLength: number;
}

Defined in module lib/generated/typeguard.ts

function isBendRateParametersUniqueMembers(arg: unknown) : arg is BendRateParametersUniqueMembers;
Regular interface
interface BendRateParameters extends BendRateParametersUniqueMembers {
	hourlyRateFactor: number;
	hourlyRateDelta: number;
}

Defined in module lib/generated/typeguard.ts

function isBendRateParameters(arg: unknown) : arg is BendRateParameters;
Details

Please also note the documentation for the respective table.

BendLineConstraint

Define bend line related manufacturing constriants

Unique members interface
interface BendLineConstraintUniqueMembers {
	sheetBendingMaterialId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isBendLineConstraintUniqueMembers(arg: unknown) : arg is BendLineConstraintUniqueMembers;
Regular interface
interface BendLineConstraint extends BendLineConstraintUniqueMembers {
	maxNetLength: number;
}

Defined in module lib/generated/typeguard.ts

function isBendLineConstraint(arg: unknown) : arg is BendLineConstraint;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingGas

Defines laser sheet cuttin gas type

Unique members interface
interface LaserSheetCuttingGasUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingGasUniqueMembers(arg: unknown) : arg is LaserSheetCuttingGasUniqueMembers;
Regular interface
interface LaserSheetCuttingGas extends LaserSheetCuttingGasUniqueMembers {
	name: string;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingGas(arg: unknown) : arg is LaserSheetCuttingGas;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingSpeed

Defines laser sheet cutting speed

Unique members interface
interface LaserSheetCuttingSpeedUniqueMembers {
	sheetCuttingMaterialId: string;
	laserSheetCuttingGasId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingSpeedUniqueMembers(arg: unknown) : arg is LaserSheetCuttingSpeedUniqueMembers;
Regular interface
interface LaserSheetCuttingSpeed extends LaserSheetCuttingSpeedUniqueMembers {
	speed: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingSpeed(arg: unknown) : arg is LaserSheetCuttingSpeed;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingPierceTime

Defines laser sheet cutting pierce time

Unique members interface
interface LaserSheetCuttingPierceTimeUniqueMembers {
	sheetCuttingMaterialId: string;
	laserSheetCuttingGasId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingPierceTimeUniqueMembers(arg: unknown) : arg is LaserSheetCuttingPierceTimeUniqueMembers;
Regular interface
interface LaserSheetCuttingPierceTime extends LaserSheetCuttingPierceTimeUniqueMembers {
	time: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingPierceTime(arg: unknown) : arg is LaserSheetCuttingPierceTime;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingRate

Calculation parameters for nodes of type laser sheet cutting

Unique members interface
interface LaserSheetCuttingRateUniqueMembers {
	sheetCuttingMaterialId: string;
	laserSheetCuttingGasId: string;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingRateUniqueMembers(arg: unknown) : arg is LaserSheetCuttingRateUniqueMembers;
Regular interface
interface LaserSheetCuttingRate extends LaserSheetCuttingRateUniqueMembers {
	rate: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingRate(arg: unknown) : arg is LaserSheetCuttingRate;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingMinArea

Minumum area for contours to be considered cuttable

Unique members interface
interface LaserSheetCuttingMinAreaUniqueMembers {
	sheetCuttingMaterialId: string;
	laserSheetCuttingGasId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingMinAreaUniqueMembers(arg: unknown) : arg is LaserSheetCuttingMinAreaUniqueMembers;
Regular interface
interface LaserSheetCuttingMinArea extends LaserSheetCuttingMinAreaUniqueMembers {
	area: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingMinArea(arg: unknown) : arg is LaserSheetCuttingMinArea;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingMaxThickness

Maximum sheet thickness constraint for a parameter combination

Unique members interface
interface LaserSheetCuttingMaxThicknessUniqueMembers {
	sheetCuttingMaterialId: string;
	laserSheetCuttingGasId: string;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingMaxThicknessUniqueMembers(arg: unknown) : arg is LaserSheetCuttingMaxThicknessUniqueMembers;
Regular interface
interface LaserSheetCuttingMaxThickness extends LaserSheetCuttingMaxThicknessUniqueMembers {
	maxThickness: number;
	minThickness: number;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingMaxThickness(arg: unknown) : arg is LaserSheetCuttingMaxThickness;
Details

Please also note the documentation for the respective table.

Packaging

Defines a packaging

Unique members interface
interface PackagingUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isPackagingUniqueMembers(arg: unknown) : arg is PackagingUniqueMembers;
Regular interface
interface Packaging extends PackagingUniqueMembers {
	name: string;
	dimX: number;
	dimY: number;
	dimZ: number;
	maxWeight: number;
	price: number;
	tr: number;
	tep: number;
	tea: number;
	packagingWeight: number;
}

Defined in module lib/generated/typeguard.ts

function isPackaging(arg: unknown) : arg is Packaging;
Details

Please also note the documentation for the respective table.

TransportationCosts

Calculation parameters for a node of type transport

Unique members interface
interface TransportationCostsUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isTransportationCostsUniqueMembers(arg: unknown) : arg is TransportationCostsUniqueMembers;
Regular interface
interface TransportationCosts extends TransportationCostsUniqueMembers {
	name: string;
	packagingId: string;
	fixedCosts: number;
	minCosts: number;
	kmKgFactor: number;
	kmFactor: number;
}

Defined in module lib/generated/typeguard.ts

function isTransportationCosts(arg: unknown) : arg is TransportationCosts;
Details

Please also note the documentation for the respective table.

Surcharge

Defines surcharge used to calculate the selling price for a project

Unique members interface
interface SurchargeUniqueMembers {
	name: string;
	type: string;
	value: number;
}

Defined in module lib/generated/typeguard.ts

function isSurchargeUniqueMembers(arg: unknown) : arg is SurchargeUniqueMembers;
Regular interface
interface Surcharge extends SurchargeUniqueMembers {
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isSurcharge(arg: unknown) : arg is Surcharge;
Details

Please also note the documentation for the respective table.

Process

Defines a process that can be assigned to a node

Unique members interface
interface ProcessUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessUniqueMembers(arg: unknown) : arg is ProcessUniqueMembers;
Regular interface
interface Process extends ProcessUniqueMembers {
	parentIdentifier: string;
	type: ProcessType;
	name: string;
	costCenter: string;
	active: boolean;
	childrenActive: boolean;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isProcess(arg: unknown) : arg is Process;
Details

Please also note the documentation for the respective table.

ProcessRate

Assigns a rate to a process

Unique members interface
interface ProcessRateUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessRateUniqueMembers(arg: unknown) : arg is ProcessRateUniqueMembers;
Regular interface
interface ProcessRate extends ProcessRateUniqueMembers {
	rate: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessRate(arg: unknown) : arg is ProcessRate;
Details

Please also note the documentation for the respective table.

ProcessSetupTimeFallback

Fallback setup time for a process

Unique members interface
interface ProcessSetupTimeFallbackUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessSetupTimeFallbackUniqueMembers(arg: unknown) : arg is ProcessSetupTimeFallbackUniqueMembers;
Regular interface
interface ProcessSetupTimeFallback extends ProcessSetupTimeFallbackUniqueMembers {
	time: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessSetupTimeFallback(arg: unknown) : arg is ProcessSetupTimeFallback;
Details

If the setup time for a process cannot be computed and there is no user-defined value available, the value from this table is used (if any). Please also note the documentation for the respective table.

ProcessUnitTimeFallback

Fallback unit time for a process

Unique members interface
interface ProcessUnitTimeFallbackUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessUnitTimeFallbackUniqueMembers(arg: unknown) : arg is ProcessUnitTimeFallbackUniqueMembers;
Regular interface
interface ProcessUnitTimeFallback extends ProcessUnitTimeFallbackUniqueMembers {
	time: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessUnitTimeFallback(arg: unknown) : arg is ProcessUnitTimeFallback;
Details

If the unit time for a process cannot be computed and there is no user-defined value available, the value from this table is used (if any). Please also note the documentation for the respective table.

Sheet

Defines a sheet that can be used to nest sheet metal parts on

Unique members interface
interface SheetUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetUniqueMembers(arg: unknown) : arg is SheetUniqueMembers;
Regular interface
interface Sheet extends SheetUniqueMembers {
	name: string;
	sheetMaterialId: string;
	dimX: number;
	dimY: number;
	thickness: number;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isSheet(arg: unknown) : arg is Sheet;
Details

Please also note the documentation for the respective table.

SheetModulus

Assigns minimal usable fraction of a sheet’s width to a sheet

Unique members interface
interface SheetModulusUniqueMembers {
	sheetId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetModulusUniqueMembers(arg: unknown) : arg is SheetModulusUniqueMembers;
Regular interface
interface SheetModulus extends SheetModulusUniqueMembers {
	xModulus: number;
	yModulus: number;
	applyToAll: boolean;
}

Defined in module lib/generated/typeguard.ts

function isSheetModulus(arg: unknown) : arg is SheetModulus;
Details

Value must be in the range [0, 1]. Please also note the documentation for the respective table.

SheetPrice

Assigns a price to a sheet

Unique members interface
interface SheetPriceUniqueMembers {
	sheetId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetPriceUniqueMembers(arg: unknown) : arg is SheetPriceUniqueMembers;
Regular interface
interface SheetPrice extends SheetPriceUniqueMembers {
	pricePerSheet: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetPrice(arg: unknown) : arg is SheetPrice;
Details

Please also note the documentation for the respective table.

UpperDieGroup

Defines upper die-bending die group

Unique members interface
interface UpperDieGroupUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isUpperDieGroupUniqueMembers(arg: unknown) : arg is UpperDieGroupUniqueMembers;
Regular interface
interface UpperDieGroup extends UpperDieGroupUniqueMembers {
	name: string;
	exportIdentifier: string;
	radius: number;
}

Defined in module lib/generated/typeguard.ts

function isUpperDieGroup(arg: unknown) : arg is UpperDieGroup;
Details

Please also note the documentation for the respective table.

LowerDieGroup

Defines lower die-bending die group

Unique members interface
interface LowerDieGroupUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isLowerDieGroupUniqueMembers(arg: unknown) : arg is LowerDieGroupUniqueMembers;
Regular interface
interface LowerDieGroup extends LowerDieGroupUniqueMembers {
	name: string;
	exportIdentifier: string;
	openingWidth: number;
}

Defined in module lib/generated/typeguard.ts

function isLowerDieGroup(arg: unknown) : arg is LowerDieGroup;
Details

Please also note the documentation for the respective table.

BendDeduction

Table row defining a bend deduction for a certain parameter set

Unique members interface
interface BendDeductionUniqueMembers {
	sheetBendingMaterialId: string;
	upperDieGroupId: string;
	lowerDieGroupId: string;
	thickness: number;
	bendAngle: number;
}

Defined in module lib/generated/typeguard.ts

function isBendDeductionUniqueMembers(arg: unknown) : arg is BendDeductionUniqueMembers;
Regular interface
interface BendDeduction extends BendDeductionUniqueMembers {
	innerRadius: number;
	sharpDeduction: number;
}

Defined in module lib/generated/typeguard.ts

function isBendDeduction(arg: unknown) : arg is BendDeduction;
Details

Table is used to interpolate actual bend deduction for a bend line.

Setting

Account-wide settings

Unique members interface
interface SettingUniqueMembers {
	key: string;
}

Defined in module lib/generated/typeguard.ts

function isSettingUniqueMembers(arg: unknown) : arg is SettingUniqueMembers;
Regular interface
interface Setting extends SettingUniqueMembers {
	value: string;
}

Defined in module lib/generated/typeguard.ts

function isSetting(arg: unknown) : arg is Setting;

AutomaticMechanicalDeburringMaterial

Automatic mechanical deburring material mapping

Unique members interface
interface AutomaticMechanicalDeburringMaterialUniqueMembers {
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isAutomaticMechanicalDeburringMaterialUniqueMembers(arg: unknown) : arg is AutomaticMechanicalDeburringMaterialUniqueMembers;
Regular interface
interface AutomaticMechanicalDeburringMaterial extends AutomaticMechanicalDeburringMaterialUniqueMembers {
	automaticMechanicalDeburringMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isAutomaticMechanicalDeburringMaterial(arg: unknown) : arg is AutomaticMechanicalDeburringMaterial;

AutomaticMechanicalDeburringParameters

Automatic mechanical deburring parameters

Unique members interface
interface AutomaticMechanicalDeburringParametersUniqueMembers {
	automaticMechanicalDeburringMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isAutomaticMechanicalDeburringParametersUniqueMembers(arg: unknown) : arg is AutomaticMechanicalDeburringParametersUniqueMembers;
Regular interface
interface AutomaticMechanicalDeburringParameters extends AutomaticMechanicalDeburringParametersUniqueMembers {
	maxDimY: number;
	unitTimeBase: number;
	speed: number;
}

Defined in module lib/generated/typeguard.ts

function isAutomaticMechanicalDeburringParameters(arg: unknown) : arg is AutomaticMechanicalDeburringParameters;

DimensionConstraints

Process specific dimension constraints

Unique members interface
interface DimensionConstraintsUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

function isDimensionConstraintsUniqueMembers(arg: unknown) : arg is DimensionConstraintsUniqueMembers;
Regular interface
interface DimensionConstraints extends DimensionConstraintsUniqueMembers {
	minX: number;
	minY: number;
	minZ: number;
	maxX: number;
	maxY: number;
	maxZ: number;
}

Defined in module lib/generated/typeguard.ts

function isDimensionConstraints(arg: unknown) : arg is DimensionConstraints;

ScrewThread

Screw thread definition

Unique members interface
interface ScrewThreadUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isScrewThreadUniqueMembers(arg: unknown) : arg is ScrewThreadUniqueMembers;
Regular interface
interface ScrewThread extends ScrewThreadUniqueMembers {
	name: string;
	coreHoleDiameter: number;
	minDepth: number;
	symmetricTolerance: number;
}

Defined in module lib/generated/typeguard.ts

function isScrewThread(arg: unknown) : arg is ScrewThread;

TappingTimeParameters

Tapping time parameters

Unique members interface
interface TappingTimeParametersUniqueMembers {
	processId: string;
	screwThreadId: string;
}

Defined in module lib/generated/typeguard.ts

function isTappingTimeParametersUniqueMembers(arg: unknown) : arg is TappingTimeParametersUniqueMembers;
Regular interface
interface TappingTimeParameters extends TappingTimeParametersUniqueMembers {
	unitTimePerMm: number;
}

Defined in module lib/generated/typeguard.ts

function isTappingTimeParameters(arg: unknown) : arg is TappingTimeParameters;

TubeMaterial

Tube specific material

Unique members interface
interface TubeMaterialUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeMaterialUniqueMembers(arg: unknown) : arg is TubeMaterialUniqueMembers;
Regular interface
interface TubeMaterial extends TubeMaterialUniqueMembers {
	name: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeMaterial(arg: unknown) : arg is TubeMaterial;

TubeMaterialDensity

Tube specific material density

Unique members interface
interface TubeMaterialDensityUniqueMembers {
	tubeMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeMaterialDensityUniqueMembers(arg: unknown) : arg is TubeMaterialDensityUniqueMembers;
Regular interface
interface TubeMaterialDensity extends TubeMaterialDensityUniqueMembers {
	density: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeMaterialDensity(arg: unknown) : arg is TubeMaterialDensity;

TubeProfile

Tube profile

Unique members interface
interface TubeProfileUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeProfileUniqueMembers(arg: unknown) : arg is TubeProfileUniqueMembers;
Regular interface
interface TubeProfile extends TubeProfileUniqueMembers {
	name: string;
	description: string;
	geometryJson: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeProfile(arg: unknown) : arg is TubeProfile;

TubeSpecification

Tube specification

Unique members interface
interface TubeSpecificationUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeSpecificationUniqueMembers(arg: unknown) : arg is TubeSpecificationUniqueMembers;
Regular interface
interface TubeSpecification extends TubeSpecificationUniqueMembers {
	name: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeSpecification(arg: unknown) : arg is TubeSpecification;

Tube

Tube

Unique members interface
interface TubeUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeUniqueMembers(arg: unknown) : arg is TubeUniqueMembers;
Regular interface
interface Tube extends TubeUniqueMembers {
	name: string;
	tubeMaterialId: string;
	tubeProfileId: string;
	tubeSpecificationId: string;
	dimX: number;
}

Defined in module lib/generated/typeguard.ts

function isTube(arg: unknown) : arg is Tube;

UpperDie

UpperDie

Unique members interface
interface UpperDieUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isUpperDieUniqueMembers(arg: unknown) : arg is UpperDieUniqueMembers;
Regular interface
interface UpperDie extends UpperDieUniqueMembers {
	name: string;
	upperDieGroupId: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isUpperDie(arg: unknown) : arg is UpperDie;

LowerDie

LowerDie

Unique members interface
interface LowerDieUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isLowerDieUniqueMembers(arg: unknown) : arg is LowerDieUniqueMembers;
Regular interface
interface LowerDie extends LowerDieUniqueMembers {
	name: string;
	lowerDieGroupId: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isLowerDie(arg: unknown) : arg is LowerDie;

UpperDieUnit

UpperDieUnit

Unique members interface
interface UpperDieUnitUniqueMembers {
	upperDieId: string;
	dimX: number;
}

Defined in module lib/generated/typeguard.ts

function isUpperDieUnitUniqueMembers(arg: unknown) : arg is UpperDieUnitUniqueMembers;
Regular interface
interface UpperDieUnit extends UpperDieUnitUniqueMembers {
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isUpperDieUnit(arg: unknown) : arg is UpperDieUnit;

LowerDieUnit

LowerDieUnit

Unique members interface
interface LowerDieUnitUniqueMembers {
	lowerDieId: string;
	dimX: number;
}

Defined in module lib/generated/typeguard.ts

function isLowerDieUnitUniqueMembers(arg: unknown) : arg is LowerDieUnitUniqueMembers;
Regular interface
interface LowerDieUnit extends LowerDieUnitUniqueMembers {
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isLowerDieUnit(arg: unknown) : arg is LowerDieUnit;

ProcessHandlingTime

Handling time for a process

Unique members interface
interface ProcessHandlingTimeUniqueMembers {
	processId: string;
	mass: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessHandlingTimeUniqueMembers(arg: unknown) : arg is ProcessHandlingTimeUniqueMembers;
Regular interface
interface ProcessHandlingTime extends ProcessHandlingTimeUniqueMembers {
	setupTimeDelta: number;
	unitTimeDelta: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessHandlingTime(arg: unknown) : arg is ProcessHandlingTime;

SheetStock

Stock data for one sheet

Unique members interface
interface SheetStockUniqueMembers {
	sheetId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetStockUniqueMembers(arg: unknown) : arg is SheetStockUniqueMembers;
Regular interface
interface SheetStock extends SheetStockUniqueMembers {
	count: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetStock(arg: unknown) : arg is SheetStock;

ProcessIdlePeriod

Idle period for a process [h]

Unique members interface
interface ProcessIdlePeriodUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessIdlePeriodUniqueMembers(arg: unknown) : arg is ProcessIdlePeriodUniqueMembers;
Regular interface
interface ProcessIdlePeriod extends ProcessIdlePeriodUniqueMembers {
	time: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessIdlePeriod(arg: unknown) : arg is ProcessIdlePeriod;

SheetMaterialScrapValue

Sheet material scrap value

Unique members interface
interface SheetMaterialScrapValueUniqueMembers {
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetMaterialScrapValueUniqueMembers(arg: unknown) : arg is SheetMaterialScrapValueUniqueMembers;
Regular interface
interface SheetMaterialScrapValue extends SheetMaterialScrapValueUniqueMembers {
	scrapValue: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetMaterialScrapValue(arg: unknown) : arg is SheetMaterialScrapValue;

SheetPriority

Sheet priority

Unique members interface
interface SheetPriorityUniqueMembers {
	sheetId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetPriorityUniqueMembers(arg: unknown) : arg is SheetPriorityUniqueMembers;
Regular interface
interface SheetPriority extends SheetPriorityUniqueMembers {
	priority: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetPriority(arg: unknown) : arg is SheetPriority;

DieGroupPriority

Die group priority

Unique members interface
interface DieGroupPriorityUniqueMembers {
	upperDieGroupId: string;
	lowerDieGroupId: string;
	sheetBendingMaterialId: string;
	sheetThickness: number;
}

Defined in module lib/generated/typeguard.ts

function isDieGroupPriorityUniqueMembers(arg: unknown) : arg is DieGroupPriorityUniqueMembers;
Regular interface
interface DieGroupPriority extends DieGroupPriorityUniqueMembers {
	priority: number;
}

Defined in module lib/generated/typeguard.ts

function isDieGroupPriority(arg: unknown) : arg is DieGroupPriority;

SheetCuttingMaterial

Sheet cutting material

Unique members interface
interface SheetCuttingMaterialUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingMaterialUniqueMembers(arg: unknown) : arg is SheetCuttingMaterialUniqueMembers;
Regular interface
interface SheetCuttingMaterial extends SheetCuttingMaterialUniqueMembers {
	name: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingMaterial(arg: unknown) : arg is SheetCuttingMaterial;

SheetBendingMaterial

Sheet bending material

Unique members interface
interface SheetBendingMaterialUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetBendingMaterialUniqueMembers(arg: unknown) : arg is SheetBendingMaterialUniqueMembers;
Regular interface
interface SheetBendingMaterial extends SheetBendingMaterialUniqueMembers {
	name: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetBendingMaterial(arg: unknown) : arg is SheetBendingMaterial;

TubeCuttingProcess

Tube cutting process

Unique members interface
interface TubeCuttingProcessUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingProcessUniqueMembers(arg: unknown) : arg is TubeCuttingProcessUniqueMembers;
Regular interface
interface TubeCuttingProcess extends TubeCuttingProcessUniqueMembers {
	name: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingProcess(arg: unknown) : arg is TubeCuttingProcess;

TubeCuttingProcessMapping

Tube cutting process mapping

Unique members interface
interface TubeCuttingProcessMappingUniqueMembers {
	processId: string;
	tubeMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingProcessMappingUniqueMembers(arg: unknown) : arg is TubeCuttingProcessMappingUniqueMembers;
Regular interface
interface TubeCuttingProcessMapping extends TubeCuttingProcessMappingUniqueMembers {
	tubeCuttingProcessId: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingProcessMapping(arg: unknown) : arg is TubeCuttingProcessMapping;

TubeCuttingSpeed

Tube cutting speed

Unique members interface
interface TubeCuttingSpeedUniqueMembers {
	tubeCuttingProcessId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingSpeedUniqueMembers(arg: unknown) : arg is TubeCuttingSpeedUniqueMembers;
Regular interface
interface TubeCuttingSpeed extends TubeCuttingSpeedUniqueMembers {
	speed: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingSpeed(arg: unknown) : arg is TubeCuttingSpeed;

TubeCuttingPierceTime

Tube cutting pierce time

Unique members interface
interface TubeCuttingPierceTimeUniqueMembers {
	tubeCuttingProcessId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingPierceTimeUniqueMembers(arg: unknown) : arg is TubeCuttingPierceTimeUniqueMembers;
Regular interface
interface TubeCuttingPierceTime extends TubeCuttingPierceTimeUniqueMembers {
	time: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingPierceTime(arg: unknown) : arg is TubeCuttingPierceTime;

TubePrice

Tube price

Unique members interface
interface TubePriceUniqueMembers {
	tubeId: string;
}

Defined in module lib/generated/typeguard.ts

function isTubePriceUniqueMembers(arg: unknown) : arg is TubePriceUniqueMembers;
Regular interface
interface TubePrice extends TubePriceUniqueMembers {
	pricePerTube: number;
}

Defined in module lib/generated/typeguard.ts

function isTubePrice(arg: unknown) : arg is TubePrice;

TubeStock

Tube stock

Unique members interface
interface TubeStockUniqueMembers {
	tubeId: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeStockUniqueMembers(arg: unknown) : arg is TubeStockUniqueMembers;
Regular interface
interface TubeStock extends TubeStockUniqueMembers {
	count: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeStock(arg: unknown) : arg is TubeStock;

TubeMaterialScrapValue

Tube material scrap value

Unique members interface
interface TubeMaterialScrapValueUniqueMembers {
	tubeMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeMaterialScrapValueUniqueMembers(arg: unknown) : arg is TubeMaterialScrapValueUniqueMembers;
Regular interface
interface TubeMaterialScrapValue extends TubeMaterialScrapValueUniqueMembers {
	scrapValue: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeMaterialScrapValue(arg: unknown) : arg is TubeMaterialScrapValue;

AnyTable

Variant covering all user tables

interface AnyTable {
	type: TableType;
	content: (SheetMaterial)[]|(SheetMaterialDensity)[]|(SheetCuttingMaterialMapping)[]|(SheetBendingMaterialMapping)[]|(BendTime)[]|(BendTimeParameters)[]|(BendRateParameters)[]|(BendLineConstraint)[]|(LaserSheetCuttingGas)[]|(LaserSheetCuttingSpeed)[]|(LaserSheetCuttingPierceTime)[]|(LaserSheetCuttingRate)[]|(LaserSheetCuttingMinArea)[]|(LaserSheetCuttingMaxThickness)[]|(Packaging)[]|(TransportationCosts)[]|(Surcharge)[]|(Process)[]|(ProcessRate)[]|(ProcessSetupTimeFallback)[]|(ProcessUnitTimeFallback)[]|(Sheet)[]|(SheetModulus)[]|(SheetPrice)[]|(UpperDieGroup)[]|(LowerDieGroup)[]|(BendDeduction)[]|(Setting)[]|(AutomaticMechanicalDeburringMaterial)[]|(AutomaticMechanicalDeburringParameters)[]|(DimensionConstraints)[]|(ScrewThread)[]|(TappingTimeParameters)[]|(TubeMaterial)[]|(TubeMaterialDensity)[]|(TubeProfile)[]|(TubeSpecification)[]|(Tube)[]|(UpperDie)[]|(LowerDie)[]|(UpperDieUnit)[]|(LowerDieUnit)[]|(ProcessHandlingTime)[]|(SheetStock)[]|(ProcessIdlePeriod)[]|(SheetMaterialScrapValue)[]|(SheetPriority)[]|(DieGroupPriority)[]|(SheetCuttingMaterial)[]|(SheetBendingMaterial)[]|(TubeCuttingProcess)[]|(TubeCuttingProcessMapping)[]|(TubeCuttingSpeed)[]|(TubeCuttingPierceTime)[]|(TubePrice)[]|(TubeStock)[]|(TubeMaterialScrapValue)[];
}

Defined in module lib/generated/typeguard.ts

function isAnyTable(arg: unknown) : arg is AnyTable;

ReferredEntryMissingTableError

Referred table entry is missing

interface ReferredEntryMissingTableError {
	affectedRowType: TableType;
	affectedRowIndex: number;
	affectedColumnIndex: number;
	relatedRowType: TableType;
	relatedColumnIndex: number;
	referredId: string;
}

Defined in module lib/generated/typeguard.ts

function isReferredEntryMissingTableError(arg: unknown) : arg is ReferredEntryMissingTableError;

ReferringEntryMissingTableError

Referring table entry is missing

interface ReferringEntryMissingTableError {
	affectedRowType: TableType;
	affectedColumnIndex: number;
	relatedRowType: TableType;
	relatedRowIndex: number;
	relatedColumnIndex: number;
}

Defined in module lib/generated/typeguard.ts

function isReferringEntryMissingTableError(arg: unknown) : arg is ReferringEntryMissingTableError;

InvalidValueTableError

Table cell value is invalid

interface InvalidValueTableError {
	affectedRowType: TableType;
	affectedRowIndex: number;
	affectedColumnIndex: number;
}

Defined in module lib/generated/typeguard.ts

function isInvalidValueTableError(arg: unknown) : arg is InvalidValueTableError;

UniqueMemberCollisionTableError

Two rows of the same table have the same value for each unique member

interface UniqueMemberCollisionTableError {
	affectedRowType: TableType;
	affectedRowIndex: number;
	affectedColumnIndex: number;
	relatedRowIndex: number;
}

Defined in module lib/generated/typeguard.ts

function isUniqueMemberCollisionTableError(arg: unknown) : arg is UniqueMemberCollisionTableError;

TableError

Variant covering all table errors

interface TableError {
	type: TableErrorType;
	content: ReferringEntryMissingTableError|ReferredEntryMissingTableError|InvalidValueTableError|UniqueMemberCollisionTableError;
}

Defined in module lib/generated/typeguard.ts

function isTableError(arg: unknown) : arg is TableError;

HttpReply

Result of an HTTP request

interface HttpReply {
	errorCode: number;
	data: ArrayBuffer;
}

Defined in module lib/generated/typeguard.ts

function isHttpReply(arg: unknown) : arg is HttpReply;
Details

errorCode corresponds to QNetworkReply::NetworkError. See https://doc.qt.io/qt-5/qnetworkreply.html#NetworkError-enum

LineSegment

Line segment

interface LineSegment {
	from: Point2;
	to: Point2;
}

Defined in module lib/generated/typeguard.ts

function isLineSegment(arg: unknown) : arg is LineSegment;

ArcSegment

Arc segment

interface ArcSegment {
	from: Point2;
	to: Point2;
	center: Point2;
	ccw: boolean;
}

Defined in module lib/generated/typeguard.ts

function isArcSegment(arg: unknown) : arg is ArcSegment;
Details

Note that a full circle is given if from === to.

Segment

Variant covering all segments

interface Segment {
	type: SegmentType;
	content: LineSegment|ArcSegment;
}

Defined in module lib/generated/typeguard.ts

function isSegment(arg: unknown) : arg is Segment;

SceneStyle

Style for scene objects

interface SceneStyle {
	strokeWidth?: number;
	strokeColor?: Color;
	fillColor?: Vector4;
	strokeStyle?: StrokeStyle;
	zValue?: number;
}

Defined in module lib/generated/typeguard.ts

function isSceneStyle(arg: unknown) : arg is SceneStyle;

ProgramVersion

Program version

interface ProgramVersion {
	major: number;
	minor: number;
	patch: number;
}

Defined in module lib/generated/typeguard.ts

function isProgramVersion(arg: unknown) : arg is ProgramVersion;

GeometryEntityDescriptorContentEdge

interface GeometryEntityDescriptorContentEdge {
	value: number;
}

Defined in module lib/generated/typeguard.ts

function isGeometryEntityDescriptorContentEdge(arg: unknown) : arg is GeometryEntityDescriptorContentEdge;

GeometryEntityDescriptorContentFace

interface GeometryEntityDescriptorContentFace {
	value: number;
}

Defined in module lib/generated/typeguard.ts

function isGeometryEntityDescriptorContentFace(arg: unknown) : arg is GeometryEntityDescriptorContentFace;

GeometryEntityDescriptor

interface GeometryEntityDescriptor {
	type: GeometryEntityType;
	content: GeometryEntityDescriptorContentEdge|GeometryEntityDescriptorContentFace;
}

Defined in module lib/generated/typeguard.ts

function isGeometryEntityDescriptor(arg: unknown) : arg is GeometryEntityDescriptor;

GeometryEntity

interface GeometryEntity {
	assemblyPath: AssemblyPath;
	descriptor: GeometryEntityDescriptor;
}

Defined in module lib/generated/typeguard.ts

function isGeometryEntity(arg: unknown) : arg is GeometryEntity;

CamCommandSetColor

Set geometry entity color(s)

interface CamCommandSetColor {
	entities: (GeometryEntity)[];
	color: Vector3;
}

Defined in module lib/generated/typeguard.ts

function isCamCommandSetColor(arg: unknown) : arg is CamCommandSetColor;

CamCommand

Transform command

interface CamCommand {
	type: CamCommandType;
	content: CamCommandSetColor;
}

Defined in module lib/generated/typeguard.ts

function isCamCommand(arg: unknown) : arg is CamCommand;

CamNestorInputPart

Private API

interface CamNestorInputPart {
	iop: InnerOuterPolygon;
	minCount: number;
	maxCount: number;
	fixedRotations: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isCamNestorInputPart(arg: unknown) : arg is CamNestorInputPart;

CamNestorInput

Private API

interface CamNestorInput {
	parts: (CamNestorInputPart)[];
	targetBoundary: Polygon;
	nestingDistance: number;
}

Defined in module lib/generated/typeguard.ts

function isCamNestorInput(arg: unknown) : arg is CamNestorInput;

CamNestorConfig

Private API

interface CamNestorConfig {
	timeout: number;
	numRelevantNestings: number;
}

Defined in module lib/generated/typeguard.ts

function isCamNestorConfig(arg: unknown) : arg is CamNestorConfig;

CamWorkStepUpdateInputSheet

Private API

interface CamWorkStepUpdateInputSheet {
	nestorInput: CamNestorInput;
	nestorConfig: CamNestorConfig;
}

Defined in module lib/generated/typeguard.ts

function isCamWorkStepUpdateInputSheet(arg: unknown) : arg is CamWorkStepUpdateInputSheet;

CamWorkStepUpdateInputTube

Private API

interface CamWorkStepUpdateInputTube {
	length: number;
	multiplicity: number;
	nestingDistance: number;
}

Defined in module lib/generated/typeguard.ts

function isCamWorkStepUpdateInputTube(arg: unknown) : arg is CamWorkStepUpdateInputTube;

AssemblyPath

Defines sub-assembly relative to a given root

interface AssemblyPath {
	indices: (number)[];
}

Defined in module lib/generated/typeguard.ts

function isAssemblyPath(arg: unknown) : arg is AssemblyPath;

LayeredExtraData

Extra data possibly associated with input leading to a Layered

interface LayeredExtraData {
	thickness: number;
	name: string;
	material: string;
}

Defined in module lib/generated/typeguard.ts

function isLayeredExtraData(arg: unknown) : arg is LayeredExtraData;

RenderSceneSettings

Settings for rendering a Scene

interface RenderSceneSettings {
	viewPort?: Box2;
}

Defined in module lib/generated/typeguard.ts

function isRenderSceneSettings(arg: unknown) : arg is RenderSceneSettings;

TwoDimImportResultPartInvalid

Segments do not form a valid part

interface TwoDimImportResultPartInvalid {
	problematicPoint?: Point2;
}

Defined in module lib/generated/typeguard.ts

function isTwoDimImportResultPartInvalid(arg: unknown) : arg is TwoDimImportResultPartInvalid;

TwoDimImportResultEngravingInvalid

Segments do not form a valid engraving

interface TwoDimImportResultEngravingInvalid {
	problematicPoint: Point2;
}

Defined in module lib/generated/typeguard.ts

function isTwoDimImportResultEngravingInvalid(arg: unknown) : arg is TwoDimImportResultEngravingInvalid;

TwoDimImportResultSuccess

The resulting TwoDimRepresentation

interface TwoDimImportResultSuccess {
	twoDimRep: TwoDimRepresentation;
}

Defined in module lib/generated/typeguard.ts

function isTwoDimImportResultSuccess(arg: unknown) : arg is TwoDimImportResultSuccess;

TwoDimImportResult

Result of a 2D data import

interface TwoDimImportResult {
	type: TwoDimImportResultType;
	content: TwoDimImportResultPartInvalid|TwoDimImportResultEngravingInvalid|TwoDimImportResultSuccess;
}

Defined in module lib/generated/typeguard.ts

function isTwoDimImportResult(arg: unknown) : arg is TwoDimImportResult;

PrivateManufacturingStateEntry

Private API

interface PrivateManufacturingStateEntry {
	level: string;
	message: string;
}

Defined in module lib/generated/typeguard.ts

function isPrivateManufacturingStateEntry(arg: unknown) : arg is PrivateManufacturingStateEntry;

PrivateManufacturingStateResourceEntry

Private API

interface PrivateManufacturingStateResourceEntry {
	nodeId: GraphNodeId;
	actualState: (PrivateManufacturingStateEntry)[];
	virtualState: (PrivateManufacturingStateEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateManufacturingStateResourceEntry(arg: unknown) : arg is PrivateManufacturingStateResourceEntry;

PrivateNodeRepresentation

Private API

interface PrivateNodeRepresentation {
	nodeId: GraphNodeId;
	rootId: GraphNodeRootId;
	sourceNodeIds: (GraphNodeId)[];
	targetNodeIds: (GraphNodeId)[];
	workStepType: WorkStepType;
	processType: ProcessType;
	processId: string;
	processName: string;
}

Defined in module lib/generated/typeguard.ts

function isPrivateNodeRepresentation(arg: unknown) : arg is PrivateNodeRepresentation;

PrivateArticleRepresentation

Private API

interface PrivateArticleRepresentation {
	name: string;
	externalPartNumber: string;
	externalDrawingNumber: string;
	externalRevisionNumber: string;
	comment: string;
	multiplicity: number;
	nodeId: GraphNodeId;
	rootId: GraphNodeRootId;
	nodeIds: (GraphNodeId)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateArticleRepresentation(arg: unknown) : arg is PrivateArticleRepresentation;

PrivateAssemblyResourceEntry

Private API

interface PrivateAssemblyResourceEntry {
	nodeId: GraphNodeId;
	assembly: Assembly;
}

Defined in module lib/generated/typeguard.ts

function isPrivateAssemblyResourceEntry(arg: unknown) : arg is PrivateAssemblyResourceEntry;

PrivateBinaryResourceEntry

Private API

interface PrivateBinaryResourceEntry {
	nodeId: GraphNodeId;
	data: ArrayBuffer;
}

Defined in module lib/generated/typeguard.ts

function isPrivateBinaryResourceEntry(arg: unknown) : arg is PrivateBinaryResourceEntry;

PrivateSceneResourceEntry

Private API

interface PrivateSceneResourceEntry {
	nodeId: GraphNodeId;
	data: Scene;
}

Defined in module lib/generated/typeguard.ts

function isPrivateSceneResourceEntry(arg: unknown) : arg is PrivateSceneResourceEntry;

PrivateScenesResourceEntry

Private API

interface PrivateScenesResourceEntry {
	nodeId: GraphNodeId;
	data: (Scene)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateScenesResourceEntry(arg: unknown) : arg is PrivateScenesResourceEntry;

PrivateNodeTextResourceEntry

Private API

interface PrivateNodeTextResourceEntry {
	nodeId: GraphNodeId;
	brief: string;
	details: string;
	toolTip: string;
}

Defined in module lib/generated/typeguard.ts

function isPrivateNodeTextResourceEntry(arg: unknown) : arg is PrivateNodeTextResourceEntry;

PrivateArticleTextResourceEntry

Private API

interface PrivateArticleTextResourceEntry {
	nodeId: GraphNodeId;
	details: string;
}

Defined in module lib/generated/typeguard.ts

function isPrivateArticleTextResourceEntry(arg: unknown) : arg is PrivateArticleTextResourceEntry;

PrivateArticleSignatureNodeResourceEntry

Private API

interface PrivateArticleSignatureNodeResourceEntry {
	nodeId: GraphNodeId;
	material: string;
	mass?: number;
	sheetThickness?: number;
}

Defined in module lib/generated/typeguard.ts

function isPrivateArticleSignatureNodeResourceEntry(arg: unknown) : arg is PrivateArticleSignatureNodeResourceEntry;

PrivateSourceMultEntry

Private API

interface PrivateSourceMultEntry {
	sourceArticleNodeId: GraphNodeId;
	targetArticleNodeId: GraphNodeId;
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isPrivateSourceMultEntry(arg: unknown) : arg is PrivateSourceMultEntry;

PrivateArticleCalcDataResourceEntry

Private API

interface PrivateArticleCalcDataResourceEntry {
	nodeId: GraphNodeId;
	approxSemimanufacturedShare?: number;
	manufacturingPriceExclSurcharges?: number;
	manufacturingPriceInclSurcharges?: number;
	recursiveManufacturingPriceExclSurcharges?: number;
	recursiveManufacturingPriceInclSurcharges?: number;
	sellingPrice?: number;
	recursiveSellingPrice?: number;
}

Defined in module lib/generated/typeguard.ts

function isPrivateArticleCalcDataResourceEntry(arg: unknown) : arg is PrivateArticleCalcDataResourceEntry;

PrivateNodeCalcDataResourceEntry

Private API

interface PrivateNodeCalcDataResourceEntry {
	nodeId: GraphNodeId;
	materialCosts?: number;
	setupTime?: number;
	unitTime?: number;
	manufacturingPriceExclSurcharges?: number;
	manufacturingPriceInclSurcharges?: number;
	sellingPrice?: number;
}

Defined in module lib/generated/typeguard.ts

function isPrivateNodeCalcDataResourceEntry(arg: unknown) : arg is PrivateNodeCalcDataResourceEntry;

PrivateProblematicGeometryResourceEntry

Private API

interface PrivateProblematicGeometryResourceEntry {
	nodeId: GraphNodeId;
	hasProblematicGeometries: boolean;
}

Defined in module lib/generated/typeguard.ts

function isPrivateProblematicGeometryResourceEntry(arg: unknown) : arg is PrivateProblematicGeometryResourceEntry;

PrivateForceSheetMetalPartResourceEntry

Private API

interface PrivateForceSheetMetalPartResourceEntry {
	nodeId: GraphNodeId;
	canForceFuture: BooleanFuture;
}

Defined in module lib/generated/typeguard.ts

function isPrivateForceSheetMetalPartResourceEntry(arg: unknown) : arg is PrivateForceSheetMetalPartResourceEntry;

PrivateResources

Private API

interface PrivateResources {
	pngs: (PrivateBinaryResourceEntry)[];
	inputAssemblies: (PrivateAssemblyResourceEntry)[];
	outputAssemblies: (PrivateAssemblyResourceEntry)[];
	defaultScenes: (PrivateSceneResourceEntry)[];
	bendZoneScenes: (PrivateSceneResourceEntry)[];
	lowerDieAffectZoneScenes: (PrivateSceneResourceEntry)[];
	technicalDrawingScenes: (PrivateScenesResourceEntry)[];
	tubeOutlineScenes: (PrivateSceneResourceEntry)[];
	manufacturingStates: (PrivateManufacturingStateResourceEntry)[];
	nodeTexts: (PrivateNodeTextResourceEntry)[];
	articleTexts: (PrivateArticleTextResourceEntry)[];
	articleCalcData: (PrivateArticleCalcDataResourceEntry)[];
	articleSignatureNodeData: (PrivateArticleSignatureNodeResourceEntry)[];
	nodeCalcData: (PrivateNodeCalcDataResourceEntry)[];
	nodeProblematicGeometryData: (PrivateProblematicGeometryResourceEntry)[];
	nodeForceSheetMetalPartData: (PrivateForceSheetMetalPartResourceEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateResources(arg: unknown) : arg is PrivateResources;

PrivateGraphData

Private API

interface PrivateGraphData {
	projectName: string;
}

Defined in module lib/generated/typeguard.ts

function isPrivateGraphData(arg: unknown) : arg is PrivateGraphData;

PrivateGuiDataGraphRep

Private API

interface PrivateGuiDataGraphRep {
	nodes: (PrivateNodeRepresentation)[];
	articles: (PrivateArticleRepresentation)[];
	resources: PrivateResources;
	data: PrivateGraphData;
	sourceMults: (PrivateSourceMultEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateGuiDataGraphRep(arg: unknown) : arg is PrivateGuiDataGraphRep;

PrivateGuiData

Private API

interface PrivateGuiData {
	type: PrivateGuiDataType;
	content: PrivateGuiDataGraphRep;
}

Defined in module lib/generated/typeguard.ts

function isPrivateGuiData(arg: unknown) : arg is PrivateGuiData;

PrivateSheetTablesEditorInitData

Private API

interface PrivateSheetTablesEditorInitData {
	sheetMaterials: (SheetMaterial)[];
	sheetMaterialDensities: (SheetMaterialDensity)[];
	sheetMaterialScrapValues: (SheetMaterialScrapValue)[];
	sheets: (Sheet)[];
	sheetPrices: (SheetPrice)[];
	sheetStocks: (SheetStock)[];
	sheetModuli: (SheetModulus)[];
	sheetPriorities: (SheetPriority)[];
	sheetCuttingMaterials: (SheetCuttingMaterial)[];
	sheetBendingMaterials: (SheetBendingMaterial)[];
	sheetCuttingMaterialMappings: (SheetCuttingMaterialMapping)[];
	sheetBendingMaterialMappings: (SheetBendingMaterialMapping)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateSheetTablesEditorInitData(arg: unknown) : arg is PrivateSheetTablesEditorInitData;

PrivateTubeTablesEditorInitData

Private API

interface PrivateTubeTablesEditorInitData {
	tubeMaterials: (TubeMaterial)[];
	tubeMaterialDensities: (TubeMaterialDensity)[];
	tubeProfiles: (TubeProfile)[];
	tubeSpecifications: (TubeSpecification)[];
	tubes: (Tube)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateTubeTablesEditorInitData(arg: unknown) : arg is PrivateTubeTablesEditorInitData;

Nest3Part

All information needed of part that is to be nested in 3D nesting

interface Nest3Part {
	assembly: Assembly;
	multiplicity: number;
	mass: number;
	prismBodyShadow?: PolygonFuture;
	prismBodyCamera?: Camera3;
}

Defined in module lib/generated/typeguard.ts

function isNest3Part(arg: unknown) : arg is Nest3Part;

Nest3InputBin

Information about the box to nest into in 3D nesting

interface Nest3InputBin {
	box: Box3;
	maxWeight: number;
}

Defined in module lib/generated/typeguard.ts

function isNest3InputBin(arg: unknown) : arg is Nest3InputBin;

Nest3ResultBox

One result box of 3D nesting

interface Nest3ResultBox {
	assembly: Assembly;
	weight: number;
}

Defined in module lib/generated/typeguard.ts

function isNest3ResultBox(arg: unknown) : arg is Nest3ResultBox;

BendDieAffectDistanceEntry

Die affect distance for a bend

interface BendDieAffectDistanceEntry {
	bendDescriptor: number;
	affectDistance: number;
}

Defined in module lib/generated/typeguard.ts

function isBendDieAffectDistanceEntry(arg: unknown) : arg is BendDieAffectDistanceEntry;

LstCreationParameters

Parameters for lst creation

interface LstCreationParameters {
	programName: string;
	lttIdentifier: string;
	sheetThickness: number;
	sheetMaterial: string;
	measureSheet: boolean;
	loadingSystem: TrumpfLoadingSystem;
	evaporate: LstEvaporateMode;
	measuringCorner: SheetCorner;
	sheetMetalStop: SheetCorner;
}

Defined in module lib/generated/typeguard.ts

function isLstCreationParameters(arg: unknown) : arg is LstCreationParameters;

Enums

Enums are string objects that can only hold certain predefined values.

FileType

List of possible file types

Possible values:

  • svg: Scalable Vector Graphics

  • dxf: AutoCAD Drawing Exchange Format

  • step: Step AP214

  • png: Portable Network Graphics

  • geo: Trumpf GEO Format

Defined in module lib/generated/typeguard.ts:

function isFileType(arg: unknown) : arg is FileType;

InputType

List of possible input types

Details

An InputType classifies different types of input. Unlike a FileType, an InputType differentiates the class of input by its logical type and how WSi4 can deal with it.

Possible values:

  • undefined: Undefined input that WSi4 cannot use

  • documentGraph: A complete WSi4 compatible project

  • assembly: A three-dimensional input representing an assembly

  • layered: Two-dimensional input, possibly in different layers

  • twoDimRep: Pre-processed two-dimensional input

Defined in module lib/generated/typeguard.ts:

function isInputType(arg: unknown) : arg is InputType;

DatabaseType

List of possible database drivers

Details

An DatabaseType classifies different types of database drivers.

Possible values:

  • mssql: MSSQL driver

Defined in module lib/generated/typeguard.ts:

function isDatabaseType(arg: unknown) : arg is DatabaseType;

FileSystemPathType

Different types of filesystem objects to query via dialog

Possible values:

  • directory: Select a directory

  • openFile: Select files to open

  • saveFile: Select a filename to save to

Defined in module lib/generated/typeguard.ts:

function isFileSystemPathType(arg: unknown) : arg is FileSystemPathType;

WorkStepType

List of possible types of worksteps

Details

A WorkStepType classifies a workstep by the type relevant to algorithmic considerations. For example, the processes laser sheet cutting and plasma sheet cutting would both be of type sheetCutting.

Possible values:

  • undefined: An undefined type

  • sheet: A base workstep of sheet form

  • sheetCutting: Two-dimensional cutting done with a sheet

  • joining: Joining two or more assemblies

  • tubeCutting: Three-dimensional cutting done with a tube

  • sheetBending: Folding is material cut from sheets

  • userDefined: Arbitrary user defined workstep

  • userDefinedBase: Arbitrary user defined base workstep, usually a purchased part

  • packaging: Workstep where one or more assemblies are packaged and thus three-dimensionally nested into predefined containers

  • transform: Generic workstep

  • tube: Semimanufactured tube

Defined in module lib/generated/typeguard.ts:

function isWorkStepType(arg: unknown) : arg is WorkStepType;

BendDieChoiceType

List of possible BendDieChoice types

Possible values:

  • database: Database value

  • neutralAxis: Neutral axis

Defined in module lib/generated/typeguard.ts:

function isBendDieChoiceType(arg: unknown) : arg is BendDieChoiceType;

DocumentItemType

List of possible document item types

Possible values:

  • paragraph: A paragraph

  • heading: A heading

  • table: A table

  • image: An image

  • barcode: A barcode

  • separator: A Separator

  • pageBreak: A page break

Defined in module lib/generated/typeguard.ts:

function isDocumentItemType(arg: unknown) : arg is DocumentItemType;

DocumentAlignment

List of possible document content alignment types

Possible values:

  • left: Left alignment

  • center: Center alignment

  • right: Right alignment

Defined in module lib/generated/typeguard.ts:

function isDocumentAlignment(arg: unknown) : arg is DocumentAlignment;

DocumentImageType

List of possible document image types

Possible values:

  • png: Portable Network Graphics

  • svg: Scalable Vector Graphics

Defined in module lib/generated/typeguard.ts:

function isDocumentImageType(arg: unknown) : arg is DocumentImageType;

DocumentOrientation

List of possible document orientations

Possible values:

  • portrait: Portrait

  • landscape: Landscape

Defined in module lib/generated/typeguard.ts:

function isDocumentOrientation(arg: unknown) : arg is DocumentOrientation;

GraphNodeProcessingState

List of possible processing states

Possible values:

  • CreateWorkStep: Create workstep

  • UpdateWorkStep: Update workstep

  • CreateSources: Create sources

  • FillFromSources: Fill from sources

  • AfterFillFromSources: After Fill from sources

  • Finished: Finished

Defined in module lib/generated/typeguard.ts:

function isGraphNodeProcessingState(arg: unknown) : arg is GraphNodeProcessingState;

ProcessType

List of possible process types

Possible values:

  • undefined: undefined

  • manufacturing: manufacturing

  • semiManufactured: semiManufactured

  • sheetCutting: sheetCutting

  • laserSheetCutting: laserSheetCutting

  • joining: joining

  • externalPart: externalPart

  • sheet: sheet

  • userDefinedBaseType: userDefinedBaseType

  • assembling: assembling

  • forceFitting: forceFitting

  • joiningByWelding: joiningByWelding

  • joiningByBrazing: joiningByBrazing

  • bonding: bonding

  • autogenousWelding: autogenousWelding

  • arcWelding: arcWelding

  • gasShieldedWelding: gasShieldedWelding

  • migWelding: migWelding

  • magWelding: magWelding

  • tigWelding: tigWelding

  • plasmaWelding: plasmaWelding

  • laserWelding: laserWelding

  • weldingWithPressure: weldingWithPressure

  • resistanceWelding: resistanceWelding

  • studWelding: studWelding

  • forming: forming

  • bendForming: bendForming

  • bendingWithoutTool: bendingWithoutTool

  • dieBending: dieBending

  • sheetMetalFolding: sheetMetalFolding

  • cutting: cutting

  • removalOperation: removalOperation

  • plasmaSheetCutting: plasmaSheetCutting

  • waterJetSheetCutting: waterJetSheetCutting

  • machining: machining

  • milling: milling

  • turning: turning

  • drilling: drilling

  • threading: threading

  • mechanicalDeburring: mechanicalDeburring

  • cleaning: cleaning

  • coating: coating

  • sprayPainting: sprayPainting

  • powderCoating: powderCoating

  • sheetBending: sheetBending

  • transport: transport

  • packaging: packaging

  • automaticMechanicalDeburring: automaticMechanicalDeburring

  • manualMechanicalDeburring: manualMechanicalDeburring

  • userDefinedMachining: userDefinedMachining

  • userDefinedThreading: userDefinedThreading

  • userDefinedCountersinking: userDefinedCountersinking

  • slideGrinding: slideGrinding

  • sheetTapping: sheetTapping

  • userDefinedTube: userDefinedTube

  • tube: tube

  • tubeCutting: tubeCutting

Defined in module lib/generated/typeguard.ts:

function isProcessType(arg: unknown) : arg is ProcessType;

TubeProfileGeometryType

List of tube profile geometry types

Possible values:

  • rectangular: Rectangular tube profile geometry

  • circular: Circular tube profile geometry

Defined in module lib/generated/typeguard.ts:

function isTubeProfileGeometryType(arg: unknown) : arg is TubeProfileGeometryType;

TableType

List of table types

Possible values:

  • sheetMaterial: Sheet material

  • sheetMaterialDensity: Material Density

  • sheetCuttingMaterialMapping: Sheet cutting material mapping

  • sheetBendingMaterialMapping: Sheet bending material mapping

  • bendTime: Bend time

  • bendTimeParameters: Bend time parameters

  • bendRateParameters: Bend rate parameters

  • bendLineConstraint: Bend line constraint

  • laserSheetCuttingGas: Laser sheet cutting gas

  • laserSheetCuttingSpeed: Laser sheet cutting speed

  • laserSheetCuttingPierceTime: Laser sheet cutting pierce time

  • laserSheetCuttingRate: Laser sheet cutting rate

  • laserSheetCuttingMinArea: Laser sheet cutting minimum contour area

  • laserSheetCuttingMaxThickness: Laser sheet cutting maximum sheet thickness

  • packaging: Packaging

  • transportationCosts: Transportation costs

  • surcharge: Surcharge

  • process: Process

  • processRate: Process rate

  • processSetupTimeFallback: Process setup time fallback

  • processUnitTimeFallback: Process unit time fallback

  • sheet: Sheet

  • sheetModulus: Sheet modulus

  • sheetPrice: Sheet prices

  • upperDieGroup: Upper die group

  • lowerDieGroup: Lower die group

  • bendDeduction: Bend deduction

  • setting: Account-wide settings

  • automaticMechanicalDeburringMaterial: Automatic mechanical deburring material mapping

  • automaticMechanicalDeburringParameters: Automatic mechanical deburring parameters

  • dimensionConstraints: Process specific dimension constraints

  • screwThread: Screw thread definitions

  • tappingTimeParameters: Tapping time parameters

  • tubeMaterial: Tube specific material

  • tubeMaterialDensity: Tube specific material density

  • tubeProfile: Tube profile

  • tubeSpecification: Tube specification

  • tube: Tube

  • upperDie: Upper die

  • lowerDie: Lower die

  • upperDieUnit: Upper die unit

  • lowerDieUnit: Lower die unit

  • processHandlingTime: Process handling time

  • sheetStock: Sheet stock

  • processIdlePeriod: Process idle period

  • sheetMaterialScrapValue: Sheet material scrap value

  • sheetPriority: Sheet priority

  • dieGroupPriority: Die group priority

  • sheetCuttingMaterial: Sheet cutting material

  • sheetBendingMaterial: Sheet bending material

  • tubeCuttingProcess: Tube cutting process

  • tubeCuttingProcessMapping: Tube cutting process mapping

  • tubeCuttingSpeed: Tube cutting speed

  • tubeCuttingPierceTime: Tube cutting pierce time

  • tubePrice: Tube price

  • tubeStock: Tube stock

  • tubeMaterialScrapValue: Tube material scrap value

Defined in module lib/generated/typeguard.ts:

function isTableType(arg: unknown) : arg is TableType;

TableErrorType

List of table error types

Possible values:

  • referringEntryMissing: Entry referring to the respective row is missing

  • referredEntryMissing: Entry referred by the respective row is missing

  • valueInvalid: Value for respective table cell is invalid

  • uniqueMemberCollision: Two rows of the same table have the same value for each unique member

Defined in module lib/generated/typeguard.ts:

function isTableErrorType(arg: unknown) : arg is TableErrorType;

Feature

List of available features

Possible values:

  • bendMeasurementScene: Generate bend measurement scenes

  • bomExport: Export bill of materials

  • graphRepExport: Export graph representation

  • unlimitedNumExports: Unlimited number of exports

  • httpServiceUnfold: Unfold http service

  • httpServiceNestor: Nestor http service

  • httpServiceAssemblyTree: Assembly tree http service

  • lstExport: Export lsts

  • erpInterfaceItBlech: IT-Blech ERP interface

  • tubeDetection: Tube detection

Defined in module lib/generated/typeguard.ts:

function isFeature(arg: unknown) : arg is Feature;

ReplyStateIndicatorPackaging

Reply state indicators for packaging

Possible values:

  • undefinedError: Undefined error

  • insufficientPackageVolume: Volume of packaging too small

  • overweightParts: No valid packaging due to part weight

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorPackaging(arg: unknown) : arg is ReplyStateIndicatorPackaging;

ReplyStateIndicatorTransform

Reply state indicators for transform

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorTransform(arg: unknown) : arg is ReplyStateIndicatorTransform;

ReplyStateIndicatoruserDefined

Reply state indicators for userDefined

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatoruserDefined(arg: unknown) : arg is ReplyStateIndicatoruserDefined;

ReplyStateIndicatoruserDefinedBase

Reply state indicators for userDefinedBase

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatoruserDefinedBase(arg: unknown) : arg is ReplyStateIndicatoruserDefinedBase;

ReplyStateIndicatorUndefined

Reply state indicators for undefined

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorUndefined(arg: unknown) : arg is ReplyStateIndicatorUndefined;

ReplyStateIndicatorTubeCutting

Reply state indicators for tubeCutting

Possible values:

  • undefinedError: Undefined error

  • undetectedFeatures: Undetected Features in Part

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorTubeCutting(arg: unknown) : arg is ReplyStateIndicatorTubeCutting;

ReplyStateIndicatorJoining

Reply state indicators for joining

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorJoining(arg: unknown) : arg is ReplyStateIndicatorJoining;

ReplyStateIndicatorSheet

Reply state indicators for sheet

Possible values:

  • undefinedError: Undefined error

  • nestingFailed: Nesting failed

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorSheet(arg: unknown) : arg is ReplyStateIndicatorSheet;

ReplyStateIndicatorSheetCutting

Reply state indicators for laser

Possible values:

  • undefinedError: Undefined error

  • undetectedFeatures: Undetected Features in Part

  • multipleOuterContours: Multiple outer contours

  • unused0: Unused legacy entry

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorSheetCutting(arg: unknown) : arg is ReplyStateIndicatorSheetCutting;

ReplyStateIndicatorSheetBending

Reply state indicators for bend

Possible values:

  • undefinedError: Undefined error

  • multipleOuterContours: Multiple outer contours

  • contourInBend: Legacy value; unused

  • invalidBend: Invalid Bend

  • undetectedFeatures: Undetected Features in Part

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorSheetBending(arg: unknown) : arg is ReplyStateIndicatorSheetBending;

ReplyStateIndicatorTube

Reply state indicators for bend

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

function isReplyStateIndicatorTube(arg: unknown) : arg is ReplyStateIndicatorTube;

FileDialogType

List of modes available for file dialog

Possible values:

  • openFile: Query existing file path

  • openFiles: Query existing file paths

  • saveFile: Query existing or non-existing file path

  • directory: Query directory path

Defined in module lib/generated/typeguard.ts:

function isFileDialogType(arg: unknown) : arg is FileDialogType;

FormWidgetType

List of widgets available for forms

Possible values:

  • checkBox: Check box

  • spinBox: Spin box

  • dropDown: Drop down

  • lineEdit: Line edit

  • textEdit: Text edit

  • label: Static text label

Defined in module lib/generated/typeguard.ts:

function isFormWidgetType(arg: unknown) : arg is FormWidgetType;

MessageBoxType

List of message box types

Possible values:

  • info: Information message box

  • warning: Warning message box

  • error: Error message box

  • question: Question message box

Defined in module lib/generated/typeguard.ts:

function isMessageBoxType(arg: unknown) : arg is MessageBoxType;

GeometrySelectorConfigFlag

Flags to configure geometry selector

Possible values:

  • edge: Select edge(s)

  • face: Select face(s)

Defined in module lib/generated/typeguard.ts:

function isGeometrySelectorConfigFlag(arg: unknown) : arg is GeometrySelectorConfigFlag;

WidgetType

List of available widgets

Possible values:

  • assemblyView: Assembly view

  • attachmentEditor: Attachment editor

  • bendingToolEditor: Bending tool editor

  • calcParamEditor: Calculatory parameter editor

  • fileDialog: File dialog

  • formEditor: Form editor

  • geometrySelector: Geometry selector

  • geometryColorSelector: Geometry color selector

  • joiningSequenceEditor: Joining sequence editor

  • layeredImportDialog: Layered import dialog

  • messageBox: Message box

  • processSelector: Process selector

  • sheetFilterEditor: Sheet filter editor

  • sheetTappingEditor: Sheet tapping editor

Defined in module lib/generated/typeguard.ts:

function isWidgetType(arg: unknown) : arg is WidgetType;

SegmentType

List of available segment types

Possible values:

  • line: Line segment

  • arc: Arc segment

Defined in module lib/generated/typeguard.ts:

function isSegmentType(arg: unknown) : arg is SegmentType;

GeometryEntityType

Geometry entity types

Possible values:

  • edge: Edge

  • face: Face

Defined in module lib/generated/typeguard.ts:

function isGeometryEntityType(arg: unknown) : arg is GeometryEntityType;

CamCommandType

List of available transform command types

Possible values:

  • setColor: Set color of geometry entities

Defined in module lib/generated/typeguard.ts:

function isCamCommandType(arg: unknown) : arg is CamCommandType;

Color

Colors available for geometric output

Possible values:

  • black: black

  • white: white

  • green: green

  • yellow: yellow

  • cyan: cyan

  • blue: blue

  • magenta: magenta

  • none: none

  • red: red

  • lightgrey: lightgrey

  • lime: lime

  • turquoise: turquoise

  • violet: violet

  • saddlebrown: saddlebrown

  • darkorange: darkorange

  • sienna: sienna

  • closedContour: closedContour

  • closedInnerContour: closedInnerContour

  • closedOuterContour: closedOuterContour

  • openContour: openContour

  • engraving: engraving

  • bendLine: bendLine

  • bendLineUp: bendLineUp

  • bendLineDown: bendLineDown

Defined in module lib/generated/typeguard.ts:

function isColor(arg: unknown) : arg is Color;

StrokeStyle

Line styles available for geometric output

Possible values:

  • continuous: continuous

  • dashed: dashed

Defined in module lib/generated/typeguard.ts:

function isStrokeStyle(arg: unknown) : arg is StrokeStyle;

PrivateGuiDataType

Private API

Possible values:

  • ``graphRep

Defined in module lib/generated/typeguard.ts:

function isPrivateGuiDataType(arg: unknown) : arg is PrivateGuiDataType;

TwoDimImportResultType

Result for a 2D geometry import

Possible values:

  • partInvalid: Part is invalid

  • engravingInvalid: Engraving is invalid

  • success: Success

Defined in module lib/generated/typeguard.ts:

function isTwoDimImportResultType(arg: unknown) : arg is TwoDimImportResultType;

DatabasePermission

Database permission

Possible values:

  • read: read

  • write: write

Defined in module lib/generated/typeguard.ts:

function isDatabasePermission(arg: unknown) : arg is DatabasePermission;

LocaleType

List of available locale types

Possible values:

  • language: Language locale

  • csv: Locale used for exporting csv

Defined in module lib/generated/typeguard.ts:

function isLocaleType(arg: unknown) : arg is LocaleType;

AddResultStatus

List of possible statuses of adding data to graph

Possible values:

  • success: Successful adding

  • unsupportedFormat: Format of file not supported

  • versionMismatch: Wsi4 file too old

  • inconsistentGraph: Graph in wsi4 file was not consistent

  • undefinedError: Undefined error

  • unsupportedVersion: Version unsupported (probably newer than current version)

Defined in module lib/generated/typeguard.ts:

function isAddResultStatus(arg: unknown) : arg is AddResultStatus;

TrumpfLoadingSystem

List of all possible loading systems

Possible values:

  • manual: Manual without palette changer

  • paletteChange: Palette changer

  • paletteChangeLiftMaster: Palette changer / LiftMaster

  • onePalette: One palette operation

  • paletteChangeLiftMasterSort: Palette changer / LiftMaster Sort

  • paletteChangeLiftMasterSortPullingDevice: Palette changer / LiftMaster Sort with pulling device

Defined in module lib/generated/typeguard.ts:

function isTrumpfLoadingSystem(arg: unknown) : arg is TrumpfLoadingSystem;

LstEvaporateMode

List of all possible evaporate modes

Possible values:

  • none: No evaporating

  • early: Evaporate whole sheet before cutting

  • beforeEachPart: Evaporate part before cutting

Defined in module lib/generated/typeguard.ts:

function isLstEvaporateMode(arg: unknown) : arg is LstEvaporateMode;

SheetCorner

Possible sheet corners (in direction in how the sheet lies inside machine)

Possible values:

  • lowerLeft: Lower left corner

  • upperLeft: Upper left corner

  • lowerRight: Lower right corner

  • upperRight: Upper right corner

Defined in module lib/generated/typeguard.ts:

function isSheetCorner(arg: unknown) : arg is SheetCorner;

API documentation

Top-level functions

throwError

Throw an exception and abort script execution

wsi4.throwError(message: string): never

Input parameters:

  • message String content of exception

Return values:

  • never

quit

Quit application

wsi4.quit(): void

Return values:

isFeatureEnabled

Check if a given Feature is enabled

wsi4.isFeatureEnabled(feature: Feature): boolean

Input parameters:

  • feature The Feature to check

Return values:

  • boolean True if feature is enabled

setFeature

Enable or disable a Feature

wsi4.setFeature(feature: Feature, value: boolean): void

Enabling a Feature is only possible in debug builds!

Input parameters:

  • feature The Feature to enable or disable

  • value The value to set feature to

Return values:

version

Get program version

wsi4.version(): ProgramVersion

Only meaningful in main script engine.

Return values:

  • ProgramVersion Program version

cam.bend

Bend related functions

selectDieGroups

Select die group combinations for a single bend

wsi4.cam.bend.selectDieGroups(options: readonly Readonly<BendDeduction>[], upperDieGroups: readonly Readonly<UpperDieGroup>[], lowerDieGroups: readonly Readonly<LowerDieGroup>[], dieGroupPriorities: readonly Readonly<DieGroupPriority>[], query: DieSelectorQuery, innerRadius: number): (BendDieChoice)[]

Select valid die group combinations based on options and constrained by query so the resulting radius matches the constructed innerRadius as well as possible.

Input parameters:

  • options Options for the underlying die group selector to choose from

  • upperDieGroups Must contain all upper die groups part of options

  • lowerDieGroups Must contain all lower die groups part of options

  • dieGroupPriorities Die group priorities (if any)

  • query Constraints for die group selector

  • innerRadius Constructed inner radius of the bend the die groups should be selected for

Return values:

  • (BendDieChoice)[] Array of die-combinations ordered by how well they match the constructed inner radius. The array can be empty if no viable option has been found.

extractBendZones

Get bend zones of a TwoDimRepresentation corresponding to a bend node

wsi4.cam.bend.extractBendZones(twoDimRep: TwoDimRepresentation): (InnerOuterPolygon)[]

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (InnerOuterPolygon)[] Bend zone Polygons

computeLowerDieAffectZones

Computes die affect zones for a TwoDimRepresentation corresponding to a bend node

wsi4.cam.bend.computeLowerDieAffectZones(twoDimRep: TwoDimRepresentation, bendDieAffectDistances: readonly Readonly<BendDieAffectDistanceEntry>[]): (Polygon)[]

Input parameters:

  • twoDimRep The TwoDimRepresentation

  • bendDieAffectDistances Bend die affect distance for each bend

Return values:

  • (Polygon)[] Die affect zone Polygons

affectedSegments

Contour that is inside of any die’s affect distance (if any)

wsi4.cam.bend.affectedSegments(twoDimRep: TwoDimRepresentation, bendDieAffectDistances: readonly Readonly<BendDieAffectDistanceEntry>[]): (Segment)[]

Input parameters:

  • twoDimRep The TwoDimRepresentation

  • bendDieAffectDistances Bend die affect distance for each bend

Return values:

  • (Segment)[] Contour that is inside of any die’s affect distance (if any)

cam.laser

Laser sheet cutting related functions

computeContourTime

Compute the time it takes to traverse a given contour while not exceeding acceleration and velocity thresholds

wsi4.cam.laser.computeContourTime(polygon: Polygon, vMax: number, aMax: number): number

Input parameters:

  • polygon Geometry to cut

  • vMax Maximum velocity allowed while cutting polygon in mm/s

  • aMax Maximum acceleration allowed while cutting polygon in mm/s^2

Return values:

  • number The time it takes to traverse polygon not exceeding vMax and aMax in seconds

computeSegmentsTime

Compute the time it takes to traverse a given list of segments while not exceeding acceleration and velocity thresholds

wsi4.cam.laser.computeSegmentsTime(segments: readonly Readonly<Segment>[], vMax: number, aMax: number): number

The Segments do not need to form a closed path. Potential gaps are bridged by line segments internally.

Input parameters:

  • segments Segments to traverse

  • vMax Maximum velocity allowed while traversing segments in mm/s

  • aMax Maximum acceleration allowed while traversing segments in mm/s^2

Return values:

  • number The time it takes to traverse segments not exceeding vMax and aMax in seconds

computePointsTime

Compute the time it takes to visit all listed points in their given order while not exceeding acceleration and velocity thresholds

wsi4.cam.laser.computePointsTime(points: readonly Readonly<Point2>[], vMax: number, aMax: number): number

Input parameters:

  • points Points to visit sequentially

  • vMax Maximum velocity allowed while travelling from point to point in mm/s

  • aMax Maximum acceleration allowed while travelling from point to point in mm/s^2

Return values:

  • number The time it takes to visit all points in points not exceeding vMax and aMax in seconds

cam.nest2

2D nestor

asyncNest

Async. 2D nesting computation

wsi4.cam.nest2.asyncNest(nestorInput: CamNestorInput, nestorConfig: CamNestorConfig): TwoDimRepOptionalFuture

Note: experimental API; interface has not been stabilized yet.

Input parameters:

  • nestorInput 2D nestor input

  • nestorConfig 2D nestor config

Return values:

  • TwoDimRepOptionalFuture TwoDimRepresentation Future

nestingDescriptors

Descriptor for each nesting

wsi4.cam.nest2.nestingDescriptors(twoDimRep: TwoDimRepresentation): (number)[]

Note: A twoDimRep without underlying nesting is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

Return values:

  • (number)[] Descriptor for each nesting

partDescriptors

Descriptor for each input part

wsi4.cam.nest2.partDescriptors(twoDimRep: TwoDimRepresentation): (number)[]

Note: A twoDimRep without underlying nesting is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

Return values:

  • (number)[] Descriptor for each input part

partDescriptorFromIop

Part descriptor for an input geometry (if any)

wsi4.cam.nest2.partDescriptorFromIop(twoDimRep: TwoDimRepresentation, iop: InnerOuterPolygon): number|undefined

Note: A twoDimRep without underlying nesting is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • iop The InnerOuterPolygon

Return values:

  • number Part descriptor that corresponds to iop (if available)

  • undefined If iop is not part of the nesting

partDescriptorFromTwoDimRep

Part descriptor for an input geometry (if any)

wsi4.cam.nest2.partDescriptorFromTwoDimRep(nestingTwoDimRep: TwoDimRepresentation, partTwoDimRep: TwoDimRepresentation): number|undefined

Note: A twoDimRep without underlying nesting is considered an error.

Input parameters:

  • nestingTwoDimRep The nesting TwoDimRepresentation

  • partTwoDimRep The part’s TwoDimRepresentation

Return values:

  • number Part descriptor that corresponds to partTwoDimRep (if available)

  • undefined If partTwoDimRep is not part of the nesting

partIop

InnerOuterPolygon of the associated input part

wsi4.cam.nest2.partIop(twoDimRep: TwoDimRepresentation, partDescriptor: number): InnerOuterPolygon

Note: A twoDimRep without underlying nesting is considered an error. Note: An ouf-of-bounds partDescriptor is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • partDescriptor The part’s descriptor

Return values:

  • InnerOuterPolygon InnerOuterPolygon of the input part

nesting

Nesting that corresponds to nestingDescriptor

wsi4.cam.nest2.nesting(twoDimRep: TwoDimRepresentation, nestingDescriptor: number): (Nest2PartInstance)[]

Note: A twoDimRep without underlying nesting is considered an error. Note: An ouf-of-bounds nestingDescriptor is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • nestingDescriptor The nesting’s descriptor

Return values:

  • (Nest2PartInstance)[] The nesting

nestingBoundingBox

Axis aligned bounding box of all nested parts

wsi4.cam.nest2.nestingBoundingBox(twoDimRep: TwoDimRepresentation, nestingDescriptor: number): Box2

Note: The bounding box does not include an outer offset covering the nesting distance. Note: A twoDimRep without underlying nesting is considered an error. Note: An ouf-of-bounds nestingDescriptor is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • nestingDescriptor The nesting’s descriptor

Return values:

  • Box2 Bounding box of all nested parts

nestingTargetBoundary

Part descriptor for an input geometry

wsi4.cam.nest2.nestingTargetBoundary(twoDimRep: TwoDimRepresentation, nestingDescriptor: number): Polygon

Note: A twoDimRep without underlying nesting is considered an error. Note: An ouf-of-bounds nestingDescriptor is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • nestingDescriptor The nesting’s descriptor

Return values:

  • Polygon Target boundary of the associated nesting

nestingMultiplicity

Number of instances of the nesting

wsi4.cam.nest2.nestingMultiplicity(twoDimRep: TwoDimRepresentation, nestingDescriptor: number): number

Note: A twoDimRep without underlying nesting is considered an error. Note: An ouf-of-bounds nestingDescriptor is considered an error.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • nestingDescriptor The nesting’s descriptor

Return values:

  • number Number of instances of the nesting

addNestingToScene

Number of instances of the nesting

wsi4.cam.nest2.addNestingToScene(scene: Scene, twoDimRep: TwoDimRepresentation, nestingDescriptor: number, partStyle: SceneStyle): Scene

Note: A twoDimRep without underlying nesting is considered an error. Note: An ouf-of-bounds nestingDescriptor is considered an error.

Input parameters:

  • scene The Scene to add to

  • twoDimRep The nesting TwoDimRepresentation

  • nestingDescriptor The nesting’s descriptor

  • partStyle Part SceneStyle

Return values:

  • Scene New scene with added nesting

netVolumeNestedParts

Net area of all nested parts

wsi4.cam.nest2.netVolumeNestedParts(twoDimRep: TwoDimRepresentation, nestingDescriptor: number, innerContourAreaThreshold: number): number

innerContourAreaThreshold defines the minimum area for inner contours to be considered. In case an inner contour is considered, its volume will be subtracted from the resulting area. If innerContourAreaThreshold is > 0., then parts that are nested into inner contours of another parts can be considered twice. However, there is an guarantee for the result to be not larger than the combined volume of all nesting bounding boxes.

Input parameters:

  • twoDimRep The nesting TwoDimRepresentation

  • nestingDescriptor The nesting’s descriptor

  • innerContourAreaThreshold Threshold area for inner contours

Return values:

  • number Net area of all nested parts

cam.nest3

Nesting in 3D related functions

asyncNest

Nest assemblies into bin

wsi4.cam.nest3.asyncNest(bin: Nest3InputBin, parts: readonly Readonly<Nest3Part>[], timeLimitInMilliseconds: number): Nest3ResultFuture

All prism body assemblies are first nested via 2D and the result is nested with the remaining parts with Binpacking

Input parameters:

  • bin Bin to nest into

  • parts Parts to nest into bin

  • timeLimitInMilliseconds Time limit for prism nesting

Return values:

  • Nest3ResultFuture Future to resulting boxes

cam.util

CAM related utility functions

extractInnerOuterPolygons

Get InnerOuterPolygons from a TwoDimRepresentation

wsi4.cam.util.extractInnerOuterPolygons(twoDimRep: TwoDimRepresentation): (InnerOuterPolygon)[]

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (InnerOuterPolygon)[] The extracted InnerOuterPolygons

extractOverlappingAreas

Get InnerOuterPolygons representing overlapping areas from a TwoDimRepresentation

wsi4.cam.util.extractOverlappingAreas(twoDimRep: TwoDimRepresentation): (InnerOuterPolygon)[]

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (InnerOuterPolygon)[] The extracted InnerOuterPolygons

extractNesting

Get CamNesting from a TwoDimRepresentation

wsi4.cam.util.extractNesting(twoDimRep: TwoDimRepresentation): CamNesting|undefined

Deprecated - use wsi4.cam.nest2 API instead The array-indices of CamNesting match the indices of computeNestingBoundingBoxes()' resulting array.

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • CamNesting The underlying nesting

  • undefined If TwoDimRepresentation does not provide a nesting

extractNestingParts

Get CamNestedParts from a TwoDimRepresentation

wsi4.cam.util.extractNestingParts(twoDimRep: TwoDimRepresentation): ((CamNestedPart)[])[]|undefined

Deprecated - use wsi4.cam.nest2 API instead The array-indices of CamNestedParts match the indices of CamNesting's sheets.

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • ((CamNestedPart)[])[] The nested parts

  • undefined If TwoDimRepresentation does not provide a nesting

extractEngravings

Get engraving data from a TwoDimRepresentation

wsi4.cam.util.extractEngravings(twoDimRep: TwoDimRepresentation): Scene

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • Scene Engraving data as scenes

computeNestingBoundingBoxes

Get axis-aligned bounding boxes of nesting

wsi4.cam.util.computeNestingBoundingBoxes(twoDimRep: TwoDimRepresentation): (Box2)[]

Deprecated - use wsi4.cam.nest2 API instead The array-indices match the indices of CamNesting's sheets property.

Input parameters:

  • twoDimRep TwoDimRepresentation containing a nesting for which the bounding boxes should be computed

Return values:

  • (Box2)[] Array of Box2s of the nesting contained in twoDimRep

addNestingToScene

Add nesting to scene

wsi4.cam.util.addNestingToScene(scene: Scene, twoDimRep: TwoDimRepresentation, style: SceneStyle): Scene

New Scene consists of all sub-nestings where each sub-nesting is annotated with the respective multiplicity. Note: Only style's stroke width is utilized as of nowNote: Experimental API. Might be subject to change in a future release.

Input parameters:

  • scene The scene to add to

  • twoDimRep The TwoDimRepresentation

  • style Style of innerOuterPolygons

Return values:

  • Scene The new Scene

twoDimRepFromLayered

Create TwoDimRepresentation from a Layered

wsi4.cam.util.twoDimRepFromLayered(layered: Layered, cuttingLayers: readonly Readonly<number>[], engravingLayers: readonly Readonly<number>[], tolerance: number): TwoDimImportResult

Input parameters:

  • layered Layered to separate

  • cuttingLayers Layer descriptors that should be considered cutting contours

  • engravingLayers Layer descriptors that should be considered engraving contours

  • tolerance Tolerance for closed contour detection

Return values:

  • TwoDimImportResult Conversion result

twoDimRepVolume

Compute 2D volume of underlying geometry

wsi4.cam.util.twoDimRepVolume(twoDimRep: TwoDimRepresentation): number

Pre-condition: TwoDimRepresentation does not correspond to a sheet node.

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • number Volume of the 2D geometry

boundingBox2

Compute 2D bouding box of underlying geometry

wsi4.cam.util.boundingBox2(twoDimRep: TwoDimRepresentation): Box2

Pre-condition: TwoDimRepresentation does not correspond to a sheet node.

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • Box2 Volume of the 2D geometry

createLst

Create a lst based on the nesting in TwoDimRepresentation

wsi4.cam.util.createLst(twoDimRep: TwoDimRepresentation, parameters: LstCreationParameters): string

Pre-condition: TwoDimRepresentation does correspond to a sheet node.

Input parameters:

  • twoDimRep The TwoDimRepresentation

  • parameters Parameters for lst creation

Return values:

  • string Lst of nesting in twoDimRep

classifier

Classification of file types

classify

Classify content

wsi4.classifier.classify(data: ArrayBuffer): InputType

This function is used to determine the content type of byte streams like input files.

Input parameters:

  • data Data to classify

Return values:

  • InputType Value of enum InputType

documentCreator

Functions for generating documents

clear

Clear current document

wsi4.documentCreator.clear(): void

Return values:

addRow

Add row to document

wsi4.documentCreator.addRow(row: (DocumentItem)[]): void

Input parameters:

  • row Document-Items to add

Return values:

pdf

Generate PDF out of underlying document

wsi4.documentCreator.pdf(): ArrayBuffer

Return values:

  • ArrayBuffer PDF file content

renderIntoPdf

Create PDF document from rows

wsi4.documentCreator.renderIntoPdf(rows: ((DocumentItem)[])[], format: DocumentFormat): ArrayBuffer

Input parameters:

  • rows Item rows forming the document

  • format Document format properties

Return values:

  • ArrayBuffer PDF file content

renderIntoHtml

Render rows into HTML

wsi4.documentCreator.renderIntoHtml(rows: ((DocumentItem)[])[], format: DocumentFormat): string

The return value combines the resulting HTML content and a container holding the resources of the HTML content. resourcePath defines the location of resources relative to the HTML. E. g. this is the location where the resulting resource map should be written to on file system.

Input parameters:

  • rows Item rows forming the document

  • format Document format properties

Return values:

  • string HTML content and resource data

geo.assembly

Query information related to assemblies

coordinateSystem

Get an Assembly's coordinate system

wsi4.geo.assembly.coordinateSystem(assembly: Assembly): CoordinateSystem3

Input parameters:

  • assembly An Assembly

Return values:

  • CoordinateSystem3 CoordinateSystem3

worldCoordinateSystem

Get an Assembly's world coordinate system

wsi4.geo.assembly.worldCoordinateSystem(assembly: Assembly): CoordinateSystem3

Input parameters:

  • assembly Object of type Assembly

Return values:

  • CoordinateSystem3 World-CoordinateSystem3

brep

Get an Assembly's underlying Brep

wsi4.geo.assembly.brep(assembly: Assembly): Brep|undefined

Input parameters:

  • assembly Object of type Assembly

Return values:

  • Brep Underlying Brep (if any)

  • undefined If there is no underlying Brep

subAssemblies

Get an Assemblys underlying sub-Assemblys

wsi4.geo.assembly.subAssemblies(assembly: Assembly): (Assembly)[]

Input parameters:

  • assembly Object of type Assembly

Return values:

  • (Assembly)[] Array of Assembly-Objects

recursiveSubAssemblies

Get an Assemblys underlying sub-Assemblys recursively

wsi4.geo.assembly.recursiveSubAssemblies(assembly: Assembly): (Assembly)[]

Input parameters:

  • assembly Object of type Assembly

Return values:

  • (Assembly)[] Array of all recursively collected Assembly-Objects

name

Get an Assembly's name

wsi4.geo.assembly.name(assembly: Assembly): string

Input parameters:

  • assembly An Assembly

Return values:

  • string Name of assembly

createFileContent

Create file content of given type of assembly

wsi4.geo.assembly.createFileContent(assembly: Assembly, fileType: FileType): ArrayBuffer

Note: This function is deprecated. Consider using createStep() and renderPng() respectively.

Input parameters:

  • assembly Assembly Object file content should be created for

  • fileType Defines file type [step, png]

Return values:

  • ArrayBuffer File-content for given fileType

createStep

Create file content of given type of assembly

wsi4.geo.assembly.createStep(assembly: Assembly): ArrayBuffer

Input parameters:

  • assembly Assembly Object file content should be created for

Return values:

  • ArrayBuffer File-content for given fileType

computeDefaultCamera

Compute default camera for given assembly

wsi4.geo.assembly.computeDefaultCamera(assembly: Assembly): Camera3

Input parameters:

  • assembly The Assembly Object

Return values:

  • Camera3 File-content for given fileType

renderIntoPng

Create PNG representation of an Assembly

wsi4.geo.assembly.renderIntoPng(assembly: Assembly, camera: Camera3): ArrayBuffer

Input parameters:

  • assembly Assembly PNG file content should be created for

  • camera Defines the view to render

Return values:

  • ArrayBuffer PNG output representing assembly

asyncRenderIntoPng

Asynchronously create PNG representation of an Assembly

wsi4.geo.assembly.asyncRenderIntoPng(assembly: Assembly, camera: Camera3): ArrayBufferFuture

Input parameters:

  • assembly Assembly PNG file content should be created for

  • camera Defines the view to render

Return values:

  • ArrayBufferFuture Future for PNG output representing assembly

gltf

Create glTF representation of an Assembly

wsi4.geo.assembly.gltf(assembly: Assembly): ArrayBuffer

This function generates a binary glTF representation (.glb) of an Assembly. The generated output requires the KHR_draco_mesh_compression and KHR_mesh_quantization glTF extensions.

Input parameters:

  • assembly Assembly glTF representation should be generated for

Return values:

  • ArrayBuffer assembly in glTF binary (.glb) representation

asyncGltf

Async version of gltf()

wsi4.geo.assembly.asyncGltf(assembly: Assembly): ArrayBufferFuture

Input parameters:

  • assembly Assembly glTF representation should be generated for

Return values:

  • ArrayBufferFuture Future for assembly in glTF binary (.glb) representation

resolvePath

Resolve path relative to root

wsi4.geo.assembly.resolvePath(root: Assembly, path: AssemblyPath): Assembly|undefined

Input parameters:

  • root Root Assembly

  • path The AssemblyPath

Return values:

  • Assembly Assembly referenced by path

  • undefined If path is invalid

computePath

Compute path from root to target

wsi4.geo.assembly.computePath(root: Assembly, target: Assembly): AssemblyPath|undefined

Input parameters:

  • root Root Assembly

  • target Target Assembly

Return values:

  • AssemblyPath AssemblyPath from root to target

  • undefined If there is no valid path between root and target

setEntityColors

Set color of geometry entities.

wsi4.geo.assembly.setEntityColors(assembly: Assembly, entities: (GeometryEntity)[], color: Vector3): Assembly

The input Assembly is cloned. The changes are applied to the cloned Assembly. The input Assembly remains unchanged. Note: For now only face colors can be changed. Note: This feature is experimental and the API might be subject to change in the future.

Input parameters:

  • assembly Input Assembly

  • entities The entities

  • color The color

Return values:

  • Assembly New Assembly with updated geometry entity colors

fromIop

Create Assembly from an InnerOuterPolygon and a defined depth

wsi4.geo.assembly.fromIop(iop: InnerOuterPolygon, depth: number, name: string): Assembly

Input parameters:

  • iop The InnerOuterPolygon

  • depth Extrude depth

  • name Name of the assembly

Return values:

  • Assembly Assembly resulting from extrusion of iop by depth

setCoordinateSystem

Creates new Assembly and sets the provided CoordinateSystem3d

wsi4.geo.assembly.setCoordinateSystem(assembly: Assembly, coordinateSystem: CoordinateSystem3): Assembly

Input parameters:

  • assembly The Assembly

  • coordinateSystem The CoordinateSystem3d

Return values:

  • Assembly New Assembly with updated coorinate system

geo.brep

Query information related to breps

toPolyJson

Create polygonal representation of a Brep in JSON format

wsi4.geo.brep.toPolyJson(brep: Brep): string

This function is deprecated. Using wsi4.geo.assembly.toGltf is preferred.

Input parameters:

  • brep The Brep

Return values:

  • string Polygonal representation of brep

area

Compute area for a given Brep and FaceDescriptor

wsi4.geo.brep.area(brep: Brep): number

Throws an error if fd is invalid.

Input parameters:

  • brep The Brep

Return values:

  • number Area of brep

faceArea

Compute area for a given Brep and FaceDescriptor

wsi4.geo.brep.faceArea(brep: Brep, fd: number): number

Throws an error if fd is invalid.

Input parameters:

  • brep The Brep

  • fd The face descriptor

Return values:

  • number Area of associated face

geo.util

Geometry related utility functions

createScene

Create an empty Scene

wsi4.geo.util.createScene(sceneData: SceneSceneData): Scene

Input parameters:

  • sceneData The scene wide meta data

Return values:

  • Scene Empty Scene object with given meta data

serializeScene

Serialize Scene

wsi4.geo.util.serializeScene(scene: Scene): ArrayBuffer

Input parameters:

  • scene The scene that should be serialized

Return values:

  • ArrayBuffer Serialization of scene

addInnerOuterPolygonsToScene

Add innerOuterPolygons to scene with style style and return the newly created Scene

wsi4.geo.util.addInnerOuterPolygonsToScene(scene: Scene, innerOuterPolygons: readonly Readonly<InnerOuterPolygon>[], style: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • innerOuterPolygons The InnerOuterPolygons to add to scene

  • style Style of innerOuterPolygons

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

addPolygonsToScene

Add polygons to scene with style style and return the newly created Scene

wsi4.geo.util.addPolygonsToScene(scene: Scene, polygons: readonly Readonly<Polygon>[], style: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • polygons The Polygons to add to scene

  • style Style of polygons

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

addSegmentsToScene

Add segments to scene and return the newly created Scene

wsi4.geo.util.addSegmentsToScene(scene: Scene, segments: readonly Readonly<Segment>[], style: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • segments The Segments to add to scene

  • style The style to use for segments

Return values:

  • Scene The new Scene containing scene as well as segments

addBendLinesToScene

Add bend lines to scene and return the newly created Scene

wsi4.geo.util.addBendLinesToScene(scene: Scene, labels: boolean, bendLines: readonly Readonly<BendLineData>[], objectDatas: readonly Readonly<SceneObjectData>[]): Scene

Input parameters:

  • scene The scene to add to

  • labels Whether to add labels to the bend lines

  • bendLines The bend lines to add to scene

  • objectDatas The object data to associated to each bend line

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

addLabelsToScene

Add labels to scene and return the newly created Scene

wsi4.geo.util.addLabelsToScene(scene: Scene, labels: readonly Readonly<SceneLabel>[]): Scene

Input parameters:

  • scene The scene to add to

  • labels The labels to add to scene

Return values:

  • Scene The new Scene containing scene as well as the submitted labels

combineScenes

Create new scene that holds the content of all scenes

wsi4.geo.util.combineScenes(scenes: readonly Readonly<Scene>[]): Scene

Input parameters:

  • scenes The scenes to combine

Return values:

  • Scene New scene that consists of all scenes

outerPolygon

Get outer polygon of InnerOuterPolygon

wsi4.geo.util.outerPolygon(iop: InnerOuterPolygon): Polygon

Input parameters:

  • iop An InnerOuterPolygon

Return values:

  • Polygon The outer Polygon of iop

innerPolygons

Get inner polygons of InnerOuterPolygon

wsi4.geo.util.innerPolygons(iop: InnerOuterPolygon): (Polygon)[]

Input parameters:

  • iop An InnerOuterPolygon

Return values:

  • (Polygon)[] The inner Polygons of iop

circumference

Get circumference of geometric object

wsi4.geo.util.circumference(geometricObject: Polygon): number

Input parameters:

  • geometricObject Geometric object

Return values:

  • number Circumference of object

pathLength

Compute length of a path

wsi4.geo.util.pathLength(path: readonly Readonly<Segment>[]): number

Input parameters:

  • path The path

Return values:

  • number Length of the path

volume

Get volume of geometric object

wsi4.geo.util.volume(object: Polygon|InnerOuterPolygon|Assembly): number

Input parameters:

  • object Geometric object

Return values:

  • number Volume of the geometric object

boundingBox2d

Get axis-aligned bounding box of a two-dimensional geometric object

wsi4.geo.util.boundingBox2d(geometricObject: Polygon|InnerOuterPolygon|Layered|readonly Readonly<InnerOuterPolygon>[]): Box2

Input parameters:

  • geometricObject Two-dimensional geometric object

Return values:

  • Box2 Axis-aligned bounding box

boundingBox3d

Get axis-aligned bounding box of three-dimensional geometric object

wsi4.geo.util.boundingBox3d(geometricObject: Assembly): Box3

Input parameters:

  • geometricObject Three-dimensional geometric object

Return values:

  • Box3 Axis-aligned bounding box

isIsomorphic

Check if two Assemblys are isomorphic

wsi4.geo.util.isIsomorphic(first: Assembly, second: Assembly): boolean

Input parameters:

  • first An Assembly

  • second An Assembly

Return values:

  • boolean True if first and second are isomorphic

createCoordinateSystem

Create CoordinateSystem at origin with x-axis and y-axis

wsi4.geo.util.createCoordinateSystem(origin: Vector3, xAxis: Vector3, yAxis: Vector3): CoordinateSystem3

z-axis is computed from x-axis and y-axis so the resulting coordinate system is orthonormal. x-axis and y-axis are expected to be linearly independent.

Input parameters:

  • origin CoordinateSystem origin

  • xAxis CoordinateSystem x-axis

  • yAxis CoordinateSystem y-axis

Return values:

  • CoordinateSystem3 Resulting CoordinateSystem

applyCoordinateSystem

Interpret childCs in parentCs

wsi4.geo.util.applyCoordinateSystem(parentCs: CoordinateSystem3, childCs: CoordinateSystem3): CoordinateSystem3

Input parameters:

  • parentCs Parent CoordinateSystem

  • childCs Child CoordinateSystem

Return values:

  • CoordinateSystem3 Resulting CoordinateSystem

invertCoordinateSystem

Invert coordinateSystem

wsi4.geo.util.invertCoordinateSystem(coordinateSystem: CoordinateSystem3): CoordinateSystem3

Note: An error is thrown if the underlying rotation matrix is not invertible.

Input parameters:

  • coordinateSystem The CoordinateSystem

Return values:

  • CoordinateSystem3 Inverted CoordinateSystem

toProjectiveTransformationMatrix

Create projective transformation matrix from coordinate system

wsi4.geo.util.toProjectiveTransformationMatrix(coordinateSystem: CoordinateSystem3): Matrix4

Input parameters:

  • coordinateSystem CoordinateSystem the matrix should be computed for

Return values:

  • Matrix4 The projective transformation matrix for coordinateSystem

createLayered

Create Layered from binary representation

wsi4.geo.util.createLayered(inputData: ArrayBuffer): Layered|undefined

Input parameters:

  • inputData Binary input taken, for example, from reading a DXF file

Return values:

  • Layered Layered created from inputData

  • undefined In case of an error

layers

Get descriptors for each layer

wsi4.geo.util.layers(layered: Layered): (Layer)[]

Input parameters:

  • layered The Layered

Return values:

  • (Layer)[] Layers of layered

layersToScene

Render content of selected layers into Scene

wsi4.geo.util.layersToScene(layered: Layered, layerDescriptors: readonly Readonly<number>[], sceneStyle: SceneStyle): Scene

Input parameters:

  • layered The Layered

  • layerDescriptors Descriptors of layers to render

  • sceneStyle Style applied to the Scene items

Return values:

  • Scene Scene created from submitted layers

addLayersToScene

Render content of selected layers into Scene

wsi4.geo.util.addLayersToScene(scene: Scene, layered: Layered, layerDescriptors: readonly Readonly<number>[], sceneStyle: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • layered The Layered

  • layerDescriptors Descriptors of layers to render

  • sceneStyle Style applied to the Scene items

Return values:

  • Scene Scene created from submitted layers

layerDescriptorWithNumber

Get descriptor for layer with layerNumber (if available)

wsi4.geo.util.layerDescriptorWithNumber(layered: Layered, layerNumber: number): number|undefined

Input parameters:

  • layered The Layered

  • layerNumber Number of the layer

Return values:

  • number Descriptor of the layer with layerNumber (if any)

  • undefined If there is no layer with layerNumber

isLayerEmpty

Check if layer is empty

wsi4.geo.util.isLayerEmpty(layered: Layered, layerDescriptor: number): boolean

Input parameters:

  • layered The Layered

  • layerDescriptor Descriptor of layer to check

Return values:

  • boolean True if layer belonging to layerDescriptor is empty in layered

extractInnerOuterPolygon

Create an InnerOuterPolygon from a Layered

wsi4.geo.util.extractInnerOuterPolygon(layered: Layered): InnerOuterPolygon|undefined

Input parameters:

  • layered Layered to turn into InnerOuterPolygon

Return values:

  • InnerOuterPolygon The InnerOuterPolygon representing layered

  • undefined In case of an error

createLayeredExtraData

Create LayeredExtraData from binary input data

wsi4.geo.util.createLayeredExtraData(inputData: ArrayBuffer): LayeredExtraData

Input parameters:

  • inputData Binary input taken, for example, from reading a GEO file

Return values:

  • LayeredExtraData The generated LayeredExtraData

layerPaths

Extract paths of the respective layer

wsi4.geo.util.layerPaths(layered: Layered, layerDescriptor: number): ((Segment)[])[]

Input parameters:

  • layered Layered to turn into InnerOuterPolygon

  • layerDescriptor Descriptor of the layer

Return values:

  • ((Segment)[])[] The paths contained in the layer

renderScene

Create DXF, SVG, or GEO from a Scene

wsi4.geo.util.renderScene(scene: Scene, fileType: FileType, renderSettings: RenderSceneSettings): ArrayBuffer

Input parameters:

  • scene The Scene to render

  • fileType Target FileType

  • renderSettings Settings for rendering scene

Return values:

  • ArrayBuffer Rendered Scene

rotationMatrix

For two unit vectors u and v, this function returns a rotation matrix A such that v = A u.

wsi4.geo.util.rotationMatrix(u: Vector3, v: Vector3): Matrix3

Input parameters:

  • u Original vector

  • v Resulting vector

Return values:

  • Matrix3 RotationMatrix

dump

Dump innerOuterPolygon

wsi4.geo.util.dump(innerOuterPolygon: InnerOuterPolygon): void

This function can only be used in debug mode

Input parameters:

  • innerOuterPolygon The InnerOuterPolygon

Return values:

createIop

Create InnerOuterPolygon from a list of segments

wsi4.geo.util.createIop(segments: readonly Readonly<Segment>[]): InnerOuterPolygon|undefined

If segments is empty, the result is undefined. If at least one element of segments is invalid, the result is undefined.

Input parameters:

  • segments List of Segments

Return values:

  • InnerOuterPolygon The computed InnerOuterPolygon

  • undefined If segments does not form a valid InnerOuterPolygon

isCircle

Check if polygon is a circle

wsi4.geo.util.isCircle(polygon: Polygon): boolean

Input parameters:

  • polygon The Polygon

Return values:

  • boolean True if polygon is a circle

circleRadius

Compute circle radius

wsi4.geo.util.circleRadius(polygon: Polygon): number

An error is thrown if polygon is not a circle.

Input parameters:

  • polygon The Polygon

Return values:

  • number Diameter of the circle

circleCenter

Compute circle radius

wsi4.geo.util.circleCenter(polygon: Polygon): Point2

An error is thrown if polygon is not a circle.

Input parameters:

  • polygon The Polygon

Return values:

  • Point2 Center of the circle

centroid

Compute centroid

wsi4.geo.util.centroid(polygon: Polygon): Point2

Input parameters:

  • polygon The Polygon

Return values:

  • Point2 Centroid of polygon

sceneSegments

Extract all scene objects that are segments

wsi4.geo.util.sceneSegments(scene: Scene): (Segment)[]

Input parameters:

  • scene The scene

Return values:

  • (Segment)[] Segments contained in the scene

sceneSegmentsWithStyle

Extract all segments of the scene that match styleFilter

wsi4.geo.util.sceneSegmentsWithStyle(scene: Scene, styleFilter: SceneStyle): (Segment)[]

Unset properties of styleFilter are not considered.

Input parameters:

  • scene The scene

  • styleFilter The filter

Return values:

  • (Segment)[] Segments contained in the scene with matching style

tsp

Solve the Travelling Salesman Problem for a list of points

wsi4.geo.util.tsp(points: readonly Readonly<Point2>[]): (number)[]

Generate a round-trip through all supplied points with minimum travel distance. The implementation is based on an Advanced Random Insertion iterative heuristic algorithm.

Input parameters:

  • points List of Point2ds to traverse

Return values:

  • (number)[] Indices of points indicating the order in which to visit them

asyncShadow

Get shadow of assembly asynchronously

wsi4.geo.util.asyncShadow(assembly: Assembly, camera: Camera3): PolygonFuture

Input parameters:

  • assembly Three-dimensional geometric object

  • camera Camera to apply to assembly

Return values:

  • PolygonFuture Future for a shadow of assembly in camera direction

polygonSegments

Extract the Polygon’s segments

wsi4.geo.util.polygonSegments(polygon: Polygon): (Segment)[]

Input parameters:

  • polygon The Polygon

Return values:

  • (Segment)[] Segments contained in the path

transformIop

Apply coordinate system to InnerOuterPolygon

wsi4.geo.util.transformIop(iop: InnerOuterPolygon, transformation: CoordinateSystem2): InnerOuterPolygon

The resulting IOP will be normalized w.r.t. the orientation of each polygon.

Input parameters:

  • iop The InnerOuterPolygon

  • transformation The transformation

Return values:

  • InnerOuterPolygon Canonized InnerOuterPolygon

pathsIsomorphic

Check if two sets of paths are isomorphic

wsi4.geo.util.pathsIsomorphic(lhs: ((Segment)[])[], rhs: ((Segment)[])[], tol: number): boolean

Each path must be a continuous set of segments. This function can be expensive.

Input parameters:

  • lhs The first path

  • rhs The second path

  • tol The tolerance

Return values:

  • boolean True if the paths are isomorphic

graph

Read operations on the current graph

vertices

Get vertices of current graph

wsi4.graph.vertices(): (Vertex)[]

Return values:

  • (Vertex)[] Vertexs the current graph consists of

userData

Get userData of current graph

wsi4.graph.userData(): StringIndexedInterface

Return values:

  • StringIndexedInterface UserData of current graph

serialize

Get serialization of graph

wsi4.graph.serialize(): ArrayBuffer

Return values:

  • ArrayBuffer Serialized version of current graph

undirectedConnectedComponents

Get vertices of all underlying undirected connected components of the graph

wsi4.graph.undirectedConnectedComponents(): ((Vertex)[])[]

An undirected connected component consists of a set of all vertices that are directly or indirectly connected regardless of the direction.

Return values:

  • ((Vertex)[])[] Every vertex in every sub graph

serializeUndirectedConnectedComponent

Creates serialization of the sub-graph formed by the assocated undirected connected component

wsi4.graph.serializeUndirectedConnectedComponent(vertex: Vertex, userData: StringIndexedInterface): ArrayBuffer

The sub-graph consists of all Vertexs that are (possibly indirectly) connected with vertex.

Input parameters:

  • vertex A Vertex of the undirected connected component

  • userData UserData for the resulting sub graph

Return values:

  • ArrayBuffer Serialization of the resulting sub-graph

article

Get all vertices of an article

wsi4.graph.article(vertex: Vertex): (Vertex)[]

An article is a maximal component of the graph where all but the first and last vertex have exactly one source and one target..

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] All Vertexs of the article that vertex belongs to

articles

Get all articles

wsi4.graph.articles(): ((Vertex)[])[]

An article is a connected component of the graph such that all its vertices have exactly one source and one target, except for the first and the last, which only have exactly one target and source respectively. This function returns an array of all articles.

Return values:

  • ((Vertex)[])[] Every vertex in every article

sources

Get source Vertexs of vertex

wsi4.graph.sources(vertex: Vertex): (Vertex)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] Vertexs of all source nodes of vertex's associated node

targets

Get target Vertexs of vertex

wsi4.graph.targets(vertex: Vertex): (Vertex)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] Vertexs of all target nodes of vertex's associated node

reaching

Get target Vertexs of vertex

wsi4.graph.reaching(vertex: Vertex): (Vertex)[]

Input parameters:

  • vertex ``Vertex the targets should be returned for

Return values:

  • (Vertex)[] Vertexs of all reaching-nodes of vertex's associated node

reachable

Get reachable Vertexs of a given Vertex

wsi4.graph.reachable(vertex: Vertex): (Vertex)[]

A vertex w is reachable from a vertex v if there exists a path from v to w.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] Vertexs of all reachable nodes of vertex's associated node

sourceMultiplicity

Get multiplicity of sourceVertex in targetVertex

wsi4.graph.sourceMultiplicity(sourceVertex: Vertex, targetVertex: Vertex): number

If sourceVertex is not a source of targetVertex an error is thrown.

Input parameters:

  • sourceVertex A Vertex of the current graph

  • targetVertex A Vertex of the current graph

Return values:

  • number Vertexs of all reachable nodes of vertex's associated node

currentUuid

Get UUID of current graph

wsi4.graph.currentUuid(): string

UUID changes when docugraph is modified

Return values:

  • string UUID of the current graph

graphManipulator

Functions for manipulating the current graph

clear

Clear underlying graph

wsi4.graphManipulator.clear(): void

Return values:

add

Add data to graph

wsi4.graphManipulator.add(input: readonly Readonly<Input>[]): (AddResult)[]

Input parameters:

  • input Array of Inputs

Return values:

  • (AddResult)[] Array of file and corresponding boolean success for each added object

addConstAssembly

Add Assembly to graph

wsi4.graphManipulator.addConstAssembly(assembly: Assembly): AddResult

Note: Experimental; interface might be subject to change in a future version. Note: Assembly is expected to be finalized.

Input parameters:

  • assembly The Assembly

Return values:

  • AddResult The AddResult

addConstAssemblyWithProcess

Add Assembly to graph

wsi4.graphManipulator.addConstAssemblyWithProcess(assembly: Assembly, processType: ProcessType, processId: string): AddResult

Note: Experimental; interface might be subject to change in a future version. Note: Assembly is expected to be finalized.

Input parameters:

  • assembly The Assembly

  • processType The process type

  • processId The process id

Return values:

  • AddResult The AddResult

undo

Undo the last manipulation of graph

wsi4.graphManipulator.undo(): boolean

Return values:

  • boolean true if undo was successful

redo

Redo the last manipulation of graph

wsi4.graphManipulator.redo(): boolean

Return values:

  • boolean true if redo was successful

clearUndoHistory

Clear the current undo history

wsi4.graphManipulator.clearUndoHistory(): boolean

Return values:

  • boolean true iff UndoHistory was cleared

maxHistorySize

Query the current undo history limit

wsi4.graphManipulator.maxHistorySize(): number

Return values:

  • number Upper limit for redo/undo history

setMaxHistorySize

Set an upper limit for the undo history. 0 = no limit

wsi4.graphManipulator.setMaxHistorySize(maxSize: number): boolean

Input parameters:

  • maxSize Max size of undo history

Return values:

  • boolean true if successful

changeImportMultiplicity

Set multiplicity of associated node to multiplicity

wsi4.graphManipulator.changeImportMultiplicity(vertex: Vertex, multiplicity: number): boolean

This function is only successful if associated node is an import node (wsi4.node.isImport())

Input parameters:

  • vertex A Vertex of the current graph

  • multiplicity New multiplicity

Return values:

  • boolean true if successful

changeImportMultiplicities

Change multiplicities of associated nodes

wsi4.graphManipulator.changeImportMultiplicities(vertexData: readonly Readonly<VertexWithMultiplicity>[]): boolean

This function is only successful if associated nodes are import nodes (wsi4.node.isImport())

Input parameters:

  • vertexData An array of data needed to change multiplicities of nodes

Return values:

  • boolean true if successful

changeNodeThickness

Set thickness of associated node

wsi4.graphManipulator.changeNodeThickness(vertex: Vertex, thickness: number): boolean

This function is only successful if vertex is initial

Input parameters:

  • vertex A Vertex of the current graph

  • thickness New thickness

Return values:

  • boolean true if successful

changeFlipSideUsage

Set bottom side usage of associated node

wsi4.graphManipulator.changeFlipSideUsage(vertex: Vertex, flipSide: boolean): boolean

This function is only successful if vertex is initial

Input parameters:

  • vertex A Vertex of the current graph

  • flipSide Boolean indicating if flip side should be used

Return values:

  • boolean true if successful

changeBendCorrectionFlag

Set correction of bends of associated node

wsi4.graphManipulator.changeBendCorrectionFlag(vertex: Vertex, correctBends: boolean): boolean

This function is only successful if vertex is of WorkStepType sheetBending

Input parameters:

  • vertex A Vertex of the current graph

  • correctBends Boolean indicating if bends should be corrected

Return values:

  • boolean true if successful

changeNodeUserData

Set UserData of associated node to userData

wsi4.graphManipulator.changeNodeUserData(vertex: Vertex, userData: StringIndexedInterface): boolean

This function is only successful if userData contains all properties already present in vertex's UserData.

Input parameters:

  • vertex A Vertex of the current graph

  • userData New UserData

Return values:

  • boolean true if successful

changeNodesUserData

Change UserData for nodes associated with vertices specified in vertexData to userData specified in vertexData

wsi4.graphManipulator.changeNodesUserData(vertexData: readonly Readonly<VertexWithUserData>[]): boolean

This function is only successful if userData in vertexData contains all properties already present in nodes UserData.

Input parameters:

  • vertexData An array of data needed to change user data of nodes

Return values:

  • boolean true if successful

changeJoining

Set Joining of associated node to joining

wsi4.graphManipulator.changeJoining(vertex: Vertex, joining: Joining): boolean

This function is only successful if the node has WorkStepType joining.

Input parameters:

  • vertex A Vertex of the current graph

  • joining New Joining

Return values:

  • boolean true if successful

changeDieChoiceMap

Set DieChoiceMap of associated node to dieChoiceMap

wsi4.graphManipulator.changeDieChoiceMap(vertex: Vertex, dieChoiceMap: readonly Readonly<DieChoiceMapEntry>[]): boolean

This function is only successful if the node has WorkStepType sheetBending.

Input parameters:

  • vertex A Vertex of the current graph

  • dieChoiceMap New DieChoiceMap

Return values:

  • boolean true if successful

changeSheetFilter

Set sheetFilter for associated node

wsi4.graphManipulator.changeSheetFilter(vertex: Vertex, sheetFilter: SheetFilter): boolean

Note: This function is deprecated and will be removed in a future version. Consider utilizing node user data instead.

Input parameters:

  • vertex A Vertex of the current graph

  • sheetFilter New filter on possible sheets

Return values:

  • boolean true if successful

changeArticleAttributes

Set attributes of article of associated node to attributes

wsi4.graphManipulator.changeArticleAttributes(vertex: Vertex, attributes: ArticleAttributes): boolean

Note: This function is deprecated and will be removed in a future version. Consider utilizing node user data instead.

Input parameters:

  • vertex A Vertex of the current graph

  • attributes New ArticleAttributes

Return values:

  • boolean true if successful

deleteReducibleComponent

Deprecated. Use deleteNode() instead.

wsi4.graphManipulator.deleteReducibleComponent(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean true if successful

createNode

Create new node with WorkStepType userDefined

wsi4.graphManipulator.createNode(processType: ProcessType, processId: string): Vertex

It is in the responsibility of the user to ensure that processType and processId are consistent and meaningful.

Input parameters:

  • processType ProcessType for the new vertex

  • processId Process ID for the new vertex

Return values:

  • Vertex Vertex for new node

createImportNode

Create new node with WorkStepType userDefinedBase

wsi4.graphManipulator.createImportNode(processType: ProcessType, processId: string): Vertex

It is in the responsibility of the user to ensure that processType and processId are consistent and meaningful.

Input parameters:

  • processType ProcessType for the new vertex

  • processId Process ID for the new vertex

Return values:

  • Vertex Vertex for new node

deleteNode

Delete node associated with vertex

wsi4.graphManipulator.deleteNode(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean true if successful

deleteNodes

Delete nodes associated with vertices

wsi4.graphManipulator.deleteNodes(vertices: readonly Readonly<Vertex>[]): boolean

Input parameters:

  • vertices An array of Vertex of the current graph

Return values:

  • boolean true if successful

changeProcess

Change process-id for node associated with vertex

wsi4.graphManipulator.changeProcess(vertex: Vertex, processId: string, forceProcess: boolean): boolean

This function is only successful, if the processId is in the list of available processIds.

Input parameters:

  • vertex A Vertex of the current graph

  • processId Id of the new process

  • forceProcess true, if the process is set automatically, else it is set manually

Return values:

  • boolean true if successful

changeNodesProcess

Change process-id for nodes associated with vertices specified in vertexData

wsi4.graphManipulator.changeNodesProcess(vertexData: readonly Readonly<VertexWithProcessTypeData>[]): boolean

This function is only successful, if the processIds specified in vertexData are in the list of available processIds.

Input parameters:

  • vertexData An array of data needed to change process types of nodes

Return values:

  • boolean true if successful

injectNode

Inject vertex into arc

wsi4.graphManipulator.injectNode(source: Vertex, target: Vertex, vertexToInject: Vertex): boolean

This function should not be used, but the injectSourceNode or injectTargetNode in graph_manipulator.ts

Input parameters:

  • source Vertex of source of arc

  • target Vertex of target of arc

  • vertexToInject Vertex of node to inject into arc

Return values:

  • boolean true if successful

addArc

Add arc between vertices

wsi4.graphManipulator.addArc(source: Vertex, target: Vertex): boolean

Input parameters:

  • source Vertex of source of new arc

  • target Vertex of target of new arc

Return values:

  • boolean true if successful

deleteArc

Delete arc between vertices

wsi4.graphManipulator.deleteArc(source: Vertex, target: Vertex): boolean

Input parameters:

  • source Vertex of source of arc

  • target Vertex of target of arc

Return values:

  • boolean true if successful

changeGraphUserData

Change user data of graph

wsi4.graphManipulator.changeGraphUserData(userData: StringIndexedInterface): boolean

Input parameters:

  • userData New UserData of graph

Return values:

  • boolean true if successful

setCommands

Set transform commands

wsi4.graphManipulator.setCommands(vertex: Vertex, commands: readonly Readonly<CamCommand>[]): boolean

Note: Associated node must be of type transform. Note: Existing commands are overwritten.

Input parameters:

  • vertex A Vertex of the current graph

  • commands Transform commands

Return values:

  • boolean true if successful

internal

emitGuiData

Internal API; should not be used in third-party scripts.

wsi4.internal.emitGuiData(guiData: PrivateGuiData): void

Input parameters:

  • guiData Gui data

Return values:

io.fs

Filesystem based input and output

exists

Check, if path already exists

wsi4.io.fs.exists(path: string): boolean

Input parameters:

  • path Path of directory

Return values:

  • boolean True if path already exists

mkpath

Create missing sub-directories in path

wsi4.io.fs.mkpath(path: string): boolean

Note: Path separator is /

Input parameters:

  • path Path to create

Return values:

  • boolean True if successful

cleanFileName

Replace illegal characters from name by replacement

wsi4.io.fs.cleanFileName(name: string, replacement: string): string

Deprecated. Consider using the ts_lib counterpart in util.ts.

Input parameters:

  • name Name that should be cleaned

  • replacement Replacement for illegal characters

Return values:

  • string name where all illegal characters have been replaced by replacement

cleanRelativeDirPath

Remove illegal characters from path

wsi4.io.fs.cleanRelativeDirPath(path: string, replacement: string): string

Deprecated. Consider using the ts_lib counterpart in util.ts.

Input parameters:

  • path Path that should be cleaned

  • replacement Replacement for illegal characters

Return values:

  • string path where all illegal characters have been replaced by replacement

cleanAbsoluteDirPath

Remove illegal characters from path

wsi4.io.fs.cleanAbsoluteDirPath(path: string, replacement: string): string

Deprecated. Consider using the ts_lib counterpart in util.ts.

Input parameters:

  • path Path that sould be cleaned

  • replacement Replacement for illegal characters

Return values:

  • string path where all illegal characters have been replaced by replacement

readFile

Read file from file system

wsi4.io.fs.readFile(path: string): ArrayBuffer|undefined

Note: Path separator is /

Input parameters:

  • path Path to file that should be read

Return values:

  • ArrayBuffer Content of read file

  • undefined In case of an error

writeFile

Write file to file system

wsi4.io.fs.writeFile(path: string, content: ArrayBuffer): boolean

Note: Directory the file should be written to must exist.

Note: Path separator is /

Input parameters:

  • path Path of file to write

  • content File content

Return values:

  • boolean True if successful

Create symboblic link

wsi4.io.fs.symlink(targetPath: string, linkPath: string): boolean

Note: Path separator is /

Input parameters:

  • targetPath Path of the file the link should point to

  • linkPath Path to link that should be created

Return values:

  • boolean True if successful

rm

Remove path

wsi4.io.fs.rm(path: string): boolean

Description: Note: If path is a directory it will be removed recursively.

Note: Path separator is /

Input parameters:

  • path The path to remove

Return values:

  • boolean True if path does not exists (any more)

canonicalFilePath

Canonize a file path

wsi4.io.fs.canonicalFilePath(path: string): string

Note: The resulting path does include the path’s file name. Note: If the file path does not exist, the resulting path is empty.

Input parameters:

  • path The path to canonize

Return values:

  • string Canonical version of path

canonicalPath

Canonize a file path

wsi4.io.fs.canonicalPath(path: string): string

Note: The resulting path does not include the path’s file name. Note: If the file path does not exist, the resulting path is empty.

Input parameters:

  • path The path to canonize

Return values:

  • string Canonical version of path

baseName

Extract base name from file path

wsi4.io.fs.baseName(path: string): string

Example: path = "/tmp/file.step.xz"; baseName = "file"

Input parameters:

  • path The input file path

Return values:

  • string The base name

completeBaseName

Extract complete base name from file path

wsi4.io.fs.completeBaseName(path: string): string

Example: path = "/tmp/file.step.xz"; completeBaseName = "file.step"

Input parameters:

  • path The input file path

Return values:

  • string The complete base name

createTmpDir

Create temporary directory

wsi4.io.fs.createTmpDir(): string

Return values:

  • string Path to temporary directory

io.net.http

Network access via HTTP

get

HTTP GET request

wsi4.io.net.http.get(url: string): HttpReply

Input parameters:

  • url Request-URL

Return values:

  • HttpReply Result of the request

post

HTTP POST request

wsi4.io.net.http.post(url: string, mimeType: string, data: ArrayBuffer): HttpReply

Input parameters:

  • url Request-URL

  • mimeType Request-Body MIME type

  • data Request body

Return values:

  • HttpReply Result of the request

put

HTTP PUT request

wsi4.io.net.http.put(url: string, mimeType: string, data: ArrayBuffer): HttpReply

Input parameters:

  • url Request-URL

  • mimeType Request-Body MIME type

  • data Request body

Return values:

  • HttpReply Result of the request

del

HTTP DELETE request

wsi4.io.net.http.del(url: string): HttpReply

Input parameters:

  • url Request-URL

Return values:

  • HttpReply Result of the request

io.settings

Access to persistent storage

read

Read value from persistent settings storage

wsi4.io.settings.read(key: string): string|undefined

key is case-insensitive

Input parameters:

  • key

Return values:

  • string The value for given key if successful

  • undefined Else

write

Write value to persistent settings storage.

wsi4.io.settings.write(key: string, value: string): void

key is case-insensitive

Input parameters:

  • key Key for the value in persistent settings storage

  • value Value that should be written

Return values:

io.sql

SQL database access

connect

Connect to a database using provided connection properties

wsi4.io.sql.connect(properties: ConnectionProperties): boolean

Experimental feature

Input parameters:

  • properties Object holding connection data

Return values:

  • boolean True if connection could be established; false otherwise.

execQuery

Execute a SQL query using given connection

wsi4.io.sql.execQuery(connection: string, queryString: string): (StringIndexedInterface)[]|undefined

Experimental feature

Possible values for connection are defined when calling connect().

Example for queryString: SELECT name, salary FROM employees;

Input parameters:

  • connection Identifier for the connection to use

  • queryString The SQL query that should be executed

Return values:

  • (StringIndexedInterface)[] For SELECT queries an Array of objects is returned where each object represents one table row

  • undefined In case of an error such as wrong connection

listDrivers

Get list of drivers

wsi4.io.sql.listDrivers(): (string)[]

Experimental feature

Return values:

  • (string)[] List of drivers

locale

Locale utility functions

system

Get system locale

wsi4.locale.system(): string

Return values:

  • string System locale

floatToString

Convert number to string in the respective locale

wsi4.locale.floatToString(value: number, locale: string, precision: number): string

Input parameters:

  • value The value to convert

  • locale Locale to use

  • precision Precision to use

Return values:

  • string value converted to type string in the respective locale

decimalPoint

Get character of decimal point in respective locale

wsi4.locale.decimalPoint(locale: string): string

Input parameters:

  • locale Locale to use

Return values:

  • string Get character of decimal point in respective locale

node

Read operations for a node in the graph

nodeId

Get the GraphNodeId for a Vertex

wsi4.node.nodeId(vertex: Vertex): GraphNodeId

The GraphNodeId of a Vertex is its unique permanent identifier. Whenever a document graph is recomputed, its changed nodes have unique new GraphNodeIds.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • GraphNodeId GraphNodeId for given vertex

rootId

Get the RootId of a Vertex

wsi4.node.rootId(vertex: Vertex): GraphNodeRootId

The RootId of a node is an id that persists as long as the node exists. Invalidation of a RootId happens only if the vertex is deleted or changing the attributes of a target vertex leads to recreation of its sources.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • GraphNodeRootId root id for given vertex.

vertexFromNodeId

Get Vertex corresponding to a GraphNodeId

wsi4.node.vertexFromNodeId(nodeId: GraphNodeId): Vertex|undefined

Input parameters:

  • nodeId A number

Return values:

  • Vertex Vertex with given nodeId

  • undefined If no Vertex with given nodeId exists

vertexFromRootId

Get Vertex corresponding to a RootId

wsi4.node.vertexFromRootId(rootId: GraphNodeRootId): Vertex|undefined

Input parameters:

  • rootId A number

Return values:

  • Vertex Vertex with given rootId

  • undefined If no Vertex with given rootId exists

multiplicity

Get multiplicity of a Vertex

wsi4.node.multiplicity(vertex: Vertex): number

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • number Multiplicity for the node associated with vertex

processId

Get process id for a Vertex

wsi4.node.processId(vertex: Vertex): string

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • string Process identifier for the node with vertex

processType

Get process type for a Vertex

wsi4.node.processType(vertex: Vertex): ProcessType

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ProcessType Process type for associated node

allowedProcessIds

Deprecated. Will be removed in a future version.

wsi4.node.allowedProcessIds(vertex: Vertex): (string)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (string)[] strings representing all process identifiers the node associated with vertex can be set to

userData

Get UserData for a Vertex

wsi4.node.userData(vertex: Vertex): StringIndexedInterface

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • StringIndexedInterface UserData for associated node

deducedData

Get deduced data for a Vertex

wsi4.node.deducedData(vertex: Vertex): StringIndexedInterface

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • StringIndexedInterface Deduced data for associated node

isImport

Check if vertex is associated with the import assembly

wsi4.node.isImport(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean True, if vertex is an import node

importMultiplicity

Get multiplicity for a Vertex

wsi4.node.importMultiplicity(vertex: Vertex): number|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • number Multiplicity of an import node

  • undefined In case associated node is no import node

workStepType

Get WorkStepType for a Vertex

wsi4.node.workStepType(vertex: Vertex): WorkStepType

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • WorkStepType WorkStepType for the node associated with vertex

sheetThickness

Get thickness of sheet for a Vertex

wsi4.node.sheetThickness(vertex: Vertex): number|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • number Sheet thickness for associated node

  • undefined In case the associated node does not provide a sheet thickness

articleAttributes

Get ArticleAttributes for a Vertex

wsi4.node.articleAttributes(vertex: Vertex): ArticleAttributes

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ArticleAttributes ArticleAttributes for the article that vertex belongs to

isInitial

Check if a Vertex is initial

wsi4.node.isInitial(vertex: Vertex): boolean

Being initial for a Vertex means that it is the right-most automatically generated Vertex whose inputAssembly contains a single Brep.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean If the node associated with vertex is initial

flipSide

Return true, if flip side of part is used

wsi4.node.flipSide(vertex: Vertex): boolean|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean Boolean indicating flip side usage if vertex is associated with a node that is initial

  • undefined If vertex is associated with a node which is not initial

bendCorrection

Return true, if correction of bends of part is done

wsi4.node.bendCorrection(vertex: Vertex): boolean|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean Boolean indicating automatic correction of bends if vertex is associated with a node that is of WorkStepType sheetBending

  • undefined If vertex is associated with a node which is not of WorkStepType sheetBending

packagingContainerWeights

Return the containers used in a packaging node

wsi4.node.packagingContainerWeights(vertex: Vertex): (number)[]|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (number)[] An array listing the weights of all containers produced if vertex is associated with a node of WorkStepType packaging

  • undefined If vertex is not associated with a node whose WorkStepType is packaging

joining

Return the joining sequence of joining node

wsi4.node.joining(vertex: Vertex): Joining|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Joining A Joining, if vertex is associated with a node of WorkStepType joining

  • undefined If vertex is not associated with a node whose WorkStepType is joining

dieChoiceMap

Return the DieChoiceMap of a vertex

wsi4.node.dieChoiceMap(vertex: Vertex): (DieChoiceMapEntry)[]|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (DieChoiceMapEntry)[] A vector of DieChoiceMapEntry, if vertex is associated with a node of WorkStepType sheetBending

  • undefined If vertex is not associated with a node whose WorkStepType is sheetBending

sheetFilter

Return the associated node’s SheetFilter

wsi4.node.sheetFilter(vertex: Vertex): SheetFilter|undefined

Note: This function is deprecated and will be removed in a future version. Use lib/graph_utils~s sheetFilter instead.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • SheetFilter Filter on possible sheets, if vertex is associated with a node of WorkStepType sheet

  • undefined If vertex is not associated with a node whose WorkStepType is sheet

checkWorkStepAvailability

Check if a node can be set to certain WorkStepTypes

wsi4.node.checkWorkStepAvailability(vertex: Vertex, workStepTypes: (WorkStepType)[]): (WorkStepType)[]

Input parameters:

  • vertex A Vertex of the current graph

  • workStepTypes WorkStepTypes to check; if empty, all WorkStepTypes are checked

Return values:

  • (WorkStepType)[] An array of all WorkStepTypes that the node associated with vertex can be changed to

twoDimRep

Get TwoDimRepresentation for a Vertex

wsi4.node.twoDimRep(vertex: Vertex): TwoDimRepresentation|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • TwoDimRepresentation The TwoDimRepresentation of the node associated with vertex

  • undefined In case the node associated with vertex does not provide a TwoDimRepresentation

assembly

Get the Assembly for a Vertex

wsi4.node.assembly(vertex: Vertex): Assembly|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Assembly The Assembly of the node associated with vertex

  • undefined In case the node associated with vertex does not provide an Assembly

inputAssembly

Get the input-Assembly for a Vertex

wsi4.node.inputAssembly(vertex: Vertex): Assembly|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Assembly The input-Assembly of the node associated with vertex

  • undefined In case the associated node does not provide an input-Assembly

computeBendLineData

Get BendLineDatas for the node associated to a Vertex

wsi4.node.computeBendLineData(vertex: Vertex): (BendLineData)[]|undefined

BendLineData is available for both sheetBending nodes and sheetCoutting source nodes of sheetBending nodes.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (BendLineData)[] One BendLineData for each bend line present

  • undefined In case bend line data are not available for the assocated node

computeBendLineFlangeLengths

Get BendLineFlangeLength for the node associated to a vertex

wsi4.node.computeBendLineFlangeLengths(vertex: Vertex): (BendLineFlangeLength)[]|undefined

This function can be used to check how long the flanges of each bend are. If they are too short, specific die choices can be eliminated to make sure parts can actually be manufactured.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (BendLineFlangeLength)[] One BendLineFlangLength for each bend line present

  • undefined In case the node associated with vertex is not of WorkStepType sheetBending

bendMeasurementScenes

Get scenes displaying the technical drawings of bends for a Vertex

wsi4.node.bendMeasurementScenes(vertex: Vertex, fontSize: number): (MeasurementScene)[]

Input parameters:

  • vertex A Vertex of the current graph

  • fontSize Size of measurements in px

Return values:

  • (MeasurementScene)[] An array of all possible technical drawings for the bends of the node associated with vertex

asyncBendMeasurementScenes

Get scenes displaying the technical drawings of bends for a Vertex asynchronously

wsi4.node.asyncBendMeasurementScenes(vertex: Vertex, fontSize: number): MeasurementScenesFuture

Input parameters:

  • vertex A Vertex of the current graph

  • fontSize Size of measurements in px

Return values:

  • MeasurementScenesFuture Future for an array of all possible technical drawings for the bends of the node associated with vertex

forcedProcessType

Check, if ProcessType of a Vertex was forced

wsi4.node.forcedProcessType(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean True, if ProcessType of vertex was forced

dump

Not part of the official API

wsi4.node.dump(vertex: Vertex): string

Calling this function in a non-debug-build will throw an error.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • string The dumped GraphNode

camReplyStateIndicators

Indicates cam processing state

wsi4.node.camReplyStateIndicators(vertex: Vertex): ReplyStateIndicatorMap

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ReplyStateIndicatorMap

commands

Get commands for a node of WorkStepType transform

wsi4.node.commands(vertex: Vertex): (CamCommand)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (CamCommand)[] Commands

twoDimRepTransformation

The returned CoordinateSystem3d places the TwoDimRep's 2d coordinates into the Brep's coordinate system

wsi4.node.twoDimRepTransformation(vertex: Vertex): CoordinateSystem3|undefined

Note: The transformation is relative to the underlying Brep. Depending on the use-case additional Assembly-related transformations need to be applied.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • CoordinateSystem3 The transformation (if any)

  • undefined If no transformation is available

hasProblematicGeometries

Check if there are problematic geometries in the underlying input geometry

wsi4.node.hasProblematicGeometries(vertex: Vertex): boolean

Note: Experimental API. Might be subject to change in a future version.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean True if there are problematic geometries

asyncCanForceSheetMetalPart

Check if there are problematic geometries in the underlying input geometry

wsi4.node.asyncCanForceSheetMetalPart(vertex: Vertex): BooleanFuture

Note: Experimental API. Might be subject to change in a future version.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • BooleanFuture Future that returns true if node can be converted into a sheet metal part

prismBodyCamera

If assembly is a prism body (all bends are parallel) get the camera where the direction eye - center matches the direction of these parallel bends

wsi4.node.prismBodyCamera(vertex: Vertex): Camera3|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Camera3 The camera of prism body

  • undefined If assembly is no prism body

tubeProfileGeometry

Return the associated node’s tube profile geometry

wsi4.node.tubeProfileGeometry(vertex: Vertex): TubeProfileGeometry|undefined

Calling this function is only meaningful for tube-related nodes.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • TubeProfileGeometry The associated tube profile geometry (if any)

  • undefined If no tube profile geometry is available

profileExtrusionLength

Extrusion length of a tube cutting node

wsi4.node.profileExtrusionLength(vertex: Vertex): number

Pre-condition: An extrusion length must be defined for the associated graph node. As of now this only holds for nodes of type tubeCutting. In this context 'profile' is considered the 2D cross section of the tube. Throws an error if called for a vertex without associated extrusion length.

Input parameters:

  • vertex A tube cutting Vertex of the current graph

Return values:

  • number Extrusion length of the associated profile geometry

tubeNestingResult

Tube nesting of associated node (if any)

wsi4.node.tubeNestingResult(vertex: Vertex): CamTubeNestingResult|undefined

Input parameters:

  • vertex A tube Vertex of the current graph

Return values:

  • CamTubeNestingResult A tube nesting result

  • undefined In case no nesting result is available

layered

Associated node’s layered (if any)

wsi4.node.layered(vertex: Vertex): Layered|undefined

Input parameters:

  • vertex A profile Vertex of the current graph

Return values:

  • Layered The layered (if any)

  • undefined In case there is no layered for the associated node

sharedData

Read / write data that is submitted to script hooks

read

Return current data object

wsi4.sharedData.read(): StringIndexedInterface

Return values:

  • StringIndexedInterface Shared data Object

positionalArguments

Return positional arguments

wsi4.sharedData.positionalArguments(): (string)[]

Return values:

  • (string)[] Strings submitted as positional command line arguments

write

Write shared data Object

wsi4.sharedData.write(data: StringIndexedInterface): void

Input parameters:

  • data An Object

Return values:

scriptArgs

Return values submitted via --script-arg command-line option

wsi4.sharedData.scriptArgs(): (string)[]

Return values:

  • (string)[] Strings submitted via --script-arg command-line option

tables

Read operation on the user tables

get

Get table with given identifier

wsi4.tables.get(identifier: TableType): AnyTable

Input parameters:

  • identifier Identifier of the table that should be returned

Return values:

  • AnyTable Requested table

getDefault

Get default for table with given identifier

wsi4.tables.getDefault(identifier: TableType): AnyTable

If there is no default table an empty table will be returned.

Input parameters:

  • identifier Identifier of the table the default should be returned

Return values:

  • AnyTable Requested table

setInternalTable

Set internal table

wsi4.tables.setInternalTable(anyTable: AnyTable): void

The table submitted must conform to the associated UserTable’s interface.

Tables set via this function are editable via the Gui’s table widget.

Tables set via this function are persistent and available among all clients using the same WSi4 account.

The maximum table size for an internal table is limited

External tables remain unchanged when calling this function.

Input parameters:

  • anyTable Table to set

Return values:

setExternalTable

Override table for given identifier

wsi4.tables.setExternalTable(anyTable: AnyTable): void

The table submitted must conform to the associated UserTable’s interface.

Tables set via this function are not editable via the Gui’s table widget.

Tables set via this function take precedence over internal (built-in) tables.

Tables set via this function are not persistent.

Internal tables remain unchanged when calling this function.

Input parameters:

  • anyTable Table to set

Return values:

removeInternalTable

Remove internal table

wsi4.tables.removeInternalTable(type: TableType): void

If there is no internal table for type it is ignored.

Input parameters:

  • type Table type

Return values:

removeExternalTable

Remove external table(s)

wsi4.tables.removeExternalTable(type: TableType): void

If there is no external table for a type it is ignored.

Input parameters:

  • type Table type

Return values:

isInternalTable

Returns true if table is set as internal table

wsi4.tables.isInternalTable(type: TableType): boolean

Input parameters:

  • type Table type

Return values:

  • boolean

isExternalTable

Returns true if table is set as external table

wsi4.tables.isExternalTable(type: TableType): boolean

Input parameters:

  • type Table type

Return values:

  • boolean

serialize

Create versioned serialization of internal tables

wsi4.tables.serialize(tableTypes: readonly Readonly<TableType>[]): ArrayBuffer

Resulting serialization is versioned to make it more robust with respect to API changes.

Input parameters:

  • tableTypes Tables to serialize

Return values:

  • ArrayBuffer

deserialize

Returns deserialized tables

wsi4.tables.deserialize(data: ArrayBuffer): undefined|(AnyTable)[]

Input parameters:

  • data Serialized tables

Return values:

  • undefined

  • (AnyTable)[]

findErrors

Find errors in current tables

wsi4.tables.findErrors(): (TableError)[]

Return values:

  • (TableError)[]

commit

Write internal tables to database

wsi4.tables.commit(): void

Note: If internal tables are unchanged, the database is not updated.

Return values:

name

Return translated table name for the submitted type

wsi4.tables.name(tableType: TableType): string

Input parameters:

  • tableType The table type

Return values:

  • string

permissions

Database permissions for currently active license and account

wsi4.tables.permissions(): DatabasePermissions

Return values:

  • DatabasePermissions

ui

Request data via ui

openUrl

Open url

wsi4.ui.openUrl(url: string): void

Input parameters:

  • url Url to open

Return values:

show

Show user input widget defined by config

wsi4.ui.show(config: WidgetConfig): undefined|WidgetResult

Input parameters:

  • config Widget configuration

Return values:

  • undefined User canceled

  • WidgetResult Widget result

util

General purpose utility functions

translate

Get translation of key

wsi4.util.translate(key: string): string

Input parameters:

  • key Key to look up in translation table

Return values:

  • string String representing translation for key if lookup is successful; key itself if lookup is unsuccessful

toNumberString

Convert number to string

wsi4.util.toNumberString(value: number, digits: number): string

Input parameters:

  • value The value to convert

  • digits Number of decimal digits to use

Return values:

  • string value converted to type string

toCurrencyString

Convert number to string with currency symbol

wsi4.util.toCurrencyString(value: number, digits: number): string

Input parameters:

  • value The value to convert

  • digits Number of digits to use

Return values:

  • string String representing value with digits decimal places after decimal point and currency symbol based on locale

toXml

Convert JSON to XML

wsi4.util.toXml(json: string): string

Conversion support is limited due to incompatibilities between the two formats.

Input parameters:

  • json JSON string to convert to XML

Return values:

  • string The string converted to XML

toBase64

Encode ArrayBuffer with base64

wsi4.util.toBase64(data: ArrayBuffer): ArrayBuffer

To create a base64 string value, the result of this function can be converted using arrayBufferToString().

Input parameters:

  • data Bytes to encode

Return values:

  • ArrayBuffer Base64 encoded bytes

fromBase64

Decode ArrayBuffer from base64

wsi4.util.fromBase64(data: ArrayBuffer): ArrayBuffer

To create a decoded ArrayBuffer from a base64 encoded string, convert the string value with stringToArrayBuffer() first.

Input parameters:

  • data Bytes to decode

Return values:

  • ArrayBuffer Decoded bytes

arrayBufferToString

Convert ArrayBuffer to string

wsi4.util.arrayBufferToString(data: ArrayBuffer): string

Input parameters:

  • data Data to convert as ArrayBuffer

Return values:

  • string data converted to string

stringToArrayBuffer

Convert string to ArrayBuffer

wsi4.util.stringToArrayBuffer(data: string): ArrayBuffer

Input parameters:

  • data Data to convert as string

Return values:

  • ArrayBuffer data converted to ArrayBuffer

stringToLatin1

Convert string to Latin-1 encodedArrayBuffer

wsi4.util.stringToLatin1(data: string): ArrayBuffer

Note: "The returned byte array is undefined if the string contains non-Latin1 characters. Those characters may be suppressed or replaced with a question mark." (Qt docs)

Input parameters:

  • data Data to convert as string

Return values:

  • ArrayBuffer Latin-1 representation of data converted to ArrayBuffer

compress

Compress ArrayBuffer with zlib/Deflate

wsi4.util.compress(data: ArrayBuffer): ArrayBuffer

Input parameters:

  • data Bytes to compress

Return values:

  • ArrayBuffer Compressed bytes

uncompress

Extract zlib/Deflate compressed ArrayBuffer

wsi4.util.uncompress(data: ArrayBuffer): ArrayBuffer

Input parameters:

  • data Bytes to uncompress

Return values:

  • ArrayBuffer Uncompressed bytes

createFileContentFromScene

Create file content from a Scene

wsi4.util.createFileContentFromScene(scene: Scene, fileType: FileType): string|undefined

Note: This function is deprecated. Consider using wsi4.geo.utils.renderScene() instead.

Input parameters:

  • scene A Scene

  • fileType Requested FileType; currently svg is supported

Return values:

  • string string with file contents for text formats, currently used for dxf and svg

  • undefined In case of error such as unsupported fileType

toKey

Get key (string representation) for object

wsi4.util.toKey(object: Vertex|GraphNodeId|GraphNodeRootId|Assembly|Brep|TwoDimRepresentation): string

Input parameters:

  • object An object

Return values:

  • string string representing object

toNumber

Get numerical representation for object

wsi4.util.toNumber(object: Vertex|GraphNodeId|GraphNodeRootId): number

Note: The numerical representation provides the least runtime security as compared to the opaque objects and the result of toKey() so use with care.

Input parameters:

  • object An object

Return values:

  • number number representing object

warn

Print warning message

wsi4.util.warn(message: string): void

Input parameters:

  • message Message to show

Return values:

error

Print error message

wsi4.util.error(message: string): void

Input parameters:

  • message Message to show

Return values:

info

Print info message

wsi4.util.info(message: string): void

Input parameters:

  • message Message to show

Return values:

programInfo

Get program information

wsi4.util.programInfo(): string

Return values:

  • string Name and current version

isDebug

Get debug mode

wsi4.util.isDebug(): boolean

Return values:

  • boolean True if debug mode is on

setDebug

Set debug mode

wsi4.util.setDebug(debugOn: boolean): void

Input parameters:

  • debugOn True if debug mode should be on

Return values:

parseCsv

Parse CSV string

wsi4.util.parseCsv(input: string, delimiter: string): undefined|((string)[])[]

Note: CSV separator is ','

Input parameters:

  • input CSV string

  • delimiter Delimiter character of CSV

Return values:

  • undefined If unsuccessful

  • ((string)[])[] Parsed CSV where each row is represented by an Array of Strings

getFutureResult

Access result of a future

wsi4.util.getFutureResult(future: ArrayBufferFuture|MeasurementScenesFuture|BooleanFuture|PolygonFuture|Nest3ResultFuture|TwoDimRepOptionalFuture): ArrayBuffer|(MeasurementScene)[]|boolean|Polygon|(Nest3ResultBox)[]|TwoDimRepresentation

The future’s wrapped type is guaranteed to be the result union’s type.

Input parameters:

  • future The future

Return values:

  • ArrayBuffer Result of a ArrayBuffer future

  • (MeasurementScene)[] Result of a MeasurementScene future

  • boolean Result of a Boolean future

  • Polygon Result of a Polygon future

  • (Nest3ResultBox)[] Result of a Nest3Result future

  • TwoDimRepresentation Result of a TwoDimRepOptional future

Table documentation

Sheets - Material

Table type:

sheetMaterial

Data interface:

SheetMaterial

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

sheetMaterialDensity

sheetMaterialId

sheetCuttingMaterialMapping

sheetMaterialId

sheetBendingMaterialMapping

sheetMaterialId

sheet

sheetMaterialId

automaticMechanicalDeburringMaterial

sheetMaterialId

sheetMaterialScrapValue

sheetMaterialId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "identifier": "global-1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "global-1.4301",
        "name": "1.4301",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "global-QStE380TM",
        "name": "QStE380TM",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "global-AlMg3",
        "name": "AlMg3",
        "serialization_version": 0
    }
]

Sheets - Material density

Table type:

sheetMaterialDensity

Data interface:

SheetMaterialDensity

Meta data:
Column key Header Unique Referred table / column

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

density

Density [kg / m³]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "density": 7850,
        "serialization_version": 1,
        "sheetMaterialId": "global-1.0038"
    },
    {
        "density": 7900,
        "serialization_version": 1,
        "sheetMaterialId": "global-1.4301"
    },
    {
        "density": 7850,
        "serialization_version": 1,
        "sheetMaterialId": "global-QStE380TM"
    },
    {
        "density": 2660,
        "serialization_version": 1,
        "sheetMaterialId": "global-AlMg3"
    }
]

Sheet cutting - Sheet material mapping

Table type:

sheetCuttingMaterialMapping

Data interface:

SheetCuttingMaterialMapping

Meta data:
Column key Header Unique Referred table / column

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

sheetCuttingMaterialId

Sheet cutting - Material

false

sheetCuttingMaterial / identifier

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "sheetMaterialId": "global-1.0038"
    },
    {
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.4301",
        "sheetMaterialId": "global-1.4301"
    },
    {
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "sheetMaterialId": "global-QStE380TM"
    },
    {
        "serialization_version": 1,
        "sheetCuttingMaterialId": "AlMg3",
        "sheetMaterialId": "global-AlMg3"
    }
]

Sheet bending - Sheet material mapping

Table type:

sheetBendingMaterialMapping

Data interface:

SheetBendingMaterialMapping

Meta data:
Column key Header Unique Referred table / column

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

sheetBendingMaterialId

Sheet bending - Material

false

sheetBendingMaterial / identifier

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "serialization_version": 1,
        "sheetBendingMaterialId": "1.0038",
        "sheetMaterialId": "global-1.0038"
    },
    {
        "serialization_version": 1,
        "sheetBendingMaterialId": "1.4301",
        "sheetMaterialId": "global-1.4301"
    },
    {
        "serialization_version": 1,
        "sheetBendingMaterialId": "QStE380TM",
        "sheetMaterialId": "global-QStE380TM"
    },
    {
        "serialization_version": 1,
        "sheetBendingMaterialId": "AlMg3",
        "sheetMaterialId": "global-AlMg3"
    }
]

Sheet bending - Time base values

Table type:

bendTime

Data interface:

BendTime

Meta data:
Column key Header Unique Referred table / column

mass

Mass [kg]

true

-

setupTime

Setup time [min]

false

-

setupTimePerBend

Setup delta per bend [min]

false

-

unitTime

Unit time [min]

false

-

unitTimePerBend

Te per bend [min]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "mass": 1.5,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 0.8,
        "unitTime": 0,
        "unitTimePerBend": 0.2
    },
    {
        "mass": 3,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 1,
        "unitTime": 0,
        "unitTimePerBend": 0.3
    },
    {
        "mass": 7,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 1.5,
        "unitTime": 0,
        "unitTimePerBend": 0.6
    },
    {
        "mass": 10,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 2,
        "unitTime": 0,
        "unitTimePerBend": 0.75
    },
    {
        "mass": 15,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 3,
        "unitTime": 0,
        "unitTimePerBend": 1.2
    },
    {
        "mass": 20,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 5,
        "unitTime": 0,
        "unitTimePerBend": 2
    },
    {
        "mass": 30,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 7,
        "unitTime": 0,
        "unitTimePerBend": 2.5
    },
    {
        "mass": 40,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 10,
        "unitTime": 0,
        "unitTimePerBend": 5
    },
    {
        "mass": 60,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 15,
        "unitTime": 0,
        "unitTimePerBend": 12
    }
]

Sheet bending - Time parameters

Table type:

bendTimeParameters

Data interface:

BendTimeParameters

Meta data:
Column key Header Unique Referred table / column

sheetBendingMaterialId

Sheet bending - Material

true

sheetBendingMaterial / identifier

thickness

Sheet metal thickness [mm]

true

-

bendLineNetLength

Net bend line length [mm]

true

-

setupTimeFactor

Setup time factor

false

-

setupTimeDelta

Setup time delta [min]

false

-

setupTimePerBendFactor

Setup time factor per bend

false

-

setupTimePerBendDelta

Setup time delta per bend [min]

false

-

unitTimeFactor

Unit time factor

false

-

unitTimeDelta

Unit time delta [min]

false

-

unitTimePerBendFactor

Unit time delta per bend

false

-

unitTimePerBendDelta

Unit time delta per bend [min]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Sheet bending - Hourly rate parameters

Table type:

bendRateParameters

Data interface:

BendRateParameters

Meta data:
Column key Header Unique Referred table / column

sheetBendingMaterialId

Sheet bending - Material

true

sheetBendingMaterial / identifier

thickness

Sheet metal thickness [mm]

true

-

bendLineNetLength

Net bend line length [mm]

true

-

hourlyRateFactor

Hourly rate factor

false

-

hourlyRateDelta

Hourly rate delta [currency / h]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Sheet bending - Bend line constraints

Table type:

bendLineConstraint

Data interface:

BendLineConstraint

Meta data:
Column key Header Unique Referred table / column

sheetBendingMaterialId

Sheet bending - Material

true

sheetBendingMaterial / identifier

thickness

Sheet metal thickness [mm]

true

-

maxNetLength

Max. bend line net length [mm]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Laser sheet cutting - Cutting gas

Table type:

laserSheetCuttingGas

Data interface:

LaserSheetCuttingGas

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

Referring tables:
Referring table Referring column

laserSheetCuttingSpeed

laserSheetCuttingGasId

laserSheetCuttingPierceTime

laserSheetCuttingGasId

laserSheetCuttingRate

laserSheetCuttingGasId

laserSheetCuttingMinArea

laserSheetCuttingGasId

laserSheetCuttingMaxThickness

laserSheetCuttingGasId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "identifier": "N2",
        "name": "N2",
        "serialization_version": 0
    },
    {
        "identifier": "O2",
        "name": "O2",
        "serialization_version": 0
    }
]

Laser sheet cutting - Speed

Table type:

laserSheetCuttingSpeed

Data interface:

LaserSheetCuttingSpeed

Meta data:
Column key Header Unique Referred table / column

sheetCuttingMaterialId

Sheet cutting - Material

true

sheetCuttingMaterial / identifier

laserSheetCuttingGasId

Cutting Gas

true

laserSheetCuttingGas / identifier

thickness

Sheet metal thickness [mm]

true

-

speed

Speed [m / min]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 10,
        "thickness": 1
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 8,
        "thickness": 1.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 6.9,
        "thickness": 2
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 5.8,
        "thickness": 2.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 4.9,
        "thickness": 3
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 3.8,
        "thickness": 4
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 2.8,
        "thickness": 5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 2.35,
        "thickness": 6
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 1.85,
        "thickness": 8
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "speed": 1.2,
        "thickness": 10
    }
]

Laser sheet cutting - Pierce time

Table type:

laserSheetCuttingPierceTime

Data interface:

LaserSheetCuttingPierceTime

Meta data:
Column key Header Unique Referred table / column

sheetCuttingMaterialId

Sheet cutting - Material

true

sheetCuttingMaterial / identifier

laserSheetCuttingGasId

Cutting Gas

true

laserSheetCuttingGas / identifier

thickness

Sheet metal thickness [mm]

true

-

time

Pierce time [s]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 1,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 1.5,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 2,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 2.5,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 3,
        "time": 0.36
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 4,
        "time": 0.44999999999999996
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 5,
        "time": 0.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 6,
        "time": 0.8999999999999999
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 8,
        "time": 1.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 10,
        "time": 2.3
    }
]

Laser sheet cutting - Hourly rates

Table type:

laserSheetCuttingRate

Data interface:

LaserSheetCuttingRate

Meta data:
Column key Header Unique Referred table / column

sheetCuttingMaterialId

Sheet cutting - Material

true

sheetCuttingMaterial / identifier

laserSheetCuttingGasId

Cutting Gas

true

laserSheetCuttingGas / identifier

rate

Hourly rate [Currency / h]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "laserSheetCuttingGasId": "O2",
        "rate": 95,
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038"
    },
    {
        "laserSheetCuttingGasId": "N2",
        "rate": 116,
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038"
    },
    {
        "laserSheetCuttingGasId": "N2",
        "rate": 118,
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.4301"
    },
    {
        "laserSheetCuttingGasId": "N2",
        "rate": 116,
        "serialization_version": 1,
        "sheetCuttingMaterialId": "AlMg3"
    }
]

Laser sheet cutting - Minimum contour area

Table type:

laserSheetCuttingMinArea

Data interface:

LaserSheetCuttingMinArea

Meta data:
Column key Header Unique Referred table / column

sheetCuttingMaterialId

Sheet cutting - Material

true

sheetCuttingMaterial / identifier

laserSheetCuttingGasId

Cutting Gas

true

laserSheetCuttingGas / identifier

thickness

Sheet metal thickness [mm]

true

-

area

Area [mm²]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "area": 0.12566360000000001,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 0.8
    },
    {
        "area": 0.196349375,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 1
    },
    {
        "area": 0.44178609374999994,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 1.5
    },
    {
        "area": 0.7853975,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 2
    },
    {
        "area": 1.7671443749999998,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 3
    },
    {
        "area": 3.14159,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 4
    },
    {
        "area": 4.908734375,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 5
    },
    {
        "area": 7.068577499999999,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 6
    },
    {
        "area": 12.56636,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 8
    },
    {
        "area": 19.6349375,
        "laserSheetCuttingGasId": "O2",
        "serialization_version": 1,
        "sheetCuttingMaterialId": "1.0038",
        "thickness": 10
    }
]

Laser sheet cutting - Sheet thickness constraints

Table type:

laserSheetCuttingMaxThickness

Data interface:

LaserSheetCuttingMaxThickness

Meta data:
Column key Header Unique Referred table / column

sheetCuttingMaterialId

Sheet cutting - Material

true

sheetCuttingMaterial / identifier

laserSheetCuttingGasId

Cutting Gas

true

laserSheetCuttingGas / identifier

maxThickness

Max. sheet thickness [mm]

false

-

minThickness

Min. sheet thickness [mm]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Example:
[
    {
        "laserSheetCuttingGasId": "N2",
        "maxThickness": 6,
        "minThickness": 0,
        "serialization_version": 2,
        "sheetCuttingMaterialId": "1.0038"
    }
]

Packagings

Table type:

packaging

Data interface:

Packaging

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

dimX

Length x [mm]

false

-

dimY

Length y [mm]

false

-

dimZ

Length z [mm]

false

-

maxWeight

Max. mass [kg]

false

-

price

Price [Currency / Unit]

false

-

tr

Setup time [min]

false

-

tep

Time per package [min]

false

-

tea

Time per unit [min]

false

-

packagingWeight

Packaging mass [kg]

false

-

Referring tables:
Referring table Referring column

transportationCosts

packagingId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Example:
[
    {
        "dimX": 200,
        "dimY": 200,
        "dimZ": 200,
        "identifier": "box1",
        "maxWeight": 30,
        "name": "Box 1",
        "packagingWeight": 0.5,
        "price": 0.35,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 600,
        "dimY": 400,
        "dimZ": 400,
        "identifier": "box2",
        "maxWeight": 30,
        "name": "Box 2",
        "packagingWeight": 0.75,
        "price": 3.92,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 800,
        "dimY": 400,
        "dimZ": 400,
        "identifier": "box3",
        "maxWeight": 30,
        "name": "Box 3",
        "packagingWeight": 1,
        "price": 3.125,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 1180,
        "dimY": 780,
        "dimZ": 400,
        "identifier": "box4",
        "maxWeight": 30,
        "name": "Box 4",
        "packagingWeight": 1.25,
        "price": 4.65,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 400,
        "dimY": 600,
        "dimZ": 130,
        "identifier": "quarter-europalett",
        "maxWeight": 250,
        "name": "Quarter europalett",
        "packagingWeight": 6.3,
        "price": 2.5,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 800,
        "dimY": 600,
        "dimZ": 104,
        "identifier": "half-europalett",
        "maxWeight": 400,
        "name": "Half europalett",
        "packagingWeight": 12.5,
        "price": 3.3,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 1200,
        "dimY": 800,
        "dimZ": 78,
        "identifier": "europalett1",
        "maxWeight": 600,
        "name": "Europalett 1",
        "packagingWeight": 25,
        "price": 4.5,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 1200,
        "dimY": 800,
        "dimZ": 156,
        "identifier": "europalett2",
        "maxWeight": 1200,
        "name": "Europalett 2",
        "packagingWeight": 25,
        "price": 6.8,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 2000,
        "dimY": 1000,
        "dimZ": 62.5,
        "identifier": "small-format",
        "maxWeight": 1000,
        "name": "Small-format",
        "packagingWeight": 55,
        "price": 7.9,
        "serialization_version": 2,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    }
]

Transportation costs

Table type:

transportationCosts

Data interface:

TransportationCosts

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

packagingId

Packaging

false

packaging / identifier

fixedCosts

Fixed costs [Currency]

false

-

minCosts

Minimum costs [Currency]

false

-

kmKgFactor

Distance-mass-factor [Currency / (km * kg)]

false

-

kmFactor

Distance-factor [Currency/km]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "fixedCosts": 5.8,
        "identifier": "transport-box1",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 5.8,
        "name": "Box 1",
        "packagingId": "box1",
        "serialization_version": 1
    },
    {
        "fixedCosts": 5.8,
        "identifier": "transport-box2",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 5.8,
        "name": "Box 2",
        "packagingId": "box2",
        "serialization_version": 1
    },
    {
        "fixedCosts": 25.8,
        "identifier": "transport-box3",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 25.8,
        "name": "Box 3",
        "packagingId": "box3",
        "serialization_version": 1
    },
    {
        "fixedCosts": 25.8,
        "identifier": "transport-box4",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 25.8,
        "name": "Box 4",
        "packagingId": "box4",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-quarter-europalett",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "Quarter europalett",
        "packagingId": "quarter-europalett",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-half-europalett",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "Half europalett",
        "packagingId": "half-europalett",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-europalett1",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "Europalett 1",
        "packagingId": "europalett1",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-europalett2",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "Europalett 2",
        "packagingId": "europalett2",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-small-format",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "Small-format",
        "packagingId": "small-format",
        "serialization_version": 1
    }
]

Surcharges

Table type:

surcharge

Data interface:

Surcharge

Meta data:
Column key Header Unique Referred table / column

name

Name

true

-

type

Type

true

-

value

Value

true

-

description

Description

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "name": "Production overhead factor",
        "serialization_version": 0,
        "type": "productionOverheadFactor",
        "value": 0.1
    },
    {
        "description": "",
        "name": "Materialcosts factor",
        "serialization_version": 0,
        "type": "materialCostsFactor",
        "value": 0.25
    },
    {
        "description": "",
        "name": "Global factor",
        "serialization_version": 0,
        "type": "globalFactor",
        "value": 0.36
    }
]

Processes

Table type:

process

Data interface:

Process

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

parentIdentifier

Superior process

false

process / identifier

type

Process

false

-

name

Name

false

-

costCenter

Cost center

false

-

active

Active

false

-

childrenActive

Subprocesses active

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

processRate

processId

processSetupTimeFallback

processId

processUnitTimeFallback

processId

dimensionConstraints

processId

tappingTimeParameters

processId

processHandlingTime

processId

processIdlePeriod

processId

tubeCuttingProcessMapping

processId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "manufacturingId",
        "name": "Manufacturing Process",
        "parentIdentifier": "",
        "serialization_version": 1,
        "type": "manufacturing"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "formingId",
        "name": "Forming",
        "parentIdentifier": "manufacturingId",
        "serialization_version": 1,
        "type": "forming"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "bendFormingId",
        "name": "Bend Forming",
        "parentIdentifier": "formingId",
        "serialization_version": 1,
        "type": "bendForming"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "sheetBendingId",
        "name": "Sheet Bending",
        "parentIdentifier": "bendFormingId",
        "serialization_version": 1,
        "type": "sheetBending"
    },
    {
        "active": true,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "dieBendingId",
        "name": "Die Bending",
        "parentIdentifier": "sheetBendingId",
        "serialization_version": 1,
        "type": "dieBending"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "sheetMetalFoldingId",
        "name": "Sheet Metal Folding",
        "parentIdentifier": "sheetBendingId",
        "serialization_version": 1,
        "type": "sheetMetalFolding"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "cuttingId",
        "name": "Cutting",
        "parentIdentifier": "manufacturingId",
        "serialization_version": 1,
        "type": "cutting"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "removalOperationId",
        "name": "Removal",
        "parentIdentifier": "cuttingId",
        "serialization_version": 1,
        "type": "removalOperation"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "sheetCuttingId",
        "name": "Sheet Cutting",
        "parentIdentifier": "removalOperationId",
        "serialization_version": 1,
        "type": "sheetCutting"
    },
    {
        "active": true,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "laserSheetCuttingId",
        "name": "Laser Cutting",
        "parentIdentifier": "sheetCuttingId",
        "serialization_version": 1,
        "type": "laserSheetCutting"
    }
]

Processes - Hourly rate

Table type:

processRate

Data interface:

ProcessRate

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

rate

Hourly rate [Currency / h]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "comissioningId",
        "rate": 60,
        "serialization_version": 0
    },
    {
        "processId": "millingId",
        "rate": 85,
        "serialization_version": 0
    },
    {
        "processId": "turningId",
        "rate": 83,
        "serialization_version": 0
    },
    {
        "processId": "drillingId",
        "rate": 70,
        "serialization_version": 0
    },
    {
        "processId": "threadingId",
        "rate": 70,
        "serialization_version": 0
    },
    {
        "processId": "userDefinedMachiningId",
        "rate": 80,
        "serialization_version": 0
    },
    {
        "processId": "userDefinedThreadingId",
        "rate": 80,
        "serialization_version": 0
    },
    {
        "processId": "userDefinedCountersinkingId",
        "rate": 80,
        "serialization_version": 0
    },
    {
        "processId": "mechanicalDeburringId",
        "rate": 65,
        "serialization_version": 0
    },
    {
        "processId": "automaticMechanicalDeburringId",
        "rate": 55,
        "serialization_version": 0
    }
]

Processes - Setup time default values

Table type:

processSetupTimeFallback

Data interface:

ProcessSetupTimeFallback

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

time

Setup time [min]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "comissioningId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "millingId",
        "serialization_version": 0,
        "time": 15
    },
    {
        "processId": "turningId",
        "serialization_version": 0,
        "time": 15
    },
    {
        "processId": "drillingId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "threadingId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "userDefinedMachiningId",
        "serialization_version": 0,
        "time": 10
    },
    {
        "processId": "userDefinedThreadingId",
        "serialization_version": 0,
        "time": 10
    },
    {
        "processId": "userDefinedCountersinkingId",
        "serialization_version": 0,
        "time": 10
    },
    {
        "processId": "mechanicalDeburringId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "automaticMechanicalDeburringId",
        "serialization_version": 0,
        "time": 1
    }
]

Processes - Unit time default values

Table type:

processUnitTimeFallback

Data interface:

ProcessUnitTimeFallback

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

time

Unit time [min]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "comissioningId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "millingId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "turningId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "drillingId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "threadingId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "userDefinedMachiningId",
        "serialization_version": 0,
        "time": 0.5
    },
    {
        "processId": "userDefinedThreadingId",
        "serialization_version": 0,
        "time": 0.2
    },
    {
        "processId": "userDefinedCountersinkingId",
        "serialization_version": 0,
        "time": 0.2
    },
    {
        "processId": "mechanicalDeburringId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "cleaningId",
        "serialization_version": 0,
        "time": 0
    }
]

Sheets

Table type:

sheet

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

sheetMaterialId

Sheet - Material

false

sheetMaterial / identifier

dimX

Length x [mm]

false

-

dimY

Length y [mm]

false

-

thickness

Sheet metal thickness [mm]

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

sheetModulus

sheetId

sheetPrice

sheetId

sheetStock

sheetId

sheetPriority

sheetId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 3

Example:
[
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-0.8",
        "name": "3000.0x1500.0-1.0038-0.8",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 0.8
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-1.0",
        "name": "3000.0x1500.0-1.0038-1.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 1
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-1.5",
        "name": "3000.0x1500.0-1.0038-1.5",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 1.5
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-2.0",
        "name": "3000.0x1500.0-1.0038-2.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 2
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-3.0",
        "name": "3000.0x1500.0-1.0038-3.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 3
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-4.0",
        "name": "3000.0x1500.0-1.0038-4.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 4
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-5.0",
        "name": "3000.0x1500.0-1.0038-5.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 5
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-6.0",
        "name": "3000.0x1500.0-1.0038-6.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 6
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-8.0",
        "name": "3000.0x1500.0-1.0038-8.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 8
    },
    {
        "description": "",
        "dimX": 3000,
        "dimY": 1500,
        "identifier": "3000.0x1500.0-1.0038-10.0",
        "name": "3000.0x1500.0-1.0038-10.0",
        "serialization_version": 3,
        "sheetMaterialId": "global-1.0038",
        "thickness": 10
    }
]

Sheets - Moduli

Table type:

sheetModulus

Data interface:

SheetModulus

Meta data:
Column key Header Unique Referred table / column

sheetId

Sheet

true

sheet / identifier

xModulus

x-modulus [0, 1]

false

-

yModulus

y-modulus [0, 1]

false

-

applyToAll

Apply to all sheets

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Sheets - Price

Table type:

sheetPrice

Data interface:

SheetPrice

Meta data:
Column key Header Unique Referred table / column

sheetId

Sheet

true

sheet / identifier

pricePerSheet

Price per sheet [Currency]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "pricePerSheet": 19.78,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-0.8"
    },
    {
        "pricePerSheet": 24.73,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-1.0"
    },
    {
        "pricePerSheet": 39.21,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-1.5"
    },
    {
        "pricePerSheet": 51.22,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-2.0"
    },
    {
        "pricePerSheet": 74.71,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-3.0"
    },
    {
        "pricePerSheet": 100.04,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-4.0"
    },
    {
        "pricePerSheet": 125.05,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-5.0"
    },
    {
        "pricePerSheet": 150.06,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-6.0"
    },
    {
        "pricePerSheet": 202.06,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-8.0"
    },
    {
        "pricePerSheet": 252.57,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-10.0"
    }
]

Sheet bending - Upper die group

Table type:

upperDieGroup

Data interface:

UpperDieGroup

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

exportIdentifier

Export ID

false

-

radius

Radius [mm]

false

-

Referring tables:
Referring table Referring column

bendDeduction

upperDieGroupId

upperDie

upperDieGroupId

dieGroupPriority

upperDieGroupId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Example:
[
    {
        "exportIdentifier": "OW210/S R0.5/28 H239.8",
        "identifier": "Trumpf_OWR0.5",
        "name": "Trumpf_OWR0.5",
        "radius": 0.5,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW210/S R1/28 H240",
        "identifier": "Trumpf_OWR1.0",
        "name": "Trumpf_OWR1.0",
        "radius": 1,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW200/K R2/86 H119.2",
        "identifier": "Trumpf_OWR2.0",
        "name": "Trumpf_OWR2.0",
        "radius": 2,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW200/K R2.3/86 H119",
        "identifier": "Trumpf_OWR2.3",
        "name": "Trumpf_OWR2.3",
        "radius": 2.3,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW200/K R3/86 H118.7",
        "identifier": "Trumpf_OWR3.0",
        "name": "Trumpf_OWR3.0",
        "radius": 3,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW203/K R4/60 H120",
        "identifier": "Trumpf_OWR4.0",
        "name": "Trumpf_OWR4.0",
        "radius": 4,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW203/K R5/60 H118.8",
        "identifier": "Trumpf_OWR5.0",
        "name": "Trumpf_OWR5.0",
        "radius": 5,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "OW203/K R6/60 H117.6",
        "identifier": "Trumpf_OWR6.0",
        "name": "Trumpf_OWR6.0",
        "radius": 6,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "",
        "identifier": "Trumpf_OWR8.0",
        "name": "Trumpf_OWR8.0",
        "radius": 8,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "R10",
        "identifier": "Trumpf_OWR10.0",
        "name": "Trumpf_OWR10.0",
        "radius": 10,
        "serialization_version": 2
    }
]

Sheet bending - Lower die group

Table type:

lowerDieGroup

Data interface:

LowerDieGroup

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

exportIdentifier

Export ID

false

-

openingWidth

Opening width [mm]

false

-

Referring tables:
Referring table Referring column

bendDeduction

lowerDieGroupId

lowerDie

lowerDieGroupId

dieGroupPriority

lowerDieGroupId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Example:
[
    {
        "exportIdentifier": "EV/S W4/30 R0.6",
        "identifier": "Trumpf_EVG04W30",
        "name": "Trumpf_EVG04W30",
        "openingWidth": 4,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV/S W5/30 R0.6",
        "identifier": "Trumpf_EVG05W30",
        "name": "Trumpf_EVG05W30",
        "openingWidth": 5,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV001 W6/30 R0.6",
        "identifier": "Trumpf_EVG06W30",
        "name": "Trumpf_EVG06W30",
        "openingWidth": 6,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV002 W8/30 R1",
        "identifier": "Trumpf_EVG08W30",
        "name": "Trumpf_EVG08W30",
        "openingWidth": 8,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV003 W10/30 R1",
        "identifier": "Trumpf_EVG10W30",
        "name": "Trumpf_EVG10W30",
        "openingWidth": 10,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV004 W12/30 R1",
        "identifier": "Trumpf_EVG12W30",
        "name": "Trumpf_EVG12W30",
        "openingWidth": 12,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV005 W16/30 R1.6",
        "identifier": "Trumpf_EVG16W30",
        "name": "Trumpf_EVG16W30",
        "openingWidth": 16,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV006 W20/30 R2",
        "identifier": "Trumpf_EVG20W30",
        "name": "Trumpf_EVG20W30",
        "openingWidth": 20,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV007 W24/30 R2.5",
        "identifier": "Trumpf_EVG24W30",
        "name": "Trumpf_EVG24W30",
        "openingWidth": 24,
        "serialization_version": 2
    },
    {
        "exportIdentifier": "EV027 W30/86 R3",
        "identifier": "Trumpf_EVG30W30",
        "name": "Trumpf_EVG30W30",
        "openingWidth": 30,
        "serialization_version": 2
    }
]

Sheet bending - Bend deduction

Table type:

bendDeduction

Data interface:

BendDeduction

Meta data:
Column key Header Unique Referred table / column

sheetBendingMaterialId

Sheet bending - Material

true

sheetBendingMaterial / identifier

upperDieGroupId

Upper die group

true

upperDieGroup / identifier

lowerDieGroupId

Lower die group

true

lowerDieGroup / identifier

thickness

Sheet metal thickness [mm]

true

-

bendAngle

Bend angle [deg]

true

-

innerRadius

Inner radius [mm]

false

-

sharpDeduction

Bend deduction [mm]

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "bendAngle": 10.59,
        "innerRadius": 6.3,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.053,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 22.33,
        "innerRadius": 3,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.125,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 34.19,
        "innerRadius": 1.9,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.215,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 46.18,
        "innerRadius": 1.4,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.325,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 57.68,
        "innerRadius": 1.1,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.457,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 67.25,
        "innerRadius": 0.9,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.592,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 73.19,
        "innerRadius": 0.8,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.683,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 83.4,
        "innerRadius": 0.7,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.903,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 90,
        "innerRadius": 0.7,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -1.095,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 94.48,
        "innerRadius": 0.6,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "serialization_version": 1,
        "sharpDeduction": -0.896,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    }
]

===== Table type:

setting

===== Data interface:

Setting

===== Meta data:

Column key Header Unique Referred table / column

key

true

-

value

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Automatic deburring - Material

===== Table type:

automaticMechanicalDeburringMaterial

===== Data interface:

AutomaticMechanicalDeburringMaterial

===== Meta data:

Column key Header Unique Referred table / column

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

automaticMechanicalDeburringMaterialId

Automatic deburring - Material

false

-

===== Referring tables:

Referring table Referring column

automaticMechanicalDeburringParameters

automaticMechanicalDeburringMaterialId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

===== Example:

[
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "serialization_version": 1,
        "sheetMaterialId": "global-1.0038"
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.4301",
        "serialization_version": 1,
        "sheetMaterialId": "global-1.4301"
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "serialization_version": 1,
        "sheetMaterialId": "global-QStE380TM"
    },
    {
        "automaticMechanicalDeburringMaterialId": "AlMg3",
        "serialization_version": 1,
        "sheetMaterialId": "global-AlMg3"
    }
]

==== Automatic deburring - Parameters

===== Table type:

automaticMechanicalDeburringParameters

===== Data interface:

AutomaticMechanicalDeburringParameters

===== Meta data:

Column key Header Unique Referred table / column

automaticMechanicalDeburringMaterialId

Automatic deburring - Material

true

automaticMechanicalDeburringMaterial / automaticMechanicalDeburringMaterialId

maxDimY

Max. dim y [mm]

false

-

unitTimeBase

Unit time base [min]

false

-

speed

Speed [m / min]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "maxDimY": 2000,
        "serialization_version": 0,
        "speed": 2,
        "unitTimeBase": 0.25
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.4301",
        "maxDimY": 2000,
        "serialization_version": 0,
        "speed": 1.8,
        "unitTimeBase": 0.25
    },
    {
        "automaticMechanicalDeburringMaterialId": "AlMg3",
        "maxDimY": 2000,
        "serialization_version": 0,
        "speed": 3,
        "unitTimeBase": 0.25
    }
]

==== Processes - Dimension constraints

===== Table type:

dimensionConstraints

===== Data interface:

DimensionConstraints

===== Meta data:

Column key Header Unique Referred table / column

processId

Process

true

process / identifier

minX

Min. dimension x [mm]

false

-

minY

Min. dimension y [mm]

false

-

minZ

Min. dimension z [mm]

false

-

maxX

Max. dimension x [mm]

false

-

maxY

Max. dim y [mm]

false

-

maxZ

Max. dimension z [mm]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

==== Screw threads

===== Table type:

screwThread

===== Data interface:

ScrewThread

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

coreHoleDiameter

Core hole diameter [mm]

false

-

minDepth

Minimal depth [mm]

false

-

symmetricTolerance

Symmetric tolerance [mm]

false

-

===== Referring tables:

Referring table Referring column

tappingTimeParameters

screwThreadId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

===== Example:

[
    {
        "coreHoleDiameter": 2.5,
        "identifier": "m3Id",
        "minDepth": 1.5,
        "name": "M3",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 3.3,
        "identifier": "m4Id",
        "minDepth": 2.0999999999999996,
        "name": "M4",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 4.2,
        "identifier": "m5Id",
        "minDepth": 2.4000000000000004,
        "name": "M5",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 5,
        "identifier": "m6Id",
        "minDepth": 3,
        "name": "M6",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 6.8,
        "identifier": "m8Id",
        "minDepth": 3.75,
        "name": "M8",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 8.5,
        "identifier": "m10Id",
        "minDepth": 4.5,
        "name": "M10",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 10.2,
        "identifier": "m12Id",
        "minDepth": 5.25,
        "name": "M12",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    }
]

==== Tapping parameters

===== Table type:

tappingTimeParameters

===== Data interface:

TappingTimeParameters

===== Meta data:

Column key Header Unique Referred table / column

processId

Process

true

process / identifier

screwThreadId

Screw thread

true

screwThread / identifier

unitTimePerMm

Te per mm [s]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m3Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.375
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m4Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.5249999999999999
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m5Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.6000000000000001
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m6Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.75
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m8Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.9375
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m10Id",
        "serialization_version": 0,
        "unitTimePerMm": 1.125
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m12Id",
        "serialization_version": 0,
        "unitTimePerMm": 1.3125
    }
]

==== Tubes - Material

===== Table type:

tubeMaterial

===== Data interface:

TubeMaterial

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

description

Description

false

-

===== Referring tables:

Referring table Referring column

tubeMaterialDensity

tubeMaterialId

tube

tubeMaterialId

tubeCuttingProcessMapping

tubeMaterialId

tubeMaterialScrapValue

tubeMaterialId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "description": "",
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "1.4301",
        "name": "1.4301",
        "serialization_version": 0
    }
]

==== Tubes - Material density

===== Table type:

tubeMaterialDensity

===== Data interface:

TubeMaterialDensity

===== Meta data:

Column key Header Unique Referred table / column

tubeMaterialId

Tubes - Material

true

tubeMaterial / identifier

density

Density [kg / m³]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "density": 7850,
        "serialization_version": 0,
        "tubeMaterialId": "1.0038"
    },
    {
        "density": 7900,
        "serialization_version": 0,
        "tubeMaterialId": "1.4301"
    }
]

==== Tubes - Profile

===== Table type:

tubeProfile

===== Data interface:

TubeProfile

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

description

Description

false

-

geometryJson

Geometry JSON

false

-

===== Referring tables:

Referring table Referring column

tube

tubeProfileId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":20,\"dimZ\":20,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-20x20x2",
        "name": "Rect-20x20x2",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":25,\"dimZ\":25,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-25x25x2",
        "name": "Rect-25x25x2",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":20,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-30x20x2",
        "name": "Rect-30x20x2",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":20,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-30x20x3",
        "name": "Rect-30x20x3",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":30,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-30x30x2",
        "name": "Rect-30x30x2",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":30,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-30x30x3",
        "name": "Rect-30x30x3",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":35,\"dimZ\":35,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-35x35x2",
        "name": "Rect-35x35x2",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":35,\"dimZ\":35,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-35x35x3",
        "name": "Rect-35x35x3",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":40,\"dimZ\":20,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-40x20x2",
        "name": "Rect-40x20x2",
        "serialization_version": 0
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":40,\"dimZ\":20,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-40x20x3",
        "name": "Rect-40x20x3",
        "serialization_version": 0
    }
]

==== Tubes - Specification

===== Table type:

tubeSpecification

===== Data interface:

TubeSpecification

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

description

Description

false

-

===== Referring tables:

Referring table Referring column

tube

tubeSpecificationId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "description": "",
        "identifier": "din-en-10210-1",
        "name": "DIN EN 10210-1",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "din-en-10210-3",
        "name": "DIN EN 10210-3",
        "serialization_version": 0
    }
]

==== Tubes

===== Table type:

tube

===== Data interface:

Tube

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

tubeMaterialId

Tubes - Material

false

tubeMaterial / identifier

tubeProfileId

Tube - Profile

false

tubeProfile / identifier

tubeSpecificationId

Tube - Specification

false

tubeSpecification / identifier

dimX

Length x [mm]

false

-

===== Referring tables:

Referring table Referring column

tubePrice

tubeId

tubeStock

tubeId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-20x20x2-6000",
        "name": "1.0038-din-en-10210-1-rect-20x20x2-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-20x20x2",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-25x25x2-6000",
        "name": "1.0038-din-en-10210-1-rect-25x25x2-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-25x25x2",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-30x20x2-6000",
        "name": "1.0038-din-en-10210-1-rect-30x20x2-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-30x20x2",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-30x20x3-6000",
        "name": "1.0038-din-en-10210-1-rect-30x20x3-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-30x20x3",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-30x30x2-6000",
        "name": "1.0038-din-en-10210-1-rect-30x30x2-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-30x30x2",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-30x30x3-6000",
        "name": "1.0038-din-en-10210-1-rect-30x30x3-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-30x30x3",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-35x35x2-6000",
        "name": "1.0038-din-en-10210-1-rect-35x35x2-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-35x35x2",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-35x35x3-6000",
        "name": "1.0038-din-en-10210-1-rect-35x35x3-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-35x35x3",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-40x20x2-6000",
        "name": "1.0038-din-en-10210-1-rect-40x20x2-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-40x20x2",
        "tubeSpecificationId": "din-en-10210-1"
    },
    {
        "dimX": 6000,
        "identifier": "1.0038-din-en-10210-1-rect-40x20x3-6000",
        "name": "1.0038-din-en-10210-1-rect-40x20x3-6000",
        "serialization_version": 0,
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-40x20x3",
        "tubeSpecificationId": "din-en-10210-1"
    }
]

==== Sheet bending - Upper die

===== Table type:

upperDie

===== Data interface:

UpperDie

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

upperDieGroupId

Upper die group

false

upperDieGroup / identifier

description

Description

false

-

===== Referring tables:

Referring table Referring column

upperDieUnit

upperDieId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheet bending - Lower die

===== Table type:

lowerDie

===== Data interface:

LowerDie

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

lowerDieGroupId

Lower die group

false

lowerDieGroup / identifier

description

Description

false

-

===== Referring tables:

Referring table Referring column

lowerDieUnit

lowerDieId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheet bending - Upper die unit

===== Table type:

upperDieUnit

===== Data interface:

UpperDieUnit

===== Meta data:

Column key Header Unique Referred table / column

upperDieId

Upper die

true

upperDie / identifier

dimX

Length x [mm]

true

-

multiplicity

Multiplicity

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheet bending - Lower die unit

===== Table type:

lowerDieUnit

===== Data interface:

LowerDieUnit

===== Meta data:

Column key Header Unique Referred table / column

lowerDieId

Lower die

true

lowerDie / identifier

dimX

Length x [mm]

true

-

multiplicity

Multiplicity

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Processes - Handling time

===== Table type:

processHandlingTime

===== Data interface:

ProcessHandlingTime

===== Meta data:

Column key Header Unique Referred table / column

processId

Process

true

process / identifier

mass

Mass [kg]

true

-

setupTimeDelta

Setup time delta [min]

false

-

unitTimeDelta

Unit time delta [min]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheets - Stock

===== Table type:

sheetStock

===== Data interface:

SheetStock

===== Meta data:

Column key Header Unique Referred table / column

sheetId

Sheet

true

sheet / identifier

count

Count

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Processes - Idle time

===== Table type:

processIdlePeriod

===== Data interface:

ProcessIdlePeriod

===== Meta data:

Column key Header Unique Referred table / column

processId

Process

true

process / identifier

time

Time [h]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheets - Material scrap value

===== Table type:

sheetMaterialScrapValue

===== Data interface:

SheetMaterialScrapValue

===== Meta data:

Column key Header Unique Referred table / column

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

scrapValue

Scrap value [Currency / kg]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheets - Priority

===== Table type:

sheetPriority

===== Data interface:

SheetPriority

===== Meta data:

Column key Header Unique Referred table / column

sheetId

Sheet

true

sheet / identifier

priority

Priority

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheet bending - Die priority

===== Table type:

dieGroupPriority

===== Data interface:

DieGroupPriority

===== Meta data:

Column key Header Unique Referred table / column

upperDieGroupId

Upper die group

true

upperDieGroup / identifier

lowerDieGroupId

Lower die group

true

lowerDieGroup / identifier

sheetBendingMaterialId

Sheet bending - Material

true

sheetBendingMaterial / identifier

sheetThickness

Sheet metal thickness [mm]

true

-

priority

Priority

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Sheet cutting - Material

===== Table type:

sheetCuttingMaterial

===== Data interface:

SheetCuttingMaterial

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

===== Referring tables:

Referring table Referring column

sheetCuttingMaterialMapping

sheetCuttingMaterialId

laserSheetCuttingSpeed

sheetCuttingMaterialId

laserSheetCuttingPierceTime

sheetCuttingMaterialId

laserSheetCuttingRate

sheetCuttingMaterialId

laserSheetCuttingMinArea

sheetCuttingMaterialId

laserSheetCuttingMaxThickness

sheetCuttingMaterialId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "identifier": "1.4301",
        "name": "1.4301",
        "serialization_version": 0
    },
    {
        "identifier": "AlMg3",
        "name": "AlMg3",
        "serialization_version": 0
    }
]

==== Sheet bending - Material

===== Table type:

sheetBendingMaterial

===== Data interface:

SheetBendingMaterial

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

===== Referring tables:

Referring table Referring column

sheetBendingMaterialMapping

sheetBendingMaterialId

bendTimeParameters

sheetBendingMaterialId

bendRateParameters

sheetBendingMaterialId

bendLineConstraint

sheetBendingMaterialId

bendDeduction

sheetBendingMaterialId

dieGroupPriority

sheetBendingMaterialId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "identifier": "1.4301",
        "name": "1.4301",
        "serialization_version": 0
    },
    {
        "identifier": "QStE380TM",
        "name": "QStE380TM",
        "serialization_version": 0
    },
    {
        "identifier": "AlMg3",
        "name": "AlMg3",
        "serialization_version": 0
    }
]

==== Tube cutting - Process

===== Table type:

tubeCuttingProcess

===== Data interface:

TubeCuttingProcess

===== Meta data:

Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

===== Referring tables:

Referring table Referring column

tubeCuttingProcessMapping

tubeCuttingProcessId

tubeCuttingSpeed

tubeCuttingProcessId

tubeCuttingPierceTime

tubeCuttingProcessId

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "identifier": "default-1.0038-O2",
        "name": "1.0038 O2",
        "serialization_version": 0
    },
    {
        "identifier": "default-1.0038-N2",
        "name": "1.0038 N2",
        "serialization_version": 0
    },
    {
        "identifier": "default-1.4301-N2",
        "name": "1.4301 N2",
        "serialization_version": 0
    }
]

==== Tube cutting - Process mapping

===== Table type:

tubeCuttingProcessMapping

===== Data interface:

TubeCuttingProcessMapping

===== Meta data:

Column key Header Unique Referred table / column

processId

Process

true

process / identifier

tubeMaterialId

Tubes - Material

true

tubeMaterial / identifier

tubeCuttingProcessId

Tube cutting - Process

false

tubeCuttingProcess / identifier

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "processId": "tubeCuttingO2Id",
        "serialization_version": 0,
        "tubeCuttingProcessId": "default-1.0038-O2",
        "tubeMaterialId": "1.0038"
    },
    {
        "processId": "tubeCuttingN2Id",
        "serialization_version": 0,
        "tubeCuttingProcessId": "default-1.0038-N2",
        "tubeMaterialId": "1.0038"
    },
    {
        "processId": "tubeCuttingN2Id",
        "serialization_version": 0,
        "tubeCuttingProcessId": "default-1.4301-N2",
        "tubeMaterialId": "1.4301"
    }
]

==== Tube cutting - Speed

===== Table type:

tubeCuttingSpeed

===== Data interface:

TubeCuttingSpeed

===== Meta data:

Column key Header Unique Referred table / column

tubeCuttingProcessId

Tube cutting - Process

true

tubeCuttingProcess / identifier

thickness

Profile thickness [mm]

true

-

speed

Speed [m / min]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "serialization_version": 0,
        "speed": 8.2,
        "thickness": 1,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 6.4,
        "thickness": 1.5,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 5.4,
        "thickness": 2,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 5.1,
        "thickness": 2.5,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 4.9,
        "thickness": 3,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 4.3,
        "thickness": 4,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 4,
        "thickness": 5,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 3.3,
        "thickness": 6,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 2.8,
        "thickness": 8,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "speed": 2.4,
        "thickness": 10,
        "tubeCuttingProcessId": "default-1.0038-O2"
    }
]

==== Tube cutting - Pierce time

===== Table type:

tubeCuttingPierceTime

===== Data interface:

TubeCuttingPierceTime

===== Meta data:

Column key Header Unique Referred table / column

tubeCuttingProcessId

Tube cutting - Process

true

tubeCuttingProcess / identifier

thickness

Profile thickness [mm]

true

-

time

Pierce time [s]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "serialization_version": 0,
        "thickness": 1,
        "time": 0.33999999999999997,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 1.5,
        "time": 0.35,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 2,
        "time": 0.36,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 2.5,
        "time": 0.37,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 3,
        "time": 0.38,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 4,
        "time": 0.4,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 5,
        "time": 0.44999999999999996,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 6,
        "time": 0.48,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 8,
        "time": 1.1,
        "tubeCuttingProcessId": "default-1.0038-O2"
    },
    {
        "serialization_version": 0,
        "thickness": 10,
        "time": 1.5,
        "tubeCuttingProcessId": "default-1.0038-O2"
    }
]

==== Tubes - Price

===== Table type:

tubePrice

===== Data interface:

TubePrice

===== Meta data:

Column key Header Unique Referred table / column

tubeId

Tube

true

tube / identifier

pricePerTube

Price per tube

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

===== Example:

[
    {
        "pricePerTube": 18.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-20x20x2-6000"
    },
    {
        "pricePerTube": 23.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-25x25x2-6000"
    },
    {
        "pricePerTube": 23.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-30x20x2-6000"
    },
    {
        "pricePerTube": 33.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-30x20x3-6000"
    },
    {
        "pricePerTube": 28.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-30x30x2-6000"
    },
    {
        "pricePerTube": 41,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-30x30x3-6000"
    },
    {
        "pricePerTube": 33.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-35x35x2-6000"
    },
    {
        "pricePerTube": 49,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-35x35x3-6000"
    },
    {
        "pricePerTube": 28.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-40x20x2-6000"
    },
    {
        "pricePerTube": 41,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-40x20x3-6000"
    }
]

==== Tubes - Stock

===== Table type:

tubeStock

===== Data interface:

TubeStock

===== Meta data:

Column key Header Unique Referred table / column

tubeId

Tube

true

tube / identifier

count

Count

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

==== Tubes - Material scrap value

===== Table type:

tubeMaterialScrapValue

===== Data interface:

TubeMaterialScrapValue

===== Meta data:

Column key Header Unique Referred table / column

tubeMaterialId

Tubes - Material

true

tubeMaterial / identifier

scrapValue

Scrap value [Currency / kg]

false

-

===== Referring tables: -

===== Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0