Export Object Service


Export Object Service


Export Objects are the primary components to help better organize full or partial exports of the project objects.

Please see the detailed structure of the issue in the Object Model

Create a new export object
Resource: projects/<project_id>/exportobjects 

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

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/ceac9b1e-31d9-4c5f-bd78-f909767b7b01/exportobjects

JSON Structure:

Name

Mandatory / Optional

Type

Description

Idoptionalstring (guid)Id of the export object

projectId

optional

string (guid)

The id of the project the export object is associated

name

mandatory

string

Name of the export object

description

optional

string

Description of the export object

selection

optional

Object

Selection object, see json structure below


JSON Structure of the Selection object:

Name

Mandatory / Optional

Type

Description

projectId

mandatory

string (guid)

The id of the project the export object is associated

type

madatory

string

Type of Selection object which define selection of objects to be exported from associated model.
The type can be one of following values :
"Model", "Elements", "Topology", "Filter", "Structure"

divisionId

mandatory

string (guid)

Division Id (Model Id) of the exported objects.
This is madatory for selection type "Model"

e.g.: selection of export object

"selection" : { "modelId":"GUID","type":"Model" }

elements

optional

Object

This object is mandatory for Selection type - "Elements"
e.g.: selection of export object

"selection" : {"modelId":"GUID","type":"Elements","elements":["GUID","GUID",...]}

topology

optional

Object

This object is mandatory for Selection type - "Topology"
e.g.: details see in request section
filter

optional

Object

This object is mandatory for Selection type - "Filter"
e.g. json of selection object:

"selection" : {"modelId":"GUID","type":"Filter","filter":{"filterId":"GUID", "nodeInfoList":[ "node list text1", "node list text2", ...]}}

structure

optional

Object

This object is mandatory for Selection type - "Structure"
e.g. json of selection object:

"selection" : {"modelId":"GUID","type":"Structure","structure":{"variantTypeId":"GUID", "structuresList":["GUID","GUID", ...]}}

 POST
 Creates a new export object
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
{
    "projectId": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
    "name": "Project Selection 2",
    "description": "parcial selection of the project",
    "selection": {
        "projectId": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
        "type": "Topology",
        "elements": null,
        "topology": {
            "camera": null,
            "topology": [
                {
                    "id": "79de2e39-2dab-4698-81b3-d47d47baf5a7",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "81da639e-213d-4b1e-b390-0f4a6dd89dda",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "1bf9d9c6-d1e8-476c-ada2-c1826e94cdda",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "8b99a203-a2c6-4ac9-82ff-a04d1485239d",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "d93ffea5-1def-462a-9085-c626f7bedfc0",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                }
            ],
            "layers": [
                {
                    "revision": 0,
                    "id": "0f106af0-a919-44c5-b211-15bd5ef620b6",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                }
            ]
        },
        "filter": null,
        "structure": null
    }
}
Status: 201 Created
{
    "id": "f00817c3-73b3-4406-aef7-78a11ae801bd",
    "projectId": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
    "name": "Project Selection 2",
    "description": "parcial selection of the project",
    "selection": {
        "projectid": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
        "modelid": "f012f6e0-fa56-4234-9760-a3ca711163da",
        "type": "Topology",
        "elements": null,
        "topology": {
            "camera": null,
            "topology": [
                {
                    "id": "79de2e39-2dab-4698-81b3-d47d47baf5a7",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "81da639e-213d-4b1e-b390-0f4a6dd89dda",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "1bf9d9c6-d1e8-476c-ada2-c1826e94cdda",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "8b99a203-a2c6-4ac9-82ff-a04d1485239d",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "d93ffea5-1def-462a-9085-c626f7bedfc0",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                }
            ],
            "layers": [
                {
                    "revision": 0,
                    "id": "0f106af0-a919-44c5-b211-15bd5ef620b6",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                }
            ]
        },
        "filter": null,
        "structure": null
    }
}



Get the export object details
Resource: exportobjects/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/exportobjects/<object_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/exportobjects/8dbb2a20-a75b-40b5-8079-540d9d2a2b0a


Optional query parameters

NameTypeDefault valueDescription
revisionintnull ( current )If revision is specified, then the call will get the object from the requested revision, otherwise return current object ( latest revision ).
internalbooleanfalsefalse = return attributes in viewer format ( as seen in the portal ); true = return in different, internal server representation format.
childrenbooleanfalsefalse = return only properties of the object itself; true = return properties of the object and all its children
freeattributesbooleanfalsefalse = for each attribute return only name and value; true = return full definition for each object's attribute
disciplineIdGuidnullSpecifies the discipline ( layer ).
typestringnull

filter for requested element type. f.ex. if you use 'type=Wall', you will get a list of Walls, who are childs of the requested object_Id
this means, when you use

 {host}/v2/{slug}/objects/{objectId}?type=Column

you will get all Columns, who exist in the project

documentversionint0 (current)

If document version is specified and when document version is supported by object, e.g. actually only attachment can have document version,
then the call will get the result from the requested document version, otherwise return current object ( latest revision ). 

To get free attributes of attachment for exact document version can be used freeattributes and documentversion

 {host}/v2/{slug}/objects/{objectId}?freeattributes=true&documentversion=1

In this case you will get free attributes of object for requested document version. 

projectidGuidnull

Specifies the project id.
Note:
This query parameter is mandatory in case when resource identification (object_id) represent the user.
If resource id represent user id and this query parameter is missing teh response will be not found.
Together with query parameter 'freeattributes' is possible to get detail info about user.

 {host}/v2/{slug}/objects/{objectId}?freeattributes=true&projectid={projectid}

The same query parameters must be used also in "PUT" version of this request.


 GET

Gets the properties ( attributes ) of an object.

By using and combining the optional query parameters, the caller can shape the response to requested format ( see response for more description ).

If parameter is not used, its default value is used.


Note:

Following object-related api calls are now obsolete ( they are still supported, but will be removed eventually ), and should be replaced by using get object call with query parameters :

Obsolete callShould be replaced by
GET /<teamslug>/objects/<object_id>/treeGET /<teamslug>/objects/<object_id>?children=true
GET /<teamslug>/objects/<object_id>/internalGET /<teamslug>/objects/<object_id>?internal=true
GET /<teamslug>/objects/<object_id>/properties/3GET /<teamslug>/objects/<object_id>?children=true
GET /<teamslug>/objects/<object_id>/properties/8GET /<teamslug>/objects/<object_id>?freeattributes=true
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
{
    "id": "8dbb2a20-a75b-40b5-8079-540d9d2a2b0a",
    "projectId": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
    "name": "Project Selection 1",
    "description": "complete project",
    "selection": {
        "projectid": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
        "modelid": "f012f6e0-fa56-4234-9760-a3ca711163da",
        "type": "Topology",
        "elements": null,
        "topology": {
            "camera": null,
            "topology": [
                {
                    "id": "79de2e39-2dab-4698-81b3-d47d47baf5a7",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "81da639e-213d-4b1e-b390-0f4a6dd89dda",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "1bf9d9c6-d1e8-476c-ada2-c1826e94cdda",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "8b99a203-a2c6-4ac9-82ff-a04d1485239d",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "id": "d93ffea5-1def-462a-9085-c626f7bedfc0",
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                }
            ],
            "layers": [
                {
                    "revision": 0,
                    "id": "0f106af0-a919-44c5-b211-15bd5ef620b6",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "revision": 0,
                    "id": "11555f6f-10ec-4180-88b3-699738c079c3",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "revision": 0,
                    "id": "33826b01-c267-4b25-9f8e-79ac2953c443",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "revision": 0,
                    "id": "30114b52-bc05-47c1-80b5-c7d5485d5831",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                },
                {
                    "revision": 0,
                    "id": "09e623d4-1e12-4a77-b358-ea1d0b28e4a7",
                    "name": null,
                    "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                    "divisionName": null,
                    "visible": false,
                    "opaque": false,
                    "opacity": 0
                }
            ]
        },
        "filter": null,
        "structure": null
    }
}

if query parameter "children" is used, the property "children" will contain array of child objects in the same format as is the object itself.


{
  "id": "<attribute_id>",
  "name": "<attribute_name>",
  "group": "<attribute_group>",
  "type": "<attribute_value_type>",
  "isInternal": <true or false>,
  "value": "<attribute_value>"
}


Examples:

{
  "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1",
  "id": "94f0289c-41b3-450f-9c04-0527ef9a1138",
  "parent": "8015e60e-f9c6-4544-a3e8-feadbfd154ba",
  "type": "Wall",
  "layerid": "0f106af0-a919-44c5-b211-15bd5ef620b6",
  "attributes": {
    "element (default property set)": {
      "type": "Wall",
      "model": "Model A",
      "layer": "BuildingModel"
    },
    "general (default property set)": {
      "name": "Basic Wall:300_21_isolatie_208.5_spouwklein:4820766",
      "description": "Ifc Imported Element",
      "ifcglobaluniqueid": "2H$2pBsuL7TgKZ59zSDw0D",
      "ifcelementtype": "IfcWallStandardCase"
    },
    "content": {
      "tag": "4820766",
      "objecttype": "Basic Wall:300_21_isolatie_208.5_spouwklein:4296143",
      "skipparentlocations": "False",
      "extrudeprofiletype": "RectangleProfile",
      "polyeder area": "25,851 m²",
      "polyeder volume": "2,036 m³",
      "xdim": 5160.00000000001,
      "ydim": 208.5
    }
  },
  ...
}
{
  "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1",
  "id": "94f0289c-41b3-450f-9c04-0527ef9a1138",
  "parent": "8015e60e-f9c6-4544-a3e8-feadbfd154ba",
  "type": "Wall",
  "layerid": "0f106af0-a919-44c5-b211-15bd5ef620b6",
  "attributes": {
    "element (default property set)": {
      "type": {
        "id": "a0e8ae2c-c869-4ec3-9019-25d3704be707",
        "name": "Type",
        "group": "Element (default Property set)",
        "subGroup": "Element",
        "type": "Guid",
        "value": "Wall"
      },
      "model": {
        "id": "cd320d7b-7299-4abc-8409-c86e46fa45f9",
        "name": "Model",
        "group": "Element (default Property set)",
        "subGroup": "Element",
        "type": "Guid",
        "value": "Model A"
      },
      "layer": {
        "id": "4812c68a-3f8d-40c1-b3f8-551a4102a406",
        "name": "Layer",
        "group": "Element (default Property set)",
        "subGroup": "Element",
        "type": "Guid",
        "value": "BuildingModel"
      }
    }
    ...
  }
}
{
  "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1",
  "id": "94f0289c-41b3-450f-9c04-0527ef9a1138",
  "parent": "8015e60e-f9c6-4544-a3e8-feadbfd154ba",
  "type": "Wall",
  "layerid": "0f106af0-a919-44c5-b211-15bd5ef620b6",
  "attributes": {
    "element": {
      "isparent": true,
      "nr": 4,
      "elementtyp": "10074eef-9418-4d64-9c6d-23932835a7f1",
      "logparentid": "b1570b15-2786-4c22-baf0-94e07de69990",
      "divisionid": "1b6fa8ae-568a-4bc0-81b7-c6d282834a0c",
      "materialstring": "ISR_Isolatie",
      "matrix": {
        "values": [
          1,
          0,
          0,
          120,
          0,
          1,
          0,
          -228.5,
          0,
          0,
          1,
          -70,
          0,
          0,
          0,
          1
        ]
      },
      "articleid": "0583a9a7-3756-48b9-b836-63541bdf130e",
      "materialsurfaceid": "058578b6-6a32-48f5-ae4a-59dc452de287",
      "layerid": "0f106af0-a919-44c5-b211-15bd5ef620b6"
    },
    "general": {
      "name": "Basic Wall:300_21_isolatie_208.5_spouwklein:4820766",
      "description": "Ifc Imported Element",
      "isobjectvalid": true
    },
    "elementstate": {
      "state": "0aaf5a1c-2453-40cb-9232-315119dd288f"
    },
    "objectlog": {
      "createdby": "e4d7ac3c-94f3-4507-9b8b-a1505225845c",
      "created": "2016-01-28T10:51:04.843",
      "modifiedby": "e4d7ac3c-94f3-4507-9b8b-a1505225845c",
      "modified": "2016-01-28T10:51:04.843",
      "revision": 0
    },
    ...
  }
}






Get all the export objects of the project
Resource: projects/<project_id>/exportobjects

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

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/ceac9b1e-31d9-4c5f-bd78-f909767b7b01/exportobjects

 GET
 Get all the export objects of a specified project.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
  [
    {
        "id": "8dbb2a20-a75b-40b5-8079-540d9d2a2b0a",
        "projectId": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
        "name": "Project Selection 1",
        "description": "complete project",
        "selection": {
            "projectid": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
            "modelid": "f012f6e0-fa56-4234-9760-a3ca711163da",
            "type": "Topology",
            "elements": null,
            "topology": {
                "camera": null,
                "topology": [
                    {
                        "id": "79de2e39-2dab-4698-81b3-d47d47baf5a7",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "81da639e-213d-4b1e-b390-0f4a6dd89dda",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "1bf9d9c6-d1e8-476c-ada2-c1826e94cdda",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "8b99a203-a2c6-4ac9-82ff-a04d1485239d",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "d93ffea5-1def-462a-9085-c626f7bedfc0",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    }
                ],
                "layers": [
                    {
                        "revision": 0,
                        "id": "0f106af0-a919-44c5-b211-15bd5ef620b6",
                        "name": null,
                        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                        "divisionName": null,
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "revision": 0,
                        "id": "11555f6f-10ec-4180-88b3-699738c079c3",
                        "name": null,
                        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                        "divisionName": null,
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "revision": 0,
                        "id": "33826b01-c267-4b25-9f8e-79ac2953c443",
                        "name": null,
                        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                        "divisionName": null,
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "revision": 0,
                        "id": "30114b52-bc05-47c1-80b5-c7d5485d5831",
                        "name": null,
                        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                        "divisionName": null,
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "revision": 0,
                        "id": "09e623d4-1e12-4a77-b358-ea1d0b28e4a7",
                        "name": null,
                        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                        "divisionName": null,
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    }
                ]
            },
            "filter": null,
            "structure": null
        }
    },
    {
        "id": "f00817c3-73b3-4406-aef7-78a11ae801bd",
        "projectId": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
        "name": "Project Selection 2",
        "description": "parcial selection of the project",
        "selection": {
            "projectid": "ceac9b1e-31d9-4c5f-bd78-f909767b7b01",
            "modelid": "f012f6e0-fa56-4234-9760-a3ca711163da",
            "type": "Topology",
            "elements": null,
            "topology": {
                "camera": null,
                "topology": [
                    {
                        "id": "79de2e39-2dab-4698-81b3-d47d47baf5a7",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "81da639e-213d-4b1e-b390-0f4a6dd89dda",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "1bf9d9c6-d1e8-476c-ada2-c1826e94cdda",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "8b99a203-a2c6-4ac9-82ff-a04d1485239d",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    },
                    {
                        "id": "d93ffea5-1def-462a-9085-c626f7bedfc0",
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    }
                ],
                "layers": [
                    {
                        "revision": 0,
                        "id": "0f106af0-a919-44c5-b211-15bd5ef620b6",
                        "name": null,
                        "divisionId": "f012f6e0-fa56-4234-9760-a3ca711163da",
                        "divisionName": null,
                        "visible": false,
                        "opaque": false,
                        "opacity": 0
                    }
                ]
            },
            "filter": null,
            "structure": null
        }
    }
]


Delete the object
Resource: exportobjects/<object_id> 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/exportobjects/<object_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/exportobjects/8dbb2a20-a75b-40b5-8079-540d9d2a2b0a

 DELETE
 Deletes a specified export object.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK