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, path : ""}}]);
{
    "error": "",
    "return": true,
    "runId": "3",
    "type": "Success"
}

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

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

Query data

After successfuly adding the STEP-file’s content to WSi4 the graph is non-empty and consists of at least one node. Each node of the manifacturing graph can be addressed via it’s associated vertex e. g. to query data for it.

The following command lists all vertices available:

WSi4 > wsi4.graph.vertices();
{
    "error": "",
    "return": [
        0,
        1,
        2,
        3,
        4,
        5,
        6
    ],
    "runId": "4",
    "type": "Success"
}

For the example STEP model the resulting graph consists of seven vertices. Vertices can be used to query data for the vertex’s associated node. The following command queries the work step type for vertex 2:

WSi4 > wsi4.node.workStepType(2)
{
    "error": "",
    "return": "sheetBending",
    "runId": "5",
    "type": "Success"
}

The work step for the node associated with vertex 2 is of type sheetBending. This allows querying sheet bending related information for this node:

WSi4 > wsi4.node.computeBendLineData(2);
{
    "error": "",
    "return": [
        {
            "bendAngle": -1.5707963267948966,
            "innerRadius": 0.7999999999999998
        },
        {
            "bendAngle": -1.5707963267948966,
            "innerRadius": 0.7999999999999998
        },
        {
            "bendAngle": -1.5707963267948966,
            "innerRadius": 0.7999999999999705
        },
        {
            "bendAngle": -1.0078996598309615,
            "innerRadius": 0.7999999999998977
        },
        {
            "bendAngle": -1.4912289756594594,
            "innerRadius": 0.7999999999998861
        }
    ],
    "runId": "6",
    "type": "Success"
}

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 identifier submitted to setExternalTable() as first parameter.

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

// Table must conform to the interface associated with TableType
wsi4.tables.setExternalTable(TableType.globalMaterial, table);

Now each call of wsi4.tables.get(TableType.globalMaterial) 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/globalMaterial");
const table = JSON.parse(jsonString);

// Table must conform to the interface associated with TableType
wsi4.tables.setExternalTable(TableType.globalMaterial, 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. "globalMaterial") 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.

{
  "creator": "WSi4 (<version>)",
  "projectName": "Baugruppe1",
  "nodes": [
    {
      "processId": "joiningId",
      "times": {
        "setup": 0,
        "unit": 0
      },
      "costs": {
        "material": 0,
        "setup": 0,
        "unit": 0,
        "manufacturing": 0,
        "selling": 0
      },
      "vertexKey": "0x7fc250b7a650_0",
      "sourceVertexKeys": [
        "0x7fc250b7a650_1",
        "0x7fc250b7a650_2"
      ],
      "targetVertexKeys": [],
      "processRep": {
        "type": "joining"
      },
      "mass": 3.9194691012838785,
      "comment": ""
    },
    {
      "processId": "dieBendingId",
      "times": {
        "setup": 528,
        "unit": 12
      },
      "costs": {
        "material": 0,
        "setup": 9.973333333333333,
        "unit": 0.22666666666666668,
        "manufacturing": 10.2,
        "selling": 15.2592
      },
      "vertexKey": "0x7fc250b7a650_1",
      "sourceVertexKeys": [
        "0x7fc250b7a650_3"
      ],
      "targetVertexKeys": [
        "0x7fc250b7a650_0"
      ],
      "processRep": {
        "type": "dieBending",
        "content": {
          "bendLineData": [
            {
              "bendAngle": 1.5707963267948968,
              "bendDescriptor": 0,
              "innerRadius": 4.599999999999994,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        41.71666453954677,
                        -49.41305904430661
                      ]
                    },
                    "to": {
                      "entries": [
                        -91.71666453954677,
                        -49.4130590443066
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            }
          ],
          "sheetThickness": 3.9999999999999716
        }
      },
      "mass": 0.7988523924569708,
      "comment": ""
    },
    {
      "processId": "dieBendingId",
      "times": {
        "setup": 930,
        "unit": 180
      },
      "costs": {
        "material": 0,
        "setup": 17.566666666666666,
        "unit": 3.4,
        "manufacturing": 20.966666666666665,
        "selling": 31.36613333333333
      },
      "vertexKey": "0x7fc250b7a650_2",
      "sourceVertexKeys": [
        "0x7fc250b7a650_5"
      ],
      "targetVertexKeys": [
        "0x7fc250b7a650_0"
      ],
      "processRep": {
        "type": "dieBending",
        "content": {
          "bendLineData": [
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 0,
              "innerRadius": 0.7999999999999998,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -98.5085001527708,
                        35.85814233717203
                      ]
                    },
                    "to": {
                      "entries": [
                        -7.601580334470391,
                        98.50828833033836
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 1,
              "innerRadius": 0.7999999999999972,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -10.693919908442968,
                        99.33703338572798
                      ]
                    },
                    "to": {
                      "entries": [
                        64.52147514403671,
                        61.02052684484756
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.5707963267948966,
              "bendDescriptor": 2,
              "innerRadius": 0.8000000000000034,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        63.96361849391416,
                        64.01146246477612
                      ]
                    },
                    "to": {
                      "entries": [
                        63.96361849391481,
                        -50.575352779964234
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.0078996598309609,
              "bendDescriptor": 3,
              "innerRadius": 0.7999999999999785,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        154.8046182945626,
                        -51.93801780426676
                      ]
                    },
                    "to": {
                      "entries": [
                        64.90251829456261,
                        -51.93801780426727
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            },
            {
              "bendAngle": 1.4912289756594594,
              "bendDescriptor": 4,
              "innerRadius": 0.7999999999999794,
              "segments": [
                {
                  "content": {
                    "from": {
                      "entries": [
                        -97.15021695695542,
                        37.93449951258353
                      ]
                    },
                    "to": {
                      "entries": [
                        -148.166163142807,
                        111.95990609148923
                      ]
                    }
                  },
                  "type": "line"
                }
              ]
            }
          ],
          "sheetThickness": 6
        }
      },
      "mass": 3.120616708826908,
      "comment": ""
    },
    {
      "processId": "laserSheetCuttingId",
      "times": {
        "setup": 540,
        "unit": 18.46061400771025
      },
      "costs": {
        "material": 0,
        "setup": 17.4,
        "unit": 0.5948420069151081,
        "manufacturing": 17.994842006915107,
        "selling": 26.920283642345
      },
      "vertexKey": "0x7fc250b7a650_3",
      "sourceVertexKeys": [
        "0x7fc250b7a650_4"
      ],
      "targetVertexKeys": [
        "0x7fc250b7a650_1"
      ],
      "processRep": {
        "type": "laserSheetCutting",
        "content": {
          "contourLength": 980.298780999471,
          "contourCount": 5,
          "boundingBox": {
            "lower": {
              "entries": [
                -91.71566453954676,
                -135.9440677608448
              ]
            },
            "upper": {
              "entries": [
                91.71566453954676,
                44.74555904430663
              ]
            }
          },
          "sheetThickness": 3.9999999999999716,
          "fixedRotations": [],
          "cuttingGasId": "N2"
        }
      },
      "mass": 0.7988523924569704,
      "comment": ""
    },
    {
      "processId": "sheetId",
      "times": {
        "setup": 0,
        "unit": 0
      },
      "costs": {
        "material": 0.736794196535845,
        "setup": 0,
        "unit": 0,
        "manufacturing": 0.736794196535845,
        "selling": 1.2525501341109364
      },
      "vertexKey": "0x7fc250b7a650_4",
      "sourceVertexKeys": [],
      "targetVertexKeys": [
        "0x7fc250b7a650_3"
      ],
      "processRep": {
        "type": "sheet",
        "content": {
          "sheetIds": [
            "2000.0x1000.0-1.0038-4.0"
          ],
          "consumptions": [
            0.01657206919783727
          ],
          "sheetThickness": 3.9999999999999716,
          "testReportRequired": false
        }
      },
      "mass": 1.0407259456241729,
      "comment": ""
    },
    {
      "processId": "laserSheetCuttingId",
      "times": {
        "setup": 540,
        "unit": 62.16304864484432
      },
      "costs": {
        "material": 0,
        "setup": 17.4,
        "unit": 2.0030315674449835,
        "manufacturing": 19.403031567444984,
        "selling": 29.02693522489769
      },
      "vertexKey": "0x7fc250b7a650_5",
      "sourceVertexKeys": [
        "0x7fc250b7a650_6"
      ],
      "targetVertexKeys": [
        "0x7fc250b7a650_2"
      ],
      "processRep": {
        "type": "laserSheetCutting",
        "content": {
          "contourLength": 2231.107104584724,
          "contourCount": 5,
          "boundingBox": {
            "lower": {
              "entries": [
                -282.48278347706434,
                -146.21664150861255
              ]
            },
            "upper": {
              "entries": [
                154.91121562104598,
                180.29139158815426
              ]
            }
          },
          "sheetThickness": 6,
          "fixedRotations": [],
          "cuttingGasId": "N2"
        }
      },
      "mass": 3.120616708826908,
      "comment": ""
    },
    {
      "processId": "sheetId",
      "times": {
        "setup": 0,
        "unit": 0
      },
      "costs": {
        "material": 4.7623259798528865,
        "setup": 0,
        "unit": 0,
        "manufacturing": 4.7623259798528865,
        "selling": 8.095954165749905
      },
      "vertexKey": "0x7fc250b7a650_6",
      "sourceVertexKeys": [],
      "targetVertexKeys": [
        "0x7fc250b7a650_5"
      ],
      "processRep": {
        "type": "sheet",
        "content": {
          "sheetIds": [
            "3000.0x1500.0-1.0038-6.0"
          ],
          "consumptions": [
            0.0317361454075229
          ],
          "sheetThickness": 6,
          "testReportRequired": false
        }
      },
      "mass": 6.726476019124478,
      "comment": ""
    }
  ],
  "articles": [
    {
      "vertexKeys": [
        "0x7fc250b7a650_4",
        "0x7fc250b7a650_3",
        "0x7fc250b7a650_1"
      ],
      "name": "Teil3^Baugruppe1",
      "multiplicity": 1,
      "globalMaterialId": "global-1.0038"
    },
    {
      "vertexKeys": [
        "0x7fc250b7a650_6",
        "0x7fc250b7a650_5",
        "0x7fc250b7a650_2"
      ],
      "name": "Teil2",
      "multiplicity": 1,
      "globalMaterialId": "global-1.0038"
    },
    {
      "vertexKeys": [
        "0x7fc250b7a650_0"
      ],
      "name": "Baugruppe1",
      "multiplicity": 1
    }
  ],
  "resources": {
    "dxfs": {
      "0x7fc250b7a650_1": "<Base64 encoded data>",
      "0x7fc250b7a650_2": "<Base64 encoded data>",
      "0x7fc250b7a650_3": "<Base64 encoded data>",
      "0x7fc250b7a650_4": "<Base64 encoded data>",
      "0x7fc250b7a650_5": "<Base64 encoded data>",
      "0x7fc250b7a650_6": "<Base64 encoded data>"
    },
    "geos": {
      "0x7fc250b7a650_1": "<Base64 encoded data>",
      "0x7fc250b7a650_2": "<Base64 encoded data>",
      "0x7fc250b7a650_3": "<Base64 encoded data>",
      "0x7fc250b7a650_4": "<Base64 encoded data>",
      "0x7fc250b7a650_5": "<Base64 encoded data>",
      "0x7fc250b7a650_6": "<Base64 encoded data>"
    },
    "inputSteps": {
      "0x7fc250b7a650_0": "<Base64 encoded data>",
      "0x7fc250b7a650_1": "<Base64 encoded data>",
      "0x7fc250b7a650_2": "<Base64 encoded data>"
    },
    "outputSteps": {
      "0x7fc250b7a650_0": "<Base64 encoded data>",
      "0x7fc250b7a650_1": "<Base64 encoded data>",
      "0x7fc250b7a650_2": "<Base64 encoded data>",
      "0x7fc250b7a650_3": "<Base64 encoded data>",
      "0x7fc250b7a650_4": "<Base64 encoded data>",
      "0x7fc250b7a650_5": "<Base64 encoded data>",
      "0x7fc250b7a650_6": "<Base64 encoded data>"
    },
    "attachments": {}
  }
}

Custom Bend Deductions

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

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

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

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

image/svg+xml D D E E L

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

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

Bend deduction values for 90° are mandatory.

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

Reference

Opaque objects

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

Polygon

Polygon consisting of line and arc segments

Details

A Polygon can not contain holes.

InnerOuterPolygon

Type representing a polygon with arbitrarily many Polygons as holes

Details

An InnerOuterPolygon corresponds to a two dimensional part.

Scene

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

Details

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

Layered

Type representing layered vector graphics

Details

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

Brep

Boundary representation of a single part

Details

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

Assembly

Assembly consisting of arbitrarily many Breps at arbitrary positions

Details

An Assembly recursively contains other Assemblys and Breps.

TwoDimRepresentation

Workstep specific two-dimensional representation

Details

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

CoordinateSystem2

2D coordinate system

Details

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

CoordinateSystem3

3D coordinate system

Details

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

Vertex

Vertex object of a graph

Details

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

GraphNodeId

Unique identifier of one node

Details

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

GraphNodeRootId

Identifier for a group of nodes

Details

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

ArrayBufferFuture

Asynchronously computed binary data

SceneDataFuture

Asynchronously computed scene data

Interfaces

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

StringIndexedInterface

Type containing arbitrary values or arrays of values indexed by strings

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

Defined in module lib/generated/typeguard.ts

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

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

BendReplyStateContentUndefinedError

Data associated to undefinedError

interface BendReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

BendReplyStateContentContourInBend

Data associated to contourInBend

interface BendReplyStateContentContourInBend {
}

Defined in module lib/generated/typeguard.ts

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

BendReplyStateContentUndetectedFeatures

Data associated to undetectedFeatures

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

Defined in module lib/generated/typeguard.ts

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

BendReplyStateContentInvalidBend

Data associated to invalidBend

interface BendReplyStateContentInvalidBend {
}

Defined in module lib/generated/typeguard.ts

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

BendReplyStateContentMultipleOuterContours

Data associated to multipleOuterContours

interface BendReplyStateContentMultipleOuterContours {
}

Defined in module lib/generated/typeguard.ts

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

SheetCuttingReplyStateContentUndefinedError

Data associated to undefinedError

interface SheetCuttingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

SheetCuttingReplyStateContentUndetectedFeatures

Data associated to undetectedFeatures

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

Defined in module lib/generated/typeguard.ts

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

SheetCuttingReplyStateContentMultipleOuterContours

Data associated to multipleOuterContours

interface SheetCuttingReplyStateContentMultipleOuterContours {
}

Defined in module lib/generated/typeguard.ts

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

Unused

interface Unused {
}

Defined in module lib/generated/typeguard.ts

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

PackagingReplyStateContentUndefinedError

Data associated to undefinedError

interface PackagingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

PackagingReplyStateContentInsufficientPackageVolume

Data associated to insufficientPackageVolume

interface PackagingReplyStateContentInsufficientPackageVolume {
}

Defined in module lib/generated/typeguard.ts

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

PackagingReplyStateContentOverweightParts

Data associated to overweightParts

interface PackagingReplyStateContentOverweightParts {
}

Defined in module lib/generated/typeguard.ts

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

TransformReplyStateContentUndefinedError

Data associated to undefinedError

interface TransformReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

JoiningReplyStateContentUndefinedError

Data associated to undefinedError

interface JoiningReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

SheetReplyStateContentUndefinedError

Data associated to undefinedError

interface SheetReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

UndefinedReplyStateContentUndefinedError

Data associated to undefinedError

interface UndefinedReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

UserDefinedReplyStateContentUndefinedError

Data associated to undefinedError

interface UserDefinedReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

UserDefinedBaseReplyStateContentUndefinedError

Data associated to undefinedError

interface UserDefinedBaseReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

TubeCuttingReplyStateContentUndefinedError

Data associated to undefinedError

interface TubeCuttingReplyStateContentUndefinedError {
}

Defined in module lib/generated/typeguard.ts

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

ReplyStateMapSheet

ReplyStateIndicator map for type sheet

interface ReplyStateMapSheet {
	undefinedError?: SheetReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapSheet contains all errors associated to Sheet.

ReplyStateMapSheetBending

ReplyStateIndicator map for type bend

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

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapSheetBending contains all errors associated to Bend.

ReplyStateMapJoining

ReplyStateIndicator map for type joining

interface ReplyStateMapJoining {
	undefinedError?: JoiningReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapJoining contains all errors associated to Joining.

ReplyStateMapSheetCutting

ReplyStateIndicator map for type laser

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

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapSheetCutting contains all errors associated to Laser.

ReplyStateMapPackaging

ReplyStateIndicator map for type packaging

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

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapPackaging contains all errors associated to Packaging.

ReplyStateMapTransform

ReplyStateIndicator map for type transform

interface ReplyStateMapTransform {
	undefinedError?: TransformReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapTransform contains all errors associated to Transform.

ReplyStateMapUndefined

ReplyStateIndicator map for type undefined

interface ReplyStateMapUndefined {
	undefinedError?: UndefinedReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapUndefined contains all errors associated to Undefined.

ReplyStateMapUserDefined

ReplyStateIndicator map for type userDefined

interface ReplyStateMapUserDefined {
	undefinedError?: UserDefinedReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapUserDefined contains all errors associated to UserDefined.

ReplyStateMapUserDefinedBase

ReplyStateIndicator map for type userDefinedBase

interface ReplyStateMapUserDefinedBase {
	undefinedError?: UserDefinedBaseReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapUserDefinedBase contains all errors associated to UserDefinedBase.

ReplyStateMapTubeCutting

ReplyStateIndicator map for type tubeCutting

interface ReplyStateMapTubeCutting {
	undefinedError?: TubeCuttingReplyStateContentUndefinedError;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateMapTubeCutting contains all errors associated to TubeCutting.

ReplyStateIndicatorsUndefined

ReplyStateIndicators with content for workstep undefined

interface ReplyStateIndicatorsUndefined {
	replyStateIndicators: ReplyStateMapUndefined;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsUndefined contains all errors associated to Undefined.

ReplyStateIndicatorsSheet

ReplyStateIndicators with content for workstep sheet

interface ReplyStateIndicatorsSheet {
	replyStateIndicators: ReplyStateMapSheet;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsSheet contains all errors associated to Sheet.

ReplyStateIndicatorsSheetCutting

ReplyStateIndicators with content for workstep sheetCutting

interface ReplyStateIndicatorsSheetCutting {
	replyStateIndicators: ReplyStateMapSheetCutting;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsSheetCutting contains all errors associated to SheetCutting.

ReplyStateIndicatorsJoining

ReplyStateIndicators with content for workstep joining

interface ReplyStateIndicatorsJoining {
	replyStateIndicators: ReplyStateMapJoining;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsJoining contains all errors associated to Joining.

ReplyStateIndicatorsTubeCutting

ReplyStateIndicators with content for workstep tubeCutting

interface ReplyStateIndicatorsTubeCutting {
	replyStateIndicators: ReplyStateMapTubeCutting;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsTubeCutting contains all errors associated to TubeCutting.

ReplyStateIndicatorsUserDefined

ReplyStateIndicators with content for workstep userDefined

interface ReplyStateIndicatorsUserDefined {
	replyStateIndicators: ReplyStateMapUserDefined;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsUserDefined contains all errors associated to UserDefined.

ReplyStateIndicatorsUserDefinedBase

ReplyStateIndicators with content for workstep userDefinedBase

interface ReplyStateIndicatorsUserDefinedBase {
	replyStateIndicators: ReplyStateMapUserDefinedBase;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsUserDefinedBase contains all errors associated to UserDefinedBase.

ReplyStateIndicatorsSheetBending

ReplyStateIndicators with content for workstep sheetBending

interface ReplyStateIndicatorsSheetBending {
	replyStateIndicators: ReplyStateMapSheetBending;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsSheetBending contains all errors associated to SheetBending.

ReplyStateIndicatorsPackaging

ReplyStateIndicators with content for workstep packaging

interface ReplyStateIndicatorsPackaging {
	replyStateIndicators: ReplyStateMapPackaging;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsPackaging contains all errors associated to Packaging.

ReplyStateIndicatorsTransform

ReplyStateIndicators with content for workstep transform

interface ReplyStateIndicatorsTransform {
	replyStateIndicators: ReplyStateMapTransform;
}

Defined in module lib/generated/typeguard.ts

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

A ReplyStateIndicatorsTransform contains all errors associated to Transform.

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;
}

Defined in module lib/generated/typeguard.ts

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

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

CamNestedPart

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

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

Defined in module lib/generated/typeguard.ts

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

CamSheet

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

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

Defined in module lib/generated/typeguard.ts

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

CamNesting

A CamNesting contains array of CamSheets

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

Defined in module lib/generated/typeguard.ts

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

Box2

Axis-aligned 2-dim Box

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

Defined in module lib/generated/typeguard.ts

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

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

Box3

Axis-aligned 3-dim Box

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

Defined in module lib/generated/typeguard.ts

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

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

Point2

2-dim vector

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

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

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

Vector3

3-dim vector

interface Vector3 {
	entries: (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)[];
}

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

Matrix3

Column-major 3x3 Matrix

interface Matrix3 {
	entries: (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)[];
}

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.

ConnectionProperties

Properties of a database connection

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

Defined in module lib/generated/typeguard.ts

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

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

ArticleAttributes

Properties of an article

interface ArticleAttributes {
	userData: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

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

ArticleAttributes contain the backend information pertinent to a whole article.

DieSelectorQuery

Constraints for the internal die group selector

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

Defined in module lib/generated/typeguard.ts

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

CamBendDeduction

Bend deduction computed for a specific bend line

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

Defined in module lib/generated/typeguard.ts

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

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

BendDieChoice

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

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

Defined in module lib/generated/typeguard.ts

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

SceneObjectData

Bend-specific parameters for one bend line

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

Defined in module lib/generated/typeguard.ts

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

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

SceneSceneData

Scene wide additional meta data

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

Defined in module lib/generated/typeguard.ts

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

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

SceneLabel

Label to add to a Scene

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

Defined in module lib/generated/typeguard.ts

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

AddResult

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

interface AddResult {
	id: string;
	success: boolean;
	vertices: (Vertex)[];
}

Defined in module lib/generated/typeguard.ts

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

BendLineData

Data associated with each individual bend line

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

Defined in module lib/generated/typeguard.ts

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

BendLineFlangeLength

Flange lengths associated with each individual bend line

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

Defined in module lib/generated/typeguard.ts

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

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

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

SceneData

A Scene combined with three-dimensional coordinate information

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

Defined in module lib/generated/typeguard.ts

function isSceneData(arg: unknown) : arg is SceneData;
Details

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

DocumentParagraph

Paragraph of a document

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

Defined in module lib/generated/typeguard.ts

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

DocumentSeparator

Separator (e. g. horizontal line)

interface DocumentSeparator {
}

Defined in module lib/generated/typeguard.ts

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

DocumentHeading

Heading of a document

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

Defined in module lib/generated/typeguard.ts

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

DocumentBarcode

Barcode placed in a document

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

Defined in module lib/generated/typeguard.ts

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

DocumentImage

Image placed in a document

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

Defined in module lib/generated/typeguard.ts

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

DocumentTable

Table placed in a document

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

Defined in module lib/generated/typeguard.ts

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

DocumentTableCell

Cell of a document-Table

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

Defined in module lib/generated/typeguard.ts

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

DocumentTableRow

Array of document-Table Cells

interface DocumentTableRow {
}

Defined in module lib/generated/typeguard.ts

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

DocumentPageBreak

Page break

interface DocumentPageBreak {
}

Defined in module lib/generated/typeguard.ts

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

DocumentItem

Part of a document row

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

Defined in module lib/generated/typeguard.ts

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

DocumentFormat

Format properties of a document

interface DocumentFormat {
	orientation: DocumentOrientation;
}

Defined in module lib/generated/typeguard.ts

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

WebPage

HTML content and its resources

interface WebPage {
	html: string;
	resources: (WebPageResource)[];
}

Defined in module lib/generated/typeguard.ts

function isWebPage(arg: unknown) : arg is WebPage;

WebPageResource

Resource of an HTML web page content

interface WebPageResource {
	path: string;
	data: ArrayBuffer;
}

Defined in module lib/generated/typeguard.ts

function isWebPageResource(arg: unknown) : arg is WebPageResource;

Camera3

Defines a scene view

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

Defined in module lib/generated/typeguard.ts

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

InputContentUndefined

Content needed to add file

interface InputContentUndefined {
}

Defined in module lib/generated/typeguard.ts

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

InputContentDocumentGraph

Content needed to add file

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

Defined in module lib/generated/typeguard.ts

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

InputContentAssembly

Content needed to add file

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

Defined in module lib/generated/typeguard.ts

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

InputContentLayered

Content needed to add file

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

Defined in module lib/generated/typeguard.ts

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

Input

Input added to DocumentGraph

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

Defined in module lib/generated/typeguard.ts

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

IdRefPair

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

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

Defined in module lib/generated/typeguard.ts

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

CameraOrientation3

3-dim camera orientation

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

Defined in module lib/generated/typeguard.ts

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

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

JoiningStepEntry

Entry of step of joining sequence

interface JoiningStepEntry {
	assembly: Assembly;
}

Defined in module lib/generated/typeguard.ts

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

JoiningStep

Step of joining sequence

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

Defined in module lib/generated/typeguard.ts

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

Joining

Joining sequence of a node

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

Defined in module lib/generated/typeguard.ts

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

SheetFilter

Parameters to filter a set of Sheets

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

Defined in module lib/generated/typeguard.ts

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

VertexWithProcessTypeData

Parameters to change a graph nodes process type

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

Defined in module lib/generated/typeguard.ts

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

VertexWithUserData

Parameters to change a graph nodes UserData

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

Defined in module lib/generated/typeguard.ts

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

VertexWithMultiplicity

Parameters to change a graph nodes multiplicity

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

Defined in module lib/generated/typeguard.ts

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

HandlerNestorConfiguration

Interface for DocumentGraphHandler

interface HandlerNestorConfiguration {
	timeTermination: number;
}

Defined in module lib/generated/typeguard.ts

function isHandlerNestorConfiguration(arg: unknown) : arg is HandlerNestorConfiguration;
Details

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

HandlerNestingInformation

Interface for DocumentGraphHandler

interface HandlerNestingInformation {
	possibleSheets: (Box2)[];
	nestorConfiguration?: HandlerNestorConfiguration;
}

Defined in module lib/generated/typeguard.ts

function isHandlerNestingInformation(arg: unknown) : arg is HandlerNestingInformation;
Details

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

HandlerPackaging

Interface for DocumentGraphHandler

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

Defined in module lib/generated/typeguard.ts

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

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

HandlerPostProcessSheetBending

Interface for DocumentGraphHandler

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

Defined in module lib/generated/typeguard.ts

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

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

VertexWithArticleAttributes

Interface for DocumentGraphHandler

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

Defined in module lib/generated/typeguard.ts

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

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

HandlerPostProcessCreateSources

Interface for DocumentGraphHandler

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

Defined in module lib/generated/typeguard.ts

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

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

HandlerPreProcessCreateWorkStep

Interface for DocumentGraphHandler

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

Defined in module lib/generated/typeguard.ts

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

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

UiJoiningStepEntryRepresentation

JoiningStepEntry representation as required for ui API

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

Defined in module lib/generated/typeguard.ts

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

UiJoiningStepRepresentation

JoiningStep representation as required for ui API

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

Defined in module lib/generated/typeguard.ts

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

UiJoiningRepresentation

Joining representation as required for ui API

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

Defined in module lib/generated/typeguard.ts

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

Attachment

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

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

Defined in module lib/generated/typeguard.ts

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

FormWidgetCheckBoxConfig

Check box configuration

interface FormWidgetCheckBoxConfig {
	initialValue: boolean;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetSpinBoxConfig

Spin box configuration

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

Defined in module lib/generated/typeguard.ts

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

FormWidgetDropDownEntry

Drop down entry

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

Defined in module lib/generated/typeguard.ts

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

FormWidgetDropDownConfig

Drop down configuration

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

Defined in module lib/generated/typeguard.ts

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

FormWidgetLineEditConfig

Line edit configuration

interface FormWidgetLineEditConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetTextEditConfig

Text edit configuration

interface FormWidgetTextEditConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetLabelConfig

Label configuration

interface FormWidgetLabelConfig {
	initialValue: string;
}

Defined in module lib/generated/typeguard.ts

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

FormWidgetConfig

Form widget configuration

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

Defined in module lib/generated/typeguard.ts

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

FormRowConfig

Form row configuration

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

Defined in module lib/generated/typeguard.ts

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

GeometrySelectionEntry

Set of selected entities and associated parameters

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

Defined in module lib/generated/typeguard.ts

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

SheetTappingEditorCandidateValue

Screw thread alternative

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

Defined in module lib/generated/typeguard.ts

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

SheetTappingEditorCandidate

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

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

Defined in module lib/generated/typeguard.ts

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

SheetTappingEditorSelectionEntry

Consists of user selection

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

Defined in module lib/generated/typeguard.ts

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

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 {
	dieChoices: ((BendDieChoice)[])[];
	angles: (number)[];
	radii: (number)[];
	initialValue: WidgetResultBendingToolEditor;
}

Defined in module lib/generated/typeguard.ts

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

WidgetConfigFileDialog

Widget config

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

Defined in module lib/generated/typeguard.ts

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

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

WidgetConfigFormEditor

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigGeometrySelector

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigGeometryColorSelector

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigJoiningSequenceEditor

Widget config

interface WidgetConfigJoiningSequenceEditor {
	articleName: string;
	initialValue: WidgetResultJoiningSequenceEditor;
}

Defined in module lib/generated/typeguard.ts

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

WidgetConfigLayeredImportDialog

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigMessageBox

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigProcessSelector

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigSheetFilterEditor

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfigSheetTappingEditor

Widget config

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

Defined in module lib/generated/typeguard.ts

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

WidgetConfig

Widget configuration

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultAssemblyView

Widget result

interface WidgetResultAssemblyView {
}

Defined in module lib/generated/typeguard.ts

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

WidgetResultAttachmentEditor

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultBendingToolEditor

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultFileDialog

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultFormEditor

Widget result

interface WidgetResultFormEditor {
	values: StringIndexedInterface;
}

Defined in module lib/generated/typeguard.ts

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

WidgetResultGeometrySelector

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultGeometryColorSelector

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultJoiningSequenceEditor

Widget result

interface WidgetResultJoiningSequenceEditor {
	joining: UiJoiningRepresentation;
}

Defined in module lib/generated/typeguard.ts

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

WidgetResultLayeredImportDialog

Widget result

interface WidgetResultLayeredImportDialog {
	layered: Layered;
	tolerance: number;
	thickness: number;
}

Defined in module lib/generated/typeguard.ts

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

WidgetResultMessageBox

Widget result

interface WidgetResultMessageBox {
	accepted: boolean;
}

Defined in module lib/generated/typeguard.ts

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

Property accepted is only meaningful for type MessageBoxType::question

WidgetResultProcessSelector

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResultSheetFilterEditor

Widget result

interface WidgetResultSheetFilterEditor {
	filter: SheetFilter;
}

Defined in module lib/generated/typeguard.ts

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

WidgetResultSheetTappingEditor

Widget result

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

Defined in module lib/generated/typeguard.ts

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

WidgetResult

Widget result

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

Defined in module lib/generated/typeguard.ts

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

GlobalMaterial

Defines material that can be assigned to a node

Unique members interface
interface GlobalMaterialUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

function isGlobalMaterialUniqueMembers(arg: unknown) : arg is GlobalMaterialUniqueMembers;
Regular interface
interface GlobalMaterial extends GlobalMaterialUniqueMembers {
	name: string;
	description: string;
}

Defined in module lib/generated/typeguard.ts

function isGlobalMaterial(arg: unknown) : arg is GlobalMaterial;
Details

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

MaterialDensity

Assigns density to global material

Unique members interface
interface MaterialDensityUniqueMembers {
	globalMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isMaterialDensityUniqueMembers(arg: unknown) : arg is MaterialDensityUniqueMembers;
Regular interface
interface MaterialDensity extends MaterialDensityUniqueMembers {
	density: number;
}

Defined in module lib/generated/typeguard.ts

function isMaterialDensity(arg: unknown) : arg is MaterialDensity;
Details

Please also note the documentation for the respective table.

LaserSheetCuttingMaterial

Assigns laser sheet cutting specific material to global material

Unique members interface
interface LaserSheetCuttingMaterialUniqueMembers {
	globalMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingMaterialUniqueMembers(arg: unknown) : arg is LaserSheetCuttingMaterialUniqueMembers;
Regular interface
interface LaserSheetCuttingMaterial extends LaserSheetCuttingMaterialUniqueMembers {
	laserSheetCuttingMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isLaserSheetCuttingMaterial(arg: unknown) : arg is LaserSheetCuttingMaterial;
Details

Please also note the documentation for the respective table.

BendMaterial

Assigns bend specific material to global material

Unique members interface
interface BendMaterialUniqueMembers {
	globalMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isBendMaterialUniqueMembers(arg: unknown) : arg is BendMaterialUniqueMembers;
Regular interface
interface BendMaterial extends BendMaterialUniqueMembers {
	bendMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

function isBendMaterial(arg: unknown) : arg is BendMaterial;
Details

Please also note the documentation for the respective table.

BendTime

Define times used to calculate a node of type sheet bending

Unique members interface
interface BendTimeUniqueMembers {
	mass: number;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

BendTimeParameters

Define bend related time-computation parameters

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

BendRateParameters

Define bend related cost-computation parameters

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

BendLineConstraint

Define bend line related manufacturing constriants

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

LaserSheetCuttingGas

Defines laser sheet cuttin gas type

Unique members interface
interface LaserSheetCuttingGasUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

LaserSheetCuttingSpeed

Defines laser sheet cutting speed

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

LaserSheetCuttingPierceTime

Defines laser sheet cutting pierce time

Unique members interface
interface LaserSheetCuttingPierceTimeUniqueMembers {
	laserSheetCuttingMaterialId: 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 {
	laserSheetCuttingMaterialId: string;
	laserSheetCuttingGasId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

LaserSheetCuttingMinArea

Minumum area for contours to be considered cuttable

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

LaserSheetCuttingMaxThickness

Maximum sheet thickness constraint for a parameter combination

Unique members interface
interface LaserSheetCuttingMaxThicknessUniqueMembers {
	laserSheetCuttingMaterialId: 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;
}

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

Packaging

Defines a packaging

Unique members interface
interface PackagingUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

TransportationCosts

Calculation parameters for a node of type transport

Unique members interface
interface TransportationCostsUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

Surcharge

Defines surcharge used to calculate the selling price for a project

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

Process

Defines a process that can be assigned to a node

Unique members interface
interface ProcessUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

ProcessRate

Assigns a rate to a process

Unique members interface
interface ProcessRateUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

ProcessSetupTimeFallback

Fallback setup time for a process

Unique members interface
interface ProcessSetupTimeFallbackUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

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

ProcessUnitTimeFallback

Fallback unit time for a process

Unique members interface
interface ProcessUnitTimeFallbackUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

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

Sheet

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

Unique members interface
interface SheetUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

SheetModulus

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

Unique members interface
interface SheetModulusUniqueMembers {
	sheetId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

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

SheetPrice

Assigns a price to a sheet

Unique members interface
interface SheetPriceUniqueMembers {
	sheetId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

UpperDieGroup

Defines upper die-bending die group

Unique members interface
interface UpperDieGroupUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

LowerDieGroup

Defines lower die-bending die group

Unique members interface
interface LowerDieGroupUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

Please also note the documentation for the respective table.

BendDeduction

Table row defining a bend deduction for a certain parameter set

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

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

Setting

Account-wide settings

Unique members interface
interface SettingUniqueMembers {
	key: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

AutomaticMechanicalDeburringMaterial

Automatic mechanical deburring material mapping

Unique members interface
interface AutomaticMechanicalDeburringMaterialUniqueMembers {
	globalMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

AutomaticMechanicalDeburringParameters

Automatic mechanical deburring parameters

Unique members interface
interface AutomaticMechanicalDeburringParametersUniqueMembers {
	automaticMechanicalDeburringMaterialId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

DimensionConstraints

Process specific dimension constraints

Unique members interface
interface DimensionConstraintsUniqueMembers {
	processId: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

ScrewThread

Screw thread definition

Unique members interface
interface ScrewThreadUniqueMembers {
	identifier: string;
}

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

TappingTimeParameters

Tapping time parameters

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

Defined in module lib/generated/typeguard.ts

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

Defined in module lib/generated/typeguard.ts

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

AnyTable

Variant covering all user tables

interface AnyTable {
	type: TableType;
	content: (GlobalMaterial)[]|(MaterialDensity)[]|(LaserSheetCuttingMaterial)[]|(BendMaterial)[]|(BendTime)[]|(BendTimeParameters)[]|(BendRateParameters)[]|(BendLineConstraint)[]|(LaserSheetCuttingGas)[]|(LaserSheetCuttingSpeed)[]|(LaserSheetCuttingPierceTime)[]|(LaserSheetCuttingRate)[]|(LaserSheetCuttingMinArea)[]|(LaserSheetCuttingMaxThickness)[]|(Packaging)[]|(TransportationCosts)[]|(Surcharge)[]|(Process)[]|(ProcessRate)[]|(ProcessSetupTimeFallback)[]|(ProcessUnitTimeFallback)[]|(Sheet)[]|(SheetModulus)[]|(SheetPrice)[]|(UpperDieGroup)[]|(LowerDieGroup)[]|(BendDeduction)[]|(Setting)[]|(AutomaticMechanicalDeburringMaterial)[]|(AutomaticMechanicalDeburringParameters)[]|(DimensionConstraints)[]|(ScrewThread)[]|(TappingTimeParameters)[];
}

Defined in module lib/generated/typeguard.ts

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

ReferredEntryMissingTableError

Referred table entry is missing

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

Defined in module lib/generated/typeguard.ts

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

ReferringEntryMissingTableError

Referring table entry is missing

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

Defined in module lib/generated/typeguard.ts

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

InvalidValueTableError

Table cell value is invalid

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

Defined in module lib/generated/typeguard.ts

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

UniqueMemberCollisionTableError

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

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

Defined in module lib/generated/typeguard.ts

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

TableError

Variant covering all table errors

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

Defined in module lib/generated/typeguard.ts

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

HttpReply

Result of an HTTP request

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

Defined in module lib/generated/typeguard.ts

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

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

LineSegment

Line segment

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

Defined in module lib/generated/typeguard.ts

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

ArcSegment

Arc segment

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

Defined in module lib/generated/typeguard.ts

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

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

Segment

Variant covering all segments

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

Defined in module lib/generated/typeguard.ts

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

SceneStyle

Style for scene objects

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

Defined in module lib/generated/typeguard.ts

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

ProgramVersion

Program version

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

Defined in module lib/generated/typeguard.ts

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

GeometryEntityDescriptorContentEdge

interface GeometryEntityDescriptorContentEdge {
	value: number;
}

Defined in module lib/generated/typeguard.ts

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

GeometryEntityDescriptorContentFace

interface GeometryEntityDescriptorContentFace {
	value: number;
}

Defined in module lib/generated/typeguard.ts

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

GeometryEntityDescriptor

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

Defined in module lib/generated/typeguard.ts

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

GeometryEntity

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

Defined in module lib/generated/typeguard.ts

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

CamCommandSetColor

Set geometry entity color(s)

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

Defined in module lib/generated/typeguard.ts

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

CamCommand

Transform command

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

Defined in module lib/generated/typeguard.ts

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

AssemblyPath

Defines sub-assembly relative to a given root

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

Defined in module lib/generated/typeguard.ts

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

LayeredExtraData

Extra data possibly associated with input leading to a Layered

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

Defined in module lib/generated/typeguard.ts

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

RenderSceneSettings

Settings for rendering a Scene

interface RenderSceneSettings {
	viewPort?: Box2;
}

Defined in module lib/generated/typeguard.ts

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

PrivateManufacturingStateEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

PrivateNodeRepresentation

Private API

interface PrivateNodeRepresentation {
	vertexKey: string;
	nodeId: number;
	rootId: number;
	sourceVertexKeys: (string)[];
	targetVertexKeys: (string)[];
	processId: string;
	textBaseSection: string;
	textDetailsSection: string;
	textToolTip: string;
	actualManufacturingState: (PrivateManufacturingStateEntry)[];
	virtualManufacturingState: (PrivateManufacturingStateEntry)[];
}

Defined in module lib/generated/typeguard.ts

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

PrivateArticleRepresentation

Private API

interface PrivateArticleRepresentation {
	name: string;
	multiplicity: number;
	vertexKeys: (string)[];
}

Defined in module lib/generated/typeguard.ts

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

PrivateAssemblyResourceEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

PrivateBinaryResourceEntry

Private API

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

Defined in module lib/generated/typeguard.ts

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

PrivateBinariesResourceEntry

Private API

interface PrivateBinariesResourceEntry {
	nodeId: number;
	data: (ArrayBuffer)[];
}

Defined in module lib/generated/typeguard.ts

function isPrivateBinariesResourceEntry(arg: unknown) : arg is PrivateBinariesResourceEntry;

PrivateResources

Private API

interface PrivateResources {
	pngs: (PrivateBinaryResourceEntry)[];
	inputAssemblies: (PrivateAssemblyResourceEntry)[];
	outputAssemblies: (PrivateAssemblyResourceEntry)[];
	defaultScenes: (PrivateBinaryResourceEntry)[];
	bendZoneScenes: (PrivateBinaryResourceEntry)[];
	lowerDieAffectZoneScenes: (PrivateBinaryResourceEntry)[];
	technicalDrawingScenes: (PrivateBinariesResourceEntry)[];
}

Defined in module lib/generated/typeguard.ts

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

PrivateGraphData

Private API

interface PrivateGraphData {
	projectName: string;
}

Defined in module lib/generated/typeguard.ts

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

PrivateGuiDataNoop

Private API

interface PrivateGuiDataNoop {
}

Defined in module lib/generated/typeguard.ts

function isPrivateGuiDataNoop(arg: unknown) : arg is PrivateGuiDataNoop;

PrivateGuiDataGraphRep

Private API

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

Defined in module lib/generated/typeguard.ts

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

PrivateGuiData

Private API

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

Defined in module lib/generated/typeguard.ts

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

Enums

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

FileType

List of possible file types

Possible values:

  • svg: Scalable Vector Graphics

  • dxf: AutoCAD Drawing Exchange Format

  • step: Step AP214

  • png: Portable Network Graphics

  • geo: Trumpf GEO Format

Defined in module lib/generated/typeguard.ts:

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

InputType

List of possible input types

Details

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

Possible values:

  • undefined: Undefined input that WSi4 cannot use

  • documentGraph: A complete WSi4 compatible project

  • assembly: A three-dimensional input representing an assembly

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

Defined in module lib/generated/typeguard.ts:

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

DatabaseType

List of possible database drivers

Details

An DatabaseType classifies different types of database drivers.

Possible values:

  • mssql: MSSQL driver

Defined in module lib/generated/typeguard.ts:

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

FileSystemPathType

Different types of filesystem objects to query via dialog

Possible values:

  • directory: Select a directory

  • openFile: Select files to open

  • saveFile: Select a filename to save to

Defined in module lib/generated/typeguard.ts:

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

WorkStepType

List of possible types of worksteps

Details

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

Possible values:

  • undefined: An undefined type

  • sheet: A base workstep of sheet form

  • sheetCutting: Two-dimensional cutting done with a sheet

  • joining: Joining two or more assemblies

  • tubeCutting: Three-dimensional cutting done with a tube

  • sheetBending: Folding is material cut from sheets

  • userDefined: Arbitrary user defined workstep

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

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

  • transform: Generic workstep

Defined in module lib/generated/typeguard.ts:

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

BendDieChoiceType

List of possible BendDieChoice types

Possible values:

  • database: Database value

  • neutralAxis: Neutral axis

Defined in module lib/generated/typeguard.ts:

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

DocumentItemType

List of possible document item types

Possible values:

  • paragraph: A paragraph

  • heading: A heading

  • table: A table

  • image: An image

  • barcode: A barcode

  • separator: A Separator

  • pageBreak: A page break

Defined in module lib/generated/typeguard.ts:

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

DocumentAlignment

List of possible document content alignment types

Possible values:

  • left: Left alignment

  • center: Center alignment

  • right: Right alignment

Defined in module lib/generated/typeguard.ts:

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

DocumentImageType

List of possible document image types

Possible values:

  • png: Portable Network Graphics

  • svg: Scalable Vector Graphics

Defined in module lib/generated/typeguard.ts:

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

DocumentOrientation

List of possible document orientations

Possible values:

  • portrait: Portrait

  • landscape: Landscape

Defined in module lib/generated/typeguard.ts:

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

GraphNodeProcessingState

List of possible processing states

Possible values:

  • CreateWorkStep: Create workstep

  • UpdateWorkStep: Update workstep

  • CreateSources: Create sources

  • FillFromSources: Fill from sources

  • AfterFillFromSources: After Fill from sources

  • Finished: Finished

Defined in module lib/generated/typeguard.ts:

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

ProcessType

List of possible process types

Possible values:

  • undefined: undefined

  • manufacturing: manufacturing

  • semiManufactured: semiManufactured

  • sheetCutting: sheetCutting

  • laserSheetCutting: laserSheetCutting

  • joining: joining

  • externalPart: externalPart

  • sheet: sheet

  • userDefinedBaseType: userDefinedBaseType

  • assembling: assembling

  • forceFitting: forceFitting

  • joiningByWelding: joiningByWelding

  • joiningByBrazing: joiningByBrazing

  • bonding: bonding

  • autogenousWelding: autogenousWelding

  • arcWelding: arcWelding

  • gasShieldedWelding: gasShieldedWelding

  • migWelding: migWelding

  • magWelding: magWelding

  • tigWelding: tigWelding

  • plasmaWelding: plasmaWelding

  • laserWelding: laserWelding

  • weldingWithPressure: weldingWithPressure

  • resistanceWelding: resistanceWelding

  • studWelding: studWelding

  • forming: forming

  • bendForming: bendForming

  • bendingWithoutTool: bendingWithoutTool

  • dieBending: dieBending

  • sheetMetalFolding: sheetMetalFolding

  • cutting: cutting

  • removalOperation: removalOperation

  • plasmaSheetCutting: plasmaSheetCutting

  • waterJetSheetCutting: waterJetSheetCutting

  • machining: machining

  • milling: milling

  • turning: turning

  • drilling: drilling

  • threading: threading

  • mechanicalDeburring: mechanicalDeburring

  • cleaning: cleaning

  • coating: coating

  • sprayPainting: sprayPainting

  • powderCoating: powderCoating

  • sheetBending: sheetBending

  • transport: transport

  • packaging: packaging

  • automaticMechanicalDeburring: automaticMechanicalDeburring

  • manualMechanicalDeburring: manualMechanicalDeburring

  • userDefinedMachining: userDefinedMachining

  • userDefinedThreading: userDefinedThreading

  • userDefinedCountersinking: userDefinedCountersinking

  • slideGrinding: slideGrinding

  • sheetTapping: sheetTapping

Defined in module lib/generated/typeguard.ts:

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

TableType

List of table types

Possible values:

  • globalMaterial: Global material

  • materialDensity: Material Density

  • laserSheetCuttingMaterial: Laser sheet cutting material

  • bendMaterial: Bend material

  • 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

Defined in module lib/generated/typeguard.ts:

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

TableErrorType

List of table error types

Possible values:

  • referringEntryMissing: Entry referring to the respective row is missing

  • referredEntryMissing: Entry referred by the respective row is missing

  • valueInvalid: Value for respective table cell is invalid

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

Defined in module lib/generated/typeguard.ts:

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

Feature

List of available features

Possible values:

  • bendMeasurementScene: Generate bend measurement scenes

  • bomExport: Export bill of materials

  • graphRepExport: Export graph representation

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorPackaging

Reply state indicators for packaging

Possible values:

  • undefinedError: Undefined error

  • insufficientPackageVolume: Volume of packaging too small

  • overweightParts: No valid packaging due to part weight

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorTransform

Reply state indicators for transform

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatoruserDefined

Reply state indicators for userDefined

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatoruserDefinedBase

Reply state indicators for userDefinedBase

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorUndefined

Reply state indicators for undefined

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorTubeCutting

Reply state indicators for tubeCutting

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorJoining

Reply state indicators for joining

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorSheet

Reply state indicators for sheet

Possible values:

  • undefinedError: Undefined error

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorSheetCutting

Reply state indicators for laser

Possible values:

  • undefinedError: Undefined error

  • undetectedFeatures: Undetected Features in Part

  • multipleOuterContours: Multiple outer contours

  • unused0: Unused legacy entry

Defined in module lib/generated/typeguard.ts:

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

ReplyStateIndicatorSheetBending

Reply state indicators for bend

Possible values:

  • undefinedError: Undefined error

  • multipleOuterContours: Multiple outer contours

  • contourInBend: Contour in bend

  • invalidBend: Invalid Bend

  • undetectedFeatures: Undetected Features in Part

Defined in module lib/generated/typeguard.ts:

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

FileDialogType

List of modes available for file dialog

Possible values:

  • openFile: Query existing file path

  • openFiles: Query existing file paths

  • saveFile: Query existing or non-existing file path

  • directory: Query directory path

Defined in module lib/generated/typeguard.ts:

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

FormWidgetType

List of widgets available for forms

Possible values:

  • checkBox: Check box

  • spinBox: Spin box

  • dropDown: Drop down

  • lineEdit: Line edit

  • textEdit: Text edit

  • label: Static text label

Defined in module lib/generated/typeguard.ts:

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

MessageBoxType

List of message box types

Possible values:

  • info: Information message box

  • warning: Warning message box

  • error: Error message box

  • question: Question message box

Defined in module lib/generated/typeguard.ts:

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

GeometrySelectorConfigFlag

Flags to configure geometry selector

Possible values:

  • edge: Select edge(s)

  • face: Select face(s)

Defined in module lib/generated/typeguard.ts:

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

WidgetType

List of available widgets

Possible values:

  • assemblyView: Assembly view

  • attachmentEditor: Attachment editor

  • bendingToolEditor: Bending tool editor

  • fileDialog: File dialog

  • formEditor: Form editor

  • geometrySelector: Geometry selector

  • geometryColorSelector: Geometry color selector

  • joiningSequenceEditor: Joining sequence editor

  • layeredImportDialog: Layered import dialog

  • messageBox: Message box

  • processSelector: Process selector

  • sheetFilterEditor: Sheet filter editor

  • sheetTappingEditor: Sheet tapping editor

Defined in module lib/generated/typeguard.ts:

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

SegmentType

List of available segment types

Possible values:

  • line: Line segment

  • arc: Arc segment

Defined in module lib/generated/typeguard.ts:

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

GeometryEntityType

Geometry entity types

Possible values:

  • edge: Edge

  • face: Face

Defined in module lib/generated/typeguard.ts:

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

CamCommandType

List of available transform command types

Possible values:

  • setColor: Set color of geometry entities

Defined in module lib/generated/typeguard.ts:

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

Color

Colors available for geometric output

Possible values:

  • black: black

  • white: white

  • green: green

  • yellow: yellow

  • cyan: cyan

  • blue: blue

  • magenta: magenta

  • none: none

  • red: red

  • lightgrey: lightgrey

  • lime: lime

Defined in module lib/generated/typeguard.ts:

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

PrivateGuiDataType

Private API

Possible values:

  • ``noop

  • ``graphRep

Defined in module lib/generated/typeguard.ts:

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

API documentation

Top-level functions

throwError

Throw an exception and abort script execution

wsi4.throwError(message: string): never

Input parameters:

  • message String content of exception

Return values:

  • never

quit

Quit application

wsi4.quit(): void

Return values:

isFeatureEnabled

Check if a given Feature is enabled

wsi4.isFeatureEnabled(feature: Feature): boolean

Input parameters:

  • feature The Feature to check

Return values:

  • boolean True if feature is enabled

setFeature

Enable or disable a Feature

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

Enabling a Feature is only possible in debug builds!

Input parameters:

  • feature The Feature to enable or disable

  • value The value to set feature to

Return values:

version

Get program version

wsi4.version(): ProgramVersion

Only meaningful in main script engine.

Return values:

  • ProgramVersion Program version

cam.bend

Bend related functions

selectDieGroups

Select die group combinations for a single bend

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

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

Input parameters:

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

  • upperDieGroups Must contain all upper die groups part of options

  • lowerDieGroups Must contain all lower die groups part of options

  • query Constraints for die group selector

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

Return values:

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

extractBendZones

Get bend zones of a TwoDimRepresentation corresponding to a bend node

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

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (InnerOuterPolygon)[] Bend zone Polygons

computeLowerDieAffectZones

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

wsi4.cam.bend.computeLowerDieAffectZones(twoDimRep: TwoDimRepresentation): (Polygon)[]

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (Polygon)[] Die affect zone Polygons

cam.laser

Laser sheet cutting related functions

computeContourTime

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

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

Input parameters:

  • polygon Geometry to cut

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

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

Return values:

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

cam.util

CAM related utility functions

extractInnerOuterPolygons

Get InnerOuterPolygons from a TwoDimRepresentation

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

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (InnerOuterPolygon)[] The extracted InnerOuterPolygons

extractOverlappingAreas

Get InnerOuterPolygons representing overlapping areas from a TwoDimRepresentation

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

Input parameters:

  • twoDimRep The TwoDimRepresentation

Return values:

  • (InnerOuterPolygon)[] The extracted InnerOuterPolygons

extractNesting

Get CamNesting from a TwoDimRepresentation

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

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

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

computeNestingBoundingBoxes

Get axis-aligned bounding boxes of nesting

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

The array-indices match the indices of CamNesting's sheets property.

Input parameters:

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

Return values:

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

addNestingToScene

Add nesting to scene

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

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

Input parameters:

  • scene The scene to add to

  • twoDimRep The TwoDimRepresentation

  • style Style of innerOuterPolygons

Return values:

  • Scene The new Scene

classifier

Classification of file types

classify

Classify content

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

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

Input parameters:

  • data Data to classify

Return values:

  • InputType Value of enum InputType

documentCreator

Functions for generating documents

clear

Clear current document

wsi4.documentCreator.clear(): void

Return values:

addRow

Add row to document

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

Input parameters:

  • row Document-Items to add

Return values:

pdf

Generate PDF out of underlying document

wsi4.documentCreator.pdf(): ArrayBuffer

Return values:

  • ArrayBuffer PDF file content

renderIntoPdf

Create PDF document from rows

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

Input parameters:

  • rows Item rows forming the document

  • format Document format properties

Return values:

  • ArrayBuffer PDF file content

renderIntoHtml

Render rows into HTML

wsi4.documentCreator.renderIntoHtml(rows: ((DocumentItem)[])[], resourcePath: string): WebPage

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

  • resourcePath Relative path to the resources

Return values:

  • WebPage HTML content and resource data

geo.assembly

Query information related to assemblies

coordinateSystem

Get an Assembly's coordinate system

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

Input parameters:

  • assembly An Assembly

Return values:

  • CoordinateSystem3 CoordinateSystem3

worldCoordinateSystem

Get an Assembly's world coordinate system

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

Input parameters:

  • assembly Object of type Assembly

Return values:

  • CoordinateSystem3 World-CoordinateSystem3

brep

Get an Assembly's underlying Brep

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

Input parameters:

  • assembly Object of type Assembly

Return values:

  • Brep Underlying Brep (if any)

  • undefined If there is no underlying Brep

subAssemblies

Get an Assemblys underlying sub-Assemblys

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

Input parameters:

  • assembly Object of type Assembly

Return values:

  • (Assembly)[] Array of Assembly-Objects

recursiveSubAssemblies

Get an Assemblys underlying sub-Assemblys recursively

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

Input parameters:

  • assembly Object of type Assembly

Return values:

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

name

Get an Assembly's name

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

Input parameters:

  • assembly An Assembly

Return values:

  • string Name of assembly

createFileContent

Create file content of given type of assembly

wsi4.geo.assembly.createFileContent(assembly: Assembly, fileType: FileType): ArrayBuffer

Note: This function is deprecated. Consider using createStep() and renderPng() respectively.

Input parameters:

  • assembly Assembly Object file content should be created for

  • fileType Defines file type [step, png]

Return values:

  • ArrayBuffer File-content for given fileType

createStep

Create file content of given type of assembly

wsi4.geo.assembly.createStep(assembly: Assembly): ArrayBuffer

Input parameters:

  • assembly Assembly Object file content should be created for

Return values:

  • ArrayBuffer File-content for given fileType

computeDefaultCamera

Compute default camera for given assembly

wsi4.geo.assembly.computeDefaultCamera(assembly: Assembly): Camera3

Input parameters:

  • assembly The Assembly Object

Return values:

  • Camera3 File-content for given fileType

renderIntoPng

Create PNG representation of an Assembly

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

Input parameters:

  • assembly Assembly PNG file content should be created for

  • camera Defines the view to render

Return values:

  • ArrayBuffer PNG output representing assembly

asyncRenderIntoPng

Asynchronously create PNG representation of an Assembly

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

Input parameters:

  • assembly Assembly PNG file content should be created for

  • camera Defines the view to render

Return values:

  • ArrayBufferFuture Future for PNG output representing assembly

gltf

Create glTF representation of an Assembly

wsi4.geo.assembly.gltf(assembly: Assembly): ArrayBuffer

This function generates a binary glTF representation (.glb) of an Assembly. The generated output requires the KHR_draco_mesh_compression and KHR_mesh_quantization glTF extensions.

Input parameters:

  • assembly Assembly glTF representation should be generated for

Return values:

  • ArrayBuffer assembly in glTF binary (.glb) representation

resolvePath

Resolve path relative to root

wsi4.geo.assembly.resolvePath(root: Assembly, path: AssemblyPath): Assembly|undefined

Input parameters:

  • root Root Assembly

  • path The AssemblyPath

Return values:

  • Assembly Assembly referenced by path

  • undefined If path is invalid

computePath

Compute path from root to target

wsi4.geo.assembly.computePath(root: Assembly, target: Assembly): AssemblyPath|undefined

Input parameters:

  • root Root Assembly

  • target Target Assembly

Return values:

  • AssemblyPath AssemblyPath from root to target

  • undefined If there is no valid path between root and target

setEntityColors

Set color of geometry entities.

wsi4.geo.assembly.setEntityColors(assembly: Assembly, entities: (GeometryEntity)[], color: Vector3): Assembly

The input Assembly is cloned. The changes are applied to the cloned Assembly. The input Assembly remains unchanged. Note: For now only face colors can be changed. Note: This feature is experimental and the API might be subject to change in the future.

Input parameters:

  • assembly Input Assembly

  • entities The entities

  • color The color

Return values:

  • Assembly New Assembly with updated geometry entity colors

fromIop

Create Assembly from an InnerOuterPolygon and a defined depth

wsi4.geo.assembly.fromIop(iop: InnerOuterPolygon, depth: number, name: string): Assembly

Input parameters:

  • iop The InnerOuterPolygon

  • depth Extrude depth

  • name Name of the assembly

Return values:

  • Assembly Assembly resulting from extrusion of iop by depth

geo.brep

Query information related to breps

toPolyJson

Create polygonal representation of a Brep in JSON format

wsi4.geo.brep.toPolyJson(brep: Brep): string

This function is deprecated. Using wsi4.geo.assembly.toGltf is preferred.

Input parameters:

  • brep The Brep

Return values:

  • string Polygonal representation of brep

area

Compute area for a given Brep and FaceDescriptor

wsi4.geo.brep.area(brep: Brep): number

Throws an error if fd is invalid.

Input parameters:

  • brep The Brep

Return values:

  • number Area of brep

faceArea

Compute area for a given Brep and FaceDescriptor

wsi4.geo.brep.faceArea(brep: Brep, fd: number): number

Throws an error if fd is invalid.

Input parameters:

  • brep The Brep

  • fd The face descriptor

Return values:

  • number Area of associated face

geo.util

Geometry related utility functions

createScene

Create an empty Scene

wsi4.geo.util.createScene(sceneData: SceneSceneData): Scene

Input parameters:

  • sceneData The scene wide meta data

Return values:

  • Scene Empty Scene object with given meta data

serializeScene

Serialize Scene

wsi4.geo.util.serializeScene(scene: Scene): ArrayBuffer

Input parameters:

  • scene The scene that should be serialized

Return values:

  • ArrayBuffer Serialization of scene

addInnerOuterPolygonsToScene

Add innerOuterPolygons to scene with style style and return the newly created Scene

wsi4.geo.util.addInnerOuterPolygonsToScene(scene: Scene, innerOuterPolygons: readonly Readonly<InnerOuterPolygon>[], style: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • innerOuterPolygons The InnerOuterPolygons to add to scene

  • style Style of innerOuterPolygons

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

addPolygonsToScene

Add polygons to scene with style style and return the newly created Scene

wsi4.geo.util.addPolygonsToScene(scene: Scene, polygons: readonly Readonly<Polygon>[], style: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • polygons The Polygons to add to scene

  • style Style of polygons

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

addSegmentsToScene

Add segments to scene and return the newly created Scene

wsi4.geo.util.addSegmentsToScene(scene: Scene, segments: readonly Readonly<Segment>[], style: SceneStyle): Scene

Input parameters:

  • scene The scene to add to

  • segments The Segments to add to scene

  • style The style to use for segments

Return values:

  • Scene The new Scene containing scene as well as segments

addBendLinesToScene

Add bend lines to scene and return the newly created Scene

wsi4.geo.util.addBendLinesToScene(scene: Scene, labels: boolean, bendLines: readonly Readonly<BendLineData>[], objectDatas: readonly Readonly<SceneObjectData>[]): Scene

Input parameters:

  • scene The scene to add to

  • labels Whether to add labels to the bend lines

  • bendLines The bend lines to add to scene

  • objectDatas The object data to associated to each bend line

Return values:

  • Scene The new Scene containing scene as well as innerOuterPolygons

addLabelsToScene

Add labels to scene and return the newly created Scene

wsi4.geo.util.addLabelsToScene(scene: Scene, labels: readonly Readonly<SceneLabel>[]): Scene

Input parameters:

  • scene The scene to add to

  • labels The labels to add to scene

Return values:

  • Scene The new Scene containing scene as well as the submitted labels

outerPolygon

Get outer polygon of InnerOuterPolygon

wsi4.geo.util.outerPolygon(iop: InnerOuterPolygon): Polygon

Input parameters:

  • iop An InnerOuterPolygon

Return values:

  • Polygon The outer Polygon of iop

innerPolygons

Get inner polygons of InnerOuterPolygon

wsi4.geo.util.innerPolygons(iop: InnerOuterPolygon): (Polygon)[]

Input parameters:

  • iop An InnerOuterPolygon

Return values:

  • (Polygon)[] The inner Polygons of iop

circumference

Get circumference of geometric object

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

Input parameters:

  • geometricObject Geometric object

Return values:

  • number Circumference of object

volume

Get volume of geometric object

wsi4.geo.util.volume(object: Polygon|InnerOuterPolygon|Assembly): number

Input parameters:

  • object Geometric object

Return values:

  • number Volume of the geometric object

boundingBox2d

Get axis-aligned bounding box of a two-dimensional geometric object

wsi4.geo.util.boundingBox2d(geometricObject: Polygon|InnerOuterPolygon|Layered|readonly Readonly<InnerOuterPolygon>[]): Box2

Input parameters:

  • geometricObject Two-dimensional geometric object

Return values:

  • Box2 Axis-aligned bounding box

boundingBox3d

Get axis-aligned bounding box of three-dimensional geometric object

wsi4.geo.util.boundingBox3d(geometricObject: Assembly): Box3

Input parameters:

  • geometricObject Three-dimensional geometric object

Return values:

  • Box3 Axis-aligned bounding box

isIsomorphic

Check if two Assemblys are isomorphic

wsi4.geo.util.isIsomorphic(first: Assembly, second: Assembly): boolean

Input parameters:

  • first An Assembly

  • second An Assembly

Return values:

  • boolean True if first and second are isomorphic

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

toProjectiveTransformationMatrix

Create projective transformation matrix from coordinate system

wsi4.geo.util.toProjectiveTransformationMatrix(coordinateSystem: CoordinateSystem3): Matrix4

Input parameters:

  • coordinateSystem CoordinateSystem the matrix should be computed for

Return values:

  • Matrix4 The projective transformation matrix for coordinateSystem

createLayered

Create Layered from binary representation

wsi4.geo.util.createLayered(inputData: ArrayBuffer): Layered|undefined

Input parameters:

  • inputData Binary input taken, for example, from reading a DXF file

Return values:

  • Layered Layered created from inputData

  • undefined In case of an error

createSceneFromLayered

Create a Scene that represents Layered

wsi4.geo.util.createSceneFromLayered(layered: Layered, addCrossHair: boolean): Scene

Input parameters:

  • layered Layered to turn into Scene

  • addCrossHair True if cross hair should be added to Scene

Return values:

  • Scene Scene created from layered

separateLayers

Create a separate Layered for each layer of layered

wsi4.geo.util.separateLayers(layered: Layered): (Layered)[]

Input parameters:

  • layered Layered to separate

Return values:

  • (Layered)[] Array of Layered representing each layer of layered

layerNames

Get the names of each layer in a Layered

wsi4.geo.util.layerNames(layered: Layered): (string)[]

Input parameters:

  • layered Layered to separate

Return values:

  • (string)[] Array of string representing each layers name of layered``

extractInnerOuterPolygon

Create an InnerOuterPolygon from a Layered

wsi4.geo.util.extractInnerOuterPolygon(layered: Layered): InnerOuterPolygon|undefined

Input parameters:

  • layered Layered to turn into InnerOuterPolygon

Return values:

  • InnerOuterPolygon The InnerOuterPolygon representing layered

  • undefined In case of an error

createLayeredExtraData

Create LayeredExtraData from binary input data

wsi4.geo.util.createLayeredExtraData(inputData: ArrayBuffer): LayeredExtraData

Input parameters:

  • inputData Binary input taken, for example, from reading a GEO file

Return values:

  • LayeredExtraData The generated LayeredExtraData

extractOuterPolygon

Get outer polygon of innerOuterPolygon

wsi4.geo.util.extractOuterPolygon(innerOuterPolygon: InnerOuterPolygon): Polygon

Input parameters:

  • innerOuterPolygon The InnerOuterPolygon

Return values:

  • Polygon The outer polygon

extractInnerPolygons

Get inner polygons of innerOuterPolygon

wsi4.geo.util.extractInnerPolygons(innerOuterPolygon: InnerOuterPolygon): (Polygon)[]

Input parameters:

  • innerOuterPolygon The InnerOuterPolygon

Return values:

  • (Polygon)[] The inner polygons

renderScene

Create DXF, SVG, or GEO from a Scene

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

Input parameters:

  • scene The Scene to render

  • fileType Target FileType

  • renderSettings Settings for rendering scene

Return values:

  • ArrayBuffer Rendered Scene

rotationMatrix

For two unit vectors u and v, this function returns a rotation matrix A such that v = A u.

wsi4.geo.util.rotationMatrix(u: Vector3, v: Vector3): Matrix3

Input parameters:

  • u Original vector

  • v Resulting vector

Return values:

  • Matrix3 RotationMatrix

dump

Dump innerOuterPolygon

wsi4.geo.util.dump(innerOuterPolygon: InnerOuterPolygon): void

This function can only be used in debug mode

Input parameters:

  • innerOuterPolygon The InnerOuterPolygon

Return values:

createIop

Create InnerOuterPolygon from a list of segments

wsi4.geo.util.createIop(segments: readonly Readonly<Segment>[]): InnerOuterPolygon|undefined

If segments is empty, the result is undefined. If at least one element of segments is invalid, the result is undefined.

Input parameters:

  • segments List of Segments

Return values:

  • InnerOuterPolygon The computed InnerOuterPolygon

  • undefined If segments does not form a valid InnerOuterPolygon

isCircle

Check if polygon is a circle

wsi4.geo.util.isCircle(polygon: Polygon): boolean

Input parameters:

  • polygon The Polygon

Return values:

  • boolean True if polygon is a circle

circleRadius

Compute circle radius

wsi4.geo.util.circleRadius(polygon: Polygon): number

An error is thrown if polygon is not a circle.

Input parameters:

  • polygon The Polygon

Return values:

  • number Diameter of the circle

circleCenter

Compute circle radius

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

An error is thrown if polygon is not a circle.

Input parameters:

  • polygon The Polygon

Return values:

  • Point2 Center of the circle

graph

Read operations on the current graph

vertices

Get vertices of current graph

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

Return values:

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

userData

Get userData of current graph

wsi4.graph.userData(): StringIndexedInterface

Return values:

  • StringIndexedInterface UserData of current graph

serialize

Get serialization of graph

wsi4.graph.serialize(): ArrayBuffer

Return values:

  • ArrayBuffer Serialized version of current graph

article

Get all vertices of an article

wsi4.graph.article(vertex: Vertex): (Vertex)[]

An article is a maximal component of the graph where all but the first and last vertex have exactly one source and one target..

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] All Vertexs of the article that vertex belongs to

articles

Get all articles

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

An article is a connected component of the graph such that all its vertices have exactly one source and one target, except for the first and the last, which only have exactly one target and source respectively. This function returns an array of all articles.

Return values:

  • ((Vertex)[])[] Every vertex in every article

sources

Get source Vertexs of vertex

wsi4.graph.sources(vertex: Vertex): (Vertex)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] Vertexs of all source nodes of vertex's associated node

targets

Get target Vertexs of vertex

wsi4.graph.targets(vertex: Vertex): (Vertex)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] Vertexs of all target nodes of vertex's associated node

reaching

Get target Vertexs of vertex

wsi4.graph.reaching(vertex: Vertex): (Vertex)[]

Input parameters:

  • vertex ``Vertex the targets should be returned for

Return values:

  • (Vertex)[] Vertexs of all reaching-nodes of vertex's associated node

reachable

Get reachable Vertexs of a given Vertex

wsi4.graph.reachable(vertex: Vertex): (Vertex)[]

A vertex w is reachable from a vertex v if there exists a path from v to w.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Vertex)[] Vertexs of all reachable nodes of vertex's associated node

sourceMultiplicity

Get multiplicity of sourceVertex in targetVertex

wsi4.graph.sourceMultiplicity(sourceVertex: Vertex, targetVertex: Vertex): number

If sourceVertex is not a source of targetVertex an error is thrown.

Input parameters:

  • sourceVertex A Vertex of the current graph

  • targetVertex A Vertex of the current graph

Return values:

  • number Vertexs of all reachable nodes of vertex's associated node

currentUuid

Get UUID of current graph

wsi4.graph.currentUuid(): string

UUID changes when docugraph is modified

Return values:

  • string UUID of the current graph

graphManipulator

Functions for manipulating the current graph

clear

Clear underlying graph

wsi4.graphManipulator.clear(): void

Return values:

add

Add data to graph

wsi4.graphManipulator.add(input: readonly Readonly<Input>[]): (AddResult)[]

Input parameters:

  • input Array of Inputs

Return values:

  • (AddResult)[] Array of file and corresponding boolean success for each added object

addConstAssembly

Add Assembly to graph

wsi4.graphManipulator.addConstAssembly(assembly: Assembly): AddResult

Note: Experimental; interface might be subject to change in a future version. Note: Assembly is expected to be finalized.

Input parameters:

  • assembly The Assembly

Return values:

  • AddResult The AddResult

undo

Undo the last manipulation of graph

wsi4.graphManipulator.undo(): boolean

Return values:

  • boolean true if undo was successful

redo

Redo the last manipulation of graph

wsi4.graphManipulator.redo(): boolean

Return values:

  • boolean true if redo was successful

clearUndoHistory

Clear the current undo history

wsi4.graphManipulator.clearUndoHistory(): boolean

Return values:

  • boolean true iff UndoHistory was cleared

maxHistorySize

Query the current undo history limit

wsi4.graphManipulator.maxHistorySize(): number

Return values:

  • number Upper limit for redo/undo history

setMaxHistorySize

Set an upper limit for the undo history. 0 = no limit

wsi4.graphManipulator.setMaxHistorySize(maxSize: number): boolean

Input parameters:

  • maxSize Max size of undo history

Return values:

  • boolean true if successful

changeImportMultiplicity

Set multiplicity of associated node to multiplicity

wsi4.graphManipulator.changeImportMultiplicity(vertex: Vertex, multiplicity: number): boolean

This function is only successful if associated node is an import node (wsi4.node.isImport())

Input parameters:

  • vertex A Vertex of the current graph

  • multiplicity New multiplicity

Return values:

  • boolean true if successful

changeImportMultiplicities

Change multiplicities of associated nodes

wsi4.graphManipulator.changeImportMultiplicities(vertexData: readonly Readonly<VertexWithMultiplicity>[]): boolean

This function is only successful if associated nodes are import nodes (wsi4.node.isImport())

Input parameters:

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

Return values:

  • boolean true if successful

changeNodeThickness

Set thickness of associated node

wsi4.graphManipulator.changeNodeThickness(vertex: Vertex, thickness: number): boolean

This function is only successful if vertex is initial

Input parameters:

  • vertex A Vertex of the current graph

  • thickness New thickness

Return values:

  • boolean true if successful

changeFlipSideUsage

Set bottom side usage of associated node

wsi4.graphManipulator.changeFlipSideUsage(vertex: Vertex, flipSide: boolean): boolean

This function is only successful if vertex is initial

Input parameters:

  • vertex A Vertex of the current graph

  • flipSide Boolean indicating if flip side should be used

Return values:

  • boolean true if successful

changeBendCorrectionFlag

Set correction of bends of associated node

wsi4.graphManipulator.changeBendCorrectionFlag(vertex: Vertex, correctBends: boolean): boolean

This function is only successful if vertex is of WorkStepType sheetBending

Input parameters:

  • vertex A Vertex of the current graph

  • correctBends Boolean indicating if bends should be corrected

Return values:

  • boolean true if successful

changeNodeUserData

Set UserData of associated node to userData

wsi4.graphManipulator.changeNodeUserData(vertex: Vertex, userData: StringIndexedInterface): boolean

This function is only successful if userData contains all properties already present in vertex's UserData.

Input parameters:

  • vertex A Vertex of the current graph

  • userData New UserData

Return values:

  • boolean true if successful

changeNodesUserData

Change UserData for nodes associated with vertices specified in vertexData to userData specified in vertexData

wsi4.graphManipulator.changeNodesUserData(vertexData: readonly Readonly<VertexWithUserData>[]): boolean

This function is only successful if userData in vertexData contains all properties already present in nodes UserData.

Input parameters:

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

Return values:

  • boolean true if successful

changeJoining

Set Joining of associated node to joining

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

This function is only successful if the node has WorkStepType joining.

Input parameters:

  • vertex A Vertex of the current graph

  • joining New Joining

Return values:

  • boolean true if successful

changeDieChoiceMap

Set DieChoiceMap of associated node to dieChoiceMap

wsi4.graphManipulator.changeDieChoiceMap(vertex: Vertex, dieChoiceMap: readonly Readonly<BendDieChoice>[]): boolean

This function is only successful if the node has WorkStepType sheetBending.

Input parameters:

  • vertex A Vertex of the current graph

  • dieChoiceMap New array of BendDieChoice

Return values:

  • boolean true if successful

changeSheetFilter

Set sheetFilter for associated node

wsi4.graphManipulator.changeSheetFilter(vertex: Vertex, sheetFilter: SheetFilter): boolean

This function is only successful if the node has WorkStepType sheet.

Input parameters:

  • vertex A Vertex of the current graph

  • sheetFilter New filter on possible sheets

Return values:

  • boolean true if successful

changeArticleAttributes

Set attributes of article of associated node to attributes

wsi4.graphManipulator.changeArticleAttributes(vertex: Vertex, attributes: ArticleAttributes): boolean

Input parameters:

  • vertex A Vertex of the current graph

  • attributes New ArticleAttributes

Return values:

  • boolean true if successful

deleteReducibleComponent

Deprecated. Use deleteNode() instead.

wsi4.graphManipulator.deleteReducibleComponent(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean true if successful

createNode

Create new node with WorkStepType userDefined

wsi4.graphManipulator.createNode(): Vertex

Return values:

  • Vertex Vertex for new node

createImportNode

Create new node with WorkStepType userDefinedBase

wsi4.graphManipulator.createImportNode(): Vertex

Return values:

  • Vertex Vertex for new node

deleteNode

Delete node associated with vertex

wsi4.graphManipulator.deleteNode(vertex: Vertex): boolean

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean true if successful

deleteNodes

Delete nodes associated with vertices

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

Input parameters:

  • vertices An array of Vertex of the current graph

Return values:

  • boolean true if successful

changeProcess

Change process-id for node associated with vertex

wsi4.graphManipulator.changeProcess(vertex: Vertex, processId: string, forceProcess: boolean): boolean

This function is only successful, if the processId is in the list of available processIds.

Input parameters:

  • vertex A Vertex of the current graph

  • processId Id of the new process

  • forceProcess true, if the process is set automatically, else it is set manually

Return values:

  • boolean true if successful

changeNodesProcess

Change process-id for nodes associated with vertices specified in vertexData

wsi4.graphManipulator.changeNodesProcess(vertexData: readonly Readonly<VertexWithProcessTypeData>[]): boolean

This function is only successful, if the processIds specified in vertexData are in the list of available processIds.

Input parameters:

  • vertexData An array of data needed to change process types of nodes

Return values:

  • boolean true if successful

injectNode

Inject vertex into arc

wsi4.graphManipulator.injectNode(source: Vertex, target: Vertex, vertexToInject: Vertex): boolean

This function should not be used, but the injectSourceNode or injectTargetNode in graph_manipulator.ts

Input parameters:

  • source Vertex of source of arc

  • target Vertex of target of arc

  • vertexToInject Vertex of node to inject into arc

Return values:

  • boolean true if successful

addArc

Add arc between vertices

wsi4.graphManipulator.addArc(source: Vertex, target: Vertex): boolean

Input parameters:

  • source Vertex of source of new arc

  • target Vertex of target of new arc

Return values:

  • boolean true if successful

deleteArc

Delete arc between vertices

wsi4.graphManipulator.deleteArc(source: Vertex, target: Vertex): boolean

Input parameters:

  • source Vertex of source of arc

  • target Vertex of target of arc

Return values:

  • boolean true if successful

changeGraphUserData

Change user data of graph

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

Input parameters:

  • userData New UserData of graph

Return values:

  • boolean true if successful

setCommands

Set transform commands

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

Note: Associated node must be of type transform. Note: Existing commands are overwritten.

Input parameters:

  • vertex A Vertex of the current graph

  • commands Transform commands

Return values:

  • boolean true if successful

internal

dereference

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

wsi4.internal.dereference(referenceIds: readonly Readonly<IdRefPair>[]): void

Input parameters:

  • referenceIds The objects to dereference

Return values:

emitGuiData

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

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

Input parameters:

  • guiData Gui data

Return values:

io.fs

Filesystem based input and output

exists

Check, if path already exists

wsi4.io.fs.exists(path: string): boolean

Input parameters:

  • path Path of directory

Return values:

  • boolean True if path already exists

mkpath

Create missing sub-directories in path

wsi4.io.fs.mkpath(path: string): boolean

Note: Path separator is /

Input parameters:

  • path Path to create

Return values:

  • boolean True if successful

cleanFileName

Replace illegal characters from name by replacement

wsi4.io.fs.cleanFileName(name: string, replacement: string): string

Deprecated. Consider using the ts_lib counterpart in util.ts.

Input parameters:

  • name Name that should be cleaned

  • replacement Replacement for illegal characters

Return values:

  • string name where all illegal characters have been replaced by replacement

cleanRelativeDirPath

Remove illegal characters from path

wsi4.io.fs.cleanRelativeDirPath(path: string, replacement: string): string

Deprecated. Consider using the ts_lib counterpart in util.ts.

Input parameters:

  • path Path that should be cleaned

  • replacement Replacement for illegal characters

Return values:

  • string path where all illegal characters have been replaced by replacement

cleanAbsoluteDirPath

Remove illegal characters from path

wsi4.io.fs.cleanAbsoluteDirPath(path: string, replacement: string): string

Deprecated. Consider using the ts_lib counterpart in util.ts.

Input parameters:

  • path Path that sould be cleaned

  • replacement Replacement for illegal characters

Return values:

  • string path where all illegal characters have been replaced by replacement

readFile

Read file from file system

wsi4.io.fs.readFile(path: string): ArrayBuffer|undefined

Note: Path separator is /

Input parameters:

  • path Path to file that should be read

Return values:

  • ArrayBuffer Content of read file

  • undefined In case of an error

writeFile

Write file to file system

wsi4.io.fs.writeFile(path: string, content: ArrayBuffer): boolean

Note: Directory the file should be written to must exist.

Note: Path separator is /

Input parameters:

  • path Path of file to write

  • content File content

Return values:

  • boolean True if successful

Create symboblic link

wsi4.io.fs.symlink(targetPath: string, linkPath: string): boolean

Note: Path separator is /

Input parameters:

  • targetPath Path of the file the link should point to

  • linkPath Path to link that should be created

Return values:

  • boolean True if successful

rm

Remove path

wsi4.io.fs.rm(path: string): boolean

Description: Note: If path is a directory it will be removed recursively.

Note: Path separator is /

Input parameters:

  • path The path to remove

Return values:

  • boolean True if path does not exists (any more)

createTmpDir

Create temporary directory

wsi4.io.fs.createTmpDir(): string

Return values:

  • string Path to temporary directory

io.net.http

Network access via HTTP

get

HTTP GET request

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

Input parameters:

  • url Request-URL

Return values:

  • HttpReply Result of the request

post

HTTP POST request

wsi4.io.net.http.post(url: string, mimeType: string, data: ArrayBuffer): HttpReply

Input parameters:

  • url Request-URL

  • mimeType Request-Body MIME type

  • data Request body

Return values:

  • HttpReply Result of the request

put

HTTP PUT request

wsi4.io.net.http.put(url: string, mimeType: string, data: ArrayBuffer): HttpReply

Input parameters:

  • url Request-URL

  • mimeType Request-Body MIME type

  • data Request body

Return values:

  • HttpReply Result of the request

del

HTTP DELETE request

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

Input parameters:

  • url Request-URL

Return values:

  • HttpReply Result of the request

io.settings

Access to persistent storage

read

Read value from persistent settings storage

wsi4.io.settings.read(key: string): string|undefined

key is case-insensitive

Input parameters:

  • key

Return values:

  • string The value for given key if successful

  • undefined Else

write

Write value to persistent settings storage.

wsi4.io.settings.write(key: string, value: string): void

key is case-insensitive

Input parameters:

  • key Key for the value in persistent settings storage

  • value Value that should be written

Return values:

io.sql

SQL database access

connect

Connect to a database using provided connection properties

wsi4.io.sql.connect(properties: ConnectionProperties): boolean

Experimental feature

Input parameters:

  • properties Object holding connection data

Return values:

  • boolean True if connection could be established; false otherwise.

execQuery

Execute a SQL query using given connection

wsi4.io.sql.execQuery(connection: string, queryString: string): (StringIndexedInterface)[]|undefined

Experimental feature

Possible values for connection are defined when calling connect().

Example for queryString: SELECT name, salary FROM employees;

Input parameters:

  • connection Identifier for the connection to use

  • queryString The SQL query that should be executed

Return values:

  • (StringIndexedInterface)[] For SELECT queries an Array of objects is returned where each object represents one table row

  • undefined In case of an error such as wrong connection

listDrivers

Get list of drivers

wsi4.io.sql.listDrivers(): (string)[]

Experimental feature

Return values:

  • (string)[] List of drivers

node

Read operations for a node in the graph

nodeId

Get the GraphNodeId for a Vertex

wsi4.node.nodeId(vertex: Vertex): GraphNodeId

The GraphNodeId of a Vertex is its unique permanent identifier. Whenever a document graph is recomputed, its changed nodes have unique new GraphNodeIds.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • GraphNodeId GraphNodeId for given vertex

rootId

Get the RootId of a Vertex

wsi4.node.rootId(vertex: Vertex): GraphNodeRootId

The RootId of a node is an id that persists as long as the node exists. Invalidation of a RootId happens only if the vertex is deleted or changing the attributes of a target vertex leads to recreation of its sources.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • GraphNodeRootId root id for given vertex.

vertexFromNodeId

Get Vertex corresponding to a GraphNodeId

wsi4.node.vertexFromNodeId(nodeId: GraphNodeId): Vertex|undefined

Input parameters:

  • nodeId A number

Return values:

  • Vertex Vertex with given nodeId

  • undefined If no Vertex with given nodeId exists

vertexFromRootId

Get Vertex corresponding to a RootId

wsi4.node.vertexFromRootId(rootId: GraphNodeRootId): Vertex|undefined

Input parameters:

  • rootId A number

Return values:

  • Vertex Vertex with given rootId

  • undefined If no Vertex with given rootId exists

multiplicity

Get multiplicity of a Vertex

wsi4.node.multiplicity(vertex: Vertex): number

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • number Multiplicity for the node associated with vertex

processId

Get process id for a Vertex

wsi4.node.processId(vertex: Vertex): string

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • string Process identifier for the node with vertex

processType

Get process type for a Vertex

wsi4.node.processType(vertex: Vertex): ProcessType

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ProcessType Process type for associated node

allowedProcessIds

Deprecated. Will be removed in a future version.

wsi4.node.allowedProcessIds(vertex: Vertex): (string)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (string)[] strings representing all process identifiers the node associated with vertex can be set to

userData

Get UserData for a Vertex

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

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • StringIndexedInterface UserData for associated node

isImport

Check if vertex is associated with the import assembly

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

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean True, if vertex is an import node

importMultiplicity

Get multiplicity for a Vertex

wsi4.node.importMultiplicity(vertex: Vertex): number|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • number Multiplicity of an import node

  • undefined In case associated node is no import node

workStepType

Get WorkStepType for a Vertex

wsi4.node.workStepType(vertex: Vertex): WorkStepType

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • WorkStepType WorkStepType for the node associated with vertex

sheetThickness

Get thickness of sheet for a Vertex

wsi4.node.sheetThickness(vertex: Vertex): number|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • number Sheet thickness for associated node

  • undefined In case the associated node does not provide a sheet thickness

articleAttributes

Get ArticleAttributes for a Vertex

wsi4.node.articleAttributes(vertex: Vertex): ArticleAttributes

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ArticleAttributes ArticleAttributes for the article that vertex belongs to

isInitial

Check if a Vertex is initial

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

Being initial for a Vertex means that it is the right-most automatically generated Vertex whose inputAssembly contains a single Brep.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean If the node associated with vertex is initial

flipSide

Return true, if flip side of part is used

wsi4.node.flipSide(vertex: Vertex): boolean|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean Boolean indicating flip side usage if vertex is associated with a node that is initial

  • undefined If vertex is associated with a node which is not initial

bendCorrection

Return true, if correction of bends of part is done

wsi4.node.bendCorrection(vertex: Vertex): boolean|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean Boolean indicating automatic correction of bends if vertex is associated with a node that is of WorkStepType sheetBending

  • undefined If vertex is associated with a node which is not of WorkStepType sheetBending

packagingContainerWeights

Return the containers used in a packaging node

wsi4.node.packagingContainerWeights(vertex: Vertex): (number)[]|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (number)[] An array listing the weights of all containers produced if vertex is associated with a node of WorkStepType packaging

  • undefined If vertex is not associated with a node whose WorkStepType is packaging

joining

Return the joining sequence of joining node

wsi4.node.joining(vertex: Vertex): Joining|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Joining A Joining, if vertex is associated with a node of WorkStepType joining

  • undefined If vertex is not associated with a node whose WorkStepType is joining

dieChoiceMap

Return the DieChoiceMap of a vertex

wsi4.node.dieChoiceMap(vertex: Vertex): (BendDieChoice)[]|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (BendDieChoice)[] A vector of BendDieChoice, if vertex is associated with a node of WorkStepType sheetBending

  • undefined If vertex is not associated with a node whose WorkStepType is sheetBending

sheetFilter

Return the associated node’s SheetFilter

wsi4.node.sheetFilter(vertex: Vertex): SheetFilter|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • SheetFilter Filter on possible sheets, if vertex is associated with a node of WorkStepType sheet

  • undefined If vertex is not associated with a node whose WorkStepType is sheet

checkWorkStepAvailability

Check if a node can be set to certain WorkStepTypes

wsi4.node.checkWorkStepAvailability(vertex: Vertex, workStepTypes: (WorkStepType)[]): (WorkStepType)[]

Input parameters:

  • vertex A Vertex of the current graph

  • workStepTypes WorkStepTypes to check; if empty, all WorkStepTypes are checked

Return values:

  • (WorkStepType)[] An array of all WorkStepTypes that the node associated with vertex can be changed to

twoDimRep

Get TwoDimRepresentation for a Vertex

wsi4.node.twoDimRep(vertex: Vertex): TwoDimRepresentation|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • TwoDimRepresentation The TwoDimRepresentation of the node associated with vertex

  • undefined In case the node associated with vertex does not provide a TwoDimRepresentation

assembly

Get the Assembly for a Vertex

wsi4.node.assembly(vertex: Vertex): Assembly|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Assembly The Assembly of the node associated with vertex

  • undefined In case the node associated with vertex does not provide an Assembly

inputAssembly

Get the input-Assembly for a Vertex

wsi4.node.inputAssembly(vertex: Vertex): Assembly|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • Assembly The input-Assembly of the node associated with vertex

  • undefined In case the associated node does not provide an input-Assembly

computeBendLineData

Get BendLineDatas for the node associated to a Vertex

wsi4.node.computeBendLineData(vertex: Vertex): (BendLineData)[]|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

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

  • undefined In case the node associated with vertex is not of WorkStepType sheetBending

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

computeAffectedSegments

Get the affected Segments for the node associated to a Vertex

wsi4.node.computeAffectedSegments(vertex: Vertex): (Segment)[]|undefined

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (Segment)[] Segments representing all parts of inner contours that lie within bend zones

  • undefined In case the node associated with vertex is not of WorkStepType sheetBending

bendMeasurementScenes

Get scenes displaying the technical drawings of bends for a Vertex

wsi4.node.bendMeasurementScenes(vertex: Vertex, fontSize: number): (SceneData)[]

Input parameters:

  • vertex A Vertex of the current graph

  • fontSize Size of measurements in px

Return values:

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

asyncBendMeasurementScenes

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

wsi4.node.asyncBendMeasurementScenes(vertex: Vertex, fontSize: number): SceneDataFuture

Input parameters:

  • vertex A Vertex of the current graph

  • fontSize Size of measurements in px

Return values:

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

forcedProcessType

Check, if ProcessType of a Vertex was forced

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

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • boolean True, if ProcessType of vertex was forced

dump

Not part of the official API

wsi4.node.dump(vertex: Vertex): string

Calling this function in a non-debug-build will throw an error.

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • string The dumped GraphNode

camReplyStateIndicators

Indicates cam processing state

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

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • ReplyStateIndicatorMap

commands

Get commands for a node of WorkStepType transform

wsi4.node.commands(vertex: Vertex): (CamCommand)[]

Input parameters:

  • vertex A Vertex of the current graph

Return values:

  • (CamCommand)[] Commands

sharedData

Read / write data that is submitted to script hooks

read

Return current data object

wsi4.sharedData.read(): StringIndexedInterface

Return values:

  • StringIndexedInterface Shared data Object

positionalArguments

Return positional arguments

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

Return values:

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

write

Write shared data Object

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

Input parameters:

  • data An Object

Return values:

scriptArgs

Return values submitted via --script-arg command-line option

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

Return values:

  • (string)[] Strings submitted via --script-arg command-line option

tables

Read operation on the user tables

get

Get table with given identifier

wsi4.tables.get(identifier: TableType): AnyTable

Input parameters:

  • identifier Identifier of the table that should be returned

Return values:

  • AnyTable Requested table

getDefault

Get default for table with given identifier

wsi4.tables.getDefault(identifier: TableType): AnyTable

If there is no default table an empty table will be returned.

Input parameters:

  • identifier Identifier of the table the default should be returned

Return values:

  • AnyTable Requested table

setInternalTable

Set internal table

wsi4.tables.setInternalTable(anyTable: AnyTable): void

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

Tables set via this function are editable via the Gui’s table widget.

Tables set via this function are persistent and available among all clients using the same WSi4 account.

The maximum table size for an internal table is limited

External tables remain unchanged when calling this function.

Input parameters:

  • anyTable Table to set

Return values:

setExternalTable

Override table for given identifier

wsi4.tables.setExternalTable(anyTable: AnyTable): void

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

Tables set via this function are not editable via the Gui’s table widget.

Tables set via this function take precedence over internal (built-in) tables.

Tables set via this function are not persistent.

Internal tables remain unchanged when calling this function.

Input parameters:

  • anyTable Table to set

Return values:

removeInternalTable

Remove internal table

wsi4.tables.removeInternalTable(type: TableType): void

If there is no internal table for type it is ignored.

Input parameters:

  • type Table type

Return values:

removeExternalTable

Remove external table(s)

wsi4.tables.removeExternalTable(type: TableType): void

If there is no external table for a type it is ignored.

Input parameters:

  • type Table type

Return values:

isInternalTable

Returns true if table is set as internal table

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

Input parameters:

  • type Table type

Return values:

  • boolean

isExternalTable

Returns true if table is set as external table

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

Input parameters:

  • type Table type

Return values:

  • boolean

serialize

Create versioned serialization of internal tables

wsi4.tables.serialize(tableTypes: readonly Readonly<TableType>[]): ArrayBuffer

Resulting serialization is versioned to make it more robust with respect to API changes.

Input parameters:

  • tableTypes Tables to serialize

Return values:

  • ArrayBuffer

deserialize

Returns deserialized tables

wsi4.tables.deserialize(data: ArrayBuffer): undefined|(AnyTable)[]

Input parameters:

  • data Serialized tables

Return values:

  • undefined

  • (AnyTable)[]

findErrors

Find errors in current tables

wsi4.tables.findErrors(): (TableError)[]

Return values:

  • (TableError)[]

commit

Write internal tables to database

wsi4.tables.commit(): void

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

Return values:

ui

Request data via ui

openUrl

Open url

wsi4.ui.openUrl(url: string): void

Input parameters:

  • url Url to open

Return values:

show

Show user input widget defined by config

wsi4.ui.show(config: WidgetConfig): undefined|WidgetResult

Input parameters:

  • config Widget configuration

Return values:

  • undefined User canceled

  • WidgetResult Widget result

util

General purpose utility functions

translate

Get translation of key

wsi4.util.translate(key: string): string

Input parameters:

  • key Key to look up in translation table

Return values:

  • string String representing translation for key if lookup is successful; key itself if lookup is unsuccessful

toNumberString

Convert number to string

wsi4.util.toNumberString(value: number, digits: number): string

Input parameters:

  • value The value to convert

  • digits Number of decimal digits to use

Return values:

  • string value converted to type string

toCurrencyString

Convert number to string with currency symbol

wsi4.util.toCurrencyString(value: number, digits: number): string

Input parameters:

  • value The value to convert

  • digits Number of digits to use

Return values:

  • string String representing value with digits decimal places after decimal point and currency symbol based on locale

toXml

Convert JSON to XML

wsi4.util.toXml(json: string): string

Conversion support is limited due to incompatibilities between the two formats.

Input parameters:

  • json JSON string to convert to XML

Return values:

  • string The string converted to XML

toBase64

Encode ArrayBuffer with base64

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

To create a base64 string value, the result of this function can be converted using arrayBufferToString().

Input parameters:

  • data Bytes to encode

Return values:

  • ArrayBuffer Base64 encoded bytes

fromBase64

Decode ArrayBuffer from base64

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

To create a decoded ArrayBuffer from a base64 encoded string, convert the string value with stringToArrayBuffer() first.

Input parameters:

  • data Bytes to decode

Return values:

  • ArrayBuffer Decoded bytes

arrayBufferToString

Convert ArrayBuffer to string

wsi4.util.arrayBufferToString(data: ArrayBuffer): string

Input parameters:

  • data Data to convert as ArrayBuffer

Return values:

  • string data converted to string

stringToArrayBuffer

Convert string to ArrayBuffer

wsi4.util.stringToArrayBuffer(data: string): ArrayBuffer

Input parameters:

  • data Data to convert as string

Return values:

  • ArrayBuffer data converted to ArrayBuffer

createFileContentFromScene

Create file content from a Scene

wsi4.util.createFileContentFromScene(scene: Scene, fileType: FileType): string|undefined

Note: This function is deprecated. Consider using wsi4.geo.utils.renderScene() instead.

Input parameters:

  • scene A Scene

  • fileType Requested FileType; currently svg is supported

Return values:

  • string string with file contents for text formats, currently used for dxf and svg

  • undefined In case of error such as unsupported fileType

toKey

Get key (string representation) for object

wsi4.util.toKey(object: Assembly|Brep|TwoDimRepresentation|Vertex|GraphNodeId|GraphNodeRootId): string

Input parameters:

  • object An object

Return values:

  • string string representing object

warn

Print warning message

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

Input parameters:

  • message Message to show

Return values:

error

Print error message

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

Input parameters:

  • message Message to show

Return values:

info

Print info message

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

Input parameters:

  • message Message to show

Return values:

programInfo

Get program information

wsi4.util.programInfo(): string

Return values:

  • string Name and current version

isDebug

Get debug mode

wsi4.util.isDebug(): boolean

Return values:

  • boolean True if debug mode is on

setDebug

Set debug mode

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

Input parameters:

  • debugOn True if debug mode should be on

Return values:

parseCsv

Parse CSV string

wsi4.util.parseCsv(input: string): undefined|((string)[])[]

Note: CSV separator is ','

Input parameters:

  • input CSV string

Return values:

  • undefined If unsuccessful

  • ((string)[])[] Parsed CSV where each row is represented by an Array of Strings

getFutureResult

Access result of a future

wsi4.util.getFutureResult(future: ArrayBufferFuture|SceneDataFuture): ArrayBuffer|(SceneData)[]

There is a guarantee for consistency regarding the future’s wrapped type and the result union’s type.

Input parameters:

  • future The future

Return values:

  • ArrayBuffer Result of a ArrayBuffer future

  • (SceneData)[] Result of a SceneData future

Table documentation

globalMaterial

Table type:

globalMaterial

Data interface:

GlobalMaterial

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

description

description

false

-

Referring tables:
Referring table Referring column

materialDensity

globalMaterialId

laserSheetCuttingMaterial

globalMaterialId

bendMaterial

globalMaterialId

sheet

globalMaterialId

automaticMechanicalDeburringMaterial

globalMaterialId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

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

materialDensity

Table type:

materialDensity

Data interface:

MaterialDensity

Meta data:
Column key Header Unique Referred table / column

globalMaterialId

material_id

true

globalMaterial / identifier

density

density_in_kg_per_m_pow_3

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "density": 7850,
        "globalMaterialId": "global-1.0038",
        "serialization_version": 0
    },
    {
        "density": 7900,
        "globalMaterialId": "global-1.4301",
        "serialization_version": 0
    },
    {
        "density": 7850,
        "globalMaterialId": "global-QStE380TM",
        "serialization_version": 0
    },
    {
        "density": 2660,
        "globalMaterialId": "global-AlMg3",
        "serialization_version": 0
    }
]

laserSheetCuttingMaterial

Table type:

laserSheetCuttingMaterial

Data interface:

LaserSheetCuttingMaterial

Meta data:
Column key Header Unique Referred table / column

globalMaterialId

material_id

true

globalMaterial / identifier

laserSheetCuttingMaterialId

laser_sheet_cutting_material_id

false

-

Referring tables:
Referring table Referring column

laserSheetCuttingSpeed

laserSheetCuttingMaterialId

laserSheetCuttingPierceTime

laserSheetCuttingMaterialId

laserSheetCuttingRate

laserSheetCuttingMaterialId

laserSheetCuttingMinArea

laserSheetCuttingMaterialId

laserSheetCuttingMaxThickness

laserSheetCuttingMaterialId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "globalMaterialId": "global-1.0038",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0
    },
    {
        "globalMaterialId": "global-1.4301",
        "laserSheetCuttingMaterialId": "1.4301",
        "serialization_version": 0
    },
    {
        "globalMaterialId": "global-QStE380TM",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0
    },
    {
        "globalMaterialId": "global-AlMg3",
        "laserSheetCuttingMaterialId": "AlMg3",
        "serialization_version": 0
    }
]

bendMaterial

Table type:

bendMaterial

Data interface:

BendMaterial

Meta data:
Column key Header Unique Referred table / column

globalMaterialId

material_id

true

globalMaterial / identifier

bendMaterialId

bend_material_id

false

-

Referring tables:
Referring table Referring column

bendTimeParameters

bendMaterialId

bendRateParameters

bendMaterialId

bendDeduction

bendMaterialId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "bendMaterialId": "1.0038",
        "globalMaterialId": "global-1.0038",
        "serialization_version": 0
    },
    {
        "bendMaterialId": "1.4301",
        "globalMaterialId": "global-1.4301",
        "serialization_version": 0
    },
    {
        "bendMaterialId": "QStE380TM",
        "globalMaterialId": "global-QStE380TM",
        "serialization_version": 0
    },
    {
        "bendMaterialId": "AlMg3",
        "globalMaterialId": "global-AlMg3",
        "serialization_version": 0
    }
]

bendTime

Table type:

bendTime

Data interface:

BendTime

Meta data:
Column key Header Unique Referred table / column

mass

mass_in_kg

true

-

setupTime

t_r_in_min

false

-

setupTimePerBend

t_r_delta_per_bend_in_min

false

-

unitTime

t_e_in_min

false

-

unitTimePerBend

t_e_per_bend_in_min

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "mass": 1.5,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 0.8,
        "unitTime": 0,
        "unitTimePerBend": 0.2
    },
    {
        "mass": 3,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 1,
        "unitTime": 0,
        "unitTimePerBend": 0.3
    },
    {
        "mass": 7,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 1.5,
        "unitTime": 0,
        "unitTimePerBend": 0.6
    },
    {
        "mass": 10,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 2,
        "unitTime": 0,
        "unitTimePerBend": 0.75
    },
    {
        "mass": 15,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 3,
        "unitTime": 0,
        "unitTimePerBend": 1.2
    },
    {
        "mass": 20,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 5,
        "unitTime": 0,
        "unitTimePerBend": 2
    },
    {
        "mass": 30,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 7,
        "unitTime": 0,
        "unitTimePerBend": 2.5
    },
    {
        "mass": 40,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 10,
        "unitTime": 0,
        "unitTimePerBend": 5
    },
    {
        "mass": 60,
        "serialization_version": 1,
        "setupTime": 8,
        "setupTimePerBend": 15,
        "unitTime": 0,
        "unitTimePerBend": 12
    }
]

bendTimeParameters

Table type:

bendTimeParameters

Data interface:

BendTimeParameters

Meta data:
Column key Header Unique Referred table / column

bendMaterialId

bend_material_id

true

bendMaterial / bendMaterialId

thickness

sheet_metal_thickness_in_mm

true

-

bendLineNetLength

bend_line_net_length_in_mm

true

-

setupTimeFactor

setup_time_factor

false

-

setupTimeDelta

setup_time_delta_in_min

false

-

setupTimePerBendFactor

setup_time_per_bend_factor

false

-

setupTimePerBendDelta

setup_time_per_bend_delta_in_min

false

-

unitTimeFactor

unit_time_factor

false

-

unitTimeDelta

unit_time_delta_in_min

false

-

unitTimePerBendFactor

unit_time_per_bend_factor

false

-

unitTimePerBendDelta

unit_time_per_bend_delta_in_min

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "1.0038",
        "serialization_version": 0,
        "setupTimeDelta": 0,
        "setupTimeFactor": 1,
        "setupTimePerBendDelta": 0,
        "setupTimePerBendFactor": 1,
        "thickness": 0,
        "unitTimeDelta": 0,
        "unitTimeFactor": 1,
        "unitTimePerBendDelta": 0,
        "unitTimePerBendFactor": 1
    },
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "1.4301",
        "serialization_version": 0,
        "setupTimeDelta": 0,
        "setupTimeFactor": 1,
        "setupTimePerBendDelta": 0,
        "setupTimePerBendFactor": 1,
        "thickness": 0,
        "unitTimeDelta": 0,
        "unitTimeFactor": 1,
        "unitTimePerBendDelta": 0,
        "unitTimePerBendFactor": 1
    },
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "AlMg3",
        "serialization_version": 0,
        "setupTimeDelta": 0,
        "setupTimeFactor": 1,
        "setupTimePerBendDelta": 0,
        "setupTimePerBendFactor": 1,
        "thickness": 0,
        "unitTimeDelta": 0,
        "unitTimeFactor": 1,
        "unitTimePerBendDelta": 0,
        "unitTimePerBendFactor": 1
    },
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "QStE380TM",
        "serialization_version": 0,
        "setupTimeDelta": 0,
        "setupTimeFactor": 1,
        "setupTimePerBendDelta": 0,
        "setupTimePerBendFactor": 1,
        "thickness": 0,
        "unitTimeDelta": 0,
        "unitTimeFactor": 1,
        "unitTimePerBendDelta": 0,
        "unitTimePerBendFactor": 1
    }
]

bendRateParameters

Table type:

bendRateParameters

Data interface:

BendRateParameters

Meta data:
Column key Header Unique Referred table / column

bendMaterialId

bend_material_id

true

bendMaterial / bendMaterialId

thickness

sheet_metal_thickness_in_mm

true

-

bendLineNetLength

bend_line_net_length_in_mm

true

-

hourlyRateFactor

hourly_rate_factor

false

-

hourlyRateDelta

hourly_rate_delta_in_currency_per_h

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "1.0038",
        "hourlyRateDelta": 0,
        "hourlyRateFactor": 1,
        "serialization_version": 0,
        "thickness": 0
    },
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "1.4301",
        "hourlyRateDelta": 0,
        "hourlyRateFactor": 1,
        "serialization_version": 0,
        "thickness": 0
    },
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "AlMg3",
        "hourlyRateDelta": 0,
        "hourlyRateFactor": 1,
        "serialization_version": 0,
        "thickness": 0
    },
    {
        "bendLineNetLength": 0,
        "bendMaterialId": "QStE380TM",
        "hourlyRateDelta": 0,
        "hourlyRateFactor": 1,
        "serialization_version": 0,
        "thickness": 0
    }
]

bendLineConstraint

Table type:

bendLineConstraint

Data interface:

BendLineConstraint

Meta data:
Column key Header Unique Referred table / column

bendMaterialId

bend_material_id

true

-

thickness

sheet_metal_thickness_in_mm

true

-

maxNetLength

max_bend_line_net_length_in_mm

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "bendMaterialId": "1.0038",
        "maxNetLength": 100000,
        "serialization_version": 0,
        "thickness": 100
    },
    {
        "bendMaterialId": "1.4301",
        "maxNetLength": 100000,
        "serialization_version": 0,
        "thickness": 100
    },
    {
        "bendMaterialId": "AlMg3",
        "maxNetLength": 100000,
        "serialization_version": 0,
        "thickness": 100
    },
    {
        "bendMaterialId": "QStE380TM",
        "maxNetLength": 100000,
        "serialization_version": 0,
        "thickness": 100
    }
]

laserSheetCuttingGas

Table type:

laserSheetCuttingGas

Data interface:

LaserSheetCuttingGas

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

Referring tables:
Referring table Referring column

laserSheetCuttingSpeed

laserSheetCuttingGasId

laserSheetCuttingPierceTime

laserSheetCuttingGasId

laserSheetCuttingRate

laserSheetCuttingGasId

laserSheetCuttingMinArea

laserSheetCuttingGasId

laserSheetCuttingMaxThickness

laserSheetCuttingGasId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "identifier": "N2",
        "name": "N2",
        "serialization_version": 0
    },
    {
        "identifier": "O2",
        "name": "O2",
        "serialization_version": 0
    }
]

laserSheetCuttingSpeed

Table type:

laserSheetCuttingSpeed

Data interface:

LaserSheetCuttingSpeed

Meta data:
Column key Header Unique Referred table / column

laserSheetCuttingMaterialId

laser_sheet_cutting_material_id

true

laserSheetCuttingMaterial / laserSheetCuttingMaterialId

laserSheetCuttingGasId

cutting_gas_id

true

laserSheetCuttingGas / identifier

thickness

sheet_metal_thickness_in_mm

true

-

speed

speed_in_m_per_min

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 10,
        "thickness": 1
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 8,
        "thickness": 1.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 6.9,
        "thickness": 2
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 5.8,
        "thickness": 2.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 4.9,
        "thickness": 3
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 3.8,
        "thickness": 4
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 2.8,
        "thickness": 5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 2.35,
        "thickness": 6
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 1.85,
        "thickness": 8
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "speed": 1.2,
        "thickness": 10
    }
]

laserSheetCuttingPierceTime

Table type:

laserSheetCuttingPierceTime

Data interface:

LaserSheetCuttingPierceTime

Meta data:
Column key Header Unique Referred table / column

laserSheetCuttingMaterialId

laser_sheet_cutting_material_id

true

laserSheetCuttingMaterial / laserSheetCuttingMaterialId

laserSheetCuttingGasId

cutting_gas_id

true

laserSheetCuttingGas / identifier

thickness

sheet_metal_thickness_in_mm

true

-

time

pierce_time_in_s

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 1,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 1.5,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 2,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 2.5,
        "time": 0.35
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 3,
        "time": 0.36
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 4,
        "time": 0.44999999999999996
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 5,
        "time": 0.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 6,
        "time": 0.8999999999999999
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 8,
        "time": 1.5
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 10,
        "time": 2.3
    }
]

laserSheetCuttingRate

Table type:

laserSheetCuttingRate

Data interface:

LaserSheetCuttingRate

Meta data:
Column key Header Unique Referred table / column

laserSheetCuttingMaterialId

laser_sheet_cutting_material_id

true

laserSheetCuttingMaterial / laserSheetCuttingMaterialId

laserSheetCuttingGasId

cutting_gas_id

true

laserSheetCuttingGas / identifier

rate

rate_in_currency_per_h

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "rate": 95,
        "serialization_version": 0
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "rate": 116,
        "serialization_version": 0
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.4301",
        "rate": 118,
        "serialization_version": 0
    },
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "AlMg3",
        "rate": 116,
        "serialization_version": 0
    }
]

laserSheetCuttingMinArea

Table type:

laserSheetCuttingMinArea

Data interface:

LaserSheetCuttingMinArea

Meta data:
Column key Header Unique Referred table / column

laserSheetCuttingMaterialId

laser_sheet_cutting_material_id

true

laserSheetCuttingMaterial / laserSheetCuttingMaterialId

laserSheetCuttingGasId

cutting_gas_id

true

laserSheetCuttingGas / identifier

thickness

sheet_metal_thickness_in_mm

true

-

area

min_contour_area_in_mm_pow_2

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "area": 0.12566360000000001,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 0.8
    },
    {
        "area": 0.196349375,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 1
    },
    {
        "area": 0.44178609374999994,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 1.5
    },
    {
        "area": 0.7853975,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 2
    },
    {
        "area": 1.7671443749999998,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 3
    },
    {
        "area": 3.14159,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 4
    },
    {
        "area": 4.908734375,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 5
    },
    {
        "area": 7.068577499999999,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 6
    },
    {
        "area": 12.56636,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 8
    },
    {
        "area": 19.6349375,
        "laserSheetCuttingGasId": "O2",
        "laserSheetCuttingMaterialId": "1.0038",
        "serialization_version": 0,
        "thickness": 10
    }
]

laserSheetCuttingMaxThickness

Table type:

laserSheetCuttingMaxThickness

Data interface:

LaserSheetCuttingMaxThickness

Meta data:
Column key Header Unique Referred table / column

laserSheetCuttingMaterialId

laser_sheet_cutting_material_id

true

laserSheetCuttingMaterial / laserSheetCuttingMaterialId

laserSheetCuttingGasId

cutting_gas_id

true

laserSheetCuttingGas / identifier

maxThickness

max_sheet_metal_thickness_in_mm

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "laserSheetCuttingGasId": "N2",
        "laserSheetCuttingMaterialId": "1.0038",
        "maxThickness": 6,
        "serialization_version": 0
    }
]

packaging

Table type:

packaging

Data interface:

Packaging

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

dimX

dim_x_in_mm

false

-

dimY

dim_y_in_mm

false

-

dimZ

dim_z_in_mm

false

-

maxWeight

max_weight_in_kg

false

-

price

price_in_currency_per_unit

false

-

tr

t_r_in_min

false

-

tep

time_package_in_min

false

-

tea

time_article_in_min

false

-

Referring tables:
Referring table Referring column

transportationCosts

packagingId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "dimX": 200,
        "dimY": 200,
        "dimZ": 200,
        "identifier": "box1",
        "maxWeight": 30,
        "name": "box 1",
        "price": 0.35,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 600,
        "dimY": 400,
        "dimZ": 400,
        "identifier": "box2",
        "maxWeight": 30,
        "name": "box 2",
        "price": 3.92,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 800,
        "dimY": 400,
        "dimZ": 400,
        "identifier": "box3",
        "maxWeight": 30,
        "name": "box 3",
        "price": 3.125,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 1180,
        "dimY": 780,
        "dimZ": 400,
        "identifier": "box4",
        "maxWeight": 30,
        "name": "box 4",
        "price": 4.65,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.1,
        "tr": 10
    },
    {
        "dimX": 400,
        "dimY": 600,
        "dimZ": 130,
        "identifier": "quarter-europalett",
        "maxWeight": 250,
        "name": "quarter_europalett",
        "price": 2.5,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 800,
        "dimY": 600,
        "dimZ": 104,
        "identifier": "half-europalett",
        "maxWeight": 400,
        "name": "half_europalett",
        "price": 3.3,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 1200,
        "dimY": 800,
        "dimZ": 78,
        "identifier": "europalett1",
        "maxWeight": 600,
        "name": "europalett 1",
        "price": 4.5,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 1200,
        "dimY": 800,
        "dimZ": 156,
        "identifier": "europalett2",
        "maxWeight": 1200,
        "name": "europalett 2",
        "price": 6.8,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    },
    {
        "dimX": 2000,
        "dimY": 1000,
        "dimZ": 62.5,
        "identifier": "small-format",
        "maxWeight": 1000,
        "name": "small_format",
        "price": 7.9,
        "serialization_version": 1,
        "tea": 0,
        "tep": 0.2,
        "tr": 10
    }
]

transportationCosts

Table type:

transportationCosts

Data interface:

TransportationCosts

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

packagingId

packaging_id

false

packaging / identifier

fixedCosts

fixedCosts_in_currency

false

-

minCosts

minCosts_in_currency

false

-

kmKgFactor

km_kg_factor_in_currency_per_km_kg

false

-

kmFactor

km_factor_in_currency_per_km

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "fixedCosts": 5.8,
        "identifier": "transport-box1",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 5.8,
        "name": "box 1",
        "packagingId": "box1",
        "serialization_version": 1
    },
    {
        "fixedCosts": 5.8,
        "identifier": "transport-box2",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 5.8,
        "name": "box 2",
        "packagingId": "box2",
        "serialization_version": 1
    },
    {
        "fixedCosts": 25.8,
        "identifier": "transport-box3",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 25.8,
        "name": "box 3",
        "packagingId": "box3",
        "serialization_version": 1
    },
    {
        "fixedCosts": 25.8,
        "identifier": "transport-box4",
        "kmFactor": 0,
        "kmKgFactor": 0,
        "minCosts": 25.8,
        "name": "box 4",
        "packagingId": "box4",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-quarter-europalett",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "quarter_europalett",
        "packagingId": "quarter-europalett",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-half-europalett",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "half_europalett",
        "packagingId": "half-europalett",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-europalett1",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "europalett 1",
        "packagingId": "europalett1",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-europalett2",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "europalett 2",
        "packagingId": "europalett2",
        "serialization_version": 1
    },
    {
        "fixedCosts": 14,
        "identifier": "transport-small-format",
        "kmFactor": 0,
        "kmKgFactor": 0.0006,
        "minCosts": 35,
        "name": "small_format",
        "packagingId": "small-format",
        "serialization_version": 1
    }
]

surcharge

Table type:

surcharge

Data interface:

Surcharge

Meta data:
Column key Header Unique Referred table / column

name

name

true

-

type

type

true

-

value

value

true

-

description

description

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "description": "",
        "name": "production_overhead_factor",
        "serialization_version": 0,
        "type": "productionOverheadFactor",
        "value": 0.1
    },
    {
        "description": "",
        "name": "material_costs_factor",
        "serialization_version": 0,
        "type": "materialCostsFactor",
        "value": 0.25
    },
    {
        "description": "",
        "name": "global_factor",
        "serialization_version": 0,
        "type": "globalFactor",
        "value": 0.36
    },
    {
        "description": "",
        "name": "global_delta",
        "serialization_version": 0,
        "type": "globalDelta",
        "value": 0
    }
]

process

Table type:

process

Data interface:

Process

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

parentIdentifier

parent_identifier

false

process / identifier

type

process

false

-

name

name

false

-

active

active

false

-

childrenActive

children_active

false

-

description

description

false

-

Referring tables:
Referring table Referring column

processRate

processId

processSetupTimeFallback

processId

processUnitTimeFallback

processId

dimensionConstraints

processId

tappingTimeParameters

processId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "manufacturingId",
        "name": "process_manufacturing",
        "parentIdentifier": "",
        "serialization_version": 0,
        "type": "manufacturing"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "formingId",
        "name": "process_forming",
        "parentIdentifier": "manufacturingId",
        "serialization_version": 0,
        "type": "forming"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "bendFormingId",
        "name": "process_bendforming",
        "parentIdentifier": "formingId",
        "serialization_version": 0,
        "type": "bendForming"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "sheetBendingId",
        "name": "process_sheetbending",
        "parentIdentifier": "bendFormingId",
        "serialization_version": 0,
        "type": "sheetBending"
    },
    {
        "active": true,
        "childrenActive": true,
        "description": "",
        "identifier": "dieBendingId",
        "name": "process_diebending",
        "parentIdentifier": "sheetBendingId",
        "serialization_version": 0,
        "type": "dieBending"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "sheetMetalFoldingId",
        "name": "process_sheetmetalfolding",
        "parentIdentifier": "sheetBendingId",
        "serialization_version": 0,
        "type": "sheetMetalFolding"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "cuttingId",
        "name": "process_cutting",
        "parentIdentifier": "manufacturingId",
        "serialization_version": 0,
        "type": "cutting"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "removalOperationId",
        "name": "process_removaloperation",
        "parentIdentifier": "cuttingId",
        "serialization_version": 0,
        "type": "removalOperation"
    },
    {
        "active": false,
        "childrenActive": true,
        "description": "",
        "identifier": "sheetCuttingId",
        "name": "process_sheetcutting",
        "parentIdentifier": "removalOperationId",
        "serialization_version": 0,
        "type": "sheetCutting"
    },
    {
        "active": true,
        "childrenActive": true,
        "description": "",
        "identifier": "laserSheetCuttingId",
        "name": "process_lasersheetcutting",
        "parentIdentifier": "sheetCuttingId",
        "serialization_version": 0,
        "type": "laserSheetCutting"
    }
]

processRate

Table type:

processRate

Data interface:

ProcessRate

Meta data:
Column key Header Unique Referred table / column

processId

process_id

true

process / identifier

rate

rate_in_currency_per_h

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "comissioningId",
        "rate": 60,
        "serialization_version": 0
    },
    {
        "processId": "millingId",
        "rate": 85,
        "serialization_version": 0
    },
    {
        "processId": "turningId",
        "rate": 83,
        "serialization_version": 0
    },
    {
        "processId": "drillingId",
        "rate": 70,
        "serialization_version": 0
    },
    {
        "processId": "threadingId",
        "rate": 70,
        "serialization_version": 0
    },
    {
        "processId": "userDefinedMachiningId",
        "rate": 80,
        "serialization_version": 0
    },
    {
        "processId": "userDefinedThreadingId",
        "rate": 80,
        "serialization_version": 0
    },
    {
        "processId": "userDefinedCountersinkingId",
        "rate": 80,
        "serialization_version": 0
    },
    {
        "processId": "mechanicalDeburringId",
        "rate": 65,
        "serialization_version": 0
    },
    {
        "processId": "automaticMechanicalDeburringId",
        "rate": 55,
        "serialization_version": 0
    }
]

processSetupTimeFallback

Table type:

processSetupTimeFallback

Data interface:

ProcessSetupTimeFallback

Meta data:
Column key Header Unique Referred table / column

processId

process_id

true

process / identifier

time

t_r_in_min

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "comissioningId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "millingId",
        "serialization_version": 0,
        "time": 15
    },
    {
        "processId": "turningId",
        "serialization_version": 0,
        "time": 15
    },
    {
        "processId": "drillingId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "threadingId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "userDefinedMachiningId",
        "serialization_version": 0,
        "time": 10
    },
    {
        "processId": "userDefinedThreadingId",
        "serialization_version": 0,
        "time": 10
    },
    {
        "processId": "userDefinedCountersinkingId",
        "serialization_version": 0,
        "time": 10
    },
    {
        "processId": "mechanicalDeburringId",
        "serialization_version": 0,
        "time": 5
    },
    {
        "processId": "automaticMechanicalDeburringId",
        "serialization_version": 0,
        "time": 1
    }
]

processUnitTimeFallback

Table type:

processUnitTimeFallback

Data interface:

ProcessUnitTimeFallback

Meta data:
Column key Header Unique Referred table / column

processId

process_id

true

process / identifier

time

t_e_in_min

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "comissioningId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "millingId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "turningId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "drillingId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "threadingId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "userDefinedMachiningId",
        "serialization_version": 0,
        "time": 0.5
    },
    {
        "processId": "userDefinedThreadingId",
        "serialization_version": 0,
        "time": 0.2
    },
    {
        "processId": "userDefinedCountersinkingId",
        "serialization_version": 0,
        "time": 0.2
    },
    {
        "processId": "mechanicalDeburringId",
        "serialization_version": 0,
        "time": 0
    },
    {
        "processId": "cleaningId",
        "serialization_version": 0,
        "time": 0
    }
]

sheet

Table type:

sheet

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

globalMaterialId

material_id

false

globalMaterial / identifier

dimX

dim_x_in_mm

false

-

dimY

dim_y_in_mm

false

-

thickness

sheet_metal_thickness_in_mm

false

-

description

description

false

-

Referring tables:
Referring table Referring column

sheetModulus

sheetId

sheetPrice

sheetId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Example:
[
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-0.8",
        "name": "2000.0x1000.0-1.0038-0.8",
        "serialization_version": 2,
        "thickness": 0.8
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-1.0",
        "name": "2000.0x1000.0-1.0038-1.0",
        "serialization_version": 2,
        "thickness": 1
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-1.5",
        "name": "2000.0x1000.0-1.0038-1.5",
        "serialization_version": 2,
        "thickness": 1.5
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-2.0",
        "name": "2000.0x1000.0-1.0038-2.0",
        "serialization_version": 2,
        "thickness": 2
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-3.0",
        "name": "2000.0x1000.0-1.0038-3.0",
        "serialization_version": 2,
        "thickness": 3
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-4.0",
        "name": "2000.0x1000.0-1.0038-4.0",
        "serialization_version": 2,
        "thickness": 4
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-5.0",
        "name": "2000.0x1000.0-1.0038-5.0",
        "serialization_version": 2,
        "thickness": 5
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-6.0",
        "name": "2000.0x1000.0-1.0038-6.0",
        "serialization_version": 2,
        "thickness": 6
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-8.0",
        "name": "2000.0x1000.0-1.0038-8.0",
        "serialization_version": 2,
        "thickness": 8
    },
    {
        "description": "",
        "dimX": 2000,
        "dimY": 1000,
        "globalMaterialId": "global-1.0038",
        "identifier": "2000.0x1000.0-1.0038-10.0",
        "name": "2000.0x1000.0-1.0038-10.0",
        "serialization_version": 2,
        "thickness": 10
    }
]

sheetModulus

Table type:

sheetModulus

Data interface:

SheetModulus

Meta data:
Column key Header Unique Referred table / column

sheetId

identifier

true

sheet / identifier

xModulus

x_modulus

false

-

yModulus

y_modulus

false

-

applyToAll

apply_to_all_sheets

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 2

Example:
[
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-0.8",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-1.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-1.5",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-2.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-3.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-4.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-5.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-6.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-8.0",
        "xModulus": 0,
        "yModulus": 0
    },
    {
        "applyToAll": false,
        "serialization_version": 2,
        "sheetId": "2000.0x1000.0-1.0038-10.0",
        "xModulus": 0,
        "yModulus": 0
    }
]

sheetPrice

Table type:

sheetPrice

Data interface:

SheetPrice

Meta data:
Column key Header Unique Referred table / column

sheetId

identifier

true

sheet / identifier

pricePerSheet

pricePerSheet

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "pricePerSheet": 8.79,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-0.8"
    },
    {
        "pricePerSheet": 10.99,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-1.0"
    },
    {
        "pricePerSheet": 17.43,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-1.5"
    },
    {
        "pricePerSheet": 22.76,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-2.0"
    },
    {
        "pricePerSheet": 33.21,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-3.0"
    },
    {
        "pricePerSheet": 44.46,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-4.0"
    },
    {
        "pricePerSheet": 55.58,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-5.0"
    },
    {
        "pricePerSheet": 66.69,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-6.0"
    },
    {
        "pricePerSheet": 89.8,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-8.0"
    },
    {
        "pricePerSheet": 112.25,
        "serialization_version": 0,
        "sheetId": "2000.0x1000.0-1.0038-10.0"
    }
]

upperDieGroup

Table type:

upperDieGroup

Data interface:

UpperDieGroup

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

radius

radius_in_mm

false

-

Referring tables:
Referring table Referring column

bendDeduction

upperDieGroupId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "identifier": "Trumpf_OWR0.5",
        "name": "Trumpf_OWR0.5",
        "radius": 0.5,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR1.0",
        "name": "Trumpf_OWR1.0",
        "radius": 1,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR2.0",
        "name": "Trumpf_OWR2.0",
        "radius": 2,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR2.3",
        "name": "Trumpf_OWR2.3",
        "radius": 2.3,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR3.0",
        "name": "Trumpf_OWR3.0",
        "radius": 3,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR4.0",
        "name": "Trumpf_OWR4.0",
        "radius": 4,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR5.0",
        "name": "Trumpf_OWR5.0",
        "radius": 5,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR6.0",
        "name": "Trumpf_OWR6.0",
        "radius": 6,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR8.0",
        "name": "Trumpf_OWR8.0",
        "radius": 8,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_OWR10.0",
        "name": "Trumpf_OWR10.0",
        "radius": 10,
        "serialization_version": 1
    }
]

lowerDieGroup

Table type:

lowerDieGroup

Data interface:

LowerDieGroup

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

openingWidth

opening_width_in_mm

false

-

Referring tables:
Referring table Referring column

bendDeduction

lowerDieGroupId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "identifier": "Trumpf_EVG04W30",
        "name": "Trumpf_EVG04W30",
        "openingWidth": 4,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG05W30",
        "name": "Trumpf_EVG05W30",
        "openingWidth": 5,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG06W30",
        "name": "Trumpf_EVG06W30",
        "openingWidth": 6,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG08W30",
        "name": "Trumpf_EVG08W30",
        "openingWidth": 8,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG10W30",
        "name": "Trumpf_EVG10W30",
        "openingWidth": 10,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG12W30",
        "name": "Trumpf_EVG12W30",
        "openingWidth": 12,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG16W30",
        "name": "Trumpf_EVG16W30",
        "openingWidth": 16,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG20W30",
        "name": "Trumpf_EVG20W30",
        "openingWidth": 20,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG24W30",
        "name": "Trumpf_EVG24W30",
        "openingWidth": 24,
        "serialization_version": 1
    },
    {
        "identifier": "Trumpf_EVG30W30",
        "name": "Trumpf_EVG30W30",
        "openingWidth": 30,
        "serialization_version": 1
    }
]

bendDeduction

Table type:

bendDeduction

Data interface:

BendDeduction

Meta data:
Column key Header Unique Referred table / column

bendMaterialId

bend_material_id

true

bendMaterial / bendMaterialId

upperDieGroupId

upper_die_group_id

true

upperDieGroup / identifier

lowerDieGroupId

lower_die_group_id

true

lowerDieGroup / identifier

thickness

sheet_metal_thickness_in_mm

true

-

bendAngle

bend_angle_in_deg

true

-

innerRadius

inner_radius_in_mm

false

-

sharpDeduction

sharp_deduction_in_mm

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

setting

Table type:

setting

Data interface:

Setting

Meta data:
Column key Header Unique Referred table / column

key

true

-

value

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

automaticMechanicalDeburringMaterial

Table type:

automaticMechanicalDeburringMaterial

Data interface:

AutomaticMechanicalDeburringMaterial

Meta data:
Column key Header Unique Referred table / column

globalMaterialId

material_id

true

globalMaterial / identifier

automaticMechanicalDeburringMaterialId

automatic_mechanical_deburring_material_id

false

-

Referring tables:
Referring table Referring column

automaticMechanicalDeburringParameters

automaticMechanicalDeburringMaterialId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "globalMaterialId": "global-1.0038",
        "serialization_version": 0
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.4301",
        "globalMaterialId": "global-1.4301",
        "serialization_version": 0
    },
    {
        "automaticMechanicalDeburringMaterialId": "1.0038",
        "globalMaterialId": "global-QStE380TM",
        "serialization_version": 0
    },
    {
        "automaticMechanicalDeburringMaterialId": "AlMg3",
        "globalMaterialId": "global-AlMg3",
        "serialization_version": 0
    }
]

automaticMechanicalDeburringParameters

Table type:

automaticMechanicalDeburringParameters

Data interface:

AutomaticMechanicalDeburringParameters

Meta data:
Column key Header Unique Referred table / column

automaticMechanicalDeburringMaterialId

automatic_mechanical_deburring_material_id

true

automaticMechanicalDeburringMaterial / automaticMechanicalDeburringMaterialId

maxDimY

max_dim_y_in_mm

false

-

unitTimeBase

te_base_in_min

false

-

speed

speed_in_m_per_min

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

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

dimensionConstraints

Table type:

dimensionConstraints

Data interface:

DimensionConstraints

Meta data:
Column key Header Unique Referred table / column

processId

process_id

true

process / identifier

minX

min_dim_x_in_mm

false

-

minY

min_dim_y_in_mm

false

-

minZ

min_dim_z_in_mm

false

-

maxX

max_dim_x_in_mm

false

-

maxY

max_dim_y_in_mm

false

-

maxZ

max_dim_z_in_mm

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 1

Example:
[
    {
        "maxX": 10000,
        "maxY": 2000,
        "maxZ": 100,
        "minX": 0,
        "minY": 0,
        "minZ": 0,
        "processId": "automaticMechanicalDeburringId",
        "serialization_version": 1
    },
    {
        "maxX": 3000,
        "maxY": 1500,
        "maxZ": 30,
        "minX": 0,
        "minY": 0,
        "minZ": 0,
        "processId": "laserSheetCuttingId",
        "serialization_version": 1
    },
    {
        "maxX": 5000,
        "maxY": 5000,
        "maxZ": 5000,
        "minX": 0,
        "minY": 0,
        "minZ": 0,
        "processId": "dieBendingId",
        "serialization_version": 1
    },
    {
        "maxX": 1000,
        "maxY": 500,
        "maxZ": 500,
        "minX": 0,
        "minY": 0,
        "minZ": 0,
        "processId": "slideGrindingId",
        "serialization_version": 1
    }
]

screwThread

Table type:

screwThread

Data interface:

ScrewThread

Meta data:
Column key Header Unique Referred table / column

identifier

identifier

true

-

name

name

false

-

coreHoleDiameter

core_hole_diameter_in_mm

false

-

minDepth

min_depth_in_mm

false

-

Referring tables:
Referring table Referring column

tappingTimeParameters

screwThreadId

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "coreHoleDiameter": 2.5,
        "identifier": "m3Id",
        "minDepth": 1.5,
        "name": "M3",
        "serialization_version": 0
    },
    {
        "coreHoleDiameter": 3.3,
        "identifier": "m4Id",
        "minDepth": 2.0999999999999996,
        "name": "M4",
        "serialization_version": 0
    },
    {
        "coreHoleDiameter": 4.2,
        "identifier": "m5Id",
        "minDepth": 2.4000000000000004,
        "name": "M5",
        "serialization_version": 0
    },
    {
        "coreHoleDiameter": 5,
        "identifier": "m6Id",
        "minDepth": 3,
        "name": "M6",
        "serialization_version": 0
    },
    {
        "coreHoleDiameter": 6.8,
        "identifier": "m8Id",
        "minDepth": 3.75,
        "name": "M8",
        "serialization_version": 0
    },
    {
        "coreHoleDiameter": 8.5,
        "identifier": "m10Id",
        "minDepth": 4.5,
        "name": "M10",
        "serialization_version": 0
    },
    {
        "coreHoleDiameter": 10.2,
        "identifier": "m12Id",
        "minDepth": 5.25,
        "name": "M12",
        "serialization_version": 0
    }
]

tappingTimeParameters

Table type:

tappingTimeParameters

Data interface:

TappingTimeParameters

Meta data:
Column key Header Unique Referred table / column

processId

process_id

true

process / identifier

screwThreadId

screw_thread_id

true

screwThread / identifier

unitTimePerMm

te_per_mm_in_s

false

-

Serialization version:

An optional property serialization_version of type number can be specified.

Current serialization version: 0

Example:
[
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m3Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.375
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m4Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.5249999999999999
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m5Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.6000000000000001
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m6Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.75
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m8Id",
        "serialization_version": 0,
        "unitTimePerMm": 0.9375
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m10Id",
        "serialization_version": 0,
        "unitTimePerMm": 1.125
    },
    {
        "processId": "sheetTappingId",
        "screwThreadId": "m12Id",
        "serialization_version": 0,
        "unitTimePerMm": 1.3125
    }
]