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.
Key | Type | Description |
---|---|---|
wallHeight | integer | The 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:
Key | Type | Description |
---|---|---|
height | integer | The height of the wall |
depth | integer | The depth of the wall, corresponding to its thickness |
startPoint | object | A 2D point that is the start point of the wall segment |
endPoint | object | A 2D point that is the end point of the wall segment |
In case of a sloped wall, the data contains 3 additional fields:
Key | Type | Description |
---|---|---|
straightHeight | integer | The height on the straight wall from where the sloped wall is starting |
slopeDepth | integer | The length on the floor that is covered by the sloped wall |
direction | 1 or -1 | The 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:
Key | Type | Description |
---|---|---|
uuid | string | The uuid of the product (example: "EA3BD237-9116-4316-8039-CA2A9295EC1") |
dbId | string | The ID of the product (example: "14103") |
parameters | array of objects | The 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 π. |
transfo | matrix4 | The transformation matrix of the product, corresponding to its position in the 3D scene |
contextParameters | array of objects | The 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. |
subProducts | array of objects | The 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:
Key | Type | Description |
---|---|---|
name | string | The name of the sub product in the assembly (example: "Box") |
uuid | string | The uuid of the sub product (example: "0CCA8878-805A-4BAA-A830-2A6627ACD91D") |
dbId | string | The ID of the sub product (example: "13890") |
parameters | array of objects | The 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 π. |
transfo | matrix4 | The local transformation matrix of the sub-product, corresponding to its position from the parent product |
subProducts | array of objects | The 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:
Key | Type | Description |
---|---|---|
dbId | string | The ID of the product (example: "14103") |
parameters | array of objects | The 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:
Key | Type | Description |
---|---|---|
uuid | string | The uuid of the bay (example: "83417FFC-ACA2-4FBA-BBF2-2B99511B9999") |
parameters | array of objects | The 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 π). |
transfo | matrix4 | The transformation matrix of the bay, corresponding to its position in the 3D scene |
openingSide | number | The opening side of the bay, defines the direction of opening. |
wallSide | number | The 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:
Key | Type | Description |
---|---|---|
product | object | The information about the linear generic product |
type | string | The type of the linear. Can be Worktop , WallPanel , Plinth , WallEdgeStrip , Decostrip or Cornice |
boards | Array | A list of board geometric description (only for Worktop and WallPanel linear types) |
sweeps | Array | A list of Sweep geometric description (only for Plinth, WallEdgeStrip, Decostrip and Cornice linear types) |
The product
element is an object with the following attributes:
Key | Type | Description |
---|---|---|
dbId | string | The ID of the linear generic product |
parameters | array of objects | The 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:
Key | Type | Description |
---|---|---|
plane_origin | object | A 3D point that is the origin of the plane |
plane_dirN | object | A 3D normalized vector, that indicates direction of the plane normal |
plane_dirX | object | A 3D normalized vector, that indicates "x" direction on the plane |
outlineEdges | Array | A list of 2D edges, describing the outline of the board. the edges are either lines or arcs (description below) |
internalEdges | object | A 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) |
thickness | number | The thickness of the board, along the plane_dirN direction |
number | integer | The 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:
Key | Type | Description |
---|---|---|
pts2D | Array | A list of 2D points, describing the path of the linear |
altitude | number | the altitude of the path of the linear |
profil | Array | A 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:
Key | Type | Description |
---|---|---|
type | String | Always contains the value "line" |
pt1 | object | The first 2D point of the line segment |
pt2 | object | The second 2D point of the line segment |
A arc
element is a 2D circle part. It contains the following data:
Key | Type | Description |
---|---|---|
type | String | Always contains the value "circle" |
radius | number | The radius of the arc |
angleStart | number | The angle at the start of the arc (radiant) |
angleEnd | number | The angle at the end of the arc (radiant) |
center | object | The center 2D point of the arc |
orientation | -1 or 1 | describes 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
},
....
]
}
]
},
....
]
}
Β