Custom attribute Service
Bimplus DB
- Create a free attribute group
- Get all the free attribute groups
- Get the info about a particular free attribute group
- Update a particular free attribute group
- Delete a particular free attribute group
- Create a free attribute under a particular attribute group or as stand-alone
- Get all the free attributes
- Get all the free attributes under a attribute group
- Get the info about a particular free attribute
- Update a particular free attribute
- Delete a particular free attribute
- Create a unit
- Get all the units
- Get a particular unit
- Update a particular unit
- Delete a particular unit
Team DB
Important: All the APIs described in the Bimplus DB section applies to the Team DB as well. Replace the keyword "content" with the "team_slug" for working with the custom attributes & attribute groups in Team DB.
eg: Bimplus DB: https://api-stage.bimplus.net/v2/content/freeattributegroups. Similar call in Team DB will be https://api-stage.bimplus.net/v2/<team_slug>/freeattributegroups.
Team DB contains some additional APIs for working with attribute templates which are specified in this section.
Project Attribute Templates
- Create new project attribute template in team
Get the list of existing project attribute templates in team
Copy attribute templates from source to target project attribute template
Attribute Templates
- Create an attribute template
- Get all the attribute templates that belongs to a team
- Get the info about a particular attribute template
- Update a particular attribute template
- Delete a particular attribute template
Element-type filter
- Retrieve a list of element-types to which an attribute template can be assigned
- Get the list of attribute templates that belongs to an element-type
Custom attribute Service
Using these services, custom property groups & its associated properties can be created.
Create a new custom group in Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/freeattributegroups
Example: https://api-stage.bimplus.net/v2/content/freeattributegroups
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
mandatory |
string |
Name of the attribute group |
description |
optional |
string |
Short description of the attribute group |
parent |
optional |
string (guid) |
Parent attribute group. If not specified, then the created group is a stand-alone group |
children | will be ignored | json | Sub groups |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "TestGroup", "description": "Test group", "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75" }
Status: 201 Created
{ "id": "da9c6db5-92fa-473d-9282-483c40907a95", "name": "TestGroup", "description": "Test group", "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75" }
Get all the free attribute groups from the Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/freeattributegroups
Example: https://api-stage.bimplus.net/v2/content/freeattributegroups
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "id": "81a39304-9d4a-4e8d-826e-7736b9350562", "name": "ALLFA Attributes", "description": "" }, { "id": "e6b44081-8983-4c07-b1a7-2c43bc199927", "name": "Allplan Attributes", "description": "" }, { "id": "af12dda5-dafe-4b05-adeb-638617cc6907", "name": "BaseQuantities", "description": "" }, { "children": [ { "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500", "id": "170820da-de29-437a-aa97-f7984a319890", "name": "Element", "description": "tabAttribbElement" }, { "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500", "id": "af946941-5a14-4c6a-be9f-424ca59b10b5", "name": "Element State", "description": "tabAttribbElementState" }, { "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500", "id": "0f6906f2-305d-4899-979a-6ce1e49af6a9", "name": "General", "description": "tabAttribGeneral" }, { "parent": "073245c3-6ed4-40a0-9146-ecd1eb111500", "id": "66c2ba5e-8a70-40b8-9918-fccd1663f3bb", "name": "IFC", "description": "tabAttribIFC" } ], "id": "073245c3-6ed4-40a0-9146-ecd1eb111500", "name": "Bimplus Property Sets", "description": "" }, { "id": "5d184904-fab5-4e53-9916-e9c20c4e31b7", "name": "Building Attribute", "description": "" }, { "id": "1b567ec2-4a10-43ba-b791-45f288866808", "name": "CostPlanning", "description": "DIN276" }, { "id": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "name": "Engineering Attributes", "description": "" }, { "id": "1d9b883c-ecf5-4b91-b6a0-adea66432f6c", "name": "Identity Data", "description": "" }, { "children": [ { "parent": "99b99afa-abed-4a9e-99be-f2d3a2cb29de", "id": "6f496c13-e153-4ebd-8662-f00fe3e81e20", "name": "Pset_StairCommon", "description": "" } ], "id": "99b99afa-abed-4a9e-99be-f2d3a2cb29de", "name": "IFC", "description": "" }, { "id": "cf83b687-b7ff-466b-9c15-853488455c5b", "name": "MEP Attribute", "description": "" }, { "id": "969df3d1-5e79-4eea-aca9-5758d0026b39", "name": "Pset_[EType]Common", "description": "" }, { "id": "431754db-32e6-4fc4-b252-a647b94aa5a8", "name": "Space Attributes", "description": "" } ]
Get the info about a particular free attribute group
URL: https://api-stage.bimplus.net/v2/content/freeattributegroups/<attributegroup_id>
Example: https://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "id": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "name": "Engineering Attributes", "description": "" }
Update a particular free attribute group
URL: https://api-stage.bimplus.net/v2/content/freeattributegroups/<id>
Example: https://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
optional |
string |
Name of the attribute group |
description |
optional |
string |
Short description of the attribute group |
id |
will be ignored |
string (guid) |
Id of the free attribute group |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "Engineering Attributes", "description": "updated description" }
Status: 200 OK
{ "id": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "name": "Engineering Attributes", "description": "updated description" }
Delete a particular free attribute group
URL: https://api-stage.bimplus.net/v2/content/freeattributegroups/<id>
Example: https://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Create a free attribute under a particular attribute group or as stand-alone
URL: https://api-stage.bimplus.net/v2/content/freeattributes
Example: https://api-stage.bimplus.net/v2/content/freeattributes
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
mandatory |
string |
Name of the attribute |
description |
optional |
string |
Short description of the attribute |
type |
mandatory |
string |
Type of free attributes. It could be one of the following: "int", "double", "string", "guid", "datetime", "binary", "boolean" |
minvalue | optional | string(numbers) | Minimum value constraint of the attribute |
maxvalue | optional | string(numbers) | Maximum value constraint of the attribute |
defaultvalue | optional | string(numbers) | Default value of the attribute (if it's value is not specified) |
decimal | optional | int | Number of decimals |
unitid | optional | string(guid) | Id of the unit |
optionalsymbol | optional | string(symbol) | Optional symbol |
visible | optional | int | 0 or 1. It determines whether the attribute should be visible |
changeable | optional | int | 0 or 1. It determines whether the attribute should be chnageable |
controltype | optional | string | The control type (eg: "Checkbox", "Datepicker", "TextBox", "Enumeration", "Combobox") |
enumDefinition | optional, mandatory for controltypes: "Enumeration", "Combobox" |
string | Mandatory for controltype "Enumeration" List of items - pair of key,value separated with semicolon (";") Separator of key and value is character pipe ("|") (eg: "0|Undefined;1|Extension;2|Finish;3|New building;4|Reconstruction;5|Building alteration") Mandatory for controltype "Combobox" List of items - values separated with character pipe ("|") (eg: "Undefined|Extension|Finish|New building|Reconstruction|Building alteration") |
symbol | will be ignored | string | Symbol of the unit |
parent | optional | string(guid) | Id of the attribute group. If not specified, then the created attribute is a stand-alone one. |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "NewFreeAttribute", "description": "Test attribute", "type": "int", "minvalue" : "1", "maxvalue" : "1000", "defaultvalue" : "1", "decimal" : "0", "attribunitnameid" : "F99F40CF-DA64-4C4F-8434-CB90722BA485", "optionalsymbol" : "$", "visible" : "1", "changeable" : "1", "controltype" : "textbox", "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75" }
Status: 201 Created
{ "freeattribtype": "int", "minvalue": "1", "maxvalue": "1000", "defaultvalue": "1", "decimal": 0, "attribunitnameid": "f99f40cf-da64-4c4f-8434-cb90722ba485", --> unitId (we already know it is attribute) "symbol": "mm", "optionalsymbol": "$", "visible": 1, "changeable": 1, "controltype": "textbox", --> The client should decide "id": "d6cac39a-4b6e-473f-813f-87f7fb92d3fe", "name": "NewFreeAttribute", "description": "Test attribute", "parent" : "6e57160e-5d5d-46a4-b4d3-b9e46d03ee75" }
Get all the free attributes from the Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/freeattributes
Example: https://api-stage.bimplus.net/v2/content/freeattributes?filter=name=Gross
Optional query parameters
Name | Type | Default value | Description |
---|---|---|---|
filter | string | When filter "name=Gross" is defined the API will return only free attributes which Name contains requested sub-string, |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "parent": "5d184904-fab5-4e53-9916-e9c20c4e31b7", "type": null, "id": "8d3d9dd5-c998-465b-b13e-87901c90f3bc", "name": "heat transfer coefficient" }, { "parent": "5d184904-fab5-4e53-9916-e9c20c4e31b7", "type": null, "id": "a6645047-39ee-4c87-9fc3-14ccca0c50ac", "name": "density" }, { "parent": "431754db-32e6-4fc4-b252-a647b94aa5a8", "type": null, "id": "8807e401-6e3c-4536-88e1-e834d4de745d", "name": "floor area" }, { "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "type": null, "id": "b5850e23-b1df-4d4f-aae8-cee0d4bb06e6", "name": "bend radius" }, ..... ]
Get all the free attributes under a attribute group
URL: https://api-stage.bimplus.net/v2/content/freeattributegroups/<attributegroup_id>/freeattributes
Example: https://api-stage.bimplus.net/v2/content/freeattributegroups/b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8/freeattributes
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "type": "double", "minvalue": "0", "decimal": 2, "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485", "unit": "mm", "visible": 1, "changeable": 0, "controltype": "TextBox", "id": "b5850e23-b1df-4d4f-aae8-cee0d4bb06e6", "name": "bend radius", "description": "bend diameter for reinforcement bars" }, { "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "type": "double", "minvalue": "0", "defaultvalue": "5", "decimal": 2, "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485", "unit": "mm", "visible": 1, "changeable": 0, "controltype": "TextBox", "id": "c4623c1b-dfd3-4117-af37-091eaaff60bf", "name": "concrete cover", "description": "the least distance between the surface of embedded reinforcement and the outer surface of the concrete" }, { "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "type": "int", "decimal": 0, "visible": 1, "changeable": 0, "controltype": "TextBox", "id": "1c838554-3692-4ed4-afaf-989a9e59252b", "name": "SteelGrade", "description": "Kurzbez. der Stahlgüte @495@" }, { "parent": "b03b5eb0-58f0-40a7-95fb-cb36b6f14cc8", "type": "int", "decimal": 0, "visible": 1, "changeable": 0, "controltype": "TextBox", "id": "d7ab92f4-ddf1-404b-8875-57b25b8fe66a", "name": "CrossSectionNumber", "description": "Nummer der Querschnittsreihe @496@" } ]
Get the info about a particular free attribute in Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/freeattributes/<attribute_id>
Example: https://api-stage.bimplus.net/v2/content/freeattributes/c4623c1b-dfd3-4117-af37-091eaaff60bf
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "type": "double", "minvalue": "0", "defaultvalue": "5", "decimal": 2, "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485", "unit": "mm", "visible": 1, "changeable": 0, "controltype": "TextBox", "id": "c4623c1b-dfd3-4117-af37-091eaaff60bf", "name": "concrete cover", "description": "the least distance between the surface of embedded reinforcement and the outer surface of the concrete" }
Update a particular free attribute in Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/freeattributes/<attribute_id>
Example: https://api-stage.bimplus.net/v2/content/freeattributes/c4623c1b-dfd3-4117-af37-091eaaff60bf
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
id | will be ignored | string(guid) | Id of the free attribute |
name |
optional |
string |
Name of the attribute |
description |
optional |
string |
Short description of the attribute |
type |
optional |
string |
Type of free attributes. It could be one of the following: "int", "double", "string", "guid", "datetime", "binary", "boolean" |
minvalue | optional | string(numbers) | Minimum value constraint of the attribute |
maxvalue | optional | string(numbers) | Maximum value constraint of the attribute |
defaultvalue | optional | string(numbers) | Default value of the attribute (if it's value is not specified) |
decimal | optional | int | Number of decimals |
unitid | optional | string(guid) | Id of the unit |
optionalsymbol | optional | string(symbol) | Optional symbol |
visible | optional | int | 0 or 1. It determines whether the attribute should be visible |
changeable | optional | int | 0 or 1. It determines whether the attribute should be chnageable |
controltype | optional | string | The control type (eg: "Checkbox", "Datepicker", "TextBox", "Enumeration", "Combobox") |
enumDefinition | optional, mandatory for controltypes: "Enumeration", "Combobox" |
string | Mandatory for controltype "Enumeration" List of items - pair of key,value separated with semicolon (";") Separator of key and value is character pipe ("|") (eg: "0|Undefined;1|Extension;2|Finish;3|New building;4|Reconstruction;5|Building alteration") Mandatory for controltype "Combobox" List of items - values separated with character pipe ("|") (eg: "Undefined|Extension|Finish|New building|Reconstruction|Building alteration") |
symbol | will be ignored | string | Symbol of the unit |
parent | optional | string(guid) | Id of the attribute group. It is also possible to move attribute to another group by changing its parent |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "type": "double", "minvalue": "0", "defaultvalue": "5", "decimal": 2, "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485", "unit": "mm", "visible": 1, "changeable": 0, "controltype": "TextBox", "name": "concrete cover", "description": "updated description" }
Status: 200 OK
{ "type": "double", "minvalue": "0", "defaultvalue": "5", "decimal": 2, "unitid": "f99f40cf-da64-4c4f-8434-cb90722ba485", "unit": "mm", "visible": 1, "changeable": 0, "controltype": "TextBox", "id": "c4623c1b-dfd3-4117-af37-091eaaff60bf", "name": "concrete cover", "description": "updated description" }
Delete a particular free attribute
URL: https://api-stage.bimplus.net/v2/content/freeattributes/<id>
Example: https://api-stage.bimplus.net/v2/content/freeattributes/c4623c1b-dfd3-4117-af37-091eaaff60bf
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Create a new unit in Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/units
Example: https://api-stage.bimplus.net/v2/content/units
JSON Structure of unit:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
mandatory |
string |
Name of the unit |
description |
optional |
string |
Short description of the unit |
unit | mandatory | string | Symbol of the unit |
contexUnitType | optional | string | Context unit type |
baseunits | optional | array of jsons | List of base units |
The "baseunits" property is an array of jsons with following definitions :
Name | Mandatory/Optional | Type | Description |
---|---|---|---|
baseunitid | optional | string(guid) | Base unit ID |
usequence | optional | int | Unit sequence (default is 1) |
upower | optional | int | Unit power (default is 1) |
ufactor |
optional |
int |
Unit factor (default is 1) |
Creates a new unit. An unit can be created fresh(base unit) or it can be derived from one or more base units ( defined by property "baseunits" ).
Here is a simple explanation of how to create a derived unit, e.g. gram per square meter "g/m2" :
"baseunits": [ { "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d", // ID of kilogram "kg" "usequence": 1, // first in the sequence "ufactor": 0.001, // gram is 0.001 * kg "upower": 1 // no power used }, { "baseunitid": "7be3452a-47f9-4fd8-bd94-ef6c967d684e", // ID of meter "m" "usequence": 2, // second in the sequence "ufactor": 1, // 1 * meter "upower": -1 // meter ^-1 } ]
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "MyDerivedUnit", "description": "Example of derived unit", "symbol": "Sym", "baseunits" : [ { "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d", "usequence": 1, "ufactor": 2, "upower": 3 } ] }
Status: 201 Created
{ "id": "9c75f2e7-bf66-4274-96a6-fb61ecb0e21a", "name": "MyDerivedUnit", "description": "Example of derived unit", "symbol": "Sym", "baseunits" : [ { "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d", "usequence": 1, "ufactor": 2, "upower": 3 } ] }
Get all the units from Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/units
Example: https://api-stage.bimplus.net/v2/content/units
Optional query parameters
Name | Type | Default value | Description |
---|---|---|---|
symbol | string | When symbol "kg" is defined the API returns all the unit with the specified symbol name.
e.g. "https://api-stage.bimplus.net/v2/content/units?symbol=kg"
|
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "unit": "€", "contextUnitType": "CURRENCYUNIT", "id": "85fae1e9-5774-4bce-9831-911c8ff0d6b2", "name": "Currency", "description": "base unit for currency" }, { "unit": "W/(m2*K)", "contextUnitType": "THERMALTRANSMITTANCEUNIT", "baseunits": [ { "baseunitid": "cbd91636-49fa-4a4f-bdcc-03f27ca205f8", "usequence": 1, "ufactor": 1, "upower": -1 } ], "id": "32ef9505-baa6-4598-b372-8e050aef57d4", "name": "Watt_per_square_meter_per_Kelvin", "description": "unit for heat transfer coefficient" }, { "unit": "mm", "contextUnitType": "LENGTHUNIT", "baseunits": [ { "baseunitid": "7be3452a-47f9-4fd8-bd94-ef6c967d684e", "usequence": 1, "ufactor": 0.001, "upower": 1 } ], "id": "f99f40cf-da64-4c4f-8434-cb90722ba485", "name": "mm", "description": "unit for length in millimeter" }, ...... ]
Get the info about a particular unit in Bimplus DB
URL: https://api-stage.bimplus.net/v2/content/units/<unit_id>
Example: https://api-stage.bimplus.net/v2/content/units/3b871b65-516e-4e7e-a35f-faa7501d5d0d
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "unit": "mm", "contextUnitType": "LENGTHUNIT", "baseunits": [ { "baseunitid": "7be3452a-47f9-4fd8-bd94-ef6c967d684e", "usequence": 1, "ufactor": 0.001, "upower": 1 } ], "id": "f99f40cf-da64-4c4f-8434-cb90722ba485", "name": "mm", "description": "unit for length in millimeter" }
Update a particular unit
URL: https://api-stage.bimplus.net/v2/content/units/<id>
Example: https://api-stage.bimplus.net/v2/content/units/3b871b65-516e-4e7e-a35f-faa7501d5d0d
JSON Structure: See Create Unit
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "MyDerivedUnit updated", "description": "Example of derived unit", "symbol": "Sym", "baseunits" : [ { "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d", "usequence": 1, "ufactor": 2, "upower": 3 } ] }
Status: 200 OK
{ "id": "9c75f2e7-bf66-4274-96a6-fb61ecb0e21a", "name": "MyDerivedUnit updated", "description": "Example of derived unit", "symbol": "Sym", "baseunits" : [ { "baseunitid": "3b871b65-516e-4e7e-a35f-faa7501d5d0d", "usequence": 1, "ufactor": 2, "upower": 3 } ] }
Delete a particular unit
URL: https://api-stage.bimplus.net/v2/content/units/<unit_id>
Example: https://api-stage.bimplus.net/v2/content/units/3b871b65-516e-4e7e-a35f-faa7501d5d0d
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Create new project attribute template in team
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
mandatory |
string |
Unique name of the project attribute template |
description |
optional |
string |
Short description of the project attribute template |
Creates a new project attribute template.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "My project attribute template", "description": "Project attribute template for my team", }
Status: 201 Created
{ "name": "My project attribute template", "description": "Project attribute template for my team", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Get the list of existing project attribute templates in team
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "name": "Default", "description": "Default project attribute template", "id": "0149c4a8-4e84-4c40-bfdd-5dd63b109266" }, { "name": "My project attribute template", "description": "Project attribute template for my team", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" } ]
Get the info about a particular project attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates/<projectattributetemplates_id>
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "name": "My project attribute template", "description": "Project attribute template for my team", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Update a particular project attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates/49d13da3-2acf-4f0b-b667-40fc0197585f
JSON Structure: See Create project attribute template
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "My project attribute template2", "description": "Project attribute template for my team2", }
Status: 200 OK
{ "name": "My project attribute template2", "description": "Project attribute template for my team2", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Delete the project attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/projectattributetemplates/49d13da3-2acf-4f0b-b667-40fc0197585f
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Copy attribute templates from source to target project attribute template
Resource: projectattributetemplates/<targetprojectattributetemplates_id>/copyfrom
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectattributetemplates/<targetprojectattributetemplates_id>/copyfrom
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
will be ignored |
string |
Name of the project attribute template |
description |
will be ignored |
string | Description of the project attribute template |
id | mandatory | string(guid) | Unique guid of the source project attribute template |
PUT
Updates the specified target project attribute template with all attribute templates from source project attribute template.
When project attribute template id is missing will be used internally default project attribute template (Guid as "0149c4a8-4e84-4c40-bfdd-5dd63b109266") as a source project attribute template.
Note:
In case when some attribute templates are already assigned to target project attribute template and the same attribute template is present also in source project attribute template,
in such case attribute templates will be added to target project attribute template.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "Default", "description": "Default project attribute template", "id": "0149c4a8-4e84-4c40-bfdd-5dd63b109266" }
Status: 200 OK
{ "name": "My project attribute template", "description": "Project attribute template for my team", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Create an attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/attributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
name |
mandatory |
string |
Name of the attribute template |
description |
optional |
string |
Short description of the attribute template |
projectAttributeTemplate | mandatory | string(guid) | Guid of the project attribute template |
freeattributes | optional | JSON Array | List of free attributes directly under this template ( in create, only IDs of those attributes are required ) The List defines also automatically the orderNumber of the attributes inside of the template |
elementtypes | mandatory | JSON Array | List of element type ids to which the template will be assigned. At least one element type is mandatory. |
groups | optional | JSON Array | Sub-groups of attributes |
created | will be ignored | string ( Date ) | Creation date |
createdBy | will be ignored | JSON ( User ) | User who created the template |
changed | will be ignored | string ( Date ) | Date of last modification |
changedBy | will be ignored | JSON ( User ) | User who did the modification |
orderNumber | optional | integer | will be used for ordering current attribute template to existing templates 0 -> this template will be added at the end of all templates. 1...n -> this template will be added at a fixed position; all other templates will be reordered automatically |
The property "groups" has following JSON structure:
Name | Mandatory / Optional | Type | Description |
---|---|---|---|
name | mandatory | string | Name of the group |
description | optional | string | Group description |
freeattributes | optional | Json Array | List of free attributes directly under this group ( in create, only IDs of those attributes are required ) |
groups | optional | Json Array | List of subgroups of this group. |
Creates a new attribute template using free attributes & element types. For both free attributes and element types, it is enough to specify just their IDs in the request, the rest of the data will be loaded automatically from the database, and returned in the response.
Free attributes may be directly under the template, or you could use the "groups" property to create a logical hierarchy of attributes in groups.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "My attribute template", "description": "Attribute template for Walls", "elementtypes": [ { "id": "10074EEF-9418-4D64-9C6D-23932835A7F1" } ], "groups": [ { "name": "Group 1", "description": "One of the top groups", "freeattributes": [ { "id": "06124729-2778-4c16-98d1-9d89e760b195" } ] }, { "name": "Group 2", "groups": [ { "name": "SubGroup 3", "description": "Some sub group", "freeattributes": [ { "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5" } ] } ] } ], "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285" }
Status: 201 Created
{ "name": "My attribute template", "description": "Attribute template for Walls", "elementtypes": [ { "type": "Wall", "category": "/1/10/1/", "name": "ID_ArchWall", "ifcType": "ID_IFCWallStandardCase", "id": "10074eef-9418-4d64-9c6d-23932835a7f1" } ], "groups": [ { "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3", "name": "Group 1", "description": "One of the top groups", "freeattributes": [ { "type": "string", "decimal": 0, "changeable": 0, "id": "06124729-2778-4c16-98d1-9d89e760b195", "name": "FireRating", "description": "" } ] }, { "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee", "name": "Group 2", "groups": [ { "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f", "name": "SubGroup 3", "description": "Some sub group", "freeattributes": [ { "type": "int", "decimal": 0, "changeable": 0, "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5", "name": "LoadBearing", "description": "" } ] } ] } ], "created": "2016-02-12T07:21:33.43", "createdby": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "test@nemetschek.com" }, "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Get all the attribute templates that belongs to a team
URL: https://api-stage.bimplus.net/v2/<team_slug>/attributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "name": "My attribute template", "description": "Attribute template for Walls", "elementtypes": [ { "type": "Wall", "category": "/1/10/1/", "name": "ID_ArchWall", "ifcType": "ID_IFCWallStandardCase", "id": "10074eef-9418-4d64-9c6d-23932835a7f1" } ], "groups": [ { "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3", "name": "Group 1", "description": "One of the top groups", "freeattributes": [ { "type": "string", "decimal": 0, "changeable": 0, "id": "06124729-2778-4c16-98d1-9d89e760b195", "name": "FireRating", "description": "" } ] }, { "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee", "name": "Group 2", "groups": [ { "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f", "name": "SubGroup 3", "description": "Some sub group", "freeattributes": [ { "type": "int", "decimal": 0, "changeable": 0, "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5", "name": "LoadBearing", "description": "" } ] } ] } ], "created": "2016-02-12T07:21:33.43", "createdby": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "test@nemetschek.com" }, "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }, ... ]
Get the info about a particular attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/attributetemplates/<template_id>
Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates/3e5c0964-8f28-469b-b176-bcfad48f2eef
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
{ "name": "My attribute template", "description": "Attribute template for Walls", "elementtypes": [ { "type": "Wall", "category": "/1/10/1/", "name": "ID_ArchWall", "ifcType": "ID_IFCWallStandardCase", "id": "10074eef-9418-4d64-9c6d-23932835a7f1" } ], "groups": [ { "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3", "name": "Group 1", "description": "One of the top groups", "freeattributes": [ { "type": "string", "decimal": 0, "changeable": 0, "id": "06124729-2778-4c16-98d1-9d89e760b195", "name": "FireRating", "description": "" } ] }, { "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee", "name": "Group 2", "groups": [ { "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f", "name": "SubGroup 3", "description": "Some sub group", "freeattributes": [ { "type": "int", "decimal": 0, "changeable": 0, "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5", "name": "LoadBearing", "description": "" } ] } ] } ], "created": "2016-02-12T07:21:33.43", "createdby": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "test@nemetschek.com" }, "changed": "2016-02-12T07:22:51.02", "changedby": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "test@nemetschek.com" }, "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Update a particular attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/attributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates/3e5c0964-8f28-469b-b176-bcfad48f2eef
JSON Structure: See Create attribute template
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
{ "name": "My attribute template updated", "description": "Attribute template for Walls", "elementtypes": [ { "id": "10074EEF-9418-4D64-9C6D-23932835A7F1" } ], "groups": [ { "name": "Group 1", "description": "One of the top groups", "freeattributes": [ { "id": "06124729-2778-4c16-98d1-9d89e760b195" } ] }, { "name": "Group 2", "groups": [ { "name": "SubGroup 3", "description": "Some sub group", "freeattributes": [ { "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5" } ] } ] } ], "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285", }
Status: 200 OK
{ "name": "My attribute template updated", "description": "Attribute template for Walls", "elementtypes": [ { "type": "Wall", "category": "/1/10/1/", "name": "ID_ArchWall", "ifcType": "ID_IFCWallStandardCase", "id": "10074eef-9418-4d64-9c6d-23932835a7f1" } ], "groups": [ { "id": "960005e0-c24b-44c1-a4e7-cc2d7316c1f3", "name": "Group 1", "description": "One of the top groups", "freeattributes": [ { "type": "string", "decimal": 0, "changeable": 0, "id": "06124729-2778-4c16-98d1-9d89e760b195", "name": "FireRating", "description": "" } ] }, { "id": "0f2ff22f-070d-4bbd-a67d-d2f47f1737ee", "name": "Group 2", "groups": [ { "id": "e3a56ecd-3c75-40d3-8de7-fdaa1ba2eb4f", "name": "SubGroup 3", "description": "Some sub group", "freeattributes": [ { "type": "int", "decimal": 0, "changeable": 0, "id": "665b0658-e64f-4ce2-91b2-c5d152b177d5", "name": "LoadBearing", "description": "" } ] } ] } ], "created": "2016-02-12T07:21:33.43", "createdby": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "test@nemetschek.com" }, "changed": "2016-02-12T07:22:51.02", "changedby": { "id": "7c555899-5a5f-44d1-930e-284930678bed", "email": "test@nemetschek.com" }, "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285", "id": "49d13da3-2acf-4f0b-b667-40fc0197585f" }
Delete a particular attribute template
URL: https://api-stage.bimplus.net/v2/<team_slug>/attributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/attributetemplates/3e5c0964-8f28-469b-b176-bcfad48f2eef
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Retrieve a list of element-types to which an attribute template can be assigned
URL: https://api-stage.bimplus.net/v2/<team_slug>/element-types/attributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/element-types/attributetemplates?filter=type=Wall
Filter: When filter is defined the API will return only element-types which Type contains requested sub-string, e.g. if filter is "type=Wall" will be returned all element-types which Type contains substring "Wall". Like Wall, CurtainWall, WallCovering, StructuralAnalysisWall, etc.
Optional query parameters
Name | Type | Default value | Description |
---|---|---|---|
filter | string | When filter "type=Wall" is defined the API will return only element-types which Type contains requested sub-string, e.g. if filter is "type=Wall" will be returned all element-types which Type contains substring "Wall". Like Wall, CurtainWall, WallCovering, StructuralAnalysisWall, etc. |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "type": "BuildingObject", "category": "/1/", "name": "ID_BuildingModel", "ifcType": null, "id": "0f106af0-a919-44c5-b211-15bd5ef620b6" }, { "type": "BuildingElement", "category": "/1/10/", "name": "ID_Bauteilobjekte", "ifcType": null, "id": "34c606d8-77aa-4c1c-a19d-cf9cf222e6c5" }, { "type": "Wall", "category": "/1/10/1/", "name": "ID_ArchWall", "ifcType": "ID_IFCWallStandardCase", "id": "10074eef-9418-4d64-9c6d-23932835a7f1" }, .....]
Get the list of attribute templates that belongs to an element-type
URL: https://api-stage.bimplus.net/v2/<team_slug>/element-types/<element_id>/attributetemplates
Example: https://api-stage.bimplus.net/v2/bimplus/element-types/10074eef-9418-4d64-9c6d-23932835a7f1/attributetemplates
Optional query parameters
Name | Type | Default value | Description |
---|---|---|---|
attributes | string (bool) | false | By default the response doesn't include the free attribute list in returned attribute templates. To include the free attribute list, please use the query parameter attributes=true. |
projectattributetemplate | string (Guid) | undefined | By default in the response are included attribute templates from all project attribute templates defined in team which belongs to requested element-type. To be included only attribute templates which belongs to certain project attribute template, please use the projectAttributeTemplate query parameter. |
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "name": "Element (default Property set)", "description": "", "created": "2015-10-29T00:13:30.393", "createdby": { "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed", "email": "jayaraj.purushothaman@gmail.com" }, "changed": "2015-10-29T00:13:30.393", "changedby": { "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed", "email": "jayaraj.purushothaman@gmail.com" }, "projectAttributeTemplate": "bb6ccf01-75f1-4581-842a-95bbe71f7285", "id": "3f025e20-1c11-42b1-ad3b-0f6cc6fc03af" } ]
projectattributetemplate