Clash Service
- Detect all the clashes in a project
- Detect clashes between disciplines & objects/topologies
- Calculate clashes in project using particular clash filter
- Get all clashes for given project and clash filter
- Create an clash filter in the project
- Get all clash filters for a project
- Get all clash filters for a team
- Get details of single clash filter
- Update the clash filter
- Delete the clash filter
Clash Service
Clashes could be detected in a project by calling this service. The person who uploaded the model which contains the clash will get a notification along with the clash count after the clash process is completed. This process will be called during model import in the future.
Detect all the clashes in a project
URL: https://api-stage.bimplus.net/v2/<team_slug>/services/postprocess
Example:https://api-stage.bimplus.net/v2/bimplus/services/postprocess
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
|---|---|---|---|
runAsync |
mandatory |
bool |
True sets the clash process to run asynchronously |
postProcess |
mandatory |
object |
It runs as a windows service in the server |
projectId |
mandatory |
string |
Id of the project |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{
"runAsync":"True",
"postProcess":{
"projectId":"0c9b514a-5b30-4f77-b0ff-2184d079fd30"
}
}
Status: 200 OK
{
"postProcess":{
"projectId":"0c9b514a-5b30-4f77-b0ff-2184d079fd30"
},
"runAsync":false
}
Detect clashes between disciplines & objects/topologies
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashdetection
Example:https://api-stage.bimplus.net/v2/bimplus/clashdetection
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
|---|---|---|---|
layerid1 |
mandatory |
string(guid) |
Layer/discipline id |
layerid2 |
mandatory |
string(guid) |
Layer/discipline id |
tolerancex |
optional |
int |
Id of the project |
| tolerancey | optional | int | Tolerance in x direction(mm) |
| objectsid | mandatory | JSON Array | Tolerance in y direction(mm) |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{
"layerid1": "0F106AF0-A919-44c5-B211-15BD5EF620B6",
"layerid2": "0F106AF0-A919-44c5-B211-15BD5EF620B6",
"tolerancex": "15",
"tolerancey": "25",
"objectsid": [
"a3105304-a785-4dff-b114-a57b665248f6",
"f7fbde41-1c46-4c10-81cb-c97f16c9d16a",
"aaf238a1-4a40-4185-991e-7673d82b040c"
]
}
Status: 201 Created
{
"clashcount": 4
}
Calculate clashes in project using particular clash filter
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashdetection/filters
Example:https://api-stage.bimplus.net/v2/bimplus/clashdetection/filters
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
|---|---|---|---|
| filterid | mandatory | guid | ID of clash filter |
| projectid | mandatory | guid | Project ID |
| tolerancex | optional | double | Tolerance by clash detection in x-direction. |
| tolerancey | optional | double | Tolerance by clash detection in y-direction. |
| tolerancez | optional | double | Tolerance by clash detection in z-direction. |
| boxsize | optional | double | Size of visual clash element. |
| renew | optional | boolean | Defines faith of previously calculated clashes. If false - clashes will be updated, if true - all clashes will be deleted and new ones will be calculated. Default value is false. |
POST
Calculates, updates or recalculates ( see "renew" property ) clashes for a project, using the clash filter provided in the request json. Tolerances and boxsize are optional, if not set then the default values of the given filter will be used.
Remark: If there is only one tolerance value present - tolerancex - this value is used for all three tolerances.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{
"filterid": "d76a6719-d858-45d1-a8e9-929efc58a356",
"projectid": "738a1a0a-d5e4-4639-b450-996dc5cd7e67",
"tolerancex": "0.01",
"tolerancex": "0.01",
"tolerancex": "0.01",
"boxsize": "0.4",
"renew": "false"
}
Status: 201 Created
{
"creator": {
"id": "69b270be-8102-4a27-a335-ee9e579acb87",
"email": "testB@test.net"
},
"createdat": "2016-02-15T13:18:28.32+01:00",
"status": "DONE",
"tolerancex": 1.0,
"boxsize": 0.4,
"open": [
{
"id": "620ec33c-8686-40de-a670-3de5195fed42",
"elements": [
"42c0c745-3dfa-4a47-9d86-0576bb37880a",
"40393b5d-6ab9-4f81-8599-c46e69216a9c"
],
"element1": {
"id": "e3bdf005-58ea-4087-b2e1-367564fe06f6",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "7d2f969a-0c86-4521-be7c-7cf48bb0e610",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 1,
"volume": 22.969524192034
},
{
"id": "0dfa47b8-0efb-4c57-8859-ef90b4ad6453",
"elements": [
"15461bb3-9994-4e54-8411-f94437e81e21",
"36a5af0f-bef8-478f-bc2f-0b0e567260e2"
],
"element1": {
"id": "4eeeb292-3672-483e-94e5-0da5bb65a1a1",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "eeca2016-4fdf-4966-9143-ce94ad4b972c",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 3,
"volume": 0.055550000000000009
}
],
"unresolved": [
{
"id": "ad2bddc6-1a5d-4a0b-b815-042cec0198a5",
"elements": [
"75757fc1-ba76-4f64-ab29-7f5e2d85cfd1",
"6edb8bc0-9417-4072-a375-98c11c692357"
],
"element1": {
"id": "19be02c9-2080-4f54-a545-154cc22b8628",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "f3c9162d-7b4a-4eba-a86f-72404be65445",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 2,
"volume": 3.4398162022732786
},
{
"id": "8f8c8720-2324-41d7-a669-d8cefb9328ff",
"elements": [
"68813fe9-ea07-41c0-9a94-5990c4bedee6",
"9fe08223-f723-4293-b484-4b45d02a09b7"
],
"element1": {
"id": "d520d19d-3235-4eb d-934f-1dc47af9f96e",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "e9a14ac4-6ee7-414a-aaf0-44cd72a68191",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 4,
"volume": 0.64799999999999991
}
],
"resolved": [
]
}
Get all clashes for given project and clash filter
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashdetection/projects/<project_id>/filters
GET
Get all project clashes calculated using given filter.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{
"creator": {
"id": "69b270be-8102-4a27-a335-ee9e579acb87",
"email": "testB@test.net"
},
"createdat": "2016-02-15T13:18:28.32+01:00",
"status": "DONE",
"tolerancex": 1.0,
"boxsize": 0.4,
"open": [
{
"id": "620ec33c-8686-40de-a670-3de5195fed42",
"elements": [
"42c0c745-3dfa-4a47-9d86-0576bb37880a",
"40393b5d-6ab9-4f81-8599-c46e69216a9c"
],
"element1": {
"id": "e3bdf005-58ea-4087-b2e1-367564fe06f6",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "7d2f969a-0c86-4521-be7c-7cf48bb0e610",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 1,
"volume": 22.969524192034
},
{
"id": "0dfa47b8-0efb-4c57-8859-ef90b4ad6453",
"elements": [
"15461bb3-9994-4e54-8411-f94437e81e21",
"36a5af0f-bef8-478f-bc2f-0b0e567260e2"
],
"element1": {
"id": "4eeeb292-3672-483e-94e5-0da5bb65a1a1",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "eeca2016-4fdf-4966-9143-ce94ad4b972c",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 3,
"volume": 0.055550000000000009
}
],
"unresolved": [
{
"id": "ad2bddc6-1a5d-4a0b-b815-042cec0198a5",
"elements": [
"75757fc1-ba76-4f64-ab29-7f5e2d85cfd1",
"6edb8bc0-9417-4072-a375-98c11c692357"
],
"element1": {
"id": "19be02c9-2080-4f54-a545-154cc22b8628",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "f3c9162d-7b4a-4eba-a86f-72404be65445",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 2,
"volume": 3.4398162022732786
},
{
"id": "8f8c8720-2324-41d7-a669-d8cefb9328ff",
"elements": [
"68813fe9-ea07-41c0-9a94-5990c4bedee6",
"9fe08223-f723-4293-b484-4b45d02a09b7"
],
"element1": {
"id": "d520d19d-3235-4eb d-934f-1dc47af9f96e",
"type": "Element",
"name": "<Unnamed Element>"
},
"element2": {
"id": "e9a14ac4-6ee7-414a-aaf0-44cd72a68191",
"type": "Element",
"name": "<Unnamed Element>"
},
"nr": 4,
"volume": 0.64799999999999991
}
],
"resolved": [
]
}
Create an clash filter in the project
URL: https://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/clashfilters
Example: https://api-stage.bimplus.net/v2/bimplus/projects/48f5f0e5-4979-4c4f-b28a-fbba01d13181/clashfilters
JSON Structure : clash filter
Name |
Mandatory / Optional |
Type |
Description |
|---|---|---|---|
| name | optional | string | Custom table name |
| description | optional | string | Custom table description |
| id | will be ignored | string(guid) | The id of the custom table. Will be taken from request url. |
| tolerancex | optional | double | Tolerance by clash detection in x-direction. |
| tolerancey | optional | double | Tolerance by clash detection in y-direction. |
| tolerancez | optional | double | Tolerance by clash detection in z-direction. |
| boxsize | optional | double | Size of visual clash element. |
| definitions | madatory | JSON Array | Array of two clash filter definition objects for a clash filter. |
JSON Structure : clash filter definition
Name |
Mandatory / Optional |
Type |
Description |
|---|---|---|---|
| name | optional | string | Name of the filter |
| filterid | madatory | string(guid) | The id of the filter |
| selectionid | optional | string(guid) | The id of the selection |
| definition | madatory | string | The definition of a filter |
| selection | optional | object | Object of the selection |
| boxsize | optional | double | Size of visual clash element. |
| definitions | madatory | JSON Array | Array of two clash filter definition objects for a clash filter. |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{
"name":"TEST",
"description":"test",
"tolerancex":0.01,
"boxsize":0.4,
"definitions":[{
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"selectionId":"8541a1c5-2551-4587-8fd9-ec8b59372bcd"
},
{
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6"
}
]
}
Status: 200 OK
{
"name":"TEST",
"description":"test",
"tolerancex":0.01,
"boxsize":0.4,
"definitions":[{
"name":"Filter1",
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"selectionid":"8541a1c5-2551-4587-8fd9-ec8b59372bcd",
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
},
{
"name":"Filter2",
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
}
],
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
}
Get all clash filters for a project
URL: https://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/clashfilters
Example:https://api-stage.bimplus.net/v2/bimplus/projects/48f5f0e5-4979-4c4f-b28a-fbba01d13181/clashfilters
Optional query parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| customfilter | boolean | true | When this query parameter is not set api returns global and custom clash filters for projects.
|
GET
Get all clash filters for a particular project.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 Ok
[{
"name":"Reinforcement",
"description":"Clashes between reinforcement objects.",
"tolerancex":0.002,
"boxsize":0.05,
"id":"a9971843-0418-4ac4-a392-1bf5043fb562"
},
{
"name":"TEST",
"description":"test",
"tolerancex":0.01,
"boxsize":0.4,
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
}
...
]
Get all clash filters for a team
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashdetection/filters
Example:https://api-stage.bimplus.net/v2/bimplus/clashdetection/filters
GET
Get details of all clash filters for a particular team
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 Ok
[
{
"name": "Shell",
"description": "Clashes of all main building elements objects. For example walls, floors, roof, stairs, openings, columns...with each other.",
"tolerancex": 0.01,
"boxsize": 0.4,
"id": "d76a6719-d858-45d1-a8e9-929efc58a356"
},
{
"name": "Window/Door",
"description": "Clashes of all doors/windows objects with all building elements objects.",
"tolerancex": 0.01,
"boxsize": 0.4,
"id": "ffc6ab25-b3a9-1ecd-95be-35b5e7475fad"
}
, ...
]
Get details of single clash filter
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashdetection/filters/<filter_id>
Example:https://api-stage.bimplus.net/v2/bimplus/clashdetection/filters/c9d5ca15-2561-4c58-85da-870a89242b87
GET
Get details of single clash filter for a particular team
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 Ok
{
"name": "Test",
"description": "test",
"tolerancex": 0.01,
"boxsize": 0.4,
"definitions": [{
"name": "Filter1",
"filterid": "0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition": "[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"selectionid": "8541a1c5-2551-4587-8fd9-ec8b59372bcd",
"selection": {
"id": "8541a1c5-2551-4587-8fd9-ec8b59372bcd",
"projectid": "2191084f-dd8f-407c-b47d-f1f4c9256ddc",
"divisionid": "00000000-0000-0000-0000-000000000000",
"revisionnr": null,
"type": "RevisionElements",
"elements": null,
"revisionelements": [{
"objectId": "e2c7c0e8-8524-445d-8f55-98fbd515271f",
"revisionNr": 1
}, {
"objectId": "e2c7c0e8-8524-445d-8f55-98fbd515271f",
"revisionNr": 1
}
],
"topology": null,
"filter": null,
"structure": null,
"topologystructure": null
},
"id": "c9d5ca15-2561-4c58-85da-870a89242b87"
}, {
"name": "Filter2",
"filterid": "0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition": "[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"id": "c9d5ca15-2561-4c58-85da-870a89242b87"
}
],
"id": "c9d5ca15-2561-4c58-85da-870a89242b87"
}
Update the clash filter
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashfilters/<clashfilter_id>
Example: https://api-stage.bimplus.net/v2/bimplus/clashfilters/c9d5ca15-2561-4c58-85da-870a89242b87
JSON Structure: see Create a clash filter in project
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{
"name":"TEST",
"description":"test",
"tolerancex":0.01,
"boxsize":0.4,
"definitions":[{
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"selectionId":"8541a1c5-2551-4587-8fd9-ec8b59372bcd"
},
{
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6"
}
]
}
Status: 200 OK
{
"name":"TEST",
"description":"test",
"tolerancex":0.01,
"boxsize":0.4,
"definitions":[{
"name":"Filter1",
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"selectionid":"8541a1c5-2551-4587-8fd9-ec8b59372bcd",
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
},
{
"name":"Filter2",
"filterid":"0c39a1c5-2551-4587-8fd9-ec8b59372bcd",
"definition":"[I]0F106AF0-A919-44C5-B211-15BD5EF620B6",
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
}
],
"id":"c9d5ca15-2561-4c58-85da-870a89242b87"
}
Delete the clash filter
Resource: clashfilters/<clashfilter_id>
URL: https://api-stage.bimplus.net/v2/<team_slug>/clashfilters/<clashfilter_id>
Example: https://api-stage.bimplus.net/v2/bimplus/clashfilters/c9d5ca15-2561-4c58-85da-870a89242b87
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK