Creates clash detection test for the specified criteria and returns the test id.
- Discover rule ids by calling GET /clashdetection/suppressionrules
Authentication
Requires Authorization
header with valid Bearer token for scope itwin-platform
.
For more documentation on authorization and how to get access token visit OAUTH2 Authorization page.
Request headers
OAuth access token with itwin-platform
scope
Setting to application/vnd.bentley.itwin-platform.v1+json
is recommended.
Request body
Create Clash Detection Test
The project id where the test is to be created.
The name of the test.
The description of the test.
Flag to suppress touching.
Flag to include sub-models.
The touching tolerance to be applied.
The ids of the suppression rules.
Example
{ "projectId": "38b7e366-bc20-4bb1-9572-0797cf5221fd", "displayName": "Test4", "description": "test 4", "setA": { "modelIds": [ "0x21", "0x66", "0x68", "0x6a", "0x6c" ], "categoryIds": [], "selfCheck": true, "clearance": 0.001 }, "setB": { "modelIds": [], "categoryIds": [], "selfCheck": false, "clearance": 0 }, "suppressTouching": false, "touchingTolerance": 0, "includeSubModels": false, "suppressionRules": [ "ZuO3OCC8sUuVcgeXz1Ih_Z44rgIyaT1Nia7oxeYeNew" ], "advancedSettings": { "longClash": true, "calculateOverlap": false, "toleranceOverlapValidation": false } }
Response 201 Created
Created
{ "test": { "id": "ZuO3OCC8sUuVcgeXz1Ih_WGuaQp4SaVBqhAjSSNDdYs", "displayName": "APIM-test4", "description": "APIM test 4", "setA": { "modelIds": [ "0x21", "0x66", "0x68", "0x6a", "0x6c" ], "categoryIds": [], "selfCheck": true, "clearance": 0.001 }, "setB": { "modelIds": [], "categoryIds": [], "selfCheck": false, "clearance": 0 }, "suppressTouching": false, "touchingTolerance": 0, "includeSubModels": false, "suppressionRules": [ "ZuO3OCC8sUuVcgeXz1Ih_Z44rgIyaT1Nia7oxeYeNew" ], "advancedSettings": { "longClash": true, "calculateOverlap": false, "toleranceOverlapValidation": false }, "_links": { "self": { "href": "https://api.bentley.com/clashdetection/tests/ZuO3OCC8sUuVcgeXz1Ih_WGuaQp4SaVBqhAjSSNDdYs" } } } }
Response 401 Unauthorized
This response indicates that request lacks valid authentication credentials. Access token might not been provided, issued by the wrong issuer, does not have required scopes or request headers were malformed.
{ "error": { "code": "HeaderNotFound", "message": "Header Authorization was not found in the request. Access denied." } }
Response 404 Not Found
This response indicates that the specified project was not found.
{ "error": { "code": "ProjectNotFound", "message": "Requested project is not available." } }
Response 422 Unprocessable Entity
The 422 (Unprocessable Entity) status code indicates that the request cannot be processed by the server due to a client error (e.g. malformed request syntax)
{ "error": { "code": "InvalidClashDetectionRequest", "message": "Invalid clash detection request.", "details": [{ "code": "InvalidRequestBody", "message": "Required property 'projectId' is missing in the request body.", "target": "projectId" }, { "code": "InvalidRequestBody", "message": "Required property 'displayName' is missing in the request body.", "target": "displayName" }, { "code": "InvalidRequestBody", "message": "Required property 'description' is missing in the request body.", "target": "description" }, { "code": "InvalidRequestBody", "message": "Required property 'setA' is missing in the request body.", "target": "setA" }, { "code": "InvalidRequestBody", "message": "Required property 'modelIds' is missing in setA of the request body.", "target": "modelIds" }, { "code": "InvalidRequestBody", "message": "Required property 'categoryIds' is missing in setA of the request body.", "target": "categoryIds" }, { "code": "InvalidRequestBody", "message": "Required property 'query' is missing in setA of the request body.", "target": "query" }, { "code": "InvalidRequestBody", "message": "Required property 'queryName' is missing in setA of the request body.", "target": "queryName" }, { "code": "InvalidRequestBody", "message": "Required property 'selfCheck' is missing in setA of the request body.", "target": "selfCheck" }, { "code": "InvalidRequestBody", "message": "Required property 'clearance' is missing in setA of the request body.", "target": "clearance" }, { "code": "InvalidRequestBody", "message": "Required property 'setB' is missing in the request body.", "target": "setB" }, { "code": "InvalidRequestBody", "message": "Required property 'modelIds' is missing in setB of the request body.", "target": "modelIds" }, { "code": "InvalidRequestBody", "message": "Required property 'categoryIds' is missing in setB of the request body.", "target": "categoryIds" }, { "code": "InvalidRequestBody", "message": "Required property 'query' is missing in setB of the request body.", "target": "query" }, { "code": "InvalidRequestBody", "message": "Required property 'queryName' is missing in setB of the request body.", "target": "queryName" }, { "code": "InvalidRequestBody", "message": "Required property 'selfCheck' is missing in setB of the request body.", "target": "setB" }, { "code": "InvalidRequestBody", "message": "Required property 'clearance' is missing in setB of the request body.", "target": "clearance" }, { "code": "InvalidRequestBody", "message": "Required property 'suppressTouching' is missing in the request body.", "target": "suppressTouching" }, { "code": "InvalidRequestBody", "message": "Required property 'touchingTolerance' is missing in the request body.", "target": "touchingTolerance" }, { "code": "InvalidRequestBody", "message": "Required property 'includeSubModels' is missing in the request body.", "target": "includeSubModels" }, { "code": "InvalidRequestBody", "message": "Required property 'suppressionRules' is missing in the request body.", "target": "suppressionRules" }, { "code": "InvalidRequestBody", "message": "The request body is not a valid JSON object." }, { "code": "InvalidRequestBody", "message": "The request is invalid." }, { "code": "InvalidRequestBody", "message": "Request body was not provided." } ] } }
Response 429 Too many requests
This response indicates that the user has sent too many requests in a given amount of time.
{ "error": { "code": "TooManyRequests", "message": "More requests were received than the subscription rate-limit allows." } }
Response headers
The number of requests exceeds the rate-limit for the client subscription.
Clash Detection Test Set
Criteria set for clash test.
The ids of the models to include in the clash test.
The ids of the categories to include in the clash test.
EC Sql query expression to select elements for the test set.
Name of EC Sql query expression to select elements for the test set.
Flag to perform self-check on the test set.
The clearance between elements.
Clash Detection Test Advanced Settings
Flag to enable long clash job processing (no processing time limit enforced - just result limit).
Flag to calculate and report clash overlaps (minimum orthogonal overlap distance).
Flag to enable tolerance overlap validation. If 'suppressTouching' and 'calculateOverlap' are set, clashes are suppressed for overlaps less than touching tolerance.
Clash Detection Test
The id of the test.
The name of the test.
The description of the test.
Flag to suppress touching.
The touching tolerance to be applied.
Flag to include sub-models.
The ids of the suppression rules.
Clash Detection Test Detail Link
Create Clash Detection Test
Specify the test criteria to create a clash detection test.
The project id where the test is to be created.
The name of the test.
The description of the test.
Flag to suppress touching.
Flag to include sub-models.
The touching tolerance to be applied.
The ids of the suppression rules.
Link
Hyperlink container.
Hyperlink container.
Error
Contains error information.
One of a server-defined set of error codes.
A human-readable representation of the error.
The target of the error.
Error Response
Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.