Maintenance Notification
This system won't be available today from 22:00 CET until 23:00 CET due to maintenance.
Help us improve the Bimplus API doc by providing your valuable comments. You can find the comment section at the bottom of the page.
Developers please use https://api-stage.bimplus.net/v2 (stage version of Bimplus API) and http://portal-stage.bimplus.net/ (stage version of Shop/Portal) for testing purposes. The production version of the portal is located under https://portal.bimplus.net/ and the base url of the API is different for the production version.
Connect with Bimplus. Relation(workflow) between Bimplus portal and Bimplus api
Create, modify and access different resources/objects of the building model using the Bimplus api
Create a project, add an object(wall) and view it using the web viewer
Get the list of available projects and its properties
Add a thumbnail to the project
Project topology and object topology tree
Find the geometry of an object. Get to know the types of geometry available
Get the different properties / structure(normal, viewer properties, object in hierarchical tree structure) of the object using different property combinations
Get the project layers and element types. Find the relation between them
Filter the building information using different filter criteria
Import an existing model in the form of IFC/SketchUp file
Create and assign issues to projects. Locate/visualize the issues in the project
Learn about the issue based rights & roles
Add attachments to the whole building as well as to the individual objects
Find out how many teams I am part of. Remove myself from some of the teams
Authentication token for multiple services
Rights & Roles. Relation between User, Team and Project
The figure below describes the relation between the Bimplus portal and the API.
The Bimplus provides a few user administration relevant services. They are:
The project slug (which should be provided during the creation of a project) should be provided as part of the URL for accessing all the project relevant resources. This is also necessary to verify the user’s access rights on the project in an early stage of processing the API call (before any business data will be touched and any business logic will be executed)
These are the project relevant services available at the moment:
For further details see the Bimplus api reference
Use the Bimplus Project Service for creating a new project.
URL: https://api-stage.bimplus.net/v2/<team>/projects
Example: https://api-stage.bimplus.net/v2/bimplus-gmbh/projects
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
optional |
string |
Name of the project |
shortDescr |
optional |
string |
Short description of the project |
created |
will be ignored |
string (date) |
Creation date of the project |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name" : "Your Wonderful Model", "shortDescr" : "The best building model in the world" }
Status: 201 Created
{ "name": "Your Wonderful Model", "shortDescr": "The best building model in the world", "teamName": "Bimplus GmbH", "teamSlug": "bimplus-gmbh", "hasWriteAccess": true, "thumbnail": null, "created": "2014-01-30T15:43:55.1302187Z", "changed": "2014-01-30T15:43:55.1302187Z", "disciplines": null, "id": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5" }
Resource: divisions
URL: https://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/divisions
Example: https://api-stage.bimplus.net/v2/bimplus/projects/69e48f92-a8dc-4af5-8f71-187b40a8b8f5/divisions
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
mandatory |
string |
Name of the model |
description |
optional |
string |
Short description of the model |
projectId |
will be ignored |
string (guid) |
Id of the project to which the model belongs |
topologyId | optional | string (guid) | Id of the topology to which the model belongs |
disciplines | optional | object | The discipline list of the model |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name" : "Nemetschek Building", "shortDescr" : "Model created via API" }
Status: 201 Created
{ "name": "Nemetschek Building", "description": null, "projectId": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5", "id": "4496b8ad-ba5a-483c-9912-2cb837178708" }
A Topology node has to be created for adding the objects (Column, Wall). As a topology node is also an object, the Bimplus Object Service has to be used for creating the topology object. Please see the request tab. The id of the project is provided as the parent of the topology node object. The model id has to be provided as the "divisionid" attribute.
URL: https://api-stage.bimplus.net/v2/<team>/objects
Example: https://api-stage.bimplus.net/v2/bimplus/objects
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
parent |
optional |
string (guid) |
The id of the parent to which the object can be associated |
type |
mandatory |
string |
Element type of the object |
attributes |
optional |
string |
Attributes of the object |
children |
optional |
Object |
Children of the object |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "parent": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5", "type": "TopologyDivision", "attributes": { "element": { "isparent": true, "elementtyp": "e003e080-f21b-4f8a-8c4c-4c9c5026cf50", "divisionid": "4496b8ad-ba5a-483c-9912-2cb837178708" }, "general": { "name": "created by objects post", "isobjectvalid": true } } }
Status: 201 Created
{ "id": "b793c860-d3b8-48a5-aa42-9df9e24a0d71", "parent": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5", "type": "TopologyDivision", "attributes": { "element": { "isparent": true, "elementtyp": "e003e080-f21b-4f8a-8c4c-4c9c5026cf50", "divisionid": "4496b8ad-ba5a-483c-9912-2cb837178708", "logparentid": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5" }, "general": { "name": "created by objects post", "isobjectvalid": true } } }
Again we use the Bimplus Object Service for creating the wall object in the project. Please note that the wall is added to the topology node and not the project (i.e See the request tab. The id of the topology node is provided for the parent attribute of the json object(wall))
URL: https://api-stage.bimplus.net/v2/<team>/objects
Example: https://api-stage.bimplus.net/v2/bimplus/objects
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
parent |
optional |
string (guid) |
The id of the parent to which the object can be associated |
type |
mandatory |
string |
Element type of the object |
attributes |
optional |
string |
Attributes of the object |
children |
optional |
Object |
Children of the object |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "parent": "b793c860-d3b8-48a5-aa42-9df9e24a0d71", "type": "Wall", "attributes": { "element": { "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1", "divisionid": "4496b8ad-ba5a-483c-9912-2cb837178708" }, "general": { "name": "a new test wall without walllayer" }, "quantity": { "width": 100, "volume": 200.4 }, "geometry": { "mesh": { "color": 4291407461, "vertices": [ -3486.667, 0, -3000, 8993.333, 0, -3000, 8993.333, 300, -3000, -3486.667, 300, -3000, -3486.667, 0, -400, 8993.333, 0, -400, 8993.333, 300, -400, -3486.667, 300, -400 ], "faces": [ 4, 3, 0, 1, 2, 4, 4, 7, 6, 5, 4, 0, 3, 7, 4, 4, 1, 0, 4, 5, 4, 2, 1, 5, 6, 4, 3, 2, 6, 7 ] } } } }
Status: 201 Created
{ "id": "b2a92252-ae51-4c72-ab1e-fafa141ac54c", "parent": "b793c860-d3b8-48a5-aa42-9df9e24a0d71", "type": "Wall", "attributes": { "element": { "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1", "divisionid": "4496b8ad-ba5a-483c-9912-2cb837178708", "logparentid": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5" }, "general": { "name": "a new test wall without walllayer" }, "quantity": { "width": 100, "volume": 200.4 }, "geometry": { "mesh": { "color": 4291407461, "vertices": [ -3486.667, 0, -3000, 8993.333, 0, -3000, 8993.333, 300, -3000, -3486.667, 300, -3000, -3486.667, 0, -400, 8993.333, 0, -400, 8993.333, 300, -400, -3486.667, 300, -400 ], "faces": [ 4, 3, 0, 1, 2, 4, 4, 7, 6, 5, 4, 0, 3, 7, 4, 4, 1, 0, 4, 5, 4, 2, 1, 5, 6, 4, 3, 2, 6, 7 ] } }, "elementstate": { "state": "0aaf5a1c-2453-40cb-9232-315119dd288f" } } }
For verifying whether the wall and the column is added to the project, we have to call GET https://api-stage.bimplus.net/v2/nemetschek/objects//topology. Please note that the API call GET https://api-stage.bimplus.net/v2/nemetschek/projects//topology will only give you its children (i.e topology) details. So, if your project is very big, you can first call GET https://api-stage.bimplus.net/v2/nemetschek/projects//topology and get the topology id(i.e 7f76a497-e322-4b78-b820-1ce85ebc39db in our example). Using the topology id we can get the object(wall, column in our case) details using the call GET https://api-stage.bimplus.net/v2/nemetschek/objects/7f76a497-e322-4b78-b820-1ce85ebc39db/topology.
URL: https://api-stage.bimplus.net/v2/<team>/objects/<object_id>/topology
Example: https://api-stage.bimplus.net/v2/bimplus-gmbh/objects/69e48f92-a8dc-4af5-8f71-187b40a8b8f5/topology
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "parent": null, "name": "Your Wonderful Model", "type": "ID_Project", "children": [ { "parent": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5", "name": "created by objects post", "type": "ID_TopologyDivision", "children": [ { "parent": "b793c860-d3b8-48a5-aa42-9df9e24a0d71", "name": "a new test wall without walllayer", "type": "ID_ArchWall", "children": [], "id": "b2a92252-ae51-4c72-ab1e-fafa141ac54c" } ], "id": "b793c860-d3b8-48a5-aa42-9df9e24a0d71" } ], "id": "69e48f92-a8dc-4af5-8f71-187b40a8b8f5" }
Thumbnail API call:
Web Viewer:
URL: https://api-stage.bimplus.net/v2/<team>/projects/<project_id>
Example: https://api-stage.bimplus.net/v2/bimplus/projects/0d2ce2cc-3588-45d6-a59a-f6b89ebed34e
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
optional |
string |
Name of the project |
shortDescr |
optional |
string |
Short description of the project |
created |
will be ignored |
string (date) |
Creation date of the project |
changed |
will be ignored |
string (date) |
Changed date of the project |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "properties": { "MainFloorArea": "456m²", "Architect": { "name": "NemetschekTech.GmbH", "phone1": "089/12793-1115", "phone2": "0171/71384483", "email": "MyName@Nemetschek.com", "city": "Munich", "zip": "81829", "street": "Konrad-Zuse-Platz1" }, "Customer": { "name": "Bimplus customer", "phone1": "001-201-1279345", "email": "MyName@Nemetschek.com", "city": "New Jersy", "zip": "08201" } } }
Status: 200 OK
URL: https://api-stage.bimplus.net/v2/<team>/projects/<project_id>
Example: https://api-stage.bimplus.net/v2/bimplus/projects/586b02be-43b8-4e27-b698-e067e85e38e2
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "name": "Your Awesome Building", "shortDescr": "The example project", "thumbnail": "/nemetschek/projects/0d2ce2cc-3588-45d6-a59a-f6b89ebed34e/thumbnail/download", "created": "0001-01-01T00:00:00", "changed": "0001-01-01T00:00:00", "disciplines": [ { "id": "0f106af0-a919-44c5-b211-15bd5ef620b6", "name": "ID_BuildingModel", "divisionId": "ac21b9a1-8853-4658-9fbf-0cf62340bd18", "divisionName": null, "revisions": [] } ], "properties": { "mainfloorarea": "456m²", "architect": { "name": "NemetschekTech.GmbH", "street": "Konrad-Zuse-Platz1", "phone1": "089/12793-1115", "phone2": "0171/71384483", "email": "MyName@Nemetschek.com", "zip": "81829", "city": "Munich" }, "customer": { "name": "Bimplus customer", "phone1": "001-201-1279345", "email": "MyName@Nemetschek.com", "zip": "08201", "city": "New Jersy" } }, "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" }
Topology is a hierarchical tree representing all its child nodes. A topology tree consist of components which can have a graphical representation(objects or elements) or components which does not have a graphical representation(nodes). A topology tree can be obtained both on the project as well as on the object level.
{ "parent": null, "name": null, "type": "Project", "children": \[{ "parent": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "name": null, "type": "ID_TopologyDivision", "children": [], "id": "195db084-3715-4ebc-b164-3ee47a495b2e" } \], "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" }
{ "name": "Your Awesome Building", "shortDescr": "Updating the example project", "created": "0001-01-01T00:00:00", "changed": "0001-01-01T00:00:00", "disciplines": \[{ "id": "0f106af0-a919-44c5-b211-15bd5ef620b6", "name": "ID_BuildingModel", "divisionId": "ac21b9a1-8853-4658-9fbf-0cf62340bd18", "divisionName": null, "revisions": [] } \], "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" }
{ "parent": null, "name": "Updated_Brickwall", "type": "ID_ArchWall", "children": [], "id": "7cf910cb-e357-43f6-aa3a-b45c26380f75" }
{ "id": "7cf910cb-e357-43f6-aa3a-b45c26380f75", "type": "Wall", "attributes": { "element": { "isparent": true, "nr": 0, "matrix": "AAAAAAAA8D8AAAAAAAAAgAAAAAAAAACAINejcP1YsEAAAAAAAAAAgAAAAAAAAPA/AAAAAAAAAIAK16Nw/fy 2QAAAAAAAAACAAAAAAAAAAIAAAAAAAADwPwAArkfheoS/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8=", "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1", "logparentid": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "divisionid": "ac21b9a1-8853-4658-9fbf-0cf62340bd18" }, "general": { "name": "Updated_Brickwall", "isobjectvalid": true }, "allplan": { "allplan_guid": "08b8195a-a2ad-11e2-9993-002215ea7d6b", "allplan_id": 2065507287, "allplan_text": "<PP>Wall", "dateofexport": "2013-05-01T09:32:13" }, "geometry": { "mesh": "{\"C\":0,\"V\":[4450.01,115.01,0.01,3200.01,115.01,0.01,3200.01,0.01,0.01,4450.01,0.01,0.01,2315.01, 0.01,0.01,2315.01,115.01,0.01,0.01,115.01,0.01,0.01,0.01,0.01,4450.01,115.01,2750.01,4450.01,0.01, 2750.01,0.01,0.01,2750.01,0.01,115.01,2750.01,2315.01,115.01,2190.01,3200.01,115.01,2190.01,3200.01, 0.01,2190.01,2315.01,0.01,2190.01],\"F\":[4,0,1,2,3,4,4,5,6,7,4,8,9,10,11,4,0,3,9,8,8,6,5,12,13,1,0, 8,11,4,7,6,11,10,8,3,2,14,15,4,7,10,9,4,12,15,14,13,4,15,12,5,4,4,13,14,2,1]}" } } }
{ "name": "Your Awesome Building", "shortDescr": "Updating the example project", "thumbnail": "/nemetschek/projects/0d2ce2cc-3588-45d6-a59a-f6b89ebed34e/thumbnail/download", "created": "0001-01-01T00:00:00", "changed": "0001-01-01T00:00:00", "disciplines": [ { "id": "0f106af0-a919-44c5-b211-15bd5ef620b6", "name": "ID_BuildingModel", "divisionId": "ac21b9a1-8853-4658-9fbf-0cf62340bd18", "divisionName": null, "revisions": [] } ], "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" }
{ "parent": null, "name": "Your Awesome Building", "type": "ID_Project", "children": [ { "parent": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "name": "Your Awesome Building", "type": "ID_TopologyDivision", "children": [], "id": "c1c6c2bc-f38e-4c01-ae5a-864baaa0b2d0" } ], "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" }
{ "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "type": "Project", "attributes": { "element": { "isparent": true, "elementtyp": "8d27ae6d-3c9a-4201-8a4d-bf0225861788", "materialsurfaceid": "cdbd7fbc-0d02-4be5-adb3-04b7f0b2a638" }, "general": { "name": "Your Awesome Building", "description": "Updating the example project", "isobjectvalid": true } } }
{ "parent": null, "name": "Your Awesome Building", "type": "ID_Project", "children": [ { "parent": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "name": "Your Awesome Building", "type": "ID_TopologyDivision", "children": [ { "parent": "c1c6c2bc-f38e-4c01-ae5a-864baaa0b2d0", "name": "Brickwall", "type": "ID_ArchWall", "children": [], "id": "7cf910cb-e357-43f6-aa3a-b45c26380f75" } ], "id": "c1c6c2bc-f38e-4c01-ae5a-864baaa0b2d0" } ], "id": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e" }
The geometrical information(graphical representation) of a building can be accessed through the Bimplus Object Service. There are different types of geometry available for optimizing and viewing on different devices.
There are three type of Geometry objects.
{ "id": "7cf910cb-e357-43f6-aa3a-b45c26380f75", "type": "Wall", "attributes": { "element": { "isparent": true, "nr": 0, "matrix": "AAAAAAAA8D8AAAAAAAAAgAAAAAAAAACAINejcP1YsEAAAAAAAAAAgAAAAAAAAPA/AAAAAAAAAIAK16Nw/fy 2QAAAAAAAAACAAAAAAAAAAIAAAAAAAADwPwAArkfheoS/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8=", "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1", "logparentid": "0d2ce2cc-3588-45d6-a59a-f6b89ebed34e", "divisionid": "ac21b9a1-8853-4658-9fbf-0cf62340bd18" }, "general": { "name": "Updated_Brickwall", "isobjectvalid": true }, "allplan": { "allplan_guid": "08b8195a-a2ad-11e2-9993-002215ea7d6b", "allplan_id": 2065507287, "allplan_text": "<PP>Wall", "dateofexport": "2013-05-01T09:32:13" }, "geometry": { "mesh": "{\"C\":0,\"V\":[4450.01,115.01,0.01,3200.01,115.01,0.01,3200.01,0.01,0.01,4450.01,0.01,0.01,2315.01, 0.01,0.01,2315.01,115.01,0.01,0.01,115.01,0.01,0.01,0.01,0.01,4450.01,115.01,2750.01,4450.01,0.01, 2750.01,0.01,0.01,2750.01,0.01,115.01,2750.01,2315.01,115.01,2190.01,3200.01,115.01,2190.01,3200.01, 0.01,2190.01,2315.01,0.01,2190.01],\"F\":[4,0,1,2,3,4,4,5,6,7,4,8,9,10,11,4,0,3,9,8,8,6,5,12,13,1,0, 8,11,4,7,6,11,10,8,3,2,14,15,4,7,10,9,4,12,15,14,13,4,15,12,5,4,4,13,14,2,1]}" } } }
{ "elementsCount": 1, "objects": [ { "id": "7cf910cb-e357-43f6-aa3a-b45c26380f75", "parent": "00000000-0000-0000-0000-000000000000", "type": "Wall", "attributes": { "geometry": { "compress": true, "picture": "H4sIAAAAAAAEANVXW3PbRBTWylIsuUmctml6T900t7aua+eetiHOndAQDLS8pBnhyzYVUeQiyR0cGJ545y9QGB 54YYY3HvkXPPetQLlDuV/2E7uqiEfUMzRDkWc/zfl0tHvO2XPOWhKRJOkPduGOq1VmcLVQmPE8xywVzLJXc+iV+k06nE69QB3Xr NpTQ9lcLpPNjExmxzIjufHRbDo1V7OgOGXTmucUrXSqUCtZZvkyrV+pblJ7yq5Zloo10qt0i3pu+QbdzKxe9UxrxSw5RaeemZstunT BYk9tr1C16rRCnTh7Qb1ZNW1PoZUNqlwvlqm2ZTxXrJg1t33LmKV2xbQ3nKplUcVjRsrL87FYTFGU2G3yfN316FZmDg/LHrPbzSxRm zpmObNiut6LubW1SFsCO9jSzJfdiMb6+luPwsQFFpfH28JFtmm7ZmFP5OrVmu3NOE6xjoRuUq03Sk0kJMyG4h4el6WaWYGsxwAKQGWQ SKg/s5pqajoURfxW0apRw5A0TBbrkCTlJ/Z+eJU97IFsFGWjJBtl2ajIBpWN67KxIRs3ZMOUjZdkY1N6cGnxuMwvacelwNj/QX3AzBb DZEa6quGa21Qzbv01Jwv0QFO2ra3De03TNXbr4EPBPj3+xfeP7vc3Y1rgvc5uh/hQ1Efl/a4W9r/zHqYF3idQkXzEkQgSEZnQ11QW+R WOAtRbAW2AdkASgIn0vYB9gP2ATsABQBfgIADB1w8DjsAQXRiSgiGRrSK8n74dRwHHAMcB3YATAMyjnwT0AE4BegF9gH7AAGAQcBpwB nAWkAacA2QA5wFZQA4wxKBNiyf+FrqHWow98C0eBowARgFjgHHABGAScAFwEXAJa7WoiHZzm4NEIa+QOtlGxrS0YMn7g9felEsf5F+e Snz8zkfX8q92vr90Z/uNaYL9w9T3nv2wW5Xea1Ro26EgHgQK7VxBLNGgkAzP0PV2o0LHDoUGG/ZyBUE0KOzbodCwxP4dRooZ/CVfezd POiO8CBQORCwRKHRFGBkoHIxw05eP3c6TQxF7ESgcjtiLQOFIRKiFgopaabqy1BLdMO0Y+0uJriHzXPfvKLejXPDz7TgnIOA0Id2cUPh r5AQn0G1bQKQ4AQH/a8lJTkBAVyI9nND4a+QUJ9AqUHyklxMJ7jjp4wQE5Dbp50Qrf40MhAzz5xgMTepbejpkGNKfnOEEBKQ7OcuJdhG PdGgV35dzITt8XzKhAKEiyHlOQEAFkCwnOoS3udCyvsZQ6BUsrQ43s51oO/BLxReDG3u9iYOOqyzb3vBQOrXllquOZZYeHGIj7ARjv4c fXaXx8eJoeXQsNzk8QrMTk+v+EaRPwRs0QL8TPgFpVEjTkMaElIc0LqQZSBNCmoU0KaQ5SBeENA/popAWIF0S0iJ2Hyb8x6GIPtHjKDh NX+Jp6tcQogSj9SfD7LRgl8NsXrBPhdkZwV7mSekn5qxgV8K6c4J9Oqw7L9jVsO6CYJ8Js4uCLYTYpHBJE61ENIykcEsTDUK0gaRwTRN lL4o7KdzTfmUfByiTH9gdlZEMXMRnhygxnCP4tP+Gje/YwLGRFG5r+MD4go3v2cB5kQxc/40xOCBwBqDN/8jkz9m4z8a3mF+EQ0OP/4w xaOVf4YkIifYJk75m4xc2PsUTERbtLpPusfE7G1/iI+dPBQ0gCIMQAAA=", "type": 3, "matrix": "AAAAAAAA8D8AAAAAAAAAgAAAAAAAAACAINejcP1YsEAAAAAAAAAAgAAAAAAAAPA/AAAAAAAAAIAK16Nw/fy2QAAAAAAAAACAAAAAAAAAAIAAAAAAAA DwPwAArkfheoS/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8=" } } } ] }
{ "elementsCount": 1, "viewbox": { "x": -5081.562, "y": 5005.8785, "z": 1231.1029999999996, "width": 5950, "height": 5540.835, "depth": 7065.71 }, "colors": [ -9868951 ], "objects": [ { "id": "f5cc3c6c-1fdf-499d-a38d-0582adadc216", "type": "RoofLayer", "attributes": { "geometry": { "threejs": { "faces": [ 0, 2, 1, 3, 0, 5, 3, 9, 1, 1, 14, 1, 5, 6, 15, 12, 1, 7, 4, 13, 14 ], "vertices": [ -2106.562, 7588.114, -2301.752, -8056.562, 7588.114, -2301.752, -8056.562, -880.999, -4742.212, 6700, -880.999, -4742.212, 7412.539, -1821.578, -5522.212, 7412.539, -1821.578 ], "metadata": { "formatVersion": 3, "colorid": 0 } } }, "quantity": { "length": 7065.71, "height": 150, "volume": 7911354818.818842, "area": 52742365.4587924 }, "general": { "name": "<PP>RoofLayer" } } } ] }
Different properties / structure (normal, viewer properties, object in hierarchical tree structure) of the object can be obtained using different property combinations.
url: /geometries/threejs/properties/{props}
where props can be 1, 2 or 3.
/geometries/threejs/properties/1 : show objects as hierarchical tree ( default (/geometries/threejs or /geometries/threejs/properties/0 will give the object details in a flat structure))
/geometries/threejs/properties/2 : show also viewer attributes
/geometries/threejs/properties/3 : include FACE_NORMAL
You can also combine different property numbers
eg: geometries/threejs/properties/4 should give both the show objects as tree(1) + add FACE_NORMAL in threeJs json(3)
Resource: objects/<object_id>/geometries/threejs/properties/{props}
URL: https://api-stage.bimplus.net/v2/<team_slug>/objects/<object_id>/geometries/threejs/properties/{props}
Example: https://api-stage.bimplus.net/v2/bimplus/objects/a17ff78a-8b42-4523-9bf7-283e725e3e95/geometries/threejs/properties/4
Get the different properties / structure (normal, viewer properties, object in hierarchical tree structure) of the object using different property combinations.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "elementsCount": 1, "faceCount": 88, "viewbox": { "x": 21000, "y": 2850, "z": -19000, "width": 133, "height": 5700, "depth": 140 }, "colors": [ 4278190080 ], "objects": [ { "id": "a17ff78a-8b42-4523-9bf7-283e725e3e95", "type": "Column", "attributes": { "geometry": { "threejs": { "faces": [ 0, 2, 1, 0, 0, 4, 0, 3, 0, 7, 6, 5, 0, 8, 5, 6, 0, 9, 5, 8, 0, 10, 9, 8, 0, 13, 12, 11, 0, 16, 15, 14, 0, 17, 14, 15, 0, 18, 14, 17, 0, 19, 18, 17, 0, 7, 15, 6, 0, 16, 6, 15, 0, 7, 5, 15, 0, 17, 15, 5, 0, 17, 5, 19, 0, 9, 19, 5, 0, 2, 11, 1, 0, 2, 0, 11, 0, 13, 11, 0, 0, 13, 0, 12, 0, 4, 12, 0, 0, 4, 3, 12, 0, 20, 12, 3, 0, 18, 10, 14, 0, 8, 14, 10, 0, 8, 6, 14, 0, 16, 14, 6, 0, 0, 1, 21, 0, 21, 3, 0, 0, 1, 11, 22, 0, 22, 11, 12, 0, 12, 20, 23, 0, 3, 21, 23, 0, 23, 22, 12, 0, 23, 20, 3, 0, 26, 25, 24, 0, 24, 27, 26, 0, 25, 26, 28, 0, 31, 30, 29, 0, 32, 31, 29, 0, 35, 34, 33, 0, 32, 29, 36, 0, 38, 36, 37, 0, 36, 38, 32, 0, 39, 10, 18, 0, 24, 41, 40, 0, 42, 19, 9, 0, 43, 30, 37, 0, 36, 26, 27, 0, 37, 27, 43, 0, 27, 37, 36, 0, 26, 36, 29, 0, 30, 43, 28, 0, 29, 28, 26, 0, 28, 29, 30, 0, 24, 40, 43, 0, 43, 27, 24, 0, 33, 34, 39, 0, 39, 34, 44, 0, 45, 34, 35, 0, 38, 23, 21, 0, 21, 32, 38, 0, 21, 1, 31, 0, 31, 1, 22, 0, 31, 32, 21, 0, 45, 35, 25, 0, 24, 25, 35, 0, 41, 24, 35, 0, 33, 39, 18, 0, 42, 33, 18, 0, 18, 19, 42, 0, 45, 40, 44, 0, 44, 34, 45, 0, 44, 40, 41, 0, 35, 33, 42, 0, 41, 42, 44, 0, 42, 41, 35, 0, 38, 37, 22, 0, 31, 22, 37, 0, 22, 23, 38, 0, 37, 30, 31, 0, 44, 42, 9, 0, 39, 44, 9, 0, 9, 10, 39, 0, 45, 25, 28, 0, 40, 45, 28, 0, 28, 43, 40 ], "vertices": [ 21066.5, 0, -18930, 21058, 0, -18985.2, 21058, 0, -18930, 21058, 0, -19070, 21066.5, 0, -19070, 20942, 0, -18930, 20933.5, 0, -19070, 20933.5, 0, -18930, 20942, 0, -19070, 20942, 0, -18985.2, 20942, 0, -19014.8, 21058, 5700, -18930, 21066.5, 5700, -19070, 21066.5, 5700, -18930, 20942, 5700, -19070, 20933.5, 5700, -18930, 20933.5, 5700, -19070, 20942, 5700, -18930, 20942, 5700, -19014.8, 20942, 5700, -18985.2, 21058, 5700, -19070, 21057.8, 0, -19012.4, 21057.8, 5700, -18987.6, 21057.8, 5700, -19012.4, 20954, 5700, -18997.2, 20954, 5700, -19002.8, 21048.3, 5700, -19003, 21048.3, 5700, -18997, 21048.3, 0, -19003, 21052.7, 0, -19004.8, 21052.7, 0, -18995.2, 21056, 0, -18991.9, 21056, 0, -19008.1, 20944, 5700, -19008.1, 20945.5, 0, -19006.3, 20947.3, 5700, -19004.8, 21052.7, 5700, -19004.8, 21052.7, 5700, -18995.2, 21056, 5700, -19008.1, 20942.9, 0, -19010.2, 20951.7, 0, -18997, 20949.4, 5700, -18996.3, 20942.9, 5700, -18989.8, 21048.3, 0, -18997, 20945.5, 0, -18993.7, 20949.4, 0, -19003.7 ], "metadata": { "formatVersion": 3, "colorid": 0 } } }, "related_objects": { "0": { "id": "4f106618-6110-43c1-93ce-c542417cf5d6", "type": "GeometryObject" } } } } ] }
geometries/threejs/properties/7 should give you a combination of objects as tree(1) + viewer attributes(2) + face normal(3)
Resource: objects/<object_id>/geometries/threejs/properties/{props}
URL: https://api-stage.bimplus.net/v2/<team_slug>/objects/<object_id>/geometries/threejs/properties/{props}
Example: https://api-stage.bimplus.net/v2/bimplus/objects/a17ff78a-8b42-4523-9bf7-283e725e3e95/geometries/threejs/properties/7 (i.e 7 gives you a combination of objects as tree(1) + viewer attributes(2) + face normal(3))
Get the different properties / structure (normal, viewer properties, object in hierarchical tree structure) of the object using different property combinations.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "elementsCount": 1, "faceCount": 88, "viewbox": { "x": 21000, "y": 2850, "z": -19000, "width": 133, "height": 5700, "depth": 140 }, "colors": [ 4278190080 ], "objects": [ { "id": "a17ff78a-8b42-4523-9bf7-283e725e3e95", "type": "Column", "attributes": { "geometry": { "threejs": { "faces": [ 0, 2, 1, 0, 0, 4, 0, 3, 0, 7, 6, 5, 0, 8, 5, 6, 0, 9, 5, 8, 0, 10, 9, 8, 0, 13, 12, 11, 0, 16, 15, 14, 0, 17, 14, 15, 0, 18, 14, 17, 0, 19, 18, 17, 0, 7, 15, 6, 0, 16, 6, 15, 0, 7, 5, 15, 0, 17, 15, 5, 0, 17, 5, 19, 0, 9, 19, 5, 0, 2, 11, 1, 0, 2, 0, 11, 0, 13, 11, 0, 0, 13, 0, 12, 0, 4, 12, 0, 0, 4, 3, 12, 0, 20, 12, 3, 0, 18, 10, 14, 0, 8, 14, 10, 0, 8, 6, 14, 0, 16, 14, 6, 0, 0, 1, 21, 0, 21, 3, 0, 0, 1, 11, 22, 0, 22, 11, 12, 0, 12, 20, 23, 0, 3, 21, 23, 0, 23, 22, 12, 0, 23, 20, 3, 0, 26, 25, 24, 0, 24, 27, 26, 0, 25, 26, 28, 0, 31, 30, 29, 0, 32, 31, 29, 0, 35, 34, 33, 0, 32, 29, 36, 0, 38, 36, 37, 0, 36, 38, 32, 0, 39, 10, 18, 0, 24, 41, 40, 0, 42, 19, 9, 0, 43, 30, 37, 0, 36, 26, 27, 0, 37, 27, 43, 0, 27, 37, 36, 0, 26, 36, 29, 0, 30, 43, 28, 0, 29, 28, 26, 0, 28, 29, 30, 0, 24, 40, 43, 0, 43, 27, 24, 0, 33, 34, 39, 0, 39, 34, 44, 0, 45, 34, 35, 0, 38, 23, 21, 0, 21, 32, 38, 0, 21, 1, 31, 0, 31, 1, 22, 0, 31, 32, 21, 0, 45, 35, 25, 0, 24, 25, 35, 0, 41, 24, 35, 0, 33, 39, 18, 0, 42, 33, 18, 0, 18, 19, 42, 0, 45, 40, 44, 0, 44, 34, 45, 0, 44, 40, 41, 0, 35, 33, 42, 0, 41, 42, 44, 0, 42, 41, 35, 0, 38, 37, 22, 0, 31, 22, 37, 0, 22, 23, 38, 0, 37, 30, 31, 0, 44, 42, 9, 0, 39, 44, 9, 0, 9, 10, 39, 0, 45, 25, 28, 0, 40, 45, 28, 0, 28, 43, 40 ], "vertices": [ 21066.5, 0, -18930, 21058, 0, -18985.2, 21058, 0, -18930, 21058, 0, -19070, 21066.5, 0, -19070, 20942, 0, -18930, 20933.5, 0, -19070, 20933.5, 0, -18930, 20942, 0, -19070, 20942, 0, -18985.2, 20942, 0, -19014.8, 21058, 5700, -18930, 21066.5, 5700, -19070, 21066.5, 5700, -18930, 20942, 5700, -19070, 20933.5, 5700, -18930, 20933.5, 5700, -19070, 20942, 5700, -18930, 20942, 5700, -19014.8, 20942, 5700, -18985.2, 21058, 5700, -19070, 21057.8, 0, -19012.4, 21057.8, 5700, -18987.6, 21057.8, 5700, -19012.4, 20954, 5700, -18997.2, 20954, 5700, -19002.8, 21048.3, 5700, -19003, 21048.3, 5700, -18997, 21048.3, 0, -19003, 21052.7, 0, -19004.8, 21052.7, 0, -18995.2, 21056, 0, -18991.9, 21056, 0, -19008.1, 20944, 5700, -19008.1, 20945.5, 0, -19006.3, 20947.3, 5700, -19004.8, 21052.7, 5700, -19004.8, 21052.7, 5700, -18995.2, 21056, 5700, -19008.1, 20942.9, 0, -19010.2, 20951.7, 0, -18997, 20949.4, 5700, -18996.3, 20942.9, 5700, -18989.8, 21048.3, 0, -18997, 20945.5, 0, -18993.7, 20949.4, 0, -19003.7 ], "metadata": { "formatVersion": 3, "colorid": 0 } } }, "general": { "name": "B132", "description": "Ifc Imported Element" }, "element": { "elementtyp": "Column", "layer": "BuildingModel", "model": "Structural model", "material": "S 235" }, "elementstate": { "state": "Nothing Defined" }, "allfreeattrib": { "globalid": "26gojRHan8_9KtPcvJkUQf", "skipparentlocations": "False", "extrudeprofilename": "HEA140", "extrudeprofiletype": "IShapeProfile", "filletradius": "12", "flangethickness": "8,5", "overalldepth": "133", "overallwidth": "140", "webthickness": "5,5" } } } ] }
A group of element types constitute a layer. But an element type cannot belong to two layers. Both the element types and layers are predefined.
The "ThreeJS" or the "meshblob" information can be filtered by the layer.
Projects in the form of IFC/SketchUp files can be imported into the Bimplus platform by using the Bimplus Import Service
Any problems or remarks can be reported and assigned to a project in the form of issues. To understand the problem better, comments or attachments can be added to the issue.
Pins are used to visualize the issues. Pins are relation between an issue and an object. It defines position of an issue in the 3D space.
Currently Bimplus has a couple of issue based roles (i.e Author, Responsible). Author is the user who creates an issue and the responsible is the one who solves it. Here are some of the conditions that apply for the Bimplus issue tracking.
The pictures or any other documents(pdf, ifc etc) can be attached to both the project as well as the individual objects.
URL: https://api-stage.bimplus.net/v2/authorize
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
user_id |
mandatory |
string |
The email address of the user |
password |
mandatory |
string |
The user's password |
client_id |
optional |
string |
The identifier of the used client |
application_id |
optional |
string |
The id of the application |
Content-Type: application/json
{ "user_id" : "test@bimplus.net", "password" : "test" }
Status: 200 OK
{ access_token: "e3271e89d8ea474c82745039bc2bed0d" expires_in: 2591999 client_id: "9fd0bb9d-570b-4719-bfae-93e2f879c19a" token_type: "BimPlus" }
Use the client_id "9fd0bb9d-570b-4719-bfae-93e2f879c19a" to generate a token for multiple logins.
URL: https://api-stage.bimplus.net/v2/authorize
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
user_id |
mandatory |
string |
The email address of the user |
password |
mandatory |
string |
The user's password |
client_id |
optional |
string |
The identifier of the used client |
application_id |
optional |
string |
The id of the application |
Content-Type: application/json
{ "user_id" : "test@bimplus.net", "password" : "test", "client_id" : "9fd0bb9d-570b-4719-bfae-93e2f879c19a" }
Status: 200 OK
{ access_token: "c33fa174169e46999fe82fb07fc53e3d" expires_in: 2591999 client_id: "9fd0bb9d-570b-4719-bfae-93e2f879c19a" token_type: "BimPlus" }
Account / Team Owner | Project Admin | Project Editor | Project Viewer | |
---|---|---|---|---|
Create Project | x | |||
Admin Project (eg. invite) | x | x | ||
Edit Project | x | x | x | |
Delete Project | x | x | ||
View Project | x | x | x | x |
View all Models | x | x | x | x |
Create Model | x | x | ||
Admin Model (eg. invite) | x | x | ||
Assign User to Model | x | x | ||
Edit Model | x | x | ||
Import Data | x | x | ||
Delete Model | x | x | ||
View Model | x | x | x | x |
So, in Bimplus the users have project based roles. After assigning the registered user to a team, the Team Owner or the Project Admin of that particular project has to send an invitation (via portal. See the picture below) to the user who belongs to one of his team.