Linear Export Information
The linear export is a JSON object containing all the necessary information about linears, used by the manufacturer to build the actual pieces of material. Only worktops, wall-panels and wall-edge strips are described in this object.
This linear export object is stored in the project metadata, and can be requested at any time in the context of the planner via the LinearExportRequested π iframe message.
Β
Foreword
All dimensions are in millimeters (mm) and angles are measured in radian (rad).
All product IDs exposed in this object are solved in terms of mapping. In other words if the associated product is a generic product, the ID exposed in the linear export is always the ID of the mapped article. If the product is not a generic product, the exposed ID is the product itself.
X Y values for worktops are per project. X Y values for wall panels / wall edge strips are per group.
Element examples below to detail JSON structure only (refer to example project for aligned plan and export).
Top structure
{
"exportWorktop": {
"version": X,
"worktop": {
"parts": [
// (see worktop board description)
],
"joints": [
// (see joint description)
]
}
},
"exportWallpanel": {
"version": X,
"wallPanel": {
"parts": [
// (see wall-panel board description)
]
},
}
}
Note: the
version
attribute if always the same in the 3exportWorktop
andexportWallpanel
objects, and it corresponds to the iframe version.
Worktop
The parts
array contains the list of all worktop boards in the project. Each board is described as a JSON object as defined in the Board object section.
The joints
array contains the list of all worktop joints. Each joint is described as a JSON object as defined in the Joint object section.
Board object
Element | Description | Data type | Example |
---|---|---|---|
boardID | Incremental number based on amount of boards in project | Integer | "boardID": 1 |
orientation | Orientation of the board "vertical" = worktop board "horizontal" = waterfall board | String | "orientation": "vertical" |
dbID | Product external id of the linear board | String | "dbID": "123456789" |
doubleSidedProduct | Product external id of the double sided product (double sided only). | String (or null) | "doubleSidedProduct": "123456789" |
dimensions | Physical size of board (see appendix fig. 1) | Object | "dimensions": { β"length": 2000.0, β"depth": 600.0, β"thickness": 28.0 } |
edges | Unordered list of outer board edges including cuts (see appendix fig. 2) | Array of WT Edge objects | "edges": [ β(see WT Edge object description below) ] |
edgeFinish | Finish properties applied to the board edges | Array of WT Edge Finish obejcts | "edgeFinish": [ β(see WT Edge Finish object description below) ] |
grainDirection | Direction of X and Y | Object | "grainDirection": { ββ"x": 1.0, ββ"y": 0.0 } |
isCustom | Defines if the board is custom or not true = Custom false = Not custom | Boolean | "isCustom": true |
side | Used for double sided boards (pre-cut only) 0 = Not double sided 1 = Side option (side 1) -1 = Side option (side 2) | Integer | "side": 1 |
shape | Describes the shape of the current board | Shape object can be null if no shape is detected on the board | "shape": (see WT Shape object description below) |
cuts | Describes the cuts in the current board | Array of WT Cut objects | "cuts": [ β(see WT Cut object description below) ] |
cutouts | Describes the cutouts in the current board | Array of WT Cutout objects | "cutouts": [ β(see WT Cutout object description below) ] |
sinks | Describes the sink cuts in the current board | Array of Sink objects | "sinks": [ β(see Sink object description below) ] |
hobs | Describes the hob cuts in the current board | Array of Hob objects | "hobs": [ β(see Hob object description below) ] |
others | Describes the other product cutouts in the current board | Array of Other objects | "others": [ β(see Other object description below) ] |
weight | Describes the weight of current board. This attribute is only present for iframe version >= 10 and if the EcoFeeRule is implemented. | Number | "weight": 2.31 |
polishedUnderside | Describes the polished underside in the current board | Object | "polishedUnderside": [ β(see Polished Underside object description below) ] |
WT Edge object
This table describes each attributes present in an worktop Edge object.
Element | Description | Data type | Example |
---|---|---|---|
id | Edge unique identifier | Number | "id": 1 |
type | Type of edge "line" = straight edge "circle" = arc edge | String | "type": "line" |
front | Tells if the edge is a front edge. Only for line edges | Boolean | "front": false |
pt1 | First point information of the straight edge. Only for line edges | Object | "pt1": { ββ"x": 0.0, ββ"y": 0.0 } |
pt2 | Second point information of the straight edge. Only for line edges | Object | "pt2": { ββ"x": 0.0, ββ"y": 500.0 } |
radius | The radius of the edge. Only for circle edges | Number | "radius": 100.0 |
angleStart | The angleStart of the edge. Only for circle edges | Number | "angleStart": 1.57079632 |
angleEnd | The angleEnd of the edge. Only for circle edges | Number | "angleEnd": 3.14159265 |
orientation | The orientation of the edge. Only for circle edges 1 = Anti-clockwise -1 = Clockwise | Number | "orientation": 1 |
center | The center of the edge. Only for circle edges | Object | "center": { ββ"x": 100.0, ββ"y": 500.0 } |
WT Edge Finish object
This table describes each attributes present in an worktop Edge Finish object.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the edge finish product | String | "dbID": "123456789" |
edgeIDs | The list of Edge IDs on which this edge finish is applied | Array of Number | "edgeIDs": [1,2,3,5] |
WT Shape object
This table describes each attributes present in an worktop Shape object.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the shape product | String | "dbID": "123456789" |
type | Type of the shape. One of : circularShape, arcEndShape, arcLengthShape or mushroomShape | String | "type": "circularShape" |
dimensions | Physical size of the shape. The number of values in dimensions depends on the type of the shape. (see appendix fig. 7) | Object | For a circularShape: "dimensions": { β"radius": 500.0 } For a arcEndShape or arcLengthShape: "dimensions": { β"width": 2000.0, β"depth": 650.0, β"arcLength": 200.0 } For a mushroomShape: "dimensions": { β"width": 2000.0, β"depth": 650.0, β"radius": 500.0, β"orientation": -1 } |
edges | The list of Edge IDs on which this shape is applied (always a list, even if the shape has only one edge) | Array | "edges": [2, 3] |
Note: If no compatible shape is detected on this board, or if no shapes are available in the operationCompatibility list of the worktop product, the shape section is null
List of the shapes currently supported :
circularShape
All the edges of the board must be arcs, and have the same center
arcEndShape and arcLengthShape
These shapes are detected if the board has a convex arc that starts and ends on the bounding box, and its center is centered on the board. If the arc is along the depth of the board, the shape identified is an "arcEndShape", if the arc is along the width of the board, the shape identified is an "arcLengthShape"
mushroomShape
This shape is detected if the board has an arc that verifies these conditions:
- one of the arc ends is tangeant to the bounding box
- both ends of the arc are on the bounding box of the other edges
- the arc is between 1/2 (strictly) and 3/4 of a full circle
After the shape has been identified, the cuts can be identified on it. As an example, these worktops are identified as βarc end shapeβ, βarc length shapeβ and βmushroom shapeβ, the other cuts are described in the section below
WT Cut object
This table describes each attributes present in an worktop Cut object.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the cut product | String | "dbID": "123456789" |
cutType | Type of the cut. One of : single, double, triple, round_edge, round_corner, or round_corner_inverted | String | "cutType": "double" |
dimensions | Physical size of cut. The number of values in dimensions depends on the type of the cut. (see appendix fig. 3) | Object | For a single cut: "dimensions": { β"a": 100.0, β"b": 150.0 } For a double cut: "dimensions": { β"a": 100.0, β"b": 150.0, β"x": 100.0, β"y": 100.0 } For a triple cut: "dimensions": { β"a": 100.0, β"b1": 150.0, β"b2": 150.0, β"x": 100.0, β"y": 100.0 } For any rounded cut: "dimensions": { β"radius": 100.0 } |
edgesIDs | The list of Edge IDs on which this cut is applied (always a list, even if the cut has only one edge) | Array | "edges": [2, 3] |
In the case of a complex cut (more than 3 edges), the cut is of unknown type. We don't want to export unknown cuts.
An unknown type cut is therefore fragmented into several known type cuts according to a precise process:
If the cut is in a corner:
βͺ All the edges of the complex cut are considered as simple cuts.
βͺ If two simple cuts are consecutive and collinear, then they are grouped together to form a single cut.
βͺ Singles are grouped in pairs to create doubles.
βͺ In double cut, the two edges are not necessarily consecutive. They can be separated by one or more rounded cut. (refer to the examples)
βͺ There may still be a single cut at the end.
If the cut is on an edge of the worktop:
- First we identify a triple cut:
we have to find the furthest edge from the edge of the worktop. To complete the triple, the first simple edge which is on the left, and to its right are added to the triple. If no single edge is present to its left or right, then the triple cut will only contain one edge (cf. examples). - We then run the same algorithm as the corner complex cut algorithm:
on the edges to the left of the triple exclusively, then on the edges to the right of the triple exclusively.
Examples: The triple cut is surrounded by a black circle. The other edges of the cut are numbered.
- 1 simple (1) - 1 triple - 1 double (2+3) | - 1 double (1+3) - 1 rounded (2) - 1 triple - 1 double (4+5) (A double cut is found on the left of the triple, even if the rounded cut is between 1 and 3.) | - 1 double (1+3) - 1 rounded (2) - 1 simple (4) - 1 triple - 1 simple (5) (As you can see, the 4 and the 5 aren't grouped to create a double.) | - 1 rounded cut - 1 triple cut with only 2 edges - 1 double cut |
WT Cutout object
This table describes each attributes present in a worktop Cutout object.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the cutout product | String | "dbID": "123456789" |
id | Cutout unique identifier | Number | "id": 1 |
edges | Unordered list of edges of the cutout Same as the board edges definition (Edge object), without the id attribute | Array of Object | "edges": [ β{ ββ"type": "line", ββ"pt1": { βββ"x": 0.0, βββ"y": 0.0 ββ}, ββ"pt2": { βββ"x": 0.0, βββ"y": 100.0 ββ} β}, β{ ββ"type": "circle", ββ"center": { βββ"x": 5.0, βββ"y": 100.0 ββ}, ββ"radius": 5.0, ββ"angleStart": 1.57079632, ββ"angleEnd": 3.14159265, ββ"orientation": 1 β}, β... ] |
finishDbID | The product ID of the cutout edge finish product. This attribute is only present if the cutout has a finish product. | String | "finishDbID": "123456789" |
Sink object
This table describes each attributes present in a Sink object. See Set Up Sinks and Taps - Sink Assembly.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the sink product | String | "dbID": "123456789" |
sinkCutoutID | The product ID of the automatic cutout associated to the sink product | String | "sinkCutoutID": "123456789" |
additionalOperationID | The product ID of the additional operation associated to the sink product | String | "additionalOperationID": "123456789" |
drainerGrooveID | The product ID of the drainer grooves associated to the sink product | String | "drainerGrooveID": "123456789" |
sinkPosition | Position of center of total sink object | Object | "sinkPosition": { βx: 1000.0, βy: 320.0 } |
sinkMounting | How the sink is mounted in the board 0 = Inset (top mounted) 1 = Undermounted 2 = Moulded | Integer | "sinkMounting": 0 |
sinkDirection | Direction of sink | Object | "sinkDirection": { βx: 1.0, βy: 0.0 } |
sinkBowlCenter | Position of center of bowls in sink object Note: If 2 bowls or 1.5 bowls this value will be center of total bowls (not center of larger bowl) | Object | "sinkBowlCenter": { βx: 900.0, βy: 300.0 } |
drainerGroovePosition | Position (side) of the drainer grooves, if present 1 = Side option (right) 2 = Side option (left) 3 = Side option (both) | Integer | "drainerGroovePosition": 1 |
drainerGrooveDimensions | Dimensions of the drainer grooves (for now, only left and right width) | Object | "drainerGrooveDimensions": { β"left": { ββ"width": 400 β}, β"right": { ββ"width": 200 β} } |
edges | Unordered list of edges of the cutout Same as the board edges definition (Edge object), without the id attribute | Array of Object | "edges": [ β{ ββ"type": "line", ββ"pt1": { βββ"x": 0.0, βββ"y": 0.0 ββ}, ββ"pt2": { βββ"x": 0.0, βββ"y": 100.0 ββ} β}, β{ ββ"type": "circle", ββ"center": { βββ"x": 5.0, βββ"y": 100.0 ββ}, ββ"radius": 5.0, ββ"angleStart": 1.57079632, ββ"angleEnd": 3.14159265, ββ"orientation": 1 β}, β... ] |
Other object
This table describes each attributes present in an Other object. Here are all non-sink and non-hob products that create holes in worktop boards. See Set Up Sinks and Taps - Sink Assembly.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the element that creates the hole in the board | String | "dbID": "123456789" |
cutoutID | The product ID of the associated automatic cutout | String | "CutoutID": "123456789" |
position | Position of center of total object | Object | "position": { βx: 1000.0, βy: 320.0 } |
direction | Direction of the object | Object | "direction": { βx: 1.0, βy: 0.0 } |
edges | Unordered list of edges of the cutout Same as the board edges definition (Edge object), without the id attribute | Array of Object | "edges": [ β{ ββ"type": "line", ββ"pt1": { βββ"x": 0.0, βββ"y": 0.0 ββ}, ββ"pt2": { βββ"x": 0.0, βββ"y": 100.0 ββ} β}, β{ ββ"type": "circle", ββ"center": { βββ"x": 5.0, βββ"y": 100.0 ββ}, ββ"radius": 5.0, ββ"angleStart": 1.57079632, ββ"angleEnd": 3.14159265, ββ"orientation": 1 β}, β... ] |
Joint object
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the joint product | String | "dbID": "123456789" |
jointType | Type of joint "regular" = joint between 2 boards that have the same orientation "waterfallStraight" = joint for waterfall with straight mounting "waterfallAngled" = joint for waterfall with angled mounting | String | "jointType": "regular" |
position | Start and finish point of joint | Object | "position": { β"pt1": { ββ"x": 0.0, ββ"y": 0.0 β}, β"pt2": { ββ"x": 0.0, ββ"y": 600.0 β} } |
boardIDs | List of boards where joint connects (always 2 boards) | Array | "boardIDs": [1,2] |
Polished Underside object
Element | Description | Data type | Example |
---|---|---|---|
id | The product ID of the polished underside product | String | "dbID": "123456789" |
faces | Array of polished underside faces | Array | "faces": [ β(see Polished Underside Face object description below) ] |
area | Area of the face (in mmΒ²) | Number | "area": 768691 |
Polished Underside Face object
A Polished underside Face is defined by an outer bound and a list of internal bounds. For example, a board with a sink and a tap, fully polished, is defined an an external bounding (the board) and 2 internal boundings (the sink and the tap)
Element | Description | Data type | Example |
---|---|---|---|
externalEdges | Unordered list of edges of the outer bound of a polished underside Same as the board edges definition (Edge object), without the id attribute | Array of Object | "externalEdges": [ β{ ββ"type": "line", ββ"pt1": { βββ"x": 0.0, βββ"y": 0.0 ββ}, ββ"pt2": { βββ"x": 0.0, βββ"y": 100.0 ββ} β}, β{ ββ"type": "circle", ββ"center": { βββ"x": 5.0, βββ"y": 100.0 ββ}, ββ"radius": 5.0, ββ"angleStart": 1.57079632, ββ"angleEnd": 3.14159265, ββ"orientation": 1 β}, β... ] |
internalEdges | An Array of unordered list of edges of the internal bounds of a polished underside Same as the board edges definition (Edge object), without the id attribute | Array of Array of Object | "internalEdges": [ β[ ββ{ βββ"type": "line", βββ"pt1": { ββββ"x": 0.0, ββββ"y": 0.0 βββ}, βββ"pt2": { ββββ"x": 0.0, ββββ"y": 100.0 βββ} ββ}, ββ{ βββ"type": "circle", βββ"center": { ββββ"x": 5.0, ββββ"y": 100.0 βββ}, βββ"radius": 5.0, βββ"angleStart": 1.57079632, βββ"angleEnd": 3.14159265, βββ"orientation": 1 ββ}, ββ... β] β... ] |
Full worktop export example
{
"worktop": {
"parts": [
{
"dimensions": {
"length": 1728,
"depth": 635,
"thickness": 38
},
"boardID": 1,
"orientation": "vertical",
"dbID": "",
"doubleSidedProduct": "id_1234",
"edges": [
{
"id": 1,
"type": "line",
"pt1": {
"x": -1846.149169921875,
"y": 1826.164794921875
},
"pt2": {
"x": -1846.149169921875,
"y": 98.47954062332997
}
},
{
"id": 2,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 98.47954062332991
},
"pt2": {
"x": -1846.149169921875,
"y": 98.47954062332991
}
},
{
"id": 3,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 98.47954062332991
},
"pt2": {
"x": -1211.149169921875,
"y": 1191.164794921875
}
},
{
"id": 4,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 1191.164794921875
},
"pt2": {
"x": -1211.149169921875,
"y": 1826.164794921875
}
},
{
"id": 5,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 1826.164794921875
},
"pt2": {
"x": -1846.1491699218748,
"y": 1826.164794921875
}
}
],
"isCustom": true,
"edgeFinish": [],
"shape": null,
"cuts": [],
"cutouts": [
{
"dbID": "",
"id": 1,
"edges": [
{
"type": "line",
"pt1": {
"x": -1426.8572998046875,
"y": 675.4927368164062
},
"pt2": {
"x": -1426.8572998046875,
"y": 375.49273681640625
}
},
{
"type": "line",
"pt1": {
"x": -1426.8572998046875,
"y": 375.49273681640625
},
"pt2": {
"x": -1726.8572998046875,
"y": 375.49273681640625
}
},
{
"type": "line",
"pt1": {
"x": -1726.8572998046875,
"y": 375.49273681640625
},
"pt2": {
"x": -1726.8572998046875,
"y": 675.4927368164062
}
},
{
"type": "line",
"pt1": {
"x": -1726.8572998046875,
"y": 675.4927368164062
},
"pt2": {
"x": -1426.8572998046875,
"y": 675.4927368164062
}
}
]
},
{
"dbID": "",
"id": 2,
"edges": [
{
"type": "circle",
"radius": 50,
"angleStart": 1.5707963267948966,
"angleEnd": 4.71238898038469,
"orientation": -1,
"center": {
"x": -1560.990171508789,
"y": 1049.1086645851672
}
},
{
"type": "circle",
"radius": 50,
"angleStart": 4.71238898038469,
"angleEnd": 1.5707963267948966,
"orientation": -1,
"center": {
"x": -1560.990171508789,
"y": 1049.1086645851672
}
}
]
}
],
"sinks": [],
"grainDirection": {
"x": -1.8369701987210297e-16,
"y": -1
},
"side": 1,
"weight": 2.31
},
{
"dimensions": {
"length": 662,
"depth": 635,
"thickness": 38
},
"boardID": 2,
"dbID": "",
"doubleSidedProduct": null,
"orientation": "horizontal",
"edges": [
{
"id": 6,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": -263.8012084960937
},
"pt2": {
"x": -1211.149169921875,
"y": 98.47954062332991
}
},
{
"id": 7,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 98.47954062332991
},
"pt2": {
"x": -1846.149169921875,
"y": 98.47954062332991
}
},
{
"id": 8,
"type": "line",
"pt1": {
"x": -1846.149169921875,
"y": 98.47954062332991
},
"pt2": {
"x": -1846.149169921875,
"y": -263.80120849609375
}
},
{
"id": 9,
"type": "circle",
"radius": 318,
"angleStart": 3.197677219243144,
"angleEnd": 6.227100741526235,
"orientation": 1,
"center": {
"x": -1528.649169921875,
"y": -245.97566502611787
}
}
],
"isCustom": true,
"edgeFinish": [],
"shape": null,
"cuts": [
{
"dimensions": {
"radius": 318
},
"dbId": "",
"cutType": "round_edge",
"edges": [
9
]
}
],
"cutouts": [],
"sinks": [],
"grainDirection": {
"x": 6.123233995736766e-17,
"y": 1
},
"side": 1
},
{
"dimensions": {
"length": 1455,
"depth": 635,
"thickness": 38
},
"boardID": 3,
"dbID": "",
"doubleSidedProduct": null,
"orientation": "horizontal",
"edges": [
{
"id": 10,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 1191.164794921875
},
"pt2": {
"x": 143.80010986328125,
"y": 1191.164794921875
}
},
{
"id": 11,
"type": "line",
"pt1": {
"x": 143.80010986328125,
"y": 1191.164794921875
},
"pt2": {
"x": 143.80010986328125,
"y": 1291.164794921875
}
},
{
"id": 12,
"type": "line",
"pt1": {
"x": 143.80010986328125,
"y": 1291.164794921875
},
"pt2": {
"x": 243.80010986328125,
"y": 1291.164794921875
}
},
{
"id": 13,
"type": "line",
"pt1": {
"x": 243.80010986328125,
"y": 1291.164794921875
},
"pt2": {
"x": 243.80010986328125,
"y": 1736.164794921875
}
},
{
"id": 14,
"type": "circle",
"radius": 90,
"angleStart": 3.141592653589793,
"angleEnd": 4.71238898038469,
"orientation": 1,
"center": {
"x": 243.80010986328125,
"y": 1826.164794921875
}
},
{
"id": 15,
"type": "line",
"pt1": {
"x": 153.80010986328125,
"y": 1826.164794921875
},
"pt2": {
"x": -1211.149169921875,
"y": 1826.164794921875
}
},
{
"id": 16,
"type": "line",
"pt1": {
"x": -1211.149169921875,
"y": 1191.164794921875
},
"pt2": {
"x": -1211.149169921875,
"y": 1826.164794921875
}
}
],
"isCustom": true,
"edgeFinish": [],
"shape": null,
"cuts": [
{
"dbId": "",
"cutType": "double",
"dimensions": {
"a": 100.00000000000006,
"b": 100,
"x": 100.00000000000006,
"y": 100.00000000000006
},
"edgesIDs": [
11,
12
]
},
{
"dimensions": {
"radius": 90
},
"dbId": "",
"cutType": "round_corner_inverted",
"edges": [
14
]
}
],
"cutouts": [
{
"dbID": "",
"id": 3,
"edges": [
{
"type": "line",
"pt1": {
"x": -333.6745300292969,
"y": 1358.664794921875
},
"pt2": {
"x": -633.6745300292969,
"y": 1358.664794921875
}
},
{
"type": "line",
"pt1": {
"x": -633.6745300292969,
"y": 1358.664794921875
},
"pt2": {
"x": -633.6745300292969,
"y": 1658.664794921875
}
},
{
"type": "line",
"pt1": {
"x": -633.6745300292969,
"y": 1658.664794921875
},
"pt2": {
"x": -333.6745300292969,
"y": 1658.664794921875
}
},
{
"type": "line",
"pt1": {
"x": -333.6745300292969,
"y": 1658.664794921875
},
"pt2": {
"x": -333.6745300292969,
"y": 1358.664794921875
}
}
]
}
],
"sinks": [],
"grainDirection": {
"x": -1,
"y": 1.2246467991473532e-16
},
"side": 1,
"polishedUnderside":{
"id":"91749",
"faces":[
{
"externalEdges":[
{
"type":"line",
"pt1":{
"x":628.9894526451243,
"y":1241.088902238097
},
"pt2":{
"x":628.9894526451243,
"y":1876.0889031775941
}
},
{
"type":"line",
"pt1":{
"x":628.9894526451242,
"y":1876.0889031775944
},
"pt2":{
"x":-1211.1388001994246,
"y":1876.138952005793
}
},
{
"type":"line",
"pt1":{
"x":-1211.1388001994246,
"y":1876.138952005793
},
"pt2":{
"x":-1211.1388001994246,
"y":1241.088902238097
}
},
{
"type":"line",
"pt1":{
"x":-1211.1388001994246,
"y":1241.088902238097
},
"pt2":{
"x":628.9894526451244,
"y":1241.088902238097
}
}
],
"internalEdges":[
[
{
"type":"circle",
"radius":25.000000009246993,
"angleStart":1.5707963501550544,
"angleEnd":4.712388957024531,
"orientation":1,
"center":{
"x":-471.0103779720962,
"y":1806.2888851309117
}
},
{
"type":"circle",
"radius":25.00000000924722,
"angleStart":4.712389003744843,
"angleEnd":1.570796303434739,
"orientation":1,
"center":{
"x":-471.01037914010396,
"y":1806.288885130912
}
}
]
]
}
],
"area":768691.5608594896
}
}
],
"joints": [
{
"dbID": "",
"jointType": "regular",
"position": {
"pt1": {
"x": -1211.149169921875,
"y": 1191.164794921875
},
"pt2": {
"x": -1211.149169921875,
"y": 1826.164794921875
}
},
"boardIDs": [
1,
3
]
},
{
"dbID": "",
"position": {
"pt1": {
"x": -1211.149169921875,
"y": 98.47954062332991
},
"pt2": {
"x": -1846.149169921875,
"y": 98.47954062332991
}
},
"boardIDs": [
1,
2
]
}
]
}
}
Wall Panel
The parts
array contains the list of all wall-panel boards in the project. Each board is described as a JSON object as defined in the Board object section.
Board object
Element | Description | Data type | Example |
---|---|---|---|
boardID | Incremental number based on amount of boards in project | Integer | "boardID": 1 |
dbID | Product external id of the linear board | String | "dbID": "123456789" |
dimensions | Physical size of board (see appendix fig. 4) | Object | "dimensions": { β"length": 2000.0, β"depth": 600.0, β"thickness": 28.0 } |
edges | Unordered list of outer board edges including cuts (see appendix fig. 2) | Array of WP Edge objects | "edges": [ β(see WP Edge object description below) ] |
edgeFinish | Finish properties applied to the board edges | Array of WP Edge Finish obejcts | "edgeFinish": [ β(see WP Edge Finish object description below) ] |
grainDirection | Direction of X and Y | Object | "grainDirection": { ββ"x": 1.0, ββ"y": 0.0 } |
isCustom | Defines if the board is custom or not true = Custom false = Not custom | Boolean | "isCustom": true |
side | Used for double sided boards (pre-cut only) 0 = Not double sided 1 = Side option (side 1) -1 = Side option (side 2) | Integer | "side": 1 |
cuts | Describes the cuts in the current board | Array of WP Cut objects | "cuts": [ β(see WP Cut object description below) ] |
cutouts | Describes the cutouts in the current board | Array of WP Cutout objects | "cutouts": [ β(see WP Cutout object description below) ] |
weight | Describes the weight of current board. This attribute is only present for iframe version >= 10 and if the EcoFeeRule is implemented. | Number | "weight": 2.31 |
WP Edge object
WP Edge Finish object
See WT Edge Finish object π
WP Cut object
WP Cutout object
This table describes each attributes present in a wall-panel Cutout object.
Element | Description | Data type | Example |
---|---|---|---|
dbID | The product ID of the cutout product | String | "dbID": "123456789" |
edges | Unordered list of edges of the cutout Same as the board edges definition (Edge object), without the id attribute | Array of Object | "edges": [ β{ ββ"type": "line", ββ"pt1": { βββ"x": 0.0, βββ"y": 0.0 ββ}, ββ"pt2": { βββ"x": 0.0, βββ"y": 100.0 ββ} β}, β{ ββ"type": "circle", ββ"center": { βββ"x": 5.0, βββ"y": 100.0 ββ}, ββ"radius": 5.0, ββ"angleStart": 1.57079632, ββ"angleEnd": 3.14159265, ββ"orientation": 1 β}, β... ] |
Appendix
Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Β