Clash Service


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


Resource: services/postprocess

URLhttps://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



 POST


 Detects all the clashes in a project. Beware, that this will more time as they will be typically 100s of clashes in a model



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


Resource: clashdetection

URLhttps://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

toleranceyoptionalintTolerance in x direction(mm)
objectsidmandatoryJSON ArrayTolerance in y direction(mm)



 POST


 Detect clashes between disciplines & objects/topologies.



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


Resource: clashdetection/filters

URLhttps://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

filteridmandatoryguidID of clash filter
projectidmandatoryguidProject ID
tolerancexoptionaldoubleTolerance by clash detection in x-direction.
toleranceyoptionaldoubleTolerance by clash detection in y-direction.
tolerancezoptionaldoubleTolerance by clash detection in z-direction.
boxsizeoptionaldoubleSize of visual clash element.
renewoptionalbooleanDefines 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


Resource: clashdetection/projects/filters

URLhttps://api-stage.bimplus.net/v2/<team_slug>/clashdetection/projects/<project_id>/filters

Example:https://api-stage.bimplus.net/v2/bimplus/clashdetection/projects/3f7d2d9e-1872-4d4f-ba99-868e94d3f380/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


Resource: projects/<project_id>/clashfilters

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/clashfilters

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/48f5f0e5-4979-4c4f-b28a-fbba01d13181/clashfilters

JSON Structure : clash filter

Name

Mandatory / Optional

Type

Description

nameoptionalstringCustom table name
descriptionoptionalstringCustom table description
idwill be ignoredstring(guid)The id of the custom table. Will be taken from request url.
tolerancexoptionaldoubleTolerance by clash detection in x-direction.
toleranceyoptionaldoubleTolerance by clash detection in y-direction.
tolerancezoptionaldoubleTolerance by clash detection in z-direction.
boxsizeoptionaldoubleSize of visual clash element.
definitionsmadatoryJSON Array

Array of two clash filter definition objects for a clash filter.
An example template is specified in request json section.

JSON Structure : clash filter definition

Name

Mandatory / Optional

Type

Description

nameoptionalstringName of the filter
filteridmadatorystring(guid)The id of the filter
selectionidoptionalstring(guid)The id of the selection
definitionmadatorystringThe definition of a filter
selectionoptionalobjectObject of the selection
boxsizeoptionaldoubleSize of visual clash element.
definitionsmadatoryJSON Array

Array of two clash filter definition objects for a clash filter.
An example template is specified in request json section.



 POST


Create a new clash filter in specified 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"
}



Get all clash filters for a project


Resource: /projects/<project_id>/clashfilters

URLhttps://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

NameTypeDefault valueDescription
customfilterbooleantrue

When this query parameter is not set api returns global and custom clash filters for projects.
When query parameter is set as :

  • true - api returns just custom clash filters for project
  • false - api returns just global clash filter for project



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


Resource: clashdetection/filters

URLhttps://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


Resource: clashdetection/filters

URLhttps://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


Resource: clashfilters/<clashfilter_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/clashfilters/<clashfilter_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/clashfilters/c9d5ca15-2561-4c58-85da-870a89242b87

JSON Structure: see Create a clash filter in project


 PUT


Update the specified 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"
}



Delete the clash filter


Resource: clashfilters/<clashfilter_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/clashfilters/<clashfilter_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/clashfilters/c9d5ca15-2561-4c58-85da-870a89242b87


 DELETE


 Deletes a specified clash filter.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK