Сообщество программистов Autodesk в СНГ
ADN Club => Inventor API => Тема начата: niksasa от 09-01-2014, 12:33:28
-
Добрый день. Есть кнопка для создания чертежа. Могу ли я создать панель с тремя кнопками: "чертеж dwg", "чертеж idw", "Отмена", которая будет появляться после нажатия кнопки для создания нового чертежа?
-
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs24.postimg.org%2Fotee0ii5t%2FNew_Drawing_Doc_Command.jpg&hash=f6319645a9873459bc5bbc87fbd4dcea) (http://postimg.org/image/otee0ii5t/)
После нажатия кнопки “Drawing” Inventor генерирует событие типа FileUIEvents.OnFileNew со следующими свойствами:
FileUIEvents.OnFileNew
DocumentType: kDrawingDocumentObject
TemplateFileName: "C:\Users\Public\Documents\Autodesk\Inventor 2014\Templates\Standard.idw"
Context: No context information
HandlingCode: kEventNotHandled
Чтобы сделать то, что вы описываете, надо перехватить событие FileUIEvents.OnFileNew и, если DocumentType = kDrawingDocumentObject, то вывести пользователю свой диалог с новыми кнопками.
Чтобы просмотреть цепочку генерируемых Инвентором событий, используйте утилиту EventWatcher из состава Inventor SDK. Если вы установили DeveloperTools, то найдете ее в папке
C:\Users\Public\Documents\Autodesk\Inventor 2014\SDK\DeveloperTools\Tools\EventWatcher\
-
Это не совсем то, что я хочу иметь.
Есть addin со свойствами и кнопками, сделанный в vbe2010. Допустим я в том же проекте создал форму windows, на ней разместил три кнопки. На каждую кнопку повесил код. Я же могу сделать так, чтобы после нажатия кнопки для создания чертежа загружалась форма с тремя кнопками?
-
И опять сценарий неоднозначен.
>>… после нажатия кнопки для создания чертежа…<<
Какую кнопку вы имеете ввиду?
Если это одна из кнопок на вашей же форме, то ответ очевидный – просто открывайте другую свою форму для выбора типа чертежа. См. в хелпе методы открытия формы.
http://msdn.microsoft.com/en-us/library/aa984358(v=vs.71).aspx (http://msdn.microsoft.com/en-us/library/aa984358(v=vs.71).aspx)
Если это штатная кнопка, показанная на картинке из первого ответа, тогда используйте описанный там метод. Ваш AddIn должен как-то узнать, что юзер решил создать чертеж, а как это сделать? Надо отслеживать событие FileUIEvents.OnFileNew, и если юзер решил создавать чертеж (т.е. вы видите соответствующий DocumentType) , то вы ему подсовываете свою форму для выбора типа чертежа.
-
Если это одна из кнопок на вашей же форме, то ответ очевидный – просто открывайте другую свою форму для выбора типа чертежа. См. в хелпе методы открытия формы.
http://msdn.microsoft.com/en-us/library/aa984358(v=vs.71).aspx
Именно этот случай. Спасибо, буду разбираться.
-
Тогда вам требуется вариант открытия модального окна.
См. в хелпе метод Form.ShowDialog.
Поищите через Google русскую версию справки, она точно найдется.
-
Тогда вам требуется вариант открытия модального окна.
См. в хелпе метод Form.ShowDialog.
Поищите через Google русскую версию справки, она точно найдется.
Решил не мучаться и поступить по-другому. Просто добавлю еще одну кнопку для создания другого типа чертежа. Спасибо.
-
А действительно, зачем умножать сущности без надобности ?