Skip to main content
Version: Pre-Released

Project Information

The project information is a JSON object containing details about the project structure and content.

This object is stored in the project metadata, and can be requested at any time in the context of the planner via the ProjectInfoRequested πŸ”— iframe message.

Β 

Foreword​

All dimensions are in millimeters (mm) and angles are measured in radian (rad).

All product IDs exposed in this object are not solved in terms of mapping. For generic/mapping products, the generic product ID is listed.

Top structure​

{
"level": {
// (see level description)
},
"walls": {
// (see walls description)
},
"products": [
{
// (see products description)
}
],
"nonVisibleProducts": [
{
// (see non visible products description)
}
],
"bays": [
{
// (see bays description)
}
],
"linears": [
{
// (see linears description)
}
]
}

Level​

The level key contains the ceiling height of the project's level. This height can be set independantly from the height of each wall, through the "Ceiling height" input in the application topbar at 2D wall selection.

KeyTypeDescription
wallHeightintegerThe ceiling height of the project's level

Walls​

The walls key contains a list of all walls in the project. Each wall object contains the following data:

KeyTypeDescription
heightintegerThe height of the wall
depthintegerThe depth of the wall, corresponding to its thickness
startPointobjectA 2D point that is the start point of the wall segment
endPointobjectA 2D point that is the end point of the wall segment

In case of a sloped wall, the data contains 3 additional fields:

KeyTypeDescription
straightHeightintegerThe height on the straight wall from where the sloped wall is starting
slopeDepthintegerThe length on the floor that is covered by the sloped wall
direction1 or -1The direction of the sloped wall, 1 if it is towards the inside of the room, -1 if it is towards the outside

Products​

The products key contains a list of all products in the project. Each product object contains the following data:

KeyTypeDescription
uuidstringThe uuid of the product (example: "EA3BD237-9116-4316-8039-CA2A9295EC1")
dbIdstringThe ID of the product (example: "14103")
parametersarray of objectsThe list of all the product parameters, with their current values. Each parameter is represented by 3 attributes: id, type and value. For a detailed description of product parameter, see Product Parameters πŸ”—.
transfomatrix4The transformation matrix of the product, corresponding to its position in the 3D scene
contextParametersarray of objectsThe list of all context parameters, which are application related configuration. In Kitchen application, it includes the linear parameters associated to the product. Each context parameter is represented by 3 attributes: id, type and val, similar to a product parameter.
subProductsarray of objectsThe list of all sub-products in the assembly of the current product. This value appears only if the ProjectInfos are requested by iFrame message, with the "expanded" value set to "true", see Set Up Setting Iframe message πŸ”—.

Sub-Products​

The subProducts key of a product/sub-product contains a list of all its sub-products. Each sub-product object contains the following data:

KeyTypeDescription
namestringThe name of the sub product in the assembly (example: "Box")
uuidstringThe uuid of the sub product (example: "0CCA8878-805A-4BAA-A830-2A6627ACD91D")
dbIdstringThe ID of the sub product (example: "13890")
parametersarray of objectsThe list of all the sub-product parameters, with their current values. Each parameter is represented by 3 attributes: id, type and value. For a detailed description of product parameter, see Product Parameters πŸ”—.
transfomatrix4The local transformation matrix of the sub-product, corresponding to its position from the parent product
subProductsarray of objectsThe list of all sub-products in the assembly of the current sub-product.

Non Visible Products​

The nonVisibleProducts key contains a list of all non-visible products πŸ”— in the project. Each non-visible product object contains the following data:

KeyTypeDescription
dbIdstringThe ID of the product (example: "14103")
parametersarray of objectsThe list of all the product parameters, with their default values. Each parameter is represented by 3 attributes: id, type and value. For a detailed description of product parameter, see Product Parameters πŸ”—.

Bays​

The bays key contains a list of all bays in the project. Each bay object contains the following data:

KeyTypeDescription
uuidstringThe uuid of the bay (example: "83417FFC-ACA2-4FBA-BBF2-2B99511B9999")
parametersarray of objectsThe list of all the bay parameters, with their current values. Each parameter is represented by 3 attributes: id, type and value (same as Product Parameters πŸ”—).
transfomatrix4The transformation matrix of the bay, corresponding to its position in the 3D scene
openingSidenumberThe opening side of the bay, defines the direction of opening.
wallSidenumberThe direction of the openings from the wall position.

Linears​

The linears key contains a list of all linears in the project. Each linear object contains the following data:

KeyTypeDescription
productobjectThe information about the linear generic product
typestringThe type of the linear. Can be Worktop, WallPanel, Plinth, WallEdgeStrip, Decostrip or Cornice
boardsArrayA list of board geometric description (only for Worktop and WallPanel linear types)
sweepsArrayA list of Sweep geometric description (only for Plinth, WallEdgeStrip, Decostrip and Cornice linear types)

The product element is an object with the following attributes:

KeyTypeDescription
dbIdstringThe ID of the linear generic product
parametersarray of objectsThe list of all the linear product parameters, with their current values. Each parameter is represented by 3 attributes: id, type and value.

The geometries of a linear can be described as a list of boards (worktops and wallpanels), or a list of sweeps (plinths, decostrips, cornices and walledgestrips).

The boards element is an array of objects with the following data:

KeyTypeDescription
plane_originobjectA 3D point that is the origin of the plane
plane_dirNobjectA 3D normalized vector, that indicates direction of the plane normal
plane_dirXobjectA 3D normalized vector, that indicates "x" direction on the plane
outlineEdgesArrayA list of 2D edges, describing the outline of the board. the edges are either lines or arcs (description below)
internalEdgesobjectA list of 2D edges, describing the outline of the "holes" in the current board (for example, the edges of a cutout). the edges are either lines or arcs (description below)
thicknessnumberThe thickness of the board, along the plane_dirN direction
numberintegerThe board number. The same number can be found in the BOM Export, the Linear export, and the 2d Plans

The sweeps element is an array of objects with the following data:

KeyTypeDescription
pts2DArrayA list of 2D points, describing the path of the linear
altitudenumberthe altitude of the path of the linear
profilArrayA list of 2D edges, describing the section of the linear. the edges are either lines or arcs (description below)

The path of a sweep is always on the horizontal plan, this is why it is always described as a list of 2D points

The boards and sweeps objects are described using edges that can be either a line or an arc. Here is a description of these 2 objects:

A line element is a 2D Segment. It contains the following data:

KeyTypeDescription
typeStringAlways contains the value "line"
pt1objectThe first 2D point of the line segment
pt2objectThe second 2D point of the line segment

A arc element is a 2D circle part. It contains the following data:

KeyTypeDescription
typeStringAlways contains the value "circle"
radiusnumberThe radius of the arc
angleStartnumberThe angle at the start of the arc (radiant)
angleEndnumberThe angle at the end of the arc (radiant)
centerobjectThe center 2D point of the arc
orientation-1 or 1describes if the path from the start to the end of the arc is clockwise or counter clockwise
-1 : clockwise
1 : counter clockwise

Template​

{
"level": {
"wallHeight": integer
},
"walls": [
{
"height": integer,
"depth": integer,
"startPoint": point2,
"endPoint": point2
},
{
"height": integer,
"depth": integer,
"startPoint": point2,
"endPoint": point2,
"straightHeight": integer,
"slopeDepth": integer,
"direction": 1 or -1
},
....
],
"products": [
{
"uuid": uuid,
"dbId": dbId,
"parameters": [
{
"id": string",
"type": integer,
"value": number, string or boolean
},
....
],
"transfo": matrix4,
"contextParameters": [
{
"id": string,
"type": integer,
"val": string
},
....
],
"subProducts": [
{
"name": name,
"uuid": uuid,
"dbId": dbId,
"parameters": [
{
"id": string",
"type": integer,
"value": number, string or boolean
},
....
],
"transfo": matrix4,
"subProducts": [
....
],
},
....
],
],
}
],
"bays":[
{
"uuid": uuid,
"parameters": [
{
"id": string,
"type": integer,
"value": integer or null
},
....
],
"transfo": matrix4,
"openingSide": number,
"wallSide": number
}
],
"linears": [
{
"product": {
"dbId": uuid,
"parameters": [
{
"id": string,
"type": integer,
"value": any value
},
....
]
},
"type": string,
"boards": [
{
"plane_origin": point3,
"plane_dirN": point3,
"plane_dirX": point3,
"outlineEdges": [
{
"type": "line",
"pt1": point2,
"pt2": point2
},
{
"type": "arc",
"radius": number,
"angleStart": number,
"angleEnd": number,
"center": point2,
"orientation": -1 or 1
},
...
],
"internalEdges": [
{
"type": "line",
"pt1": point2,
"pt2": point2
},
...
],
"thickness": integer,
"number": integer
}
]
},
{
"product": {
"dbId": uuid,
"parameters": [
{
"id": string,
"type": integer,
"value": any value
},
....
]
},
"type": string,
"sweeps": [
{
"pts2D": [ array of point2 ]
"altitude": integer,
"profil": [
{
"type":"line",
"pt1": point2,
"pt2": point2
},
....
]
}
]
},
....
]
}

Β