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

ADN Club => Inventor API => Тема начата: niksasa от 14-11-2013, 13:42:56

Название: Глобальная форма ilogic
Отправлено: niksasa от 14-11-2013, 13:42:56
Добрый день. Существует ли теоретическая возможность назначить программно горячие клавиши для открытия глобальной формы ilogic? Возможно ли как то программно обновлять форму при переходе с одного открытого файла на другой?
Название: Re: Глобальная форма ilogic
Отправлено: Владимир Ананьев от 14-11-2013, 14:59:26
В iLogic горячих клавиш нет.   Но у iLogic имеется API,  поэтому формы можно открывать из своего Add-In с настроенными горячими клавишами.  Проблема, однако,  в том, что методы iLogicForm.Show() или iLogicForm.ShowGlobal() из своего addin вызвать можно, а вот метод Close() в текущей версии не реализован. Я недавно это специально выяснял.
Может быть, есть иной сценарий?   Ведь если создавать свой addin, то зачем внешние формы?  Вы сможете показывать собственные сколь угодно навороченные формы (у iLogic тут возможности весьма ограничены). А вот правила iLogic уже можно вызывать непосредственно из своей формы.

---------------------
PS
Кстати, о сценариях.  Я встречал где-то описание решения, в котором свой AddIn использовался для конвейерной обработки всех файлов из заданной папки. Он открывал файл за файлом и запускал для них внешние правила из папки по умолчанию для внешних правил iLogic.  AddIn сути этих правил не знал, но просто для деталей выполнял правило из файла с фиксированным именем IPT.iLogicVb,  для сборок – IAM.iLogicVb и т.д.  Тексты правил вы рихтуете под себя, а AddIn всегда один и тот же, что бывает весьма удобно в случае частых пакетных обработок.
Название: Re: Глобальная форма ilogic
Отправлено: niksasa от 16-11-2013, 11:43:39
PS
Кстати, о сценариях.  Я встречал где-то описание решения, в котором свой AddIn использовался для конвейерной обработки всех файлов из заданной папки. Он открывал файл за файлом и запускал для них внешние правила из папки по умолчанию для внешних правил iLogic.  AddIn сути этих правил не знал, но просто для деталей выполнял правило из файла с фиксированным именем IPT.iLogicVb,  для сборок – IAM.iLogicVb и т.д.  Тексты правил вы рихтуете под себя, а AddIn всегда один и тот же, что бывает весьма удобно в случае частых пакетных обработок.
Я тоже встречал, но этот addin сделан для 2012 версии инвентора.

Название: Re: Глобальная форма ilogic
Отправлено: niksasa от 16-11-2013, 20:44:19
В iLogic горячих клавиш нет
Я же могу закрыть форму нажав клавиши ALT+F4.
Название: Re: Глобальная форма ilogic
Отправлено: Владимир Ананьев от 16-11-2013, 20:46:31
Вручную - вопросов нет, все можно. Я имел ввиду программное управление формой "по своему хотению"...
Название: Re: Глобальная форма ilogic
Отправлено: Владимир Ананьев от 16-11-2013, 21:01:56
Общая рекомендация разработчиков iLogic сводится к тому, что сложные интерфейсы лучше делать не в iLogic.  В нем не предполагается заменить Visual Studio в части пользовательских интерфейсов.  Формы iLogic с сотнями элементов управления иногда работают нестабильно, а   разбираться с причинами очень затратно.

Рекомендуют обычно в Visual Studio делать DLL со своими формами и вызывать их из правил iLogic.  При групповой работе (несколько пользователей у ваших правил) это еще и гораздо экономичнее для самого автора.
Название: Re: Глобальная форма ilogic
Отправлено: niksasa от 16-11-2013, 21:09:22
Я тоже встречал, но этот addin сделан для 2012 версии инвентора.
Нашел ссылку, Curtis Waguespack обсуждал такую проблему:
http://inventortrenches.blogspot.com/2011/08/built-for-speed-running-ilogic-rules.html
Название: Re: Глобальная форма ilogic
Отправлено: Владимир Ананьев от 16-11-2013, 21:21:05
Именно его я и имел в виду.  Жаль, что автор оставил затею.  Во всяком случае, в Exchange Apps я подобной утилиты не встретил, а там ей самое место, кстати.   
Но воспроизвести этот функционал в своем AddIn несложно.