Model Service



Model Service


A Model is basically a technical building plan which could be created or imported. 

Create a new model in project
    Resource: projects/<project_id>/divisions 

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

    Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/743a24f9-baaa-41b9-90b3-91717238043c/divisions

    JSON Structure

    Name

    Mandatory / Optional

    Type

    Description

    id will be ignored string(guid) Id of the model/division

    name

    mandatory

    string

    Name of the model

    description

    optional

    string

    Short description of the model

    projectId

    will be ignored

    string (guid)

    Id of the project to which the model belongs

    topologyId optional string (guid) Id of the topology to which the model belongs
    disciplines optional object The discipline list of the model
    status will be ignored string(enum)

    The status of the imported file. It could be one of the following

    • PREPARING (Uploading the file)
    • PENDING (Waiting in the queue after upload to be processed)
    • PROCESSING (Processing)
    • DONE (Processed)
    • DONE_REFRESHED (Processed & sent the notification)
    • FAILED
    • UNKNOWN
    • EMPTY (Default, if none of above)
    revisionObjects will be ignored JSON Object The list of revisions
    teamSlug will be ignored string Slug of the team to which the model belongs
    url will be ignored string The link for downloading the model
    fileType will be ignored string Content-type of file
    inputType will be ignored string Type of file (eg: ifc, Allplan etc)
    created will be ignored string(date) Creation date of the model
    createdby will be ignored JSON object The user who created this model
    changed will be ignored string(date) Update date of the model
    changedBy will be ignored JSON object User who updated the model
    size will be ignored int size in bytes
    sizeMB will be ignored string size in MB
    importFileName will be ignored string The file name of the model
    importFileSize will be ignored int Size of the import file in bytes
     POST
     Creates a new model in project using project id.
    Headers
    Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
    Content-Type: application/json
    
    JSON
    {
     "name":"Model D", 
     "description":"Creating a model via API"
    }
    Status
    Status: 201 Created
    
    JSON
    {
        "name": "Model D",
        "description": "Creating a model via API",
        "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
        "topologyId": "0fb09e03-20fc-42d9-a60b-254803950519",
        "disciplines": [
            "0f106af0-a919-44c5-b211-15bd5ef620b6",
            "33826b01-c267-4b25-9f8e-79ac2953c443",
            "30114b52-bc05-47c1-80b5-c7d5485d5840",
            "09e623d4-1e12-4a77-b358-ea1d0b28e4a7"
        ],
        "url": "/bimplus/divisions/2e0ca9e9-dd11-48d0-bd31-5a65225fe28a/download",
        "fileType": "Ifc",
        "inputType": "UNKNOWN",
        "created": "2015-11-06T09:34:45",
        "createdby": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "jayaraj.purushothaman@gmail.com"
        },
        "changed": "2015-11-06T09:39:04",
        "changedby": {
            "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed",
            "email": "jayaraj.purushothaman@gmail.com"
        },
        "size": 7216128,
        "sizeMB": "6,88",
        "importFileName": "SMC Building.ifc",
        "status": "DONE_REFRESHED",
        "id": "2e0ca9e9-dd11-48d0-bd31-5a65225fe28a"
    }

    Get the whole model list present under different projects inside a team
      Resource: divisions 

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

      Examplehttps://api-stage.bimplus.net/v2/bimplus/divisions

       GET
       This API iterates through all the projects inside a team & gives back the whole model list. The response does not contain the lists of revisions objects.
      Headers
      Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
      Content-Type: application/json
      
      Status
      Status: 200 OK
      
      JSON
      [
          {
              "name": "Model A - Vogel",
              "description": null,
              "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
              "topologyId": "fc4be8b1-bf85-4c6f-b9c2-bac6474ddb1d",
              "teamSlug" : "my-company",
              "url": "/my-company/divisions/d81494b9-9731-4d2e-8fbe-da62f5270182/download",
              "fileType" : "Unknown",
              "inputType" : "IFC_IMPORT",
              "created": "2015-07-07T09:21:15",
              "createdby": {
                "id": "7c555899-5a5f-44d1-930e-284930678bed",
                "email": "testuser@nemetschek.com"
              },
              "changed": "2015-07-07T09:21:16",
              "changedby": {
                "id": "7c555899-5a5f-44d1-930e-284930678bed",
                "email": "testuser@nemetschek.com"
              },
              "size": 39216128,
              "sizeMB": "37,4",
              "importFileName": "Vogel_bim.ifczip",
              "importFileSize": 12631230,
              "id": "d81494b9-9731-4d2e-8fbe-da62f5270182"
          },
          {
              "name": "Model B - house sketchup",
              "description": null,
              "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
              "topologyId": "2d20d707-9c18-44c0-92f4-282948cd5cf5",
              "id": "deec1913-2c6e-4580-a40f-7e1ad33a6300",
              "teamSlug" : "my-company",
              "url": "/my-company/divisions/e687b45b-d90d-4361-94ab-baf269588c0a/download",
              "fileType" : "Unknown",
              "inputType" : "SKP_IMPORT",
              "created": "2015-07-06T09:21:15",
              "createdby": {
                "id": "7c555899-5a5f-44d1-930e-284930678bed",
                "email": "testuser@nemetschek.com"
              },
              "changed": "2015-07-06T09:22:16",
              "changedby": {
                "id": "7c555899-5a5f-44d1-930e-284930678bed",
                "email": "testuser@nemetschek.com"
              },
              "size": 21451776,
              "sizeMB": "20,46",
              "importFileName": "House.skp",
              "importFileSize": 439882,
              "id": "e687b45b-d90d-4361-94ab-baf269588c0a"
          }
      ]

      Get the list of existing models inside a project
        Resource: projects/<project_id>/divisions

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

        Examplehttps://api-stage.bimplus.net/v2/bimplus-gmbh/projects/743a24f9-baaa-41b9-90b3-91717238043c/divisions


        Optional query parameters

        Name Type Default value Description
        modifyonly boolean false

        When query parameter "modifyonly=true" is defined, the API function returns all divisions which user can modify


         GET
         Gets the list of existing models inside a project.
        Headers
        Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
        Content-Type: application/json
        
        Status
        Status: 200 OK
        
        JSON
        [
            {
                "name": "Model A - Vogel",
                "description": null,
                "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
                "topologyId": "fc4be8b1-bf85-4c6f-b9c2-bac6474ddb1d",
                "teamSlug" : "my-company",
                "revisionObjects": [
                    {
                        "id": "b9cc9bb0-26fd-432e-b024-f7f41ba2c7d2",
                        "name": "First Revision",
                        "description": "First Revision",
                        "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
                        "divisionId": "d81494b9-9731-4d2e-8fbe-da62f5270182",
                        "revisionNr": 1,
                        "created": "2015-07-07T09:21:15",
                        "createdby": {
                            "id": "7c555899-5a5f-44d1-930e-284930678bed",
                            "email": "testuser@nemetschek.com"
                        },,
                        "topologyId": "fc4be8b1-bf85-4c6f-b9c2-bac6474ddb1d",
                        "inputType": "IFC_IMPORT"
                   }
                ],
                "url": "/my-company/divisions/d81494b9-9731-4d2e-8fbe-da62f5270182/download",
                "fileType" : "Unknown",
                "inputType" : "IFC_IMPORT",
                "created": "2015-07-07T09:21:15",
                "createdby": {
                  "id": "7c555899-5a5f-44d1-930e-284930678bed",
                  "email": "testuser@nemetschek.com"
                },
                "changed": "2015-07-07T09:21:16",
                "changedby": {
                  "id": "7c555899-5a5f-44d1-930e-284930678bed",
                  "email": "testuser@nemetschek.com"
                },
                "size": 39216128,
                "sizeMB": "37,4",
                "importFileName": "Vogel_bim.ifczip",
                "importFileSize": 12631230,
                "id": "d81494b9-9731-4d2e-8fbe-da62f5270182"
            },
            {
                "name": "Model B - house sketchup",
                "description": null,
                "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
                "topologyId": "2d20d707-9c18-44c0-92f4-282948cd5cf5",
                "id": "deec1913-2c6e-4580-a40f-7e1ad33a6300",
                "teamSlug" : "my-company",
                "revisionObjects": [
                    {
                        "id": "c86a33d9-6538-4c01-8e79-cb48839a7703",
                        "name": "Revision 1",
                        "description": "",
                        "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
                        "divisionId": "e687b45b-d90d-4361-94ab-baf269588c0a",
                        "revisionNr": 1,
                        "created": "2015-07-06T09:21:15",
                        "createdby": {
                            "id": "7c555899-5a5f-44d1-930e-284930678bed",
                            "email": "testuser@nemetschek.com"
                        },
                        "topologyId": "2d20d707-9c18-44c0-92f4-282948cd5cf5",
                        "inputType": "SKP_IMPORT"
                   }
                ],
                "url": "/my-company/divisions/e687b45b-d90d-4361-94ab-baf269588c0a/download",
                "fileType" : "Unknown",
                "inputType" : "SKP_IMPORT",
                "created": "2015-07-06T09:21:15",
                "createdby": {
                  "id": "7c555899-5a5f-44d1-930e-284930678bed",
                  "email": "testuser@nemetschek.com"
                },
                "changed": "2015-07-06T09:22:16",
                "changedby": {
                  "id": "7c555899-5a5f-44d1-930e-284930678bed",
                  "email": "testuser@nemetschek.com"
                },
                "size": 21451776,
                "sizeMB": "20,46",
                "importFileName": "House.skp",
                "importFileSize": 439882,
                "id": "e687b45b-d90d-4361-94ab-baf269588c0a"
            }
        ]

        Get the model details
          Resource: divisions/<division_id>

          URLhttps://api-stage.bimplus.net/v2/<team_slug>/divisions/<division_id>

          Examplehttps://api-stage.bimplus.net/v2/bimplus-gmbh/divisions/e687b45b-d90d-4361-94ab-baf269588c0a

           GET
           Get all the details of a model using its id.
          Headers
          Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
          Content-Type: application/json
          
          Status
          Status: 200 OK
          
          JSON
          {
                  "name": "Model A - Vogel",
                  "description": null,
                  "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
                  "topologyId": "fc4be8b1-bf85-4c6f-b9c2-bac6474ddb1d",
                  "disciplines": [
                      "0f106af0-a919-44c5-b211-15bd5ef620b6",
                      "33826b01-c267-4b25-9f8e-79ac2953c443",
                      "a330fde2-1a2f-48ed-a6e3-90b92965dca6"
                  ],
                  "url": "/my-company/divisions/d81494b9-9731-4d2e-8fbe-da62f5270182/download",
                  "fileType" : "Unknown",
                  "inputType" : "IFC_IMPORT",
                  "created": "2015-07-07T09:21:15",
                  "createdby": {
                    "id": "7c555899-5a5f-44d1-930e-284930678bed",
                    "email": "testuser@nemetschek.com"
                  },
                  "changed": "2015-07-07T09:21:16",
                  "changedby": {
                    "id": "7c555899-5a5f-44d1-930e-284930678bed",
                    "email": "testuser@nemetschek.com"
                  },
                  "size": 39216128,
                  "sizeMB": "37,4",
                  "importFileName": "Vogel_bim.ifczip",
                  "importFileSize": 12631230,
                  "status" : "DONE",
                  "id": "d81494b9-9731-4d2e-8fbe-da62f5270182"
              }

          Detect model change

            Resource: divisions/<division_id>

            URLhttps://api-stage.bimplus.net/v2/<team_slug>/divisions/<division_id>

            HEAD

            This method checks if the model has changed or not, and returns model's current ETag.

            In the request, include models ETag into http header "If-None-Match", and then the response will be :

            a) 304 NotModified if current model's ETag is identical ( means model has not changed )

            b) 200 OK if model has changed, and returns current models ETag as "ETag" header in the response.

            The "If-None-Match" header is not mandatory. If not present, the response will always return 200 OK with current ETag.

            Headers
            Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
            Content-Type: application/json
            If-None-Macth: "f9efd399-4631-4a77-b40a-31fb099f42a4"
            Status
            Status: 304 NotModified - if model not changed
            or 
            Status: 200 OK - if model has changed, or "If-None-Match" header was not included in request
            Headers
            Etag: "f9efd399-4631-4a77-b40a-31fb099f42a4"


            Get the list of disciplines from the model
               Resource: divisions/<division_id>/disciplines

              URLhttps://api-stage.bimplus.net/v2/<team_slug>/divisions/<division_id>/disciplines

              Examplehttps://api-stage.bimplus.net/v2/bimplus-gmbh/divisions/e687b45b-d90d-4361-94ab-baf269588c0a/disciplines

               GET
               Get list of all disciplines of a model using its id.
              Headers
              Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
              Content-Type: application/json
              
              Status
              Status: 200 OK
              
              JSON
              [
                  {
                      "category": "/1/",
                      "name": "ID_BuildingModel",
                      "ifcType": null,
                      "id": "0f106af0-a919-44c5-b211-15bd5ef620b6"
                  },
                  {
                      "category": "/2/",
                      "name": "ID_RoomModel",
                      "ifcType": null,
                      "id": "09e623d4-1e12-4a77-b358-ea1d0b28e4a7"
                  }
              ]

              Update the model
                Resource: divisions/<division_id>

                URLhttps://api-stage.bimplus.net/v2/<team_slug>/divisions/<division_id>

                Examplehttps://api-stage.bimplus.net/v2/bimplus-gmbh/divisions/e687b45b-d90d-4361-94ab-baf269588c0a

                JSON Structure

                Name

                Mandatory / Optional

                Type

                Description

                id will be ignored string(guid) Id of the model/division

                name

                mandatory

                string

                Name of the model

                description

                optional

                string

                Short description of the model

                projectId

                will be ignored

                string (guid)

                Id of the project to which the model belongs

                topologyId optional string (guid) Id of the topology to which the model belongs
                disciplines optional object The discipline list of the model
                status will be ignored string(enum)

                The status of the imported file. It could be one of the following

                • PREPARING (Uploading the file)
                • PENDING (Waiting in the queue after upload to be processed)
                • PROCESSING (Processing)
                • DONE (Processed)
                • DONE_REFRESHED (Processed & sent the notification)
                • FAILED
                • UNKNOWN
                revisionObjects will be ignored JSON Object The list of revisions
                teamSlug will be ignored string Slug of the team to which the model belongs
                url will be ignored string The link for downloading the model
                fileType will be ignored string Content-type of file
                inputType will be ignored string Type of file (eg: ifc, Allplan etc)
                created will be ignored string(date) Creation date of the model
                createdby will be ignored JSON object The user who created this model
                changed will be ignored string(date) Update date of the model
                size will be ignored int size in bytes
                sizeMB will be ignored string size in MB
                importFileName will be ignored string The file name of the model
                importFileSize will be ignored int Size of the import file in bytes
                 PUT
                 Update specified model. Only name and description can be updated.
                Headers
                Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
                Content-Type: application/json
                
                JSON
                {
                 "name":"Model D", 
                 "description":"Updating the model D"
                }
                Status
                Status: 200 OK
                
                JSON
                {
                        "name": "Model D",
                        "description": "Updating the model D",
                        "projectId": "743a24f9-baaa-41b9-90b3-91717238043c",
                        "topologyId": "fc4be8b1-bf85-4c6f-b9c2-bac6474ddb1d",
                        "disciplines": [
                            "0f106af0-a919-44c5-b211-15bd5ef620b6",
                            "33826b01-c267-4b25-9f8e-79ac2953c443",
                            "a330fde2-1a2f-48ed-a6e3-90b92965dca6"
                        ],
                        "url": "/my-company/divisions/d81494b9-9731-4d2e-8fbe-da62f5270182/download",
                        "fileType" : "Unknown",
                        "inputType" : "IFC_IMPORT",
                        "created": "2015-07-07T09:21:15",
                        "createdby": {
                          "id": "7c555899-5a5f-44d1-930e-284930678bed",
                          "email": "testuser@nemetschek.com"
                        },
                        "changed": "2015-07-07T09:21:16",
                        "changedby": {
                          "id": "7c555899-5a5f-44d1-930e-284930678bed",
                          "email": "testuser@nemetschek.com"
                        },
                        "size": 39216128,
                        "sizeMB": "37,4",
                        "importFileName": "Vogel_bim.ifczip",
                        "importFileSize": 12631230,
                        "status" : "DONE",
                        "id": "d81494b9-9731-4d2e-8fbe-da62f5270182"
                    }

                Download the model
                  Resource: divisions/<division_id>/download 

                  URLhttps://api-stage.bimplus.net/v2/<team_slug>/divisions/<division_id>/download

                  Examplehttps://api-stage.bimplus.net/v2/bimplus/divisions/743a24f9-baaa-41b9-90b3-91717238043c/download


                  Query parameters

                  Name Mandatory/Optional Description
                  api-token optional If the client cannot use the token in the header of the request, token can be specified in query parameters
                  e.g. <team_slug>/divisions/<division_id>/download?api-token=9c1874a62c974dcfa75e0132c423a088
                  revision optional Specify revision number, If set, the call will return the import file of the revision, otherwise it's the current import file.
                   GET
                   Download the already uploaded model. There also exists a GET method for downloading the model where you can pass the "token" as a query parameter.
                  Headers
                  Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
                  Content-Type: application/json
                  

                  Returns file data. The response is of Content-Type: application/octet-stream.

                  Status
                  Status: 200 OK

                  Delete the model
                    Resource: divisions/<division_id> 

                    URLhttps://api-stage.bimplus.net/v2/<team_slug>/divisions/<division_id>

                    Examplehttps://api-stage.bimplus.net/v2/bimplus-gmbh/divisions/e687b45b-d90d-4361-94ab-baf269588c0a

                     DELETE
                     Deletes a specified model using its id.
                    Headers
                    Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
                    Content-Type: application/json
                    
                    Status
                    Status: 200 OK
                    
                    • No labels