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).

If the update of any table leads to an inconsistent database state, no change will be committed. The database state will remain unchanged. The process will exit with a non-zero return code.

Headless Database Synchronization

The database can be updated automatically via wsi4cli. New database tables need to be stored in a directory in JSON (preferred) or CSV (error-prone) format - one file per table.

Each file name must match the associated table’s type (e.g. /path/to/sheetPrice.json). The table type and content description can be found in the Table Reference.

The CSV content is expected to be UTF-8 encoded.

Usage

./wsi4cli --key <key> [--db-name <db-name>] --module "opt/cli/dbsync.js" -- [--mode <update / upsert / replace>] /path/to/dir
  • --key <key>: (wsi4cli option) WSi4 license key

  • [--db-name <db-name>]: (wsi4cli option) Database name (required if more than one database is associated with <key>)

  • --mode: (module option) How the new tables should be incorporated (see examples below)

  • path/to/dir Filesystem path to the input directory

wsi4cli options and module options must be separated via --.

All mode options are mutually exclusive.

Example 1

Implicit (default) update mode. Only existing table rows are updated. New table rows are discarded.

The argument separator -- can be ommited.

./wsi4cli --key <key> --db-name <db-name> --module "opt/cli/dbsync.js" -- /path/to/dir

Example 2

Explicit update mode. Only existing table rows are updated. New table rows are discarded.

The argument separator '--' is mandatory.

./wsi4cli --key <key> --db-name <db-name> --module "opt/cli/dbsync.js" -- --mode update /path/to/dir

Example 3

Use update-or-insert (upsert) mode. Existing table rows are updated. New table rows are added. Existing, unaffected table rows are preserved.

The argument separator '--' is mandatory.

./wsi4cli --key <key> --db-name <db-name> --module "opt/cli/dbsync.js" -- --mode upsert /path/to/dir

Example 4

Use replacement mode. Each corresponding existing table is replaced entirely by the new table.

The argument separator '--' is mandatory.

./wsi4cli --key <key> --db-name <db-name> --module "opt/cli/dbsync.js" -- --mode replace /path/to/dir

Pre-conditions

  • The original database state must be consistent (i.e. no database errors must be present)

  • The submitted directory must exist

  • Each file name must match the associated table’s type name (see Table Reference)

  • All files must be readable

  • All files must conform to the respective JSON or CSV specifications (see Table Reference)

  • Write access must be granted for the provided license key and database name

  • Input files must be UTF-8 encoded

Post-conditions

  • If any change leads to new table errors, then no change will be committed. The database state will remain unchanged.

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.

ArrayBufferFuture

Asynchronously computed binary data

Assembly

Assembly consisting of arbitrarily many Breps at arbitrary positions

Details

An Assembly recursively contains other Assemblys and Breps.

AssemblyFuture

Asynchronously computed Assembly

BooleanFuture

Asynchronously computed boolean value

Brep

Boundary representation of a single part

Details

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

CadPart

CadPart

DocumentGraph

DocumentGraph

DracoRepresentation

Draco mesh representation of arbitrarily many Breps

Details

A DracoRepresentation object contains futures that compute geometric representations in Draco format for given Breps. These futures are then utilized in turning Assemblys into Gltf files.

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.

ImportedDocumentGraph

ImportedDocumentGraph

InnerOuterPolygon

Type representing a polygon with arbitrarily many Polygons as holes

Details

An InnerOuterPolygon corresponds to a two dimensional part.

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.

MeasurementScenesFuture

Asynchronously computed measurement scenes

Nest3ResultFuture

Asynchronously computed nest3 result value

Polygon

Polygon consisting of line and arc segments

Details

A Polygon can not contain holes.

PolygonFuture

Asynchronously computed polygon value

PreDocumentGraph

PreDocumentGraph

ProfileShadowFuture

Asynchronously computed optional profile shadow value

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.

SceneFuture

Asynchronously computed Scene

SlVertex

Vertex object of a stateless graph

Details

An SlVertex references one node in one stateless graph instance. It is only valid for the associated stateless graph.

TwoDimRepOptionalFuture

Asynchronously computed optional TwoDimRepresentation

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.

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.

AnyTable

Variant covering all user tables

interface AnyTable {
	index: number;
	data: (SheetMaterial)[];
}

Defined in module lib/generated/typeguard.ts

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

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.

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.

ArticleUpdate

interface ArticleUpdate {
	vertex: Vertex;
	articleUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isArticleUpdate(arg: unknown) : arg is ArticleUpdate;

AssemblyMapEntry

Assembly map entry

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

Defined in module lib/generated/typeguard.ts

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

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;

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;

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;

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.

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;

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;

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.

BendLineData

Data associated with each individual bend line

interface BendLineData {
	constructedInnerRadius: number;
	resultingInnerRadius: number;
	bendAngle: number;
	bendDescriptor: number;
}

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.

BendLineSegmentsMapEntry

A bend line’s segments

interface BendLineSegmentsMapEntry {
	bendDescriptor: number;
	segments: (Segment)[];
}

Defined in module lib/generated/typeguard.ts

function isBendLineSegmentsMapEntry(arg: unknown) : arg is BendLineSegmentsMapEntry;

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.

BendReplyStateContentBendDeductionApplicationFailed

Data associated to failed application of bend deductions

interface BendReplyStateContentBendDeductionApplicationFailed {
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentBendDeductionApplicationFailed(arg: unknown) : arg is BendReplyStateContentBendDeductionApplicationFailed;

BendReplyStateContentContourInBend

Legacy entry; unused

interface BendReplyStateContentContourInBend {
}

Defined in module lib/generated/typeguard.ts

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

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;

BendReplyStateContentUndefinedError

Data associated to undefinedError

interface BendReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

BendReplyStateContentUndetectedFeatures

Data associated to undetectedFeatures

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

Defined in module lib/generated/typeguard.ts

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

BendReplyStateContentUnfoldingFailed

Data associated to unfoldingFailed

interface BendReplyStateContentUnfoldingFailed {
}

Defined in module lib/generated/typeguard.ts

function isBendReplyStateContentUnfoldingFailed(arg: unknown) : arg is BendReplyStateContentUnfoldingFailed;

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.

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;

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.

CadCountersinking

CAD countersinking feature

interface CadCountersinking {
	featureDescriptor: number;
}

Defined in module lib/generated/typeguard.ts

function isCadCountersinking(arg: unknown) : arg is CadCountersinking;

CadFeature

CAD feature

interface CadFeature {
	index: number;
	data: CadCountersinking;
}

Defined in module lib/generated/typeguard.ts

function isCadFeature(arg: unknown) : arg is CadFeature;

CadImportConfig

Config for DocumentGraphCreator

interface CadImportConfig {
	sheetUpperSideStrategy?: SheetUpperSideStrategy;
}

Defined in module lib/generated/typeguard.ts

function isCadImportConfig(arg: unknown) : arg is CadImportConfig;

CadThroughHole

CAD throuh hole feature

interface CadThroughHole {
	featureDescriptor: number;
}

Defined in module lib/generated/typeguard.ts

function isCadThroughHole(arg: unknown) : arg is CadThroughHole;

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.

CamCommand

Transform command

interface CamCommand {
	index: number;
	data: CamCommandSetColor;
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

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;

CamNestorConfig

Private API

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

Defined in module lib/generated/typeguard.ts

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

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;

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;

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;

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;

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;

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;

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;

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.

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.

Consumable

Consumable

Unique members interface
interface ConsumableUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isConsumableUniqueMembers(arg: unknown) : arg is ConsumableUniqueMembers;
Regular interface
interface Consumable extends ConsumableUniqueMembers {
	name: string;
	unit: string;
	costsPerUnit: number;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isConsumable(arg: unknown) : arg is Consumable;

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.

DieChoiceAlternativesEntry

Set of valid combinations of bendDescriptor and BendDieChoice for a bend

interface DieChoiceAlternativesEntry {
	bendDescriptor: number;
	bendDieChoices: (BendDieChoice)[];
}

Defined in module lib/generated/typeguard.ts

function isDieChoiceAlternativesEntry(arg: unknown) : arg is DieChoiceAlternativesEntry;

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;

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;

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;

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;

DocXImage

Image element

interface DocXImage {
	placeholder: string;
	content: ArrayBuffer;
	type: DocXImageType;
}

Defined in module lib/generated/typeguard.ts

function isDocXImage(arg: unknown) : arg is DocXImage;

DocXTableCell

Cell of a docx table row

interface DocXTableCell {
	index: number;
	data: DocXText;
}

Defined in module lib/generated/typeguard.ts

function isDocXTableCell(arg: unknown) : arg is DocXTableCell;

DocXTables

Tables element

interface DocXTables {
	tables: (((DocXTableCell)[])[])[];
}

Defined in module lib/generated/typeguard.ts

function isDocXTables(arg: unknown) : arg is DocXTables;

DocXText

Text element

interface DocXText {
	placeholder: string;
	text: string;
}

Defined in module lib/generated/typeguard.ts

function isDocXText(arg: unknown) : arg is DocXText;

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;

DocumentFormat

Format properties of a document

interface DocumentFormat {
	orientation: DocumentOrientation;
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

DocumentItem

Part of a document row

interface DocumentItem {
	index: number;
	data: DocumentParagraph;
}

Defined in module lib/generated/typeguard.ts

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

DocumentPageBreak

Page break

interface DocumentPageBreak {
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

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;

FormWidgetCheckBoxConfig

Check box configuration

interface FormWidgetCheckBoxConfig {
	initialValue: boolean;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetConfig

Form widget configuration

interface FormWidgetConfig {
	index: number;
	data: FormWidgetCheckBoxConfig;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetDropDownConfig

Drop down configuration

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

Defined in module lib/generated/typeguard.ts

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

FormWidgetDropDownEntry

Drop down entry

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

Defined in module lib/generated/typeguard.ts

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

FormWidgetLabelConfig

Label configuration

interface FormWidgetLabelConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetLineEditConfig

Line edit configuration

interface FormWidgetLineEditConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

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

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;

FormWidgetTextEditConfig

Text edit configuration

interface FormWidgetTextEditConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

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

GeometryEntity

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

Defined in module lib/generated/typeguard.ts

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

GeometryEntityDescriptor

interface GeometryEntityDescriptor {
	index: number;
	data: GeometryEntityDescriptorContentEdge;
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

GltfNodeVendorData

Vendor-specific data associated that can be associated with a node in a generated Gltf representation

interface GltfNodeVendorData {
	assembly: Assembly;
	data: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isGltfNodeVendorData(arg: unknown) : arg is GltfNodeVendorData;

GraphCreatorInput

Input to create a PreDocumentGraph from

interface GraphCreatorInput {
	index: number;
	data: GraphCreatorInputStep;
}

Defined in module lib/generated/typeguard.ts

function isGraphCreatorInput(arg: unknown) : arg is GraphCreatorInput;
Details

Experimental API

GraphCreatorInputExtrusion

Extrusion input

interface GraphCreatorInputExtrusion {
	importId: string;
	innerOuterPolygon: InnerOuterPolygon;
	depth: number;
	assemblyName: string;
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isGraphCreatorInputExtrusion(arg: unknown) : arg is GraphCreatorInputExtrusion;
Details

Experimental API

GraphCreatorInputStep

STEP file content

interface GraphCreatorInputStep {
	importId: string;
	data: ArrayBuffer;
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isGraphCreatorInputStep(arg: unknown) : arg is GraphCreatorInputStep;
Details

Experimental API

GraphCreatorInputTwoDimRep

2D input

interface GraphCreatorInputTwoDimRep {
	importId: string;
	twoDimRep: TwoDimRepresentation;
	thickness: number;
	assemblyName: string;
	multiplicity: number;
}

Defined in module lib/generated/typeguard.ts

function isGraphCreatorInputTwoDimRep(arg: unknown) : arg is GraphCreatorInputTwoDimRep;
Details

Experimental API

GraphDeserializationResult

interface GraphDeserializationResult {
	status: AddResultStatus;
	graph?: ImportedDocumentGraph;
}

Defined in module lib/generated/typeguard.ts

function isGraphDeserializationResult(arg: unknown) : arg is GraphDeserializationResult;

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.

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.

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.

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.

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

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;

Joining

Joining sequence of a node

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

Defined in module lib/generated/typeguard.ts

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

JoiningReplyStateContentUndefinedError

Data associated to undefinedError

interface JoiningReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

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.

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.

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.

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.

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.

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;

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;

LineSegment

Line segment

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

Defined in module lib/generated/typeguard.ts

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

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;

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.

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;

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;

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.

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.

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;

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;

Nest3Part

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

interface Nest3Part {
	assembly: Assembly;
	multiplicity: number;
	mass: number;
	profileShadow: ProfileShadowFuture;
}

Defined in module lib/generated/typeguard.ts

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

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;

NestingDissection

Private API

interface NestingDissection {
	nestingDescriptor: number;
	xDissection?: number;
	yDissection?: number;
}

Defined in module lib/generated/typeguard.ts

function isNestingDissection(arg: unknown) : arg is NestingDissection;

NewNodeParams

Parameters to apply to a newly created node

interface NewNodeParams {
	processType: ProcessType;
	processId: string;
	nodeUserData: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNewNodeParams(arg: unknown) : arg is NewNodeParams;
Details

Currently only nodes of type userDefined and transform can be created.

NodeEditingStateEntry

Node editing state entry

interface NodeEditingStateEntry {
	index: number;
	data: NodeEditingStateEntryMissingDatum;
}

Defined in module lib/generated/typeguard.ts

function isNodeEditingStateEntry(arg: unknown) : arg is NodeEditingStateEntry;

NodeEditingStateEntryInvalidDatum

Node editing state entry indicating an invalid datum

interface NodeEditingStateEntryInvalidDatum {
	nodeDatumType: NodeDatumType;
	value: string;
}

Defined in module lib/generated/typeguard.ts

function isNodeEditingStateEntryInvalidDatum(arg: unknown) : arg is NodeEditingStateEntryInvalidDatum;

NodeEditingStateEntryMissingDatum

Node editing state entry indicating a missing datum

interface NodeEditingStateEntryMissingDatum {
	nodeDatumType: NodeDatumType;
}

Defined in module lib/generated/typeguard.ts

function isNodeEditingStateEntryMissingDatum(arg: unknown) : arg is NodeEditingStateEntryMissingDatum;

NodeUpdate

interface NodeUpdate {
	index: number;
	data: NodeUpdateUndefined;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdate(arg: unknown) : arg is NodeUpdate;

NodeUpdateJoining

interface NodeUpdateJoining {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateJoining(arg: unknown) : arg is NodeUpdateJoining;

NodeUpdatePackaging

interface NodeUpdatePackaging {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdatePackaging(arg: unknown) : arg is NodeUpdatePackaging;

NodeUpdateSheet

interface NodeUpdateSheet {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateSheet(arg: unknown) : arg is NodeUpdateSheet;

NodeUpdateSheetBending

interface NodeUpdateSheetBending {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
	dieChoiceMap?: (DieChoiceMapEntry)[];
	toggleUpperSide?: boolean;
	correctBends?: boolean;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateSheetBending(arg: unknown) : arg is NodeUpdateSheetBending;

NodeUpdateSheetCutting

interface NodeUpdateSheetCutting {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
	sheetThickness?: number;
	toggleUpperSide?: boolean;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateSheetCutting(arg: unknown) : arg is NodeUpdateSheetCutting;

NodeUpdateTransform

interface NodeUpdateTransform {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateTransform(arg: unknown) : arg is NodeUpdateTransform;

NodeUpdateTube

interface NodeUpdateTube {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateTube(arg: unknown) : arg is NodeUpdateTube;

NodeUpdateTubeCutting

interface NodeUpdateTubeCutting {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateTubeCutting(arg: unknown) : arg is NodeUpdateTubeCutting;

NodeUpdateUndefined

interface NodeUpdateUndefined {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateUndefined(arg: unknown) : arg is NodeUpdateUndefined;

NodeUpdateUserDefined

interface NodeUpdateUserDefined {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateUserDefined(arg: unknown) : arg is NodeUpdateUserDefined;

NodeUpdateUserDefinedBase

interface NodeUpdateUserDefinedBase {
	vertex: Vertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isNodeUpdateUserDefinedBase(arg: unknown) : arg is NodeUpdateUserDefinedBase;

NodeUserDataBase

Maps UserData entry name to a type

interface NodeUserDataBase {
	bendLineEngravingMode: BendLineEngravingMode;
	purchasePartMaterialId: string;
	sheetMaterialId: string;
	tubeMaterialId: string;
	tubeSpecificationId: string;
	sheetFilterSheetIds: (string)[];
	sheetTappingData: (SheetTappingDataEntry)[];
}

Defined in module lib/generated/typeguard.ts

function isNodeUserDataBase(arg: unknown) : arg is NodeUserDataBase;

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.

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;

PackagingReplyStateContentUndefinedError

Data associated to undefinedError

interface PackagingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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

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;

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;

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;

PrivateArticleTextResourceEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

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;

PrivateEditingNote

Private API

interface PrivateEditingNote {
	type: string;
	message: string;
}

Defined in module lib/generated/typeguard.ts

function isPrivateEditingNote(arg: unknown) : arg is PrivateEditingNote;

PrivateEditingNotesResourceEntry

Private API

interface PrivateEditingNotesResourceEntry {
	nodeId: GraphNodeId;
	notes: (PrivateEditingNote)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateEditingNotesResourceEntry(arg: unknown) : arg is PrivateEditingNotesResourceEntry;

PrivateForceSheetMetalPartResourceEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

PrivateGraphData

Private API

interface PrivateGraphData {
	projectName: string;
}

Defined in module lib/generated/typeguard.ts

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

PrivateGuiData

Private API

interface PrivateGuiData {
	index: number;
	data: PrivateGuiDataGraphRep;
}

Defined in module lib/generated/typeguard.ts

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

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;

PrivateMainWindowScriptAction

Private API

interface PrivateMainWindowScriptAction {
	name: string;
	modulePath: string;
	functionName: string;
	shortcut?: string;
	icon?: string;
	menuType?: PrivateMainWindowMenuType;
}

Defined in module lib/generated/typeguard.ts

function isPrivateMainWindowScriptAction(arg: unknown) : arg is PrivateMainWindowScriptAction;

PrivateMainWindowScriptConfig

Private API

interface PrivateMainWindowScriptConfig {
	scripts: (PrivateMainWindowScriptAction)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateMainWindowScriptConfig(arg: unknown) : arg is PrivateMainWindowScriptConfig;

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;

PrivateMeasurementScenesResourceEntry

Private API

interface PrivateMeasurementScenesResourceEntry {
	nodeId: GraphNodeId;
	data: (MeasurementScene)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateMeasurementScenesResourceEntry(arg: unknown) : arg is PrivateMeasurementScenesResourceEntry;

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;

PrivateNodeRepresentation

Private API

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

Defined in module lib/generated/typeguard.ts

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

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;

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.

PrivatePostProcessingResultCreateWorkStep

Interface for DocumentGraphHandler

interface PrivatePostProcessingResultCreateWorkStep {
	processType: ProcessType;
	processId: string;
	nodeUserData: StringIndexedInterface;
	articleUserData?: 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.

PrivateProblematicGeometryResourceEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

PrivateResources

Private API

interface PrivateResources {
	pngs: (PrivateBinaryResourceEntry)[];
	inputAssemblies: (PrivateAssemblyResourceEntry)[];
	outputAssemblies: (PrivateAssemblyResourceEntry)[];
	defaultScenes: (PrivateSceneResourceEntry)[];
	bendZoneScenes: (PrivateSceneResourceEntry)[];
	lowerDieAffectZoneScenes: (PrivateSceneResourceEntry)[];
	technicalDrawingScenes: (PrivateMeasurementScenesResourceEntry)[];
	tubeOutlineScenes: (PrivateSceneResourceEntry)[];
	editingNotes: (PrivateEditingNotesResourceEntry)[];
	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;

PrivateSceneResourceEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

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;

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;

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;

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;
	priority: number;
	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.

ProcessConstraintsPurchasePartMaterial

Purchase part material constraint for a process

Unique members interface
interface ProcessConstraintsPurchasePartMaterialUniqueMembers {
	processId: string;
	purchasePartMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessConstraintsPurchasePartMaterialUniqueMembers(arg: unknown) : arg is ProcessConstraintsPurchasePartMaterialUniqueMembers;
Regular interface
interface ProcessConstraintsPurchasePartMaterial extends ProcessConstraintsPurchasePartMaterialUniqueMembers {
	isAllowed: boolean;
}

Defined in module lib/generated/typeguard.ts

function isProcessConstraintsPurchasePartMaterial(arg: unknown) : arg is ProcessConstraintsPurchasePartMaterial;

ProcessConstraintsSheetMaterial

Sheet material constraint for a process

Unique members interface
interface ProcessConstraintsSheetMaterialUniqueMembers {
	processId: string;
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessConstraintsSheetMaterialUniqueMembers(arg: unknown) : arg is ProcessConstraintsSheetMaterialUniqueMembers;
Regular interface
interface ProcessConstraintsSheetMaterial extends ProcessConstraintsSheetMaterialUniqueMembers {
	isAllowed: boolean;
}

Defined in module lib/generated/typeguard.ts

function isProcessConstraintsSheetMaterial(arg: unknown) : arg is ProcessConstraintsSheetMaterial;

ProcessConstraintsTubeMaterial

Tube material constraint for a process

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

Defined in module lib/generated/typeguard.ts

function isProcessConstraintsTubeMaterialUniqueMembers(arg: unknown) : arg is ProcessConstraintsTubeMaterialUniqueMembers;
Regular interface
interface ProcessConstraintsTubeMaterial extends ProcessConstraintsTubeMaterialUniqueMembers {
	isAllowed: boolean;
}

Defined in module lib/generated/typeguard.ts

function isProcessConstraintsTubeMaterial(arg: unknown) : arg is ProcessConstraintsTubeMaterial;

ProcessConsumableRate

Consumable rate per process

Unique members interface
interface ProcessConsumableRateUniqueMembers {
	processId: string;
	consumableId: string;
}

Defined in module lib/generated/typeguard.ts

function isProcessConsumableRateUniqueMembers(arg: unknown) : arg is ProcessConsumableRateUniqueMembers;
Regular interface
interface ProcessConsumableRate extends ProcessConsumableRateUniqueMembers {
	unitsPerHour: number;
}

Defined in module lib/generated/typeguard.ts

function isProcessConsumableRate(arg: unknown) : arg is ProcessConsumableRate;

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;

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;

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.

ProfileShadow

Shadow and camera of bend profile

interface ProfileShadow {
	coordinateSystem: CoordinateSystem3;
	shadow: InnerOuterPolygon;
}

Defined in module lib/generated/typeguard.ts

function isProfileShadow(arg: unknown) : arg is ProfileShadow;

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;

PurchasePartMaterial

Material for purchase parts

Unique members interface
interface PurchasePartMaterialUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isPurchasePartMaterialUniqueMembers(arg: unknown) : arg is PurchasePartMaterialUniqueMembers;
Regular interface
interface PurchasePartMaterial extends PurchasePartMaterialUniqueMembers {
	name: string;
	density: number;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isPurchasePartMaterial(arg: unknown) : arg is PurchasePartMaterial;

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;

RenderSceneSettings

Settings for rendering a Scene

interface RenderSceneSettings {
	resolution: Resolution;
	viewPort?: Box2;
}

Defined in module lib/generated/typeguard.ts

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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;
	unfoldingFailed?: BendReplyStateContentUnfoldingFailed;
	bendDeductionApplicationFailed?: BendReplyStateContentBendDeductionApplicationFailed;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapSheetBending contains all errors associated to Bend.

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.

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.

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.

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.

Resolution

Resolution of picture

interface Resolution {
	width: number;
	height: number;
}

Defined in module lib/generated/typeguard.ts

function isResolution(arg: unknown) : arg is Resolution;

SceneConfig

Configuration for Scene creation

interface SceneConfig {
	elements?: SceneElements;
	sceneId?: string;
	fontSize?: number;
	textItems?: (SceneTextItem)[];
	sheetBendingBendLineMaxEngravingLength?: number;
	sheetExtraText?: string;
	sheetNestingDissections?: (NestingDissection)[];
}

Defined in module lib/generated/typeguard.ts

function isSceneConfig(arg: unknown) : arg is SceneConfig;

SceneLabel

Label to add to a Scene

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

Defined in module lib/generated/typeguard.ts

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

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.

SceneStyle

Style for scene objects

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

Defined in module lib/generated/typeguard.ts

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

SceneTextItem

Custom text element to add to a scene

interface SceneTextItem {
	text: string;
	pos: Point2;
}

Defined in module lib/generated/typeguard.ts

function isSceneTextItem(arg: unknown) : arg is SceneTextItem;

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;

Segment

Variant covering all segments

interface Segment {
	index: number;
	data: LineSegment;
}

Defined in module lib/generated/typeguard.ts

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

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;

SettingsTableDataBase

Maps a settings table key to a type

interface SettingsTableDataBase {
	bendFlangeSafetyDistance: number;
	tubeClampingLength: number;
}

Defined in module lib/generated/typeguard.ts

function isSettingsTableDataBase(arg: unknown) : arg is SettingsTableDataBase;

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.

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;

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.

SheetCuttingCalcParams

interface SheetCuttingCalcParams {
	sheetMaterialId: string;
	bendLineEngravingMode: BendLineEngravingMode;
	machineVMax: number;
	machineAMax: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingCalcParams(arg: unknown) : arg is SheetCuttingCalcParams;

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;

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.

SheetCuttingMotionParameters

Sheet cutting motion parameters

Unique members interface
interface SheetCuttingMotionParametersUniqueMembers {
	sheetCuttingProcessId: string;
	thickness: number;
	contourArea: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingMotionParametersUniqueMembers(arg: unknown) : arg is SheetCuttingMotionParametersUniqueMembers;
Regular interface
interface SheetCuttingMotionParameters extends SheetCuttingMotionParametersUniqueMembers {
	speed: number;
	acceleration: number;
	pierceTime: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingMotionParameters(arg: unknown) : arg is SheetCuttingMotionParameters;

SheetCuttingProcess

Sheet cutting process

Unique members interface
interface SheetCuttingProcessUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessUniqueMembers(arg: unknown) : arg is SheetCuttingProcessUniqueMembers;
Regular interface
interface SheetCuttingProcess extends SheetCuttingProcessUniqueMembers {
	name: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcess(arg: unknown) : arg is SheetCuttingProcess;

SheetCuttingProcessConsumableRate

Consumable rate per sheet cutting process

Unique members interface
interface SheetCuttingProcessConsumableRateUniqueMembers {
	sheetCuttingProcessId: string;
	consumableId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessConsumableRateUniqueMembers(arg: unknown) : arg is SheetCuttingProcessConsumableRateUniqueMembers;
Regular interface
interface SheetCuttingProcessConsumableRate extends SheetCuttingProcessConsumableRateUniqueMembers {
	unitsPerHour: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessConsumableRate(arg: unknown) : arg is SheetCuttingProcessConsumableRate;

SheetCuttingProcessMapping

Maps a process and a sheetMaterial to a sheetCuttingProcess

Unique members interface
interface SheetCuttingProcessMappingUniqueMembers {
	processId: string;
	sheetMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessMappingUniqueMembers(arg: unknown) : arg is SheetCuttingProcessMappingUniqueMembers;
Regular interface
interface SheetCuttingProcessMapping extends SheetCuttingProcessMappingUniqueMembers {
	sheetCuttingProcessId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessMapping(arg: unknown) : arg is SheetCuttingProcessMapping;

SheetCuttingProcessToLaserCuttingGas

Mapps a sheet cutting process to a legacy laser sheet cutting gas

Unique members interface
interface SheetCuttingProcessToLaserCuttingGasUniqueMembers {
	sheetCuttingProcessId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessToLaserCuttingGasUniqueMembers(arg: unknown) : arg is SheetCuttingProcessToLaserCuttingGasUniqueMembers;
Regular interface
interface SheetCuttingProcessToLaserCuttingGas extends SheetCuttingProcessToLaserCuttingGasUniqueMembers {
	laserSheetCuttingGasId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingProcessToLaserCuttingGas(arg: unknown) : arg is SheetCuttingProcessToLaserCuttingGas;

SheetCuttingReplyStateContentMultipleOuterContours

Data associated to multipleOuterContours

interface SheetCuttingReplyStateContentMultipleOuterContours {
}

Defined in module lib/generated/typeguard.ts

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

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;

SheetCuttingThicknessConstraints

Sheet cutting thickness constraints

Unique members interface
interface SheetCuttingThicknessConstraintsUniqueMembers {
	sheetCuttingProcessId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingThicknessConstraintsUniqueMembers(arg: unknown) : arg is SheetCuttingThicknessConstraintsUniqueMembers;
Regular interface
interface SheetCuttingThicknessConstraints extends SheetCuttingThicknessConstraintsUniqueMembers {
	minThickness: number;
	maxThickness: number;
}

Defined in module lib/generated/typeguard.ts

function isSheetCuttingThicknessConstraints(arg: unknown) : arg is SheetCuttingThicknessConstraints;

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;

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.

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;

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.

SheetNestingPrePartition

interface SheetNestingPrePartition {
	compatibleTargets: (SheetNestingTarget)[];
	nestorConfig: CamNestorConfig;
	nestingDistance: number;
	sheetMaterialId?: string;
	sheetProcessId?: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetNestingPrePartition(arg: unknown) : arg is SheetNestingPrePartition;

SheetNestingTarget

interface SheetNestingTarget {
	vertex: Vertex;
	fixedRotations: (number)[];
	sheetFilterSheetIds: (string)[];
}

Defined in module lib/generated/typeguard.ts

function isSheetNestingTarget(arg: unknown) : arg is SheetNestingTarget;

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.

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;

SheetReplyStateContentNestingFailedError

Data associated to nestingFailed

interface SheetReplyStateContentNestingFailedError {
}

Defined in module lib/generated/typeguard.ts

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

SheetReplyStateContentUndefinedError

Data associated to undefinedError

interface SheetReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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;

SheetTappingDataEntry

Maps UserData entry name to a type

interface SheetTappingDataEntry {
	cadFeature: CadFeature;
	screwThreadId: string;
}

Defined in module lib/generated/typeguard.ts

function isSheetTappingDataEntry(arg: unknown) : arg is SheetTappingDataEntry;

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;

SheetTappingEditorCandidateValue

Screw thread alternative

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

Defined in module lib/generated/typeguard.ts

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

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;

SlArticleUpdate

interface SlArticleUpdate {
	vertex: SlVertex;
	articleUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlArticleUpdate(arg: unknown) : arg is SlArticleUpdate;

SlNodeUpdate

interface SlNodeUpdate {
	index: number;
	data: SlNodeUpdateUndefined;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdate(arg: unknown) : arg is SlNodeUpdate;

SlNodeUpdateJoining

interface SlNodeUpdateJoining {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateJoining(arg: unknown) : arg is SlNodeUpdateJoining;

SlNodeUpdatePackaging

interface SlNodeUpdatePackaging {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdatePackaging(arg: unknown) : arg is SlNodeUpdatePackaging;

SlNodeUpdateSheet

interface SlNodeUpdateSheet {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateSheet(arg: unknown) : arg is SlNodeUpdateSheet;

SlNodeUpdateSheetBending

interface SlNodeUpdateSheetBending {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
	dieChoiceMap?: (DieChoiceMapEntry)[];
	toggleUpperSide?: boolean;
	correctBends?: boolean;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateSheetBending(arg: unknown) : arg is SlNodeUpdateSheetBending;

SlNodeUpdateSheetCutting

interface SlNodeUpdateSheetCutting {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
	sheetThickness?: number;
	toggleUpperSide?: boolean;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateSheetCutting(arg: unknown) : arg is SlNodeUpdateSheetCutting;

SlNodeUpdateTransform

interface SlNodeUpdateTransform {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateTransform(arg: unknown) : arg is SlNodeUpdateTransform;

SlNodeUpdateTube

interface SlNodeUpdateTube {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateTube(arg: unknown) : arg is SlNodeUpdateTube;

SlNodeUpdateTubeCutting

interface SlNodeUpdateTubeCutting {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateTubeCutting(arg: unknown) : arg is SlNodeUpdateTubeCutting;

SlNodeUpdateUndefined

interface SlNodeUpdateUndefined {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateUndefined(arg: unknown) : arg is SlNodeUpdateUndefined;

SlNodeUpdateUserDefined

interface SlNodeUpdateUserDefined {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateUserDefined(arg: unknown) : arg is SlNodeUpdateUserDefined;

SlNodeUpdateUserDefinedBase

interface SlNodeUpdateUserDefinedBase {
	vertex: SlVertex;
	processType?: ProcessType;
	processId?: string;
	nodeUserData?: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

function isSlNodeUpdateUserDefinedBase(arg: unknown) : arg is SlNodeUpdateUserDefinedBase;

SlSheetNestingPrePartition

interface SlSheetNestingPrePartition {
	compatibleTargets: (SlSheetNestingTarget)[];
	nestorConfig: CamNestorConfig;
	nestingDistance: number;
	sheetMaterialId?: string;
	sheetProcessId?: string;
}

Defined in module lib/generated/typeguard.ts

function isSlSheetNestingPrePartition(arg: unknown) : arg is SlSheetNestingPrePartition;

SlSheetNestingTarget

interface SlSheetNestingTarget {
	vertex: SlVertex;
	fixedRotations: (number)[];
	sheetFilterSheetIds: (string)[];
}

Defined in module lib/generated/typeguard.ts

function isSlSheetNestingTarget(arg: unknown) : arg is SlSheetNestingTarget;

SlTubeNestingPrePartition

interface SlTubeNestingPrePartition {
	targetVertex: SlVertex;
	targetLength: number;
	nestingDistance: number;
	tubeProcessId?: string;
}

Defined in module lib/generated/typeguard.ts

function isSlTubeNestingPrePartition(arg: unknown) : arg is SlTubeNestingPrePartition;

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.

TableError

Variant covering all table errors

interface TableError {
	index: number;
	data: ReferringEntryMissingTableError;
}

Defined in module lib/generated/typeguard.ts

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

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;

TransformReplyStateContentUndefinedError

Data associated to undefinedError

interface TransformReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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;
	minDistance: number;
	maxDistance: 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.

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;

TubeCuttingCalcParams

interface TubeCuttingCalcParams {
	tubeMaterialId: string;
	machineVMax: number;
	machineAMax: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingCalcParams(arg: unknown) : arg is TubeCuttingCalcParams;

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;

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;
	description: string;
}

Defined in module lib/generated/typeguard.ts

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

TubeCuttingProcessConsumableRate

Consumable rate per tube cutting process

Unique members interface
interface TubeCuttingProcessConsumableRateUniqueMembers {
	tubeCuttingProcessId: string;
	consumableId: string;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingProcessConsumableRateUniqueMembers(arg: unknown) : arg is TubeCuttingProcessConsumableRateUniqueMembers;
Regular interface
interface TubeCuttingProcessConsumableRate extends TubeCuttingProcessConsumableRateUniqueMembers {
	unitsPerHour: number;
}

Defined in module lib/generated/typeguard.ts

function isTubeCuttingProcessConsumableRate(arg: unknown) : arg is TubeCuttingProcessConsumableRate;

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;

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;

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;

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;

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;

TubeNestingPrePartition

interface TubeNestingPrePartition {
	targetVertex: Vertex;
	targetLength: number;
	nestingDistance: number;
	tubeProcessId?: string;
}

Defined in module lib/generated/typeguard.ts

function isTubeNestingPrePartition(arg: unknown) : arg is TubeNestingPrePartition;

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;

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;

TubeProfileGeometry

interface TubeProfileGeometry {
	index: number;
	data: TubeProfileGeometryRectangular;
}

Defined in module lib/generated/typeguard.ts

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

TubeProfileGeometryCircular

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

Defined in module lib/generated/typeguard.ts

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

TubeProfileGeometryRectangular

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

Defined in module lib/generated/typeguard.ts

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

TubeReplyStateContentUndefinedError

Data associated to undefinedError

interface TubeReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

TwoDimImportResult

Result of a 2D data import

interface TwoDimImportResult {
	index: number;
	data: TwoDimImportResultPartInvalid;
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

TwoDimImportResultSuccess

The resulting TwoDimRepresentation

interface TwoDimImportResultSuccess {
	twoDimRep: TwoDimRepresentation;
}

Defined in module lib/generated/typeguard.ts

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

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;

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;

UndefinedReplyStateContentUndefinedError

Data associated to undefinedError

interface UndefinedReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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;

Unused

interface Unused {
}

Defined in module lib/generated/typeguard.ts

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

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;

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.

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;

UserDefinedBaseReplyStateContentUndefinedError

Data associated to undefinedError

interface UserDefinedBaseReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

UserDefinedReplyStateContentUndefinedError

Data associated to undefinedError

interface UserDefinedReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

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.

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

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.

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;

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;

VertexWithSheetThickness

Parameters to change a graph node’s sheet thickness

interface VertexWithSheetThickness {
	vertex: Vertex;
	sheetThickness: number;
}

Defined in module lib/generated/typeguard.ts

function isVertexWithSheetThickness(arg: unknown) : arg is VertexWithSheetThickness;

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;

VertexWithWorkStepType

Parameters to change a graph node’s WorkStepType

interface VertexWithWorkStepType {
	vertex: Vertex;
	workStepType: WorkStepType;
}

Defined in module lib/generated/typeguard.ts

function isVertexWithWorkStepType(arg: unknown) : arg is VertexWithWorkStepType;

ViolatedNodeConstraint

interface ViolatedNodeConstraint {
	index: number;
	data: ViolatedNodeConstraintBendDeductionThicknessInBounds;
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraint(arg: unknown) : arg is ViolatedNodeConstraint;

ViolatedNodeConstraintBendDeductionThicknessInBounds

interface ViolatedNodeConstraintBendDeductionThicknessInBounds {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintBendDeductionThicknessInBounds(arg: unknown) : arg is ViolatedNodeConstraintBendDeductionThicknessInBounds;

ViolatedNodeConstraintBendDiesAssigned

interface ViolatedNodeConstraintBendDiesAssigned {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintBendDiesAssigned(arg: unknown) : arg is ViolatedNodeConstraintBendDiesAssigned;

ViolatedNodeConstraintBendFlangeLengthInBounds

interface ViolatedNodeConstraintBendFlangeLengthInBounds {
	bendDescriptor: number;
	flangeLength0: number;
	flangeLength1: number;
	requiredOpeningWidth: number;
	actualOpeningWidth: number;
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintBendFlangeLengthInBounds(arg: unknown) : arg is ViolatedNodeConstraintBendFlangeLengthInBounds;

ViolatedNodeConstraintBendLineLengthInBounds

interface ViolatedNodeConstraintBendLineLengthInBounds {
	bendDescriptor: number;
	actualNetLength: number;
	maxAllowedNetLength: number;
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintBendLineLengthInBounds(arg: unknown) : arg is ViolatedNodeConstraintBendLineLengthInBounds;

ViolatedNodeConstraintContourBendZoneUnaffected

interface ViolatedNodeConstraintContourBendZoneUnaffected {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintContourBendZoneUnaffected(arg: unknown) : arg is ViolatedNodeConstraintContourBendZoneUnaffected;

ViolatedNodeConstraintDimensionsInBounds

interface ViolatedNodeConstraintDimensionsInBounds {
	actualDimensions: [ (number), (number), (number), ];
	violatedLowerConstaints?: [ (number), (number), (number), ];
	violatedUpperConstaints?: [ (number), (number), (number), ];
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintDimensionsInBounds(arg: unknown) : arg is ViolatedNodeConstraintDimensionsInBounds;

ViolatedNodeConstraintEditingStateOk

interface ViolatedNodeConstraintEditingStateOk {
	dataMissing: boolean;
	dataInvalid: boolean;
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintEditingStateOk(arg: unknown) : arg is ViolatedNodeConstraintEditingStateOk;

ViolatedNodeConstraintMaterialsCompatible

interface ViolatedNodeConstraintMaterialsCompatible {
	incompatibleSheetMaterialIds: (string)[];
	incompatibleTubeMaterialIds: (string)[];
	incompatiblePurchasePartMaterialIds: (string)[];
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintMaterialsCompatible(arg: unknown) : arg is ViolatedNodeConstraintMaterialsCompatible;

ViolatedNodeConstraintSemimanufacturedAvailable

interface ViolatedNodeConstraintSemimanufacturedAvailable {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintSemimanufacturedAvailable(arg: unknown) : arg is ViolatedNodeConstraintSemimanufacturedAvailable;

ViolatedNodeConstraintSheetCuttingContourSizeInBounds

interface ViolatedNodeConstraintSheetCuttingContourSizeInBounds {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintSheetCuttingContourSizeInBounds(arg: unknown) : arg is ViolatedNodeConstraintSheetCuttingContourSizeInBounds;

ViolatedNodeConstraintSheetCuttingProcessCompatible

interface ViolatedNodeConstraintSheetCuttingProcessCompatible {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintSheetCuttingProcessCompatible(arg: unknown) : arg is ViolatedNodeConstraintSheetCuttingProcessCompatible;

ViolatedNodeConstraintSheetCuttingThicknessInBounds

interface ViolatedNodeConstraintSheetCuttingThicknessInBounds {
	minThickness: number;
	maxThickness: number;
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintSheetCuttingThicknessInBounds(arg: unknown) : arg is ViolatedNodeConstraintSheetCuttingThicknessInBounds;

ViolatedNodeConstraintTubeCuttingProcessCompatible

interface ViolatedNodeConstraintTubeCuttingProcessCompatible {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintTubeCuttingProcessCompatible(arg: unknown) : arg is ViolatedNodeConstraintTubeCuttingProcessCompatible;

ViolatedNodeConstraintTubeCuttingProfileSupported

interface ViolatedNodeConstraintTubeCuttingProfileSupported {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintTubeCuttingProfileSupported(arg: unknown) : arg is ViolatedNodeConstraintTubeCuttingProfileSupported;

ViolatedNodeConstraintTubeDetectionLicensed

interface ViolatedNodeConstraintTubeDetectionLicensed {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintTubeDetectionLicensed(arg: unknown) : arg is ViolatedNodeConstraintTubeDetectionLicensed;

ViolatedNodeConstraintUnfoldingSimpl

interface ViolatedNodeConstraintUnfoldingSimpl {
}

Defined in module lib/generated/typeguard.ts

function isViolatedNodeConstraintUnfoldingSimpl(arg: unknown) : arg is ViolatedNodeConstraintUnfoldingSimpl;

WidgetConfig

Widget configuration

interface WidgetConfig {
	index: number;
	data: WidgetConfigAssemblyView;
}

Defined in module lib/generated/typeguard.ts

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

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;
	materialCostsPerPieceSuggestion?: number;
	setupTimeSuggestion?: number;
	unitTimePerPieceSuggestion?: number;
}

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;

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;

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;

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;

WidgetResult

Widget result

interface WidgetResult {
	index: number;
	data: WidgetResultAssemblyView;
}

Defined in module lib/generated/typeguard.ts

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

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;

WidgetResultGeometryColorSelector

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultGeometrySelector

Widget result

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

Defined in module lib/generated/typeguard.ts

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

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;

WorkStepTypeChangeResult

Resulting pre-graph and the set of vertices that have been changed

interface WorkStepTypeChangeResult {
	success: boolean;
	preGraph: PreDocumentGraph;
	changedVertices: (SlVertex)[];
}

Defined in module lib/generated/typeguard.ts

function isWorkStepTypeChangeResult(arg: unknown) : arg is WorkStepTypeChangeResult;

Enums

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

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;

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;

BendLineEngravingMode

Bend line engraving mode

Possible values:

  • none: No bend line is engraved

  • upwardOnly: Only lines for upward bends are engraved

  • downwardOnly: Only lines for downward bends are engraved

  • all: All bend lines are engraved

Defined in module lib/generated/typeguard.ts:

function isBendLineEngravingMode(arg: unknown) : arg is BendLineEngravingMode;

CadFeatureType

CAD features

Possible values:

  • countersinking: A countersinking

  • throughHole: A through hole

Defined in module lib/generated/typeguard.ts:

function isCadFeatureType(arg: unknown) : arg is CadFeatureType;

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

  • darkGreen: darkGreen

Defined in module lib/generated/typeguard.ts:

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

DatabasePermission

Database permission

Possible values:

  • read: read

  • write: write

Defined in module lib/generated/typeguard.ts:

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

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;

DocXImageType

Supported image types for DocX

Possible values:

  • png: A PNG image

Defined in module lib/generated/typeguard.ts:

function isDocXImageType(arg: unknown) : arg is DocXImageType;

DocXTableCellType

Item type of DocX document replacement

Possible values:

  • text: A text

  • image: An image

  • tables: A table cell with tables in it

Defined in module lib/generated/typeguard.ts:

function isDocXTableCellType(arg: unknown) : arg is DocXTableCellType;

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;

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;

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;

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

  • httpServiceClassifier: Classification http service

  • lstExport: Export lsts

  • erpInterfaceItBlech: IT-Blech ERP interface

  • tubeDetection: Tube detection

  • quotationExport: Export quotation

Defined in module lib/generated/typeguard.ts:

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

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;

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;

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;

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;

GeometryEntityType

Geometry entity types

Possible values:

  • edge: Edge

  • face: Face

Defined in module lib/generated/typeguard.ts:

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

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;

GraphCreatorInputType

Input types for data used to create a PreDocumentGraph

Details

Experimental API

Possible values:

  • step: STEP file content

  • twoDimRep: 2D input

  • extrusion: Extrusion input

Defined in module lib/generated/typeguard.ts:

function isGraphCreatorInputType(arg: unknown) : arg is GraphCreatorInputType;

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;

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;

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;

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;

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;

NodeConstraint

Various constraints that are checked for nodes of a graph

Possible values:

  • bendDeductionThicknessInBounds: Check that the sheet thickness of a bend deduction is approximately the actual thickness of the part

  • bendDiesAssigned: Check if a die combination is assigned for each bend

  • bendFlangeLengthInBounds: Check if the geometric mimimum length of a bend flange w.r.t. the lower die is in bounds

  • bendLineLengthInBounds: Check if the accumulated lengths of all bend line segments match the associated table constraint (if any)

  • contourBendZoneUnaffected: Check that inner contours are not affected by any bend zone

  • sheetCuttingContourSizeInBounds: Check that a contour does not undercut the miminum contour size

  • editingStateOk: Corresponds to the editing state

  • dimensionsInBounds: Check if the bounding box is in bounds

  • materialsCompatible: Check if the underlying materials match the process material constraints (if any)

  • sheetCuttingThicknessInBounds: Check if a sheet metal part’s thickness is in bounds

  • tubeCuttingProfileSupported: Check if a profile geometry is known

  • semimanufacturedAvailable: Check if there is a matching semimanufactured (e.g. sheet or tube)

  • sheetCuttingProcessCompatible: Check if there is an applicable sheet cutting process

  • tubeCuttingProcessCompatible: Check if there is an applicable tube cutting process

  • tubeDetectionLicensed: Check if tube detection is available

  • unfoldingSimple: Check that an unfolding is not self-intersecting

Defined in module lib/generated/typeguard.ts:

function isNodeConstraint(arg: unknown) : arg is NodeConstraint;

NodeDatumType

Corresponds to certain node properties

Possible values:

  • processId: ID of the underlying Process

  • sheetMaterialId: ID of the underlying sheet material

  • tubeMaterialId: ID of the underlying tube material

  • tubeSpecificationId: ID of the underlying tube specification

  • sheetTappingData: The underlying sheet tapping data

  • dieChoiceMap: The underlying die choice

Defined in module lib/generated/typeguard.ts:

function isNodeDatumType(arg: unknown) : arg is NodeDatumType;

NodeEditingStateEntryType

Type of a node editing state entry

Possible values:

  • missingDatum: Mandatory datum is missing

  • invalidDatum: Invalid datum

Defined in module lib/generated/typeguard.ts:

function isNodeEditingStateEntryType(arg: unknown) : arg is NodeEditingStateEntryType;

NodeUserDataKey

Key of a node UserData entry

Possible values:

  • bendLineEngravingMode: Bend line engraving mode

  • purchasePartMaterialId: ID of a purchase part material

  • sheetMaterialId: ID of a sheet material

  • tubeMaterialId: ID of a tube material

  • tubeSpecificationId: ID of a tube specification

  • sheetFilterSheetIds: IDs of a set of sheets

  • sheetTappingData: Sheet tapping data

Defined in module lib/generated/typeguard.ts:

function isNodeUserDataKey(arg: unknown) : arg is NodeUserDataKey;

PrivateGuiDataType

Private API

Possible values:

  • ``graphRep

Defined in module lib/generated/typeguard.ts:

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

PrivateMainWindowMenuType

Private API

Possible values:

  • ``fileRun

  • ``fileExport

Defined in module lib/generated/typeguard.ts:

function isPrivateMainWindowMenuType(arg: unknown) : arg is PrivateMainWindowMenuType;

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;

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;

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;

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;

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

  • unfoldingFailed: Unfolding failed

  • bendDeductionApplicationFailed: Application of bend deductions failed

Defined in module lib/generated/typeguard.ts:

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

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;

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;

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;

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;

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;

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;

SceneElement

Elements of a Scene

Possible values:

  • cuttingContours: Cutting contours

  • engravings: Engravings

  • sheetBendingBendLineLabels: Labels for bend lines (sheetBending only)

  • sheetBendingBendZones: Bend zones (sheetBending only)

  • sheetBendingDieAffectedSegments: Segments potentially affect by bend die (sheetBending only)

  • sheetBendingLowerDieAffectZones: Lower die affect zones (sheetBending only)

  • sheetBendingOverlappingAreas: Overlapping areas of the unfolding (sheetBending only)

  • tubeCuttingTubeContours: Contours of the unrolled tube (tubeCutting only)

  • tubeCuttingVirtualCuts: Virtual cuts of the unrolled tube (tubeCutting only)

Defined in module lib/generated/typeguard.ts:

function isSceneElement(arg: unknown) : arg is SceneElement;

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;

SettingsTableKey

Key of a settings table entry

Possible values:

  • bendFlangeSafetyDistance: Extra flange length for die bending parts

  • tubeClampingLength: Length of tubes that cannot be used for nesting

Defined in module lib/generated/typeguard.ts:

function isSettingsTableKey(arg: unknown) : arg is SettingsTableKey;

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;

SheetUpperSideStrategy

Strategy for the selection of the initial upper side

Possible values:

  • preferUpwardBends: Prefer upward bends

  • preferDownwardBends: Prefer downward bends

  • preferConvexity: Prefer convexity

  • preferConcavity: Prefer concavity

Defined in module lib/generated/typeguard.ts:

function isSheetUpperSideStrategy(arg: unknown) : arg is SheetUpperSideStrategy;

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;

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;

TableMergeMode

Mode for merging input tables with the database

Possible values:

  • update: Update existing table rows

  • upsert: Update existing table rows or insert new rows

Defined in module lib/generated/typeguard.ts:

function isTableMergeMode(arg: unknown) : arg is TableMergeMode;

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

  • sheetCuttingProcess: Sheet cutting process

  • sheetCuttingProcessMapping: Tube cutting process mapping

  • sheetCuttingMotionParameters: Sheet cutting motion parameters

  • sheetCuttingProcessToLaserCuttingGas: Sheet cutting process to legacy laser sheet cutting gas mapping

  • purchasePartMaterial: Material of purchase parts

  • processConstraintsSheetMaterial: Sheet material constraint for a process

  • processConstraintsTubeMaterial: Tube material constraint for a process

  • processConstraintsPurchasePartMaterial: Purchase part material constraint for a process

  • consumable: User-defined consumables

  • processConsumableRate: Consumable rate per process

  • sheetCuttingProcessConsumableRate: Consumable rate per sheet cutting process

  • tubeCuttingProcessConsumableRate: Consumable rate per tube cutting process

  • sheetCuttingThicknessConstraints: Sheet cutting thickness constraints

Defined in module lib/generated/typeguard.ts:

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

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;

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;

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;

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;

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;

API documentation

Top-level functions

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

quit

Quit application

wsi4.quit(): void

Return values:

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:

throwError

Throw an exception and abort script execution

wsi4.throwError(message: string): never

Input parameters:

  • message String content of exception

Return values:

  • never

version

Get program version

wsi4.version(): ProgramVersion

Only meaningful in main script engine.

Return values:

  • ProgramVersion Program version

cad

CAD query functions

coreHoleDiameter

Get core hole diameter of a CadFeature

wsi4.cad.coreHoleDiameter(throughHole: CadThroughHole, part: CadPart): number

If feature and part are inconsistent, an error is thrown.

Input parameters:

  • throughHole A ThroughHole

  • part The associated CadPart

Return values:

  • number Core hole radius of the feature

features

Get CadFeatures of a CadPart

wsi4.cad.features(part: CadPart): (CadFeature)[]

Note: For now the Feature API is limited to sheet metal parts (i.e. not tubes). For an unsupported part the result will always be empty.

Input parameters:

  • part A CadPart

Return values:

  • (CadFeature)[] Features detected in part

thickness

Wall thickness of the Part (if meaningful)

wsi4.cad.thickness(part: CadPart): number

For a sheet metal part, this is the sheet’s thickness. For a tube part, this is the tube’s wall thickness.

Input parameters:

  • part The CadPart

Return values:

  • number Thickness

calc

Private API

sheetCuttingUnitTimePerPiece

Compute sheet cutting unit time via a virtual 2D cutting machine

wsi4.calc.sheetCuttingUnitTimePerPiece(vertex: Vertex, params: SheetCuttingCalcParams): number|undefined

Both cutting and engraving is considered. Travel times are estimated via a TSP optimization. Pre-condition: Associated node is of type sheetCutting.

Input parameters:

  • vertex Vertex of a sheetCutting node

  • params Additional parameters for the calculation

Return values:

  • number The unit time per piece [s]

  • undefined If the time cannot be computed

tubeCuttingUnitTimePerPiece

Compute sheet cutting unit time via a virtual 2D cutting machine

wsi4.calc.tubeCuttingUnitTimePerPiece(vertex: Vertex, params: TubeCuttingCalcParams): number|undefined

For now only cutting is considered, i.e. no engraving. Travel times are estimated via a TSP optimization. Pre-condition: Associated node is of type tubeCutting.

Input parameters:

  • vertex Vertex of a tubeCutting node

  • params Additional parameters for the calculation

Return values:

  • number The unit time per piece [s]

  • undefined If the time cannot be computed

cam.bend

Bend related functions

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)

dieAffectDistanceMap

Computes a map that contains the die affect distance for each bend

wsi4.cam.bend.dieAffectDistanceMap(dieChoiceMap: (DieChoiceMapEntry)[], bendLineDataMap: (BendLineData)[], thickness: number): (BendDieAffectDistanceEntry)[]

Input parameters:

  • dieChoiceMap The die choice map

  • bendLineDataMap The bend line data map

  • thickness The sheet thickness

Return values:

  • (BendDieAffectDistanceEntry)[] Maps a die affect distance to each bend

dieChoicesClose

Check closeness of two BendDieChoices

wsi4.cam.bend.dieChoicesClose(lhs: BendDieChoice, rhs: BendDieChoice): boolean

Input parameters:

  • lhs lhs

  • rhs rhs

Return values:

  • boolean True if lhs and rhs are close

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

maxLowerDieOpeningWidth

Compute the maximum opening width of the lower bend die

wsi4.cam.bend.maxLowerDieOpeningWidth(bendLineData: BendLineData, flangeLength: BendLineFlangeLength, extraFlangeLength: number): number

Input parameters:

  • bendLineData The BendLineData

  • flangeLength The BendLineFlangeLength

  • extraFlangeLength Additional flange length to consider

Return values:

  • number The maximum opening width for the lower bend die

selectDieGroups

Select die group combinations for a single bend

wsi4.cam.bend.selectDieGroups(query: DieSelectorQuery, innerRadius: number, sheetBendingMaterialId: string|undefined): (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:

  • query Constraints for die group selector

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

  • sheetBendingMaterialId Sheet bending material ID (if available)

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.

cam.nest2

2D nestor

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

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

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

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

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

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

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

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

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

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

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

addInnerOuterPolygonsToScene

Add all InnerOuterPolygons contained in twoDimRep to scene with style style and return the newly created Scene

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

Precondition: TwoDimRepresentation does correspond to a sheet metal part.

Input parameters:

  • scene The scene to add to

  • twoDimRep TwoDimRep holding the InnerOuterPolygons to add to scene

  • style Style for the InnerOuterPolygons

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

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

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

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

cuttingContourCount

Counts all cutting contours that are part of the TwoDimRepresentation

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

Precondition: TwoDimRepresentation does correspond to a sheet metal part.

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • number Number of cutting contours

cuttingContourLength

Computes the length of all cutting contours

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

Precondition: TwoDimRepresentation does correspond to a sheet metal part.

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • number Length of all cutting contours

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

extractInnerOuterPolygons

Get InnerOuterPolygons from a TwoDimRepresentation

wsi4.cam.util.extractInnerOuterPolygons(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

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

twoDimRepFromInnerOuterPolygon

Create TwoDimRepresentation from an InnerOuterPolygon

wsi4.cam.util.twoDimRepFromInnerOuterPolygon(innerOuterPolygon: InnerOuterPolygon): TwoDimRepresentation

Input parameters:

  • innerOuterPolygon The InnerOuterPolygon

Return values:

  • TwoDimRepresentation The generated TwoDimRepresentation

twoDimRepFromLayered

Create TwoDimRepresentation from a Layered

wsi4.cam.util.twoDimRepFromLayered(layered: Layered, cuttingLayers: readonly Readonly<number>[], engravingLayers: readonly Readonly<number>[], tolerance: number, scaleFactor: 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

  • scaleFactor Scale factor for creating TwoDimRepresentation

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

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

addRow

Add row to document

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

Input parameters:

  • row Document-Items to add

Return values:

clear

Clear current document

wsi4.documentCreator.clear(): void

Return values:

generateDocX

Replace table rows and entries in input docx file by placeholders

wsi4.documentCreator.generateDocX(input: ArrayBuffer, tables: (((DocXTableCell)[])[])[]): ArrayBuffer

If a placeholder is not found in input, we do not replace it. If placeholders are inside structures not representing a table, we return empty content.

Input parameters:

  • input Docx template where to replace entries

  • tables Tables to replace (rows are replaced with same style)

Return values:

  • ArrayBuffer Docx file

pdf

Generate PDF out of underlying document

wsi4.documentCreator.pdf(): ArrayBuffer

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

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

geo.assembly

Query information related to assemblies

asyncRenderIntoPng

Asynchronously create PNG representation of an Assembly

wsi4.geo.assembly.asyncRenderIntoPng(assembly: Assembly, camera: Camera3, resolution: Resolution): ArrayBufferFuture

Input parameters:

  • assembly Assembly PNG file content should be created for

  • camera Defines the view to render

  • resolution Resolution of png

Return values:

  • ArrayBufferFuture Future for PNG output representing assembly

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

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

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

coordinateSystem

Get an Assembly's coordinate system

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

Input parameters:

  • assembly An Assembly

Return values:

  • CoordinateSystem3 CoordinateSystem3

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 renderIntoPng() 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

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

gltf

Create glTF representation of an Assembly

wsi4.geo.assembly.gltf(assembly: Assembly, dracoRepresentation: DracoRepresentation, globalVendorData: StringIndexedInterface, nodeVendorDatas: readonly Readonly<GltfNodeVendorData>[]): 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.

Note that it is legal for dracoRepresentation to not contain Breps that occur (recursively) in assembly. An ideal call avoids this though and generates a complete DracoRepresentation well in advance to maximize parallelization.

Input parameters:

  • assembly Assembly glTF representation should be generated for

  • dracoRepresentation DracoRepresentation created for the Breps recursively contained in assembly

  • globalVendorData Globally accessible vendor-specific data to be included in the generated glTF representation

  • nodeVendorDatas Vendor-specific data to be associated with each node

Return values:

  • ArrayBuffer assembly in glTF binary (.glb) representation

name

Get an Assembly's name

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

Input parameters:

  • assembly An Assembly

Return values:

  • string Name of assembly

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

renderIntoPng

Create PNG representation of an Assembly

wsi4.geo.assembly.renderIntoPng(assembly: Assembly, camera: Camera3, resolution: Resolution): ArrayBuffer

Input parameters:

  • assembly Assembly PNG file content should be created for

  • camera Defines the view to render

  • resolution Resolution of png

Return values:

  • ArrayBuffer PNG output representing assembly

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

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

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

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

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

geo.brep

Query information related to breps

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

dracoRepresentation

Generate a DracoRepresentation for a given set of Breps

wsi4.geo.brep.dracoRepresentation(breps: (Brep)[]): DracoRepresentation

Since a DracoRepresentation contains futures, it makes sense to call this as early as possible before the return value is used.

Input parameters:

  • breps The Breps for which to generate a DracoRepresentation

Return values:

  • DracoRepresentation Generated DracoRepresentation containing futures for all supplied elements of breps

entityColor

Query an entity’s color

wsi4.geo.brep.entityColor(brep: Brep, descriptor: GeometryEntityDescriptor): Vector3

Input parameters:

  • brep The root Brep

  • descriptor Descriptor of the entity

Return values:

  • Vector3 Color of the entity

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

faces

Collects all GeometryEntitys that correspond to the Brep's faces

wsi4.geo.brep.faces(brep: Brep): (GeometryEntityDescriptor)[]

Input parameters:

  • brep The Brep

Return values:

  • (GeometryEntityDescriptor)[] GeometryEntitys corresponding to all faces of the Brep

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

geo.util

Geometry related utility functions

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

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

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

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

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

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

centroid

Compute centroid

wsi4.geo.util.centroid(polygon: Polygon): Point2

Input parameters:

  • polygon The Polygon

Return values:

  • Point2 Centroid of polygon

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

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

circumference

Get circumference of geometric object

wsi4.geo.util.circumference(geometricObject: Polygon): number

Input parameters:

  • geometricObject Geometric object

Return values:

  • number Circumference of object

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

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

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

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

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

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

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:

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

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

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

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

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

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

layerBoundingBox

Get axis-aligned bounding box of a layer

wsi4.geo.util.layerBoundingBox(layered: Layered, layerDescriptor: number): Box2

Input parameters:

  • layered The Layered of layer

  • layerDescriptor Descriptor of the layer

Return values:

  • Box2 The axis-aligned bounding box fo the layer

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

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

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

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

partiallyContained

Check if a path is partially contained in a polygon

wsi4.geo.util.partiallyContained(path: (Segment)[], polygon: Polygon): boolean

A path is partially contained in a polygon if at least one segment of the path is partially contained in a polygon. A segment is partially contained in a polygon if from or to are contained or it intersects the boundary proper. The path must be a continuous set of segments.

Input parameters:

  • path A path

  • polygon A polygon

Return values:

  • boolean True if path is partially contained in polygon

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

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

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

renderScene

Create DXF, SVG, or GEO from a Scene

wsi4.geo.util.renderScene(scene: Scene, fileType: FileType, renderSettings: RenderSceneSettings): ArrayBuffer

The viewBox of the settings is not used for DXF or GEO as of now

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

sceneBoundingBox

Get axis-aligned bounding box of Scene

wsi4.geo.util.sceneBoundingBox(scene: Scene): Box2

Input parameters:

  • scene The Scene

Return values:

  • Box2 Axis-aligned bounding box

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

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

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

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

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

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

graph

Read operations on the current 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

currentUuid

Get UUID of current graph

wsi4.graph.currentUuid(): string

UUID changes when docugraph is modified

Return values:

  • string UUID of the current graph

get

Get current graph

wsi4.graph.get(): DocumentGraph

Return values:

  • DocumentGraph The current DocumentGraph

isDeletableArticle

Check if the associated article can be deleted

wsi4.graph.isDeletableArticle(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the article

Return values:

  • boolean If the associated article can be deleted

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

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

semimanufacturedSourceShare

Compute the approximate share of a base component article that has a semimanufactured source article

wsi4.graph.semimanufacturedSourceShare(vertex: Vertex): number

Calling this function for an article that has no semimanufactured source is an error.

Input parameters:

  • vertex Vertex of a base component article that has a semimanufactured source

Return values:

  • number The approximate share of the associated article

serialize

Get serialization of graph

wsi4.graph.serialize(): ArrayBuffer

Return values:

  • ArrayBuffer Serialized version of current graph

serializeSubgraph

Creates serialization of the subgraph formed by vertex’s article and all reaching vertices.

wsi4.graph.serializeSubgraph(vertex: Vertex, userData: StringIndexedInterface): ArrayBuffer

Pre-condition: vertex’s article must provide an input Assembly. The resulting subgraph’s import node’s multiplicity is set to 1. In case a semimanufactured node reaches beyond the subgraph, it will be replaced by an empty node of the same type in the serialization.

Input parameters:

  • vertex A Vertex of the graph

  • userData UserData for the resulting subgraph

Return values:

  • ArrayBuffer Serialization of the resulting subgraph

serializeUndirectedConnectedComponent

Creates serialization of the subgraph formed by the associated undirected connected component

wsi4.graph.serializeUndirectedConnectedComponent(vertex: Vertex, userData: StringIndexedInterface): ArrayBuffer

The subgraph 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 subgraph

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

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

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

userData

Get userData of current graph

wsi4.graph.userData(): StringIndexedInterface

Return values:

  • StringIndexedInterface UserData of current graph

vertices

Get vertices of current graph

wsi4.graph.vertices(): (Vertex)[]

Return values:

  • (Vertex)[] Vertexs the current graph consists of

graphManipulator

Functions for manipulating the current graph

appendNode

Add a node by appending to an existing node

wsi4.graphManipulator.appendNode(source: Vertex, params: NewNodeParams): Vertex

The NodeUpdate’s type must be userDefined or transform, otherwise an error is thrown. The NodeUpdate’s articleUserData has no effect. If it is impossible to append a node at the submitted position, an error is thrown.

Input parameters:

  • source Source of the new Vertex

  • params Parameters for the new node

Return values:

  • Vertex The created vertex

applyUpdates
wsi4.graphManipulator.applyUpdates(nodeUpdates: (NodeUpdate)[], articleUpdates: (ArticleUpdate)[], sheetNestingPrePartitions: (SheetNestingPrePartition)[], tubeNestingPrePartition: (TubeNestingPrePartition)[]): void

Input parameters:

  • nodeUpdates Node update data

  • articleUpdates Article update data

  • sheetNestingPrePartitions Sheet nesting input

  • tubeNestingPrePartition Tube nesting input

Return values:

changeGraphUserData

Change user data of graph

wsi4.graphManipulator.changeGraphUserData(userData: StringIndexedInterface): void

Input parameters:

  • userData New UserData of graph

Return values:

changeImportMultiplicities

Change multiplicities of associated import nodes

wsi4.graphManipulator.changeImportMultiplicities(vertexData: readonly Readonly<VertexWithMultiplicity>[], sheetNestingPrePartitions: readonly Readonly<SheetNestingPrePartition>[], tubeNestingDistance: number): void

If any of the submitted nodes is not an import node, an error is thrown. If semimanufactured update info is missing for at least one associated node, an error is thrown.

Input parameters:

  • vertexData An array of data needed to change multiplicities of nodes

  • sheetNestingPrePartitions An array of data needed to update associated sheet nestings

  • tubeNestingDistance The tube nesting distance

Return values:

changeJoining

Set Joining of associated node to joining

wsi4.graphManipulator.changeJoining(vertex: Vertex, joining: Joining): void

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:

changeWorkStepTypes

Change WorkStepTypes for a set of nodes

wsi4.graphManipulator.changeWorkStepTypes(vertexData: readonly Readonly<VertexWithWorkStepType>[]): WorkStepTypeChangeResult

The result needs to be finalized. Typical use-cases are conversions to and from userDefinedBase. This function does not alter the underlying DocumentGraph regardless of the success of the operation .Available WorkStepTypes need to be queried in advance. A WorkStepType that cannot be applied is considered an error. In case changing of a WorkStepType fails unexpectedly (e.g. failed boolean operations) the result will be empty.

Input parameters:

  • vertexData An array of data needed to change WorkStepTypes

Return values:

  • WorkStepTypeChangeResult result

clear

Clear underlying graph

wsi4.graphManipulator.clear(): void

Return values:

clearUndoHistory

Clear the current undo history

wsi4.graphManipulator.clearUndoHistory(): boolean

Return values:

  • boolean true iff UndoHistory was cleared

createUserDefinedBaseNode
wsi4.graphManipulator.createUserDefinedBaseNode(processId: string, nodeUserData: StringIndexedInterface, articleUserData: StringIndexedInterface): Vertex

Input parameters:

  • processId ProcessId for the new node

  • nodeUserData Node UserData

  • articleUserData Article UserData

Return values:

  • Vertex Vertex of the new node

deleteArticles

Delete articles associated with vertices

wsi4.graphManipulator.deleteArticles(vertices: readonly Readonly<Vertex>[], sheetNestingPrePartitions: readonly Readonly<SheetNestingPrePartition>[]): boolean

If deletion of an article would result in an invalid graph, deletion is aborted.

Input parameters:

  • vertices An array of Vertex of the current graph

  • sheetNestingPrePartitions An array of data needed to recompute associated sheet nestings

Return values:

  • boolean True if all articles have been deleted

deleteNodes

Delete nodes associated with vertices

wsi4.graphManipulator.deleteNodes(vertices: readonly Readonly<Vertex>[]): void

Only nodes of type userDefined and transform can be deleted individually. All other non-semimanufactured nodes can only be removed by removing the entire article.

Input parameters:

  • vertices An array of Vertex of the current graph

Return values:

maxHistorySize

Query the current undo history limit

wsi4.graphManipulator.maxHistorySize(): number

Return values:

  • number Upper limit for redo/undo history

merge

Merge the submitted graph into the current graph

wsi4.graphManipulator.merge(graph: DocumentGraph): void

Input parameters:

  • graph The Graph to merge

Return values:

prependNode

Add a node by prepending to an existing node

wsi4.graphManipulator.prependNode(target: Vertex, params: NewNodeParams): Vertex

The NodeUpdate’s type must be userDefined or transform, otherwise an error is thrown. If it is impossible to append a node at the submitted position, an error is thrown.

Input parameters:

  • target Target of the new Vertex

  • params Parameters for the new node

Return values:

  • Vertex The created vertex

redo

Redo the last manipulation of graph

wsi4.graphManipulator.redo(): boolean

Return values:

  • boolean true if redo was successful

set

Replace current graph with submitted graph

wsi4.graphManipulator.set(graph: DocumentGraph): void

Input parameters:

  • graph The Graph to set

Return values:

setCommands

Set transform commands

wsi4.graphManipulator.setCommands(vertex: Vertex, commands: readonly Readonly<CamCommand>[]): void

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:

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

undo

Undo the last manipulation of graph

wsi4.graphManipulator.undo(): boolean

Return values:

  • boolean true if undo was successful

internal

defaultSettingsTableValue

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

wsi4.internal.defaultSettingsTableValue(key: SettingsTableKey): number|string

Input parameters:

  • key Settings table key

Return values:

  • number

  • string

emitGuiData

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

wsi4.internal.emitGuiData(guiData: PrivateGuiData): void

Input parameters:

  • guiData Gui data

Return values:

isCompatibleToNodeUserDatum

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

wsi4.internal.isCompatibleToNodeUserDatum(key: NodeUserDataKey, wst: WorkStepType, pt: ProcessType, isInitial: boolean): boolean

Input parameters:

  • key Key of a node UserData entry

  • wst The WorkStepType

  • pt The ProcessType

  • isInitial If the associated node is initial

Return values:

  • boolean

io.fs

Filesystem based input and output

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

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

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

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

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

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

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

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)

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

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

io.net.http

Network access via HTTP

del

HTTP DELETE request

wsi4.io.net.http.del(url: string): HttpReply

Input parameters:

  • url Request-URL

Return values:

  • HttpReply Result of the request

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

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

remove

Remove value from persistent settings storage

wsi4.io.settings.remove(key: string): void

key is case-insensitive

Input parameters:

  • key Key for the value in persistent settings storage

Return values:

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

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

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

system

Get system locale

wsi4.locale.system(): string

Return values:

  • string System locale

node

Read operations for a node in the graph

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

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

articleUserData

Get UserData for the associated article

wsi4.node.articleUserData(vertex: Vertex): StringIndexedInterface

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • StringIndexedInterface UserData for associated article

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

asyncBendMeasurementScenes

Get scenes displaying the technical drawings of bends for a Vertex asynchronously

wsi4.node.asyncBendMeasurementScenes(vertex: Vertex, fontSize: number, resolution: Resolution): MeasurementScenesFuture

Input parameters:

  • vertex A Vertex of the current graph

  • fontSize Size of measurements in px

  • resolution Resolution of techincal drawings

Return values:

  • MeasurementScenesFuture Future for an array of all possible technical drawings for the bends of the node associated with vertex

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

asyncProfileShadow

If part is a prism body (all bends are parallel) get the shadow of the profile

wsi4.node.asyncProfileShadow(vertex: Vertex): ProfileShadowFuture

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ProfileShadowFuture Future that returns the profile shadow (if any)

asyncScene

Async. computation of the 2D Scene

wsi4.node.asyncScene(vertex: Vertex, config: SceneConfig): SceneFuture

Input parameters:

  • vertex A Vertex of the graph

  • config Config for the Scene creation

Return values:

  • SceneFuture Future for the resulting Scene

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

bendLineSegmentsMap

Segments for each bend line (if any)

wsi4.node.bendLineSegmentsMap(vertex: Vertex): (BendLineSegmentsMapEntry)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (BendLineSegmentsMapEntry)[] Maps a BendDescriptor to an Array of segments

bendMeasurementScenes

Get scenes displaying the technical drawings of bends for a Vertex

wsi4.node.bendMeasurementScenes(vertex: Vertex, fontSize: number, resolution: Resolution): (MeasurementScene)[]

Input parameters:

  • vertex A Vertex of the current graph

  • fontSize Size of measurements in px

  • resolution Resolution of techincal drawings

Return values:

  • (MeasurementScene)[] An array of all possible technical drawings for the bends of the node associated with vertex

camReplyStateIndicators

Indicates cam processing state

wsi4.node.camReplyStateIndicators(vertex: Vertex): ReplyStateIndicatorMap

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ReplyStateIndicatorMap

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

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

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

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

dieChoiceAlternatives

For each bend a list of BendDieChoices sorted according how well the die combination fits the constructed bend is computed

wsi4.node.dieChoiceAlternatives(vertex: Vertex, sheetMaterialIdOverride: string|undefined): (DieChoiceAlternativesEntry)[]

By default the node’s underlying sheetMaterialId is used (if any). Precondition: Associated node is of type sheetCutting.

Input parameters:

  • vertex A Vertex of the graph

  • sheetMaterialIdOverride Override for sheetMaterialId

Return values:

  • (DieChoiceAlternativesEntry)[] BendDieChoice alternatives for each bend

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

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

editingState

Check if a node is based on 2D input

wsi4.node.editingState(vertex: Vertex): (NodeEditingStateEntry)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (NodeEditingStateEntry)[] Editing state of the associated node

findAssociatedSheet

Find a database sheet that matches the underlying nesting

wsi4.node.findAssociatedSheet(vertex: Vertex): Sheet|undefined

Precondition: Node is of type sheet. The lookup considers the nesting, sheetMaterial, sheet stock (if any), sheet priority (if any), and sheet filters (if any).

Input parameters:

  • vertex Vertex of a sheet node

Return values:

  • Sheet True if associated node is based on 2D input

  • undefined If there is no matching sheet in the database

findAssociatedTube

Find a database tube that matches the underlying nesting

wsi4.node.findAssociatedTube(vertex: Vertex): Tube|undefined

Precondition: Node is of type tube. The lookup considers the nesting, tubeMaterial, tubeSpecification, tube stock (if any), and clamping length (if any).

Input parameters:

  • vertex Vertex of a tube node

Return values:

  • Tube True if associated node is based on 2D input

  • undefined If there is no matching tube in the database

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

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

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

hasTwoDimInput

Check if a node is based on 2D input

wsi4.node.hasTwoDimInput(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean True if associated node is based on 2D input

importId

Get the import ID for an import node

wsi4.node.importId(vertex: Vertex): string|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • string The import ID

  • undefined If there is no importId

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

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

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

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

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

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

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

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

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

part

Associated node’s layered (if any)

wsi4.node.part(vertex: Vertex): undefined|CadPart

Input parameters:

  • vertex A profile Vertex of the current graph

Return values:

  • undefined If there is no Part for the associated node

  • CadPart The Part (if any)

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

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

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.

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

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

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

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

twoDimProjection

Project feature onto the current 2D representation

wsi4.node.twoDimProjection(vertex: Vertex, feature: CadFeature): (Segment)[]

Input parameters:

  • vertex A profile Vertex of the current graph

  • feature A feature of part

Return values:

  • (Segment)[] The projection of the feature

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

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

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

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

violatedConstraints

Check if a node is based on 2D input

wsi4.node.violatedConstraints(vertex: Vertex): (ViolatedNodeConstraint)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (ViolatedNodeConstraint)[] List of violated constraints

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

sharedData

Read / write data that is submitted to script hooks

positionalArguments

Return positional arguments

wsi4.sharedData.positionalArguments(): (string)[]

Return values:

  • (string)[] Strings submitted as positional command line arguments

read

Return current data object

wsi4.sharedData.read(): StringIndexedInterface

Return values:

  • StringIndexedInterface Shared data Object

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

write

Write shared data Object

wsi4.sharedData.write(data: StringIndexedInterface): void

Input parameters:

  • data An Object

Return values:

sl.graph

Stateless graph API

article
wsi4.sl.graph.article(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (SlVertex)[]

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • (SlVertex)[] vertex's article

articles
wsi4.sl.graph.articles(graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): ((SlVertex)[])[]

Input parameters:

  • graph A graph

Return values:

  • ((SlVertex)[])[] Articles the graph consists of

create
wsi4.sl.graph.create(input: readonly Readonly<GraphCreatorInput>[], config: CadImportConfig): PreDocumentGraph

Input parameters:

  • input Input for a new PreDocumentGraph

  • config Configuration for the underlying DocumentGraphCreator

Return values:

  • PreDocumentGraph The resulting pre-graph

deserialize
wsi4.sl.graph.deserialize(data: ArrayBuffer): GraphDeserializationResult

Input parameters:

  • data A serialized DocumentGraph

Return values:

  • GraphDeserializationResult The imported graph

dump

Dump the submitted graph

wsi4.sl.graph.dump(graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): string

Debug-only

Input parameters:

  • graph A graph

Return values:

  • string The dumped graph

finalizeImportedGraph
wsi4.sl.graph.finalizeImportedGraph(graph: ImportedDocumentGraph, nodeUpdates: (SlNodeUpdate)[], articleUpdates: (SlArticleUpdate)[], sheetNestingPrePartition: (SlSheetNestingPrePartition)[], tubeNestingPrePartition: (SlTubeNestingPrePartition)[], importId: string): DocumentGraph

Input parameters:

  • graph An imported graph

  • nodeUpdates Node update data

  • articleUpdates Article update data

  • sheetNestingPrePartition Sheet nesting input

  • tubeNestingPrePartition Tube nesting input

  • importId ImportId to apply to the imported graph

Return values:

  • DocumentGraph The updated graph

finalizePreGraph
wsi4.sl.graph.finalizePreGraph(graph: PreDocumentGraph, nodeUpdates: (SlNodeUpdate)[], articleUpdates: (SlArticleUpdate)[], sheetNestingPrePartition: (SlSheetNestingPrePartition)[], tubeNestingPrePartition: (SlTubeNestingPrePartition)[]): DocumentGraph

Input parameters:

  • graph A pre-graph

  • nodeUpdates Node update data

  • articleUpdates Article update data

  • sheetNestingPrePartition Sheet nesting input

  • tubeNestingPrePartition Tube nesting input

Return values:

  • DocumentGraph The updated graph

mergePreGraph
wsi4.sl.graph.mergePreGraph(graphToMergeInto: PreDocumentGraph|DocumentGraph, preGraph: PreDocumentGraph): PreDocumentGraph

Input parameters:

  • graphToMergeInto The graph to merge into

  • preGraph A pre-graph

Return values:

  • PreDocumentGraph The resulting pre-graph

reachable
wsi4.sl.graph.reachable(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (SlVertex)[]

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • (SlVertex)[] Reachable vertices w.r.t. vertex

reaching
wsi4.sl.graph.reaching(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (SlVertex)[]

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • (SlVertex)[] Reaching vertices w.r.t. vertex

sources
wsi4.sl.graph.sources(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (SlVertex)[]

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • (SlVertex)[] Sources of vertex

targets
wsi4.sl.graph.targets(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (SlVertex)[]

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • (SlVertex)[] Targets of vertex

vertices
wsi4.sl.graph.vertices(graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (SlVertex)[]

Input parameters:

  • graph A graph

Return values:

  • (SlVertex)[] Vertexs the graph consists of

sl.node

Stateless graph API

articleUserData

Query an article’s UserData

wsi4.sl.node.articleUserData(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): StringIndexedInterface

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • StringIndexedInterface The associated node’s UserData

assembly
wsi4.sl.node.assembly(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): Assembly|undefined

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • Assembly The generated Assembly

  • undefined If there is no generated Assembly

bendLineData

Compute BendLineDatas for the associated node

wsi4.sl.node.bendLineData(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (BendLineData)[]

BendLineData is available for both sheetBending nodes and sheetCoutting source nodes of sheetBending nodes.

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • (BendLineData)[] One BendLineData for each bend line present

bendLineFlangeLengths

Get BendLineFlangeLength for the node associated to a vertex

wsi4.sl.node.bendLineFlangeLengths(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (BendLineFlangeLength)[]

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 graph

  • graph A graph

Return values:

  • (BendLineFlangeLength)[] One BendLineFlangeLength for each bend line present

dieChoiceAlternatives

For each bend a list of BendDieChoices sorted according how well the die combination fits the constructed bend is computed

wsi4.sl.node.dieChoiceAlternatives(vertex: SlVertex, sheetMaterialIdOverride: string|undefined, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): (DieChoiceAlternativesEntry)[]

By default the node’s underlying sheetMaterialId is used (if any). Precondition: Associated node is of type sheetCutting.

Input parameters:

  • vertex A Vertex of the graph

  • sheetMaterialIdOverride Override for sheetMaterialId

  • graph A graph

Return values:

  • (DieChoiceAlternativesEntry)[] BendDieChoice alternatives for each bend

dump

Dump the submitted graph

wsi4.sl.node.dump(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): string

Debug-only

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • string The dumped graph

importId

Get the import ID for an import node

wsi4.sl.node.importId(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): string|undefined

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • string The import ID

  • undefined If there is no importId

inputAssembly
wsi4.sl.node.inputAssembly(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): Assembly|undefined

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • Assembly The input Assembly

  • undefined If there is no input Assembly

multiplicity
wsi4.sl.node.multiplicity(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): number

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • number Multiplicity of the associated node

nodeUserData

Query a node’s UserData

wsi4.sl.node.nodeUserData(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): StringIndexedInterface

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • StringIndexedInterface The associated node’s UserData

part
wsi4.sl.node.part(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): CadPart

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • CadPart The associated Part

processId

Query an article’s Process ID

wsi4.sl.node.processId(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): string

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • string The associated node’s Process ID

processType

Query an article’s ProcessType

wsi4.sl.node.processType(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): ProcessType

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • ProcessType The associated node’s ProcessType

profileExtrusionLength

Extrusion length of a tube cutting node

wsi4.sl.node.profileExtrusionLength(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): 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 Vertex of the graph

  • graph A graph

Return values:

  • number Extrusion length of the associated profile geometry

rootId
wsi4.sl.node.rootId(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): GraphNodeRootId

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • GraphNodeRootId Root ID of the associated node

tubeProfileGeometry

Return the associated node’s tube profile geometry

wsi4.sl.node.tubeProfileGeometry(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): TubeProfileGeometry|undefined

Calling this function is only meaningful for tube-related nodes.

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • TubeProfileGeometry The associated tube profile geometry (if any)

  • undefined If no tube profile geometry is available

twoDimRep
wsi4.sl.node.twoDimRep(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): undefined|TwoDimRepresentation

In case of a pre-graph the TwoDimRep does not entail any bend deductions.

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • undefined If there is no TwoDimRep

  • TwoDimRepresentation The TwoDimRepresentation

vertexFromNodeId
wsi4.sl.node.vertexFromNodeId(nodeId: GraphNodeId, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): SlVertex|undefined

Input parameters:

  • nodeId A Node ID of the graph

  • graph A graph

Return values:

  • SlVertex Vertex of the associated node

  • undefined If there is no node with this ID

vertexFromRootId
wsi4.sl.node.vertexFromRootId(rootId: GraphNodeRootId, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): SlVertex|undefined

Input parameters:

  • rootId A Root ID of the graph

  • graph A graph

Return values:

  • SlVertex Vertex of the associated node

  • undefined If there is no node with this ID

workStepType
wsi4.sl.node.workStepType(vertex: SlVertex, graph: PreDocumentGraph|ImportedDocumentGraph|DocumentGraph): WorkStepType

Input parameters:

  • vertex A Vertex of the graph

  • graph A graph

Return values:

  • WorkStepType WorkStepType of the associated node

tables

Read operation on the user tables

commit

Write internal tables to database

wsi4.tables.commit(): void

Note: If internal tables are unchanged, the database is not updated.

Return values:

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)[]

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

isExternalTable

Returns true if table is set as external table

wsi4.tables.isExternalTable(type: TableType): boolean

Input parameters:

  • type Table type

Return values:

  • boolean

isInternalTable

Returns true if table is set as internal table

wsi4.tables.isInternalTable(type: TableType): boolean

Input parameters:

  • type Table type

Return values:

  • boolean

mergeIntoInternalTables

Merge a set of tables into internal tables

wsi4.tables.mergeIntoInternalTables(anyTables: (AnyTable)[], mergeMode: TableMergeMode): void

The tables submitted must conform to the associated UserTable’s interface.

All unmatched existing table rows are preserved. In 'update' mode all unmatched input table rows are discarded.

Postcondition: All tables are set as 'internal' regardless of the previous state.

Input parameters:

  • anyTables The tables to merge

  • mergeMode The merge mode

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

parseJson

Load table from JSON string

wsi4.tables.parseJson(tableType: TableType, json: string): undefined|AnyTable

If successful, then the result’s type is guaranteed to be consistent with the input type. This function utilizes QVariantInputArchive’s archive versioning.

Input parameters:

  • tableType The table type

  • json The JSON to parse

Return values:

  • undefined

  • AnyTable

permissions

Database permissions for currently active license and account

wsi4.tables.permissions(): DatabasePermissions

Return values:

  • DatabasePermissions

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

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.

Postcondition: The table is set as 'external' regardless of the previous state.

Input parameters:

  • anyTable Table to set

Return values:

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.

Postcondition: The table is set as 'internal' regardless of the previous state.

Input parameters:

  • anyTable Table to set

Return values:

toJson

Create (versioned) JSON serialization

wsi4.tables.toJson(tableType: TableType): string

This function utilizes QVariantOutputArchive’s archive versioning.

Input parameters:

  • tableType The table type

Return values:

  • string

ui

Request data via ui

openFile

Open local file

wsi4.ui.openFile(filePath: string): void

Input parameters:

  • filePath Local file path

Return values:

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

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

compress

Compress ArrayBuffer with zlib/Deflate

wsi4.util.compress(data: ArrayBuffer): ArrayBuffer

Input parameters:

  • data Bytes to compress

Return values:

  • ArrayBuffer Compressed 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

createUuid

Generate a UUID

wsi4.util.createUuid(): string

Return values:

  • string The generated UUID

error

Print error message

wsi4.util.error(message: string): void

Input parameters:

  • message Message to show

Return values:

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

getFutureResult

Access result of a future

wsi4.util.getFutureResult(future: ArrayBufferFuture|MeasurementScenesFuture|BooleanFuture|PolygonFuture|Nest3ResultFuture|TwoDimRepOptionalFuture|ProfileShadowFuture|SceneFuture): ArrayBuffer|(MeasurementScene)[]|boolean|Polygon|(Nest3ResultBox)[]|TwoDimRepresentation|ProfileShadow|Scene

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

  • ProfileShadow Result of a ProfileShadow future

  • Scene Result of a Scene future

info

Print info message

wsi4.util.info(message: string): void

Input parameters:

  • message Message to show

Return values:

isDebug

Get debug mode

wsi4.util.isDebug(): boolean

Return values:

  • boolean True if debug mode is on

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

programInfo

Get program information

wsi4.util.programInfo(): string

Return values:

  • string Name and current version

setDebug

Set debug mode

wsi4.util.setDebug(debugOn: boolean): void

Input parameters:

  • debugOn True if debug mode should be on

Return values:

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

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

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

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

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

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

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

uncompress

Extract zlib/Deflate compressed ArrayBuffer

wsi4.util.uncompress(data: ArrayBuffer): ArrayBuffer

Input parameters:

  • data Bytes to uncompress

Return values:

  • ArrayBuffer Uncompressed bytes

warn

Print warning message

wsi4.util.warn(message: string): void

Input parameters:

  • message Message to show

Return values:

Table documentation

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 for the first element.

Current serialization version: 1

Example:
[
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "serialization_version": 1,
        "sheetMaterialId": "1.0038"
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.4301",
        "sheetMaterialId": "1.4301"
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "sheetMaterialId": "QStE380TM"
    },
    {
        "automaticMechanicalDeburringMaterialId": "AlMg3",
        "sheetMaterialId": "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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "maxDimY": 2000,
        "serialization_version": 0,
        "speed": 2,
        "unitTimeBase": 0.25
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.4301",
        "maxDimY": 2000,
        "speed": 1.8,
        "unitTimeBase": 0.25
    },
    {
        "automaticMechanicalDeburringMaterialId": "AlMg3",
        "maxDimY": 2000,
        "speed": 3,
        "unitTimeBase": 0.25
    }
]

Consumables

Table type:

consumable

Data interface:

Consumable

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

unit

Unit

false

-

costsPerUnit

Costs per unit

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

processConsumableRate

consumableId

sheetCuttingProcessConsumableRate

consumableId

tubeCuttingProcessConsumableRate

consumableId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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

sheetCuttingProcessToLaserCuttingGas

laserSheetCuttingGasId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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 for the first element.

Current serialization version: 1

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 for the first element.

Current serialization version: 1

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 for the first element.

Current serialization version: 1

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 for the first element.

Current serialization version: 2

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 for the first element.

Current serialization version: 1

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 for the first element.

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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "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,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    }
]

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

-

priority

Priority

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

sheetCuttingProcessMapping

processId

processConstraintsSheetMaterial

processId

processConstraintsTubeMaterial

processId

processConstraintsPurchasePartMaterial

processId

processConsumableRate

processId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 2

Example:
[
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "manufacturing",
        "name": "Manufacturing Process",
        "parentIdentifier": "",
        "priority": 0,
        "serialization_version": 2,
        "type": "manufacturing"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "forming",
        "name": "Forming",
        "parentIdentifier": "manufacturing",
        "priority": 0,
        "type": "forming"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "bend-forming",
        "name": "Bend Forming",
        "parentIdentifier": "forming",
        "priority": 0,
        "type": "bendForming"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "sheet-bending",
        "name": "Sheet Bending",
        "parentIdentifier": "bend-forming",
        "priority": 0,
        "type": "sheetBending"
    },
    {
        "active": true,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "die-bending",
        "name": "Die Bending",
        "parentIdentifier": "sheet-bending",
        "priority": 0,
        "type": "dieBending"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "sheet-metal-folding",
        "name": "Sheet Metal Folding",
        "parentIdentifier": "sheet-bending",
        "priority": 0,
        "type": "sheetMetalFolding"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "cutting",
        "name": "Cutting",
        "parentIdentifier": "manufacturing",
        "priority": 0,
        "type": "cutting"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "removal-operation",
        "name": "Removal",
        "parentIdentifier": "cutting",
        "priority": 0,
        "type": "removalOperation"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "sheet-cutting",
        "name": "Sheet cutting",
        "parentIdentifier": "removal-operation",
        "priority": 0,
        "type": "sheetCutting"
    },
    {
        "active": false,
        "childrenActive": true,
        "costCenter": "",
        "description": "",
        "identifier": "laser-sheet-cutting",
        "name": "Laser cutting",
        "parentIdentifier": "sheet-cutting",
        "priority": 0,
        "type": "laserSheetCutting"
    }
]

Processes - Consumable rates

Table type:

processConsumableRate

Data interface:

ProcessConsumableRate

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

consumableId

Consumables

true

consumable / identifier

unitsPerHour

Units [1 / h]

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 1

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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 for the first element.

Current serialization version: 0

Example:
[
    {
        "processId": "commissioning",
        "rate": 60,
        "serialization_version": 0
    },
    {
        "processId": "milling",
        "rate": 85
    },
    {
        "processId": "threading",
        "rate": 70
    },
    {
        "processId": "user-defined-machining",
        "rate": 80
    },
    {
        "processId": "user-defined-threading",
        "rate": 80
    },
    {
        "processId": "user-defined-countersinking",
        "rate": 80
    },
    {
        "processId": "mechanical-deburring",
        "rate": 65
    },
    {
        "processId": "automatic-mechanical-deburring",
        "rate": 55
    },
    {
        "processId": "manual-mechanical-deburring",
        "rate": 65
    },
    {
        "processId": "cleaning",
        "rate": 60
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Processes - Purchase part constraints

Table type:

processConstraintsPurchasePartMaterial

Data interface:

ProcessConstraintsPurchasePartMaterial

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

purchasePartMaterialId

Purchase part material

true

purchasePartMaterial / identifier

isAllowed

Allowed

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current 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 for the first element.

Current serialization version: 0

Example:
[
    {
        "processId": "commissioning",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "milling",
        "time": 15
    },
    {
        "processId": "threading",
        "time": 5
    },
    {
        "processId": "user-defined-machining",
        "time": 10
    },
    {
        "processId": "user-defined-threading",
        "time": 10
    },
    {
        "processId": "user-defined-countersinking",
        "time": 10
    },
    {
        "processId": "mechanical-deburring",
        "time": 5
    },
    {
        "processId": "automatic-mechanical-deburring",
        "time": 1
    },
    {
        "processId": "manual-mechanical-deburring",
        "time": 5
    },
    {
        "processId": "spray-painting",
        "time": 30
    }
]

Processes - Sheet material constraints

Table type:

processConstraintsSheetMaterial

Data interface:

ProcessConstraintsSheetMaterial

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

isAllowed

Allowed

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Processes - Tube material constraints

Table type:

processConstraintsTubeMaterial

Data interface:

ProcessConstraintsTubeMaterial

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

tubeMaterialId

Tubes - Material

true

tubeMaterial / identifier

isAllowed

Allowed

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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 for the first element.

Current serialization version: 0

Example:
[
    {
        "processId": "user-defined-machining",
        "serialization_version": 0,
        "time": 0.5
    },
    {
        "processId": "user-defined-threading",
        "time": 0.2
    },
    {
        "processId": "user-defined-countersinking",
        "time": 0.2
    },
    {
        "processId": "slide-grinding",
        "time": 1
    }
]

Purchase part material

Table type:

purchasePartMaterial

Data interface:

PurchasePartMaterial

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

density

Density [kg / m³]

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

processConstraintsPurchasePartMaterial

purchasePartMaterialId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "density": 7850,
        "description": "",
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "density": 7900,
        "description": "",
        "identifier": "1.4301",
        "name": "1.4301"
    },
    {
        "density": 2660,
        "description": "",
        "identifier": "AlMg3",
        "name": "AlMg3"
    }
]

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 for the first element.

Current serialization version: 1

Example:
[
    {
        "coreHoleDiameter": 2.5,
        "identifier": "m3",
        "minDepth": 1.5,
        "name": "M3",
        "serialization_version": 1,
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 3.3,
        "identifier": "m4",
        "minDepth": 2.0999999999999996,
        "name": "M4",
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 4.2,
        "identifier": "m5",
        "minDepth": 2.4000000000000004,
        "name": "M5",
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 5,
        "identifier": "m6",
        "minDepth": 3,
        "name": "M6",
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 6.8,
        "identifier": "m8",
        "minDepth": 3.75,
        "name": "M8",
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 8.5,
        "identifier": "m10",
        "minDepth": 4.5,
        "name": "M10",
        "symmetricTolerance": 0.01
    },
    {
        "coreHoleDiameter": 10.2,
        "identifier": "m12",
        "minDepth": 5.25,
        "name": "M12",
        "symmetricTolerance": 0.01
    }
]

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 for the first element.

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",
        "sharpDeduction": -0.125,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 34.19,
        "innerRadius": 1.9,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.215,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 46.18,
        "innerRadius": 1.4,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.325,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 57.68,
        "innerRadius": 1.1,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.457,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 67.25,
        "innerRadius": 0.9,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.592,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 73.19,
        "innerRadius": 0.8,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.683,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 83.4,
        "innerRadius": 0.7,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.903,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 90,
        "innerRadius": 0.7,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -1.095,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    },
    {
        "bendAngle": 94.48,
        "innerRadius": 0.6,
        "lowerDieGroupId": "Trumpf_EVG04W30",
        "sharpDeduction": -0.896,
        "sheetBendingMaterialId": "1.0038",
        "thickness": 0.5,
        "upperDieGroupId": "Trumpf_OWR0.5"
    }
]

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 for the first element.

Current serialization version: 1

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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 for the first element.

Current serialization version: 1

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 for the first element.

Current serialization version: 0

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 for the first element.

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
    },
    {
        "exportIdentifier": "EV001 W6/30 R0.6",
        "identifier": "Trumpf_EVG06W30",
        "name": "Trumpf_EVG06W30",
        "openingWidth": 6
    },
    {
        "exportIdentifier": "EV002 W8/30 R1",
        "identifier": "Trumpf_EVG08W30",
        "name": "Trumpf_EVG08W30",
        "openingWidth": 8
    },
    {
        "exportIdentifier": "EV003 W10/30 R1",
        "identifier": "Trumpf_EVG10W30",
        "name": "Trumpf_EVG10W30",
        "openingWidth": 10
    },
    {
        "exportIdentifier": "EV004 W12/30 R1",
        "identifier": "Trumpf_EVG12W30",
        "name": "Trumpf_EVG12W30",
        "openingWidth": 12
    },
    {
        "exportIdentifier": "EV005 W16/30 R1.6",
        "identifier": "Trumpf_EVG16W30",
        "name": "Trumpf_EVG16W30",
        "openingWidth": 16
    },
    {
        "exportIdentifier": "EV006 W20/30 R2",
        "identifier": "Trumpf_EVG20W30",
        "name": "Trumpf_EVG20W30",
        "openingWidth": 20
    },
    {
        "exportIdentifier": "EV007 W24/30 R2.5",
        "identifier": "Trumpf_EVG24W30",
        "name": "Trumpf_EVG24W30",
        "openingWidth": 24
    },
    {
        "exportIdentifier": "EV027 W30/86 R3",
        "identifier": "Trumpf_EVG30W30",
        "name": "Trumpf_EVG30W30",
        "openingWidth": 30
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current 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 for the first element.

Current serialization version: 0

Example:
[
    {
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "identifier": "1.4301",
        "name": "1.4301"
    },
    {
        "identifier": "QStE380TM",
        "name": "QStE380TM"
    },
    {
        "identifier": "AlMg3",
        "name": "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 for the first element.

Current serialization version: 1

Example:
[
    {
        "serialization_version": 1,
        "sheetBendingMaterialId": "1.0038",
        "sheetMaterialId": "1.0038"
    },
    {
        "sheetBendingMaterialId": "1.4301",
        "sheetMaterialId": "1.4301"
    },
    {
        "sheetBendingMaterialId": "QStE380TM",
        "sheetMaterialId": "QStE380TM"
    },
    {
        "sheetBendingMaterialId": "AlMg3",
        "sheetMaterialId": "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 for the first element.

Current serialization version: 1

Example:
[
    {
        "mass": 1.5,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 0.8,
        "unitTime": 0,
        "unitTimePerBend": 0.2
    },
    {
        "mass": 3,
        "setupTime": 8,
        "setupTimePerBend": 1,
        "unitTime": 0,
        "unitTimePerBend": 0.3
    },
    {
        "mass": 7,
        "setupTime": 8,
        "setupTimePerBend": 1.5,
        "unitTime": 0,
        "unitTimePerBend": 0.6
    },
    {
        "mass": 10,
        "setupTime": 8,
        "setupTimePerBend": 2,
        "unitTime": 0,
        "unitTimePerBend": 0.75
    },
    {
        "mass": 15,
        "setupTime": 8,
        "setupTimePerBend": 3,
        "unitTime": 0,
        "unitTimePerBend": 1.2
    },
    {
        "mass": 20,
        "setupTime": 8,
        "setupTimePerBend": 5,
        "unitTime": 0,
        "unitTimePerBend": 2
    },
    {
        "mass": 30,
        "setupTime": 8,
        "setupTimePerBend": 7,
        "unitTime": 0,
        "unitTimePerBend": 2.5
    },
    {
        "mass": 40,
        "setupTime": 8,
        "setupTimePerBend": 10,
        "unitTime": 0,
        "unitTimePerBend": 5
    },
    {
        "mass": 60,
        "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 for the first element.

Current serialization version: 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 for the first element.

Current serialization version: 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 for the first element.

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
    },
    {
        "exportIdentifier": "OW200/K R2/86 H119.2",
        "identifier": "Trumpf_OWR2.0",
        "name": "Trumpf_OWR2.0",
        "radius": 2
    },
    {
        "exportIdentifier": "OW200/K R2.3/86 H119",
        "identifier": "Trumpf_OWR2.3",
        "name": "Trumpf_OWR2.3",
        "radius": 2.3
    },
    {
        "exportIdentifier": "OW200/K R3/86 H118.7",
        "identifier": "Trumpf_OWR3.0",
        "name": "Trumpf_OWR3.0",
        "radius": 3
    },
    {
        "exportIdentifier": "OW203/K R4/60 H120",
        "identifier": "Trumpf_OWR4.0",
        "name": "Trumpf_OWR4.0",
        "radius": 4
    },
    {
        "exportIdentifier": "OW203/K R5/60 H118.8",
        "identifier": "Trumpf_OWR5.0",
        "name": "Trumpf_OWR5.0",
        "radius": 5
    },
    {
        "exportIdentifier": "OW203/K R6/60 H117.6",
        "identifier": "Trumpf_OWR6.0",
        "name": "Trumpf_OWR6.0",
        "radius": 6
    },
    {
        "exportIdentifier": "",
        "identifier": "Trumpf_OWR8.0",
        "name": "Trumpf_OWR8.0",
        "radius": 8
    },
    {
        "exportIdentifier": "R10",
        "identifier": "Trumpf_OWR10.0",
        "name": "Trumpf_OWR10.0",
        "radius": 10
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Sheet cutting - Consumable rates

Table type:

sheetCuttingProcessConsumableRate

Data interface:

SheetCuttingProcessConsumableRate

Meta data:
Column key Header Unique Referred table / column

sheetCuttingProcessId

Sheet cutting - Process

true

sheetCuttingProcess / identifier

consumableId

Consumables

true

consumable / identifier

thickness

Sheet metal thickness [mm]

true

-

unitsPerHour

Units [1 / h]

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Sheet cutting - Cutting gas mapping

Table type:

sheetCuttingProcessToLaserCuttingGas

Data interface:

SheetCuttingProcessToLaserCuttingGas

Meta data:
Column key Header Unique Referred table / column

sheetCuttingProcessId

Sheet cutting - Process

true

sheetCuttingProcess / identifier

laserSheetCuttingGasId

Cutting Gas

false

laserSheetCuttingGas / identifier

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

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 for the first element.

Current serialization version: 0

Sheet cutting - Motion parameters

Table type:

sheetCuttingMotionParameters

Data interface:

SheetCuttingMotionParameters

Meta data:
Column key Header Unique Referred table / column

sheetCuttingProcessId

Sheet cutting - Process

true

sheetCuttingProcess / identifier

thickness

Sheet metal thickness [mm]

true

-

contourArea

Area [mm²]

true

-

speed

Speed [m / min]

false

-

acceleration

Acceleration [m / s²]

false

-

pierceTime

Pierce time [s]

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "acceleration": 10,
        "contourArea": 0.8,
        "pierceTime": 0.15,
        "serialization_version": 0,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 15,
        "thickness": 1
    },
    {
        "acceleration": 10,
        "contourArea": 0.5,
        "pierceTime": 0.15,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 7.5,
        "thickness": 1
    },
    {
        "acceleration": 10,
        "contourArea": 0.2,
        "pierceTime": 0.3,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 3.75,
        "thickness": 1
    },
    {
        "acceleration": 10,
        "contourArea": 1.8,
        "pierceTime": 0.18,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 12,
        "thickness": 1.5
    },
    {
        "acceleration": 10,
        "contourArea": 1.2,
        "pierceTime": 0.18,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 6,
        "thickness": 1.5
    },
    {
        "acceleration": 10,
        "contourArea": 0.4,
        "pierceTime": 0.36,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 3,
        "thickness": 1.5
    },
    {
        "acceleration": 10,
        "contourArea": 3.1,
        "pierceTime": 0.15,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 38,
        "thickness": 2
    },
    {
        "acceleration": 10,
        "contourArea": 2.2,
        "pierceTime": 0.15,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 19,
        "thickness": 2
    },
    {
        "acceleration": 10,
        "contourArea": 0.8,
        "pierceTime": 0.3,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 9.5,
        "thickness": 2
    },
    {
        "acceleration": 10,
        "contourArea": 4.9,
        "pierceTime": 0.22,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "speed": 8,
        "thickness": 2.5
    }
]

Sheet cutting - Process

Table type:

sheetCuttingProcess

Data interface:

SheetCuttingProcess

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

sheetCuttingProcessMapping

sheetCuttingProcessId

sheetCuttingMotionParameters

sheetCuttingProcessId

sheetCuttingProcessToLaserCuttingGas

sheetCuttingProcessId

sheetCuttingProcessConsumableRate

sheetCuttingProcessId

sheetCuttingThicknessConstraints

sheetCuttingProcessId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "identifier": "laser-cutting-fiber-o2-1.0038",
        "name": "Fiber Laser cutting 1.0038 O₂",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "laser-cutting-fiber-n2-1.0038",
        "name": "Fiber Laser cutting 1.0038 N₂"
    },
    {
        "description": "",
        "identifier": "laser-cutting-fiber-n2-1.4301",
        "name": "Fiber Laser cutting 1.4301 N₂"
    },
    {
        "description": "",
        "identifier": "laser-cutting-fiber-n2-almg3",
        "name": "Fiber Laser cutting AlMg3 N₂"
    },
    {
        "description": "",
        "identifier": "laser-cutting-co2-o2-1.0038",
        "name": "CO₂ Laser cutting 1.0038 O₂"
    },
    {
        "description": "",
        "identifier": "laser-cutting-co2-n2-1.0038",
        "name": "CO₂ Laser cutting 1.0038 N₂"
    },
    {
        "description": "",
        "identifier": "laser-cutting-co2-n2-1.4301",
        "name": "CO₂ Laser cutting 1.4301 N₂"
    },
    {
        "description": "",
        "identifier": "laser-cutting-co2-n2-almg3",
        "name": "CO₂ Laser cutting AlMg3 N₂"
    },
    {
        "description": "",
        "identifier": "plasma-cutting",
        "name": "Plasma cutting"
    }
]

Sheet cutting - Process mapping

Table type:

sheetCuttingProcessMapping

Data interface:

SheetCuttingProcessMapping

Meta data:
Column key Header Unique Referred table / column

processId

Process

true

process / identifier

sheetMaterialId

Sheet - Material

true

sheetMaterial / identifier

sheetCuttingProcessId

Sheet cutting - Process

false

sheetCuttingProcess / identifier

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "processId": "laser-sheet-cutting-fiber-o2",
        "serialization_version": 0,
        "sheetCuttingProcessId": "laser-cutting-fiber-o2-1.0038",
        "sheetMaterialId": "1.0038"
    },
    {
        "processId": "laser-sheet-cutting-fiber-n2",
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "sheetMaterialId": "1.0038"
    },
    {
        "processId": "laser-sheet-cutting-fiber-o2",
        "sheetCuttingProcessId": "laser-cutting-fiber-o2-1.0038",
        "sheetMaterialId": "QStE380TM"
    },
    {
        "processId": "laser-sheet-cutting-fiber-n2",
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038",
        "sheetMaterialId": "QStE380TM"
    },
    {
        "processId": "laser-sheet-cutting-fiber-n2",
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.4301",
        "sheetMaterialId": "1.4301"
    },
    {
        "processId": "laser-sheet-cutting-fiber-n2",
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-almg3",
        "sheetMaterialId": "AlMg3"
    },
    {
        "processId": "laser-sheet-cutting-co2-o2",
        "sheetCuttingProcessId": "laser-cutting-co2-o2-1.0038",
        "sheetMaterialId": "1.0038"
    },
    {
        "processId": "laser-sheet-cutting-co2-n2",
        "sheetCuttingProcessId": "laser-cutting-co2-n2-1.0038",
        "sheetMaterialId": "1.0038"
    },
    {
        "processId": "laser-sheet-cutting-co2-o2",
        "sheetCuttingProcessId": "laser-cutting-co2-o2-1.0038",
        "sheetMaterialId": "QStE380TM"
    },
    {
        "processId": "laser-sheet-cutting-co2-n2",
        "sheetCuttingProcessId": "laser-cutting-co2-n2-1.0038",
        "sheetMaterialId": "QStE380TM"
    }
]

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 for the first element.

Current serialization version: 1

Sheet cutting - Thickness constraints

Table type:

sheetCuttingThicknessConstraints

Data interface:

SheetCuttingThicknessConstraints

Meta data:
Column key Header Unique Referred table / column

sheetCuttingProcessId

Sheet cutting - Process

true

sheetCuttingProcess / identifier

minThickness

Min. thickness [mm]

false

-

maxThickness

Max. thickness [mm]

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "maxThickness": 6,
        "minThickness": 0,
        "serialization_version": 0,
        "sheetCuttingProcessId": "laser-cutting-fiber-n2-1.0038"
    }
]

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 for the first element.

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": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "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",
        "sheetMaterialId": "1.0038",
        "thickness": 10
    }
]

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

sheetCuttingProcessMapping

sheetMaterialId

processConstraintsSheetMaterial

sheetMaterialId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "1.4301",
        "name": "1.4301"
    },
    {
        "description": "",
        "identifier": "QStE380TM",
        "name": "QStE380TM"
    },
    {
        "description": "",
        "identifier": "AlMg3",
        "name": "AlMg3"
    }
]

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 for the first element.

Current serialization version: 1

Example:
[
    {
        "density": 7850,
        "serialization_version": 1,
        "sheetMaterialId": "1.0038"
    },
    {
        "density": 7900,
        "sheetMaterialId": "1.4301"
    },
    {
        "density": 7850,
        "sheetMaterialId": "QStE380TM"
    },
    {
        "density": 2660,
        "sheetMaterialId": "AlMg3"
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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 for the first element.

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 for the first element.

Current serialization version: 0

Example:
[
    {
        "pricePerSheet": 19.78,
        "serialization_version": 0,
        "sheetId": "3000.0x1500.0-1.0038-0.8"
    },
    {
        "pricePerSheet": 24.73,
        "sheetId": "3000.0x1500.0-1.0038-1.0"
    },
    {
        "pricePerSheet": 39.21,
        "sheetId": "3000.0x1500.0-1.0038-1.5"
    },
    {
        "pricePerSheet": 51.22,
        "sheetId": "3000.0x1500.0-1.0038-2.0"
    },
    {
        "pricePerSheet": 74.71,
        "sheetId": "3000.0x1500.0-1.0038-3.0"
    },
    {
        "pricePerSheet": 100.04,
        "sheetId": "3000.0x1500.0-1.0038-4.0"
    },
    {
        "pricePerSheet": 125.05,
        "sheetId": "3000.0x1500.0-1.0038-5.0"
    },
    {
        "pricePerSheet": 150.06,
        "sheetId": "3000.0x1500.0-1.0038-6.0"
    },
    {
        "pricePerSheet": 202.06,
        "sheetId": "3000.0x1500.0-1.0038-8.0"
    },
    {
        "pricePerSheet": 252.57,
        "sheetId": "3000.0x1500.0-1.0038-10.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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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 for the first element.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "name": "Production overhead factor",
        "serialization_version": 0,
        "type": "productionOverheadFactor",
        "value": 0.1
    },
    {
        "description": "",
        "name": "Materialcosts factor",
        "type": "materialCostsFactor",
        "value": 0.25
    },
    {
        "description": "",
        "name": "Global factor",
        "type": "globalFactor",
        "value": 0.36
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m3",
        "serialization_version": 0,
        "unitTimePerMm": 0.375
    },
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m4",
        "unitTimePerMm": 0.5249999999999999
    },
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m5",
        "unitTimePerMm": 0.6000000000000001
    },
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m6",
        "unitTimePerMm": 0.75
    },
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m8",
        "unitTimePerMm": 0.9375
    },
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m10",
        "unitTimePerMm": 1.125
    },
    {
        "processId": "sheet-tapping",
        "screwThreadId": "m12",
        "unitTimePerMm": 1.3125
    }
]

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

-

minDistance

Minimum Distance [km]

false

-

maxDistance

Maximum Distance [km]

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 2

Example:
[
    {
        "fixedCosts": 5.8,
        "identifier": "transport-box1",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "maxDistance": 10000,
        "minCosts": 5.8,
        "minDistance": 0,
        "name": "Box 1",
        "packagingId": "box1",
        "serialization_version": 2
    },
    {
        "fixedCosts": 5.8,
        "identifier": "transport-box2",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "maxDistance": 10000,
        "minCosts": 5.8,
        "minDistance": 0,
        "name": "Box 2",
        "packagingId": "box2"
    },
    {
        "fixedCosts": 25.8,
        "identifier": "transport-box3",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "maxDistance": 10000,
        "minCosts": 25.8,
        "minDistance": 0,
        "name": "Box 3",
        "packagingId": "box3"
    },
    {
        "fixedCosts": 25.8,
        "identifier": "transport-box4",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "maxDistance": 10000,
        "minCosts": 25.8,
        "minDistance": 0,
        "name": "Box 4",
        "packagingId": "box4"
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-quarter-europalett",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "maxDistance": 10000,
        "minCosts": 35,
        "minDistance": 0,
        "name": "Quarter europalett",
        "packagingId": "quarter-europalett"
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-half-europalett",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "maxDistance": 10000,
        "minCosts": 35,
        "minDistance": 0,
        "name": "Half europalett",
        "packagingId": "half-europalett"
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-europalett1",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "maxDistance": 10000,
        "minCosts": 35,
        "minDistance": 0,
        "name": "Europalett 1",
        "packagingId": "europalett1"
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-europalett2",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "maxDistance": 10000,
        "minCosts": 35,
        "minDistance": 0,
        "name": "Europalett 2",
        "packagingId": "europalett2"
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-small-format",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "maxDistance": 10000,
        "minCosts": 35,
        "minDistance": 0,
        "name": "Small-format",
        "packagingId": "small-format"
    }
]

Tube cutting - Consumable rates

Table type:

tubeCuttingProcessConsumableRate

Data interface:

TubeCuttingProcessConsumableRate

Meta data:
Column key Header Unique Referred table / column

tubeCuttingProcessId

Tube cutting - Process

true

tubeCuttingProcess / identifier

consumableId

Consumables

true

consumable / identifier

thickness

Profile thickness [mm]

true

-

unitsPerHour

Units [1 / h]

false

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "serialization_version": 0,
        "thickness": 1,
        "time": 0.33999999999999997,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 1.5,
        "time": 0.35,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 2,
        "time": 0.36,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 2.5,
        "time": 0.37,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 3,
        "time": 0.38,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 4,
        "time": 0.4,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 5,
        "time": 0.44999999999999996,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 6,
        "time": 0.48,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 8,
        "time": 1.1,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "thickness": 10,
        "time": 1.5,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    }
]

Tube cutting - Process

Table type:

tubeCuttingProcess

Data interface:

TubeCuttingProcess

Meta data:
Column key Header Unique Referred table / column

identifier

ID

true

-

name

Name

false

-

description

Description

false

-

Referring tables:
Referring table Referring column

tubeCuttingProcessMapping

tubeCuttingProcessId

tubeCuttingSpeed

tubeCuttingProcessId

tubeCuttingPierceTime

tubeCuttingProcessId

tubeCuttingProcessConsumableRate

tubeCuttingProcessId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 1

Example:
[
    {
        "description": "",
        "identifier": "tube-cutting-o2-1.0038",
        "name": "Tube cutting O2 1.0038",
        "serialization_version": 1
    },
    {
        "description": "",
        "identifier": "tube-cutting-n2-1.0038",
        "name": "Tube cutting N2 1.0038"
    },
    {
        "description": "",
        "identifier": "tube-cutting-n2-1.4301",
        "name": "Tube cutting N2 1.4301"
    },
    {
        "description": "",
        "identifier": "tube-cutting-n2-almg3",
        "name": "Tube cutting N2 AlMg3"
    }
]

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

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "processId": "tube-cutting-o2",
        "serialization_version": 0,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038",
        "tubeMaterialId": "1.0038"
    },
    {
        "processId": "tube-cutting-n2",
        "tubeCuttingProcessId": "tube-cutting-n2-1.0038",
        "tubeMaterialId": "1.0038"
    },
    {
        "processId": "tube-cutting-n2",
        "tubeCuttingProcessId": "tube-cutting-n2-1.4301",
        "tubeMaterialId": "1.4301"
    },
    {
        "processId": "tube-cutting-n2",
        "tubeCuttingProcessId": "tube-cutting-n2-almg3",
        "tubeMaterialId": "AlMg3"
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "serialization_version": 0,
        "speed": 8.2,
        "thickness": 1,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 6.4,
        "thickness": 1.5,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 5.4,
        "thickness": 2,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 5.1,
        "thickness": 2.5,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 4.9,
        "thickness": 3,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 4.3,
        "thickness": 4,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 4,
        "thickness": 5,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 3.3,
        "thickness": 6,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 2.8,
        "thickness": 8,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    },
    {
        "speed": 2.4,
        "thickness": 10,
        "tubeCuttingProcessId": "tube-cutting-o2-1.0038"
    }
]

Tubes

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 for the first element.

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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "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",
        "tubeMaterialId": "1.0038",
        "tubeProfileId": "rect-40x20x3",
        "tubeSpecificationId": "din-en-10210-1"
    }
]

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

processConstraintsTubeMaterial

tubeMaterialId

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "identifier": "1.0038",
        "name": "1.0038",
        "serialization_version": 0
    },
    {
        "description": "",
        "identifier": "1.4301",
        "name": "1.4301"
    },
    {
        "description": "",
        "identifier": "AlMg3",
        "name": "AlMg3"
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "density": 7850,
        "serialization_version": 0,
        "tubeMaterialId": "1.0038"
    },
    {
        "density": 7900,
        "tubeMaterialId": "1.4301"
    },
    {
        "density": 2660,
        "tubeMaterialId": "AlMg3"
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0

Example:
[
    {
        "pricePerTube": 18.5,
        "serialization_version": 0,
        "tubeId": "1.0038-din-en-10210-1-rect-20x20x2-6000"
    },
    {
        "pricePerTube": 23.5,
        "tubeId": "1.0038-din-en-10210-1-rect-25x25x2-6000"
    },
    {
        "pricePerTube": 23.5,
        "tubeId": "1.0038-din-en-10210-1-rect-30x20x2-6000"
    },
    {
        "pricePerTube": 33.5,
        "tubeId": "1.0038-din-en-10210-1-rect-30x20x3-6000"
    },
    {
        "pricePerTube": 28.5,
        "tubeId": "1.0038-din-en-10210-1-rect-30x30x2-6000"
    },
    {
        "pricePerTube": 41,
        "tubeId": "1.0038-din-en-10210-1-rect-30x30x3-6000"
    },
    {
        "pricePerTube": 33.5,
        "tubeId": "1.0038-din-en-10210-1-rect-35x35x2-6000"
    },
    {
        "pricePerTube": 49,
        "tubeId": "1.0038-din-en-10210-1-rect-35x35x3-6000"
    },
    {
        "pricePerTube": 28.5,
        "tubeId": "1.0038-din-en-10210-1-rect-40x20x2-6000"
    },
    {
        "pricePerTube": 41,
        "tubeId": "1.0038-din-en-10210-1-rect-40x20x3-6000"
    }
]

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 for the first element.

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"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":20,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-30x20x2",
        "name": "Rect-30x20x2"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":20,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-30x20x3",
        "name": "Rect-30x20x3"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":30,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-30x30x2",
        "name": "Rect-30x30x2"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":30,\"dimZ\":30,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-30x30x3",
        "name": "Rect-30x30x3"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":35,\"dimZ\":35,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-35x35x2",
        "name": "Rect-35x35x2"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":35,\"dimZ\":35,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-35x35x3",
        "name": "Rect-35x35x3"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":40,\"dimZ\":20,\"serialization_version\":0,\"thickness\":2},\"type\":\"rectangular\"}",
        "identifier": "rect-40x20x2",
        "name": "Rect-40x20x2"
    },
    {
        "description": "",
        "geometryJson": "{\"content\":{\"dimY\":40,\"dimZ\":20,\"serialization_version\":0,\"thickness\":3},\"type\":\"rectangular\"}",
        "identifier": "rect-40x20x3",
        "name": "Rect-40x20x3"
    }
]

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 for the first element.

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"
    },
    {
        "description": "",
        "identifier": "din-en-755-2",
        "name": "DIN EN 755-2"
    }
]

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

-

Serialization version:

An optional property serialization_version of type number can be specified for the first element.

Current serialization version: 0