ADN Open CIS
Сообщество программистов Autodesk в СНГ

31/03/2016

API деятельности в AutoCAD I/O API - Часть 1

Деятельность представляет собой действие, которое может быть запущено в основном ядре AutoCAD. Следующая деятельность доступна на веб-сайте AutoCAD I/O.

Код - JavaScript: [Выделить]
  1. {
  2.          "@odata.context":"https://developer-stg.api.autodesk.com/autocad.io/us-east/us-east/v2/$metadata#Activities/$entity","AppPackages":[
  3.  
  4.          ],"HostApplication":"","RequiredEngineVersion":"20.1","Parameters":{
  5.          "InputParameters":[
  6.          {
  7.                  "Name":"HostDwg","LocalFileName":"$(HostDwg)","Optional":null
  8.          }
  9.          ],"OutputParameters":[
  10.          {
  11.                  "Name":"Result","LocalFileName":"result.pdf","Optional":null
  12.          }
  13.          ]
  14.          },"Instruction":{
  15.                  "CommandLineParameters":"-suppressGraphics","Script":"_tilemode 0 -export _pdf _all result.pdf\n"
  16.          },"AllowedChildProcesses":[
  17.  
  18.          ],"IsPublic":false,"Version":1,"Timestamp":"2015-09-18T18:46:29.442Z","Description":"","Id":"PlotToPDF"
  19.  }

Эта деятельность экспортирует чертеж в формат PDF. Она имеет следующие параметры:

  • "Id": Определяет уникальное имя. Этот параметр является обязательным.
  • "Instruction": Указывает действие.
  • "AppPackages": включает в себя ссылки на AppPackages. В случае, если ваша настраиваемая активность определяется в ARX (завернутая в AppPackage сущность), необходимо указать идентификатор AppPackage. Если ваша настраиваемая активность использует только собственные команды AutoCAD, то оставьте поле пустым.
  • "RequiredEngineVersion": Задает версию AutoCAD, который выполняет деятельность. При вводе в AutoCAD команда "ACADVER" возвращает это значение.
  • "Parameters": Определяет входные и выходные параметры. Они отображают имена реальных чертежей на имена чертежей, указанных в "Instruction".
  • "AllowedChildProcesses": Указывает дочерние процессы, которые будут порождены деятельностью. Любые порожденные дочерние процессы, не указанные здесь, будут отключены.
  • "version": содержит номер версии деятельности.
  • "Timestamp": Определяет время, когда последняя деятельность была создана или изменена. Вы можете пропустить его при создании деятельность.
  • "Description": Предоставляет более подробную информацию о деятельности. Это необязательный параметр.

Пользователь может создавать/читать/обновлять/удалять (create/read/update/delete - CRUD) деятельности.

Для создания деятельности

POST autocad.io/us-east/v2/Activities

Создает деятельность. Если деятельность, имеющая такое же имя пользователя и идентификатор пользователя уже существует, возникает ошибка 302 - "An activity with the same Id is found. Please use Put or Patch to update.”

Пример успешного запроса:

Код - HTML: [Выделить]
  1. POST /autocad.io/us-east/v2/Activities HTTP/1.1
  2. Content-Type: application/json
  3. Authorization: Bearer my_token
  4.  
  5. {
  6.   "HostApplication":"","RequiredEngineVersion":"20.1","Parameters":{
  7.     "InputParameters":[
  8.       {
  9.         "Name":"HostDwg","LocalFileName":"$(HostDwg)"
  10.       }
  11.     ],"OutputParameters":[
  12.       {
  13.         "Name":"Result","LocalFileName":"result.dwg"
  14.       }
  15.     ]
  16.   },"Instruction":{
  17.     "CommandLineParameters":null,"Script":"_tilemode 1 _line 0,0 1,1  _save result.dwg\n"
  18.   },"Version":1,"Id":"CreateALine"
  19. }

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 201 Created
  2. Cache-Control: no-cache
  3. Content-Type: application/json; charset=utf-8
  4. Date: Fri, 09 May 2014 23:14:49 GMT
  5. Expires: -1
  6. Location: https://developer.api.autodesk.com/autocad.io/us-east/v2/Activities('CreateALine')
  7. Pragma: no-cache
  8. Server: Microsoft-IIS/8.0
  9. X-AspNet-Version: 4.0.30319
  10. X-Powered-By: ASP.NET
  11. Content-Length: 579
  12. Connection: keep-alive
  13.  
  14. {
  15.     "@odata.context":"http://localhost:39284/api/v2/$metadata#Activities/$entity","AppPackages":[
  16.  
  17.     ],"HostApplication":"","RequiredEngineVersion":"20.1","Parameters":{
  18.       "InputParameters":[
  19.         {
  20.           "Name":"HostDwg","LocalFileName":"$(HostDwg)"
  21.         }
  22.       ],"OutputParameters":[
  23.         {
  24.           "Name":"Result","LocalFileName":"result.dwg"
  25.         }
  26.       ]
  27.     },"Instruction":{
  28.       "CommandLineParameters":null,"Script":"_tilemode 1 _line 0,0 1,1  _save /result.dwg\n"
  29.     },"AllowedChildProcesses":[
  30.  
  31.     ],"IsPublic":false,"Id":"CreateALine","Version":1,"Timestamp":"0001-01-01T00:00:00Z","Description":null
  32. }

Коды статуса:

Код статуса HTTP

Сообщение разработчика

201

Деятельность успешно создана.

302

Найдена деятельность с таким же Id. Используйте Put или Patch для обновления.

401

Недостаточно правд для выполнения этой операции.

500

Внутренняя ошибка сервера

Заголовки запроса

Заголовок запроса

Описание

Тип содержимого

- Обязательный, application/x-www-form-urlencoded

Авторизация

- Обязательный, для предъявителя my_token

Для получения деятельности

GET autocad.io/us-east/v2/Activities('{my_id}')

Получить конкретную деятельность

Пример успешного запроса:

Код - HTML: [Выделить]
  1. GET /autocad.io/us-east/v2/Activities('PlotToPDF') HTTP/1.1
  2. Accept: application/json
  3. Accept-Charset: UTF-8
  4. Authorization: Bearer my_token
  5. Host: autocad.io

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Cache-Control: no-cache
  3. Content-Type: application/json; charset=utf-8
  4. Date: Mon, 12 May 2014 16:55:38 GMT
  5. Expires: -1
  6. Pragma: no-cache
  7. Server: Microsoft-IIS/8.0
  8. X-AspNet-Version: 4.0.30319
  9. X-Powered-By: ASP.NET
  10. Content-Length: 563
  11. Connection: keep-alive
  12.  
  13.  {
  14.     "@odata.context":"https://developer.api.autodesk.com/autocad.io/us-east/v2/$metadata#Activities/$entity","AppPackages":[
  15.     ],"HostApplication":"","RequiredEngineVersion":"20.1","Parameters":{
  16.       "InputParameters":[
  17.         {
  18.           "Name":"HostDwg","LocalFileName":"$(HostDwg)"
  19.         }
  20.       ],"OutputParameters":[
  21.         {
  22.           "Name":"Result","LocalFileName":"result.pdf"
  23.         }
  24.       ]
  25.     },"Instruction":{
  26.       "CommandLineParameters":null,"Script":"_tilemode 0 -export _pdf _all result.pdf\n"
  27.     },"AllowedChildProcesses":[
  28.     ],"IsPublic":false,"Id":"PlotToPDF","Version":1,"Timestamp":"2015-05-19T23:30:04.034Z","Description":""
  29.  }

Заголовки запроса

Заголовок запроса

Описание

Требуется, Авторизация

- Предъявитель my_token

Получить все деятельности

GET autocad.io/us-east/v2/Activities

Получить все деятельности

Пример успешного запроса:

Код - HTML: [Выделить]
  1. GET /autocad.io/us-east/v2/Activities HTTP/1.1
  2. Accept: application/json
  3. Accept-Charset: UTF-8
  4. Authorization: Bearer my_token
  5. Host: autocad.io

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Cache-Control: no-cache
  3. Content-Type: application/json; charset=utf-8
  4. Date: Mon, 12 May 2014 16:55:38 GMT
  5. Expires: -1
  6. Pragma: no-cache
  7. Server: Microsoft-IIS/8.0
  8. X-AspNet-Version: 4.0.30319
  9. X-Powered-By: ASP.NET
  10. Content-Length: 563
  11. Connection: keep-alive
  12.  
  13. {
  14.   "odata.context":"https://developer.api.autodesk.com/autocad.io/us-east/v2/$metadata#Activities","value":[
  15.     {
  16.       "AppPackages":[],"HostApplication":"","RequiredEngineVersion":"20.1","Parameters":{
  17.       "InputParameters":[
  18.         {
  19.           "Name":"HostDwg","LocalFileName":"$(HostDwg)"
  20.         }
  21.       ],"OutputParameters":[
  22.         {
  23.           "Name":"Result","LocalFileName":"result.dwg"
  24.         }
  25.       ]
  26.     },"Instruction":{
  27.       "CommandLineParameters":null,"Script":"_tilemode 1 _line 0,0 1,1  _save result.dwg\n"
  28.     },"AllowedChildProcesses":[
  29.     ],"IsPublic":false,"Id":"CreateALine","Version":1,"Timestamp":"2015-05-19T23:30:04.034Z","Description":""
  30.    },{
  31.       "AppPackages":[],"HostApplication":"","RequiredEngineVersion":"20.1","Parameters":{
  32.       "InputParameters":[
  33.         {
  34.           "Name":"HostDwg","LocalFileName":"$(HostDwg)"
  35.         }
  36.       ],"OutputParameters":[
  37.         {
  38.           "Name":"Result","LocalFileName":"result.pdf"
  39.         }
  40.       ]
  41.     },"Instruction":{
  42.       "CommandLineParameters":null,"Script":"_tilemode 0 -export _pdf _all result.pdf\n"
  43.     },"AllowedChildProcesses":[
  44.     ],"IsPublic":false,"Id":"PlotToPDF","Version":1,"Timestamp":"2015-05-19T23:30:04.034Z","Description":""
  45.    }
  46.   ]
  47. }

Заголовки запроса

Заголовок запроса

Описание

Авторизация

- Предъявитель my_token

Источник: https://developer.autodesk.com/api/autocadio/#activity-api

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=

Опубликовано 31.03.2016