Design Automation для Inventor. Запуск правила ILogic без AppBundle
Design Automation для Inventor. Запуск правила ILogic без AppBundle
Обычно при работе с Design Automation API требуется:
1) Создать AppBundle
2) Создать Activity, использующую AppBundle
3) Запустить WorkItem, созданную на основе Activity
Тем не менее, Вы можете воспользоваться преимуществами правил iLogic, которые уже существуют в моделях, с которыми Вы работаете. Вы можете запустить код, который уже задан в модели.
Для этого нужно использовать /s параметр командной строки commandLine Вашей Activity
Activity:
- {
- "commandLine": [
- "$(engine.path)\\InventorCoreConsole.exe /i $(args[inputFile].path) /s $(settings[script].path)"
- ],
- "parameters": {
- "inputFile": {
- "verb": "get",
- "localName": "inputFile.ipt"
- },
- "outputFile": {
- "verb": "put",
- "localName": "inputFile.ipt"
- }
- },
- "id": "rGm0mO9jVSsD2yBEDk9MRtXQTwsa61y0.RunRule+prod",
- "engine": "Autodesk.Inventor+24",
- "appbundles": [],
- "settings": {
- "script": {
- "value": "iLogicVb.RunRule(\"MyRule\")"
- }
- },
- "description": "Running iLogic Rule",
- "version": 1
- }
Как можно увидеть, settings.script.value содержит код, который нужно запустить, а в командной строкеcommandLine указывается $(settings[script].path) в параметре /s.
Мы будем использовать эту Activity с моделью, содержащей правило iLogic "MyRule", и запустим её, создав
WorkItem:
- {
- "inputFile": {
- "verb": "get",
- "localName": "inputFile.ipt",
- "url": "https://developer.api.autodesk.com/oss/v2/buckets/adam_poc/objects/Box_With_iLogic.ipt",
- "headers": {
- "Authorization": "Bearer <access token>",
- "Content-type": "application/octet-stream"
- }
- },
- "outputFile": {
- "verb": "put",
- "localName": "inputFile.ipt",
- "url": "https://developer.api.autodesk.com/oss/v2/buckets/adam_poc/objects/Box_With_iLogic_Result.ipt",
- "headers": {
- "Authorization": "Bearer <access token>",
- "Content-type": "application/octet-stream"
- }
- }
- }
Как Вы можете видеть, в WorkItem нет ничего особенного - мы просто передаем url-ы, откуда сервис Design Automation сможет скачать исходные файлы и куда он сможет загрузить результаты выполнения.
В результатах выполнения WorkItem можно посмотреть, что происходит:
- ...
- [10/30/2019 17:16:07] InventorCoreConsole.exe Information: 0 : Start of MyRule
- [10/30/2019 17:16:07] InventorCoreConsole.exe Information: 0 : Setting height to 2 in
- [10/30/2019 17:16:07] InventorCoreConsole.exe Information: 0 : Updating document
- [10/30/2019 17:16:07] InventorCoreConsole.exe Information: 0 : Saving changes
- [10/30/2019 17:16:09] InventorCoreConsole.exe Information: 0 : End of MyRule
- [10/30/2019 17:16:09] InventorCoreConsole.exe Information: 0 : Performing iLogic diagnostics...
- [10/30/2019 17:16:09] InventorCoreConsole.exe Information: 0 : End of iLogic diagnostics...
- ...
Источник: https://forge.autodesk.com/blog/run-ilogic-rule-without-appbundle
Обсуждение: http://adn-cis.org/forum/index.php?topic=
Опубликовано 31.10.2019