Подскажите, пжалста, можно ли с помощью макроса программно вставить в сборку 3D-фрагмент из DOCs (важно!)? Почитал хэлп по API, нашел только методы, которые вставляют фрагменты по пути к файлу, т.е. фрагменты с диска.
16.05.2016 13:53:14
|
|||
|
|
16.05.2016 21:26:57
Успех это способность идти от одной неудачи к другой без потери энтузиазма.
(У.Черчиль) |
|||||
|
|
16.05.2016 22:46:48
Успех это способность идти от одной неудачи к другой без потери энтузиазма.
(У.Черчиль) |
|||||
|
|
16.05.2016 23:29:17
Пересохранил. В проекте нужно было добавить ещё одну ссылку. Заодно текст немного подредактировал, и скомпилировал, должен работать если добавите в папку с макросами.
|
|
|
|
17.05.2016 21:58:14
Отлично, Анатолий! Благодарю за макрос. После перезапуска ТФ макрос появился в общем списке. Месседж бокс действительно был лишним, если линий за сотню замучаешься соглашаться. Была небольшая проблема. У вас переменная М в коде написана латиницей, исправил на кирилицу (у меня переменная написана русским шрифтом), и всё работает.
Да, есть вопрос, откуда появляются многочисленные нулевые линии? У меня их изначально всего две. А после отработки макроса набегает ещё несколько.
Изменено:
Успех это способность идти от одной неудачи к другой без потери энтузиазма.
(У.Черчиль) |
|||
|
|
17.05.2016 23:12:05
Изменено: |
|||||
|
|
11.08.2018 20:28:02
Доброго дня, товарисчи.
Написал я макрос, а вот как мне его с кнопки клавиатуры запускать? Через KeyPressEventHandler()? Или есть способы попроще?
Изменено: |
|
|
|
12.08.2018 18:16:33
FRei, самый простой способ обработки события KeyEventArgs через класс расширения CustomCommand, например:
чтобы корректно запустить макрос, нужно подключить событие ViewActivated в редакторе макросов (см. вложение). Когда один из видов документа будет активным, сработает макрос TestMacro, который запустит цикл обработки команд пользователя.
T-FLEX CAD 17.1.6.0
|
|||
|
|
13.08.2018 09:20:00
Подглючивает что-то.
Изменено: |
|||||
|
|
13.08.2018 17:56:48
FRei, этот пример нельзя использовать в контексте события ViewActivated. должен быть обработчик событий типа KeyPressEventHandler на уровне класса Plugin.
T-FLEX CAD 17.1.6.0
|
|
|
|
13.08.2018 18:48:06
Итак, в Вашем коде нужно заменить объект типа usercommand на plugincommand. Он так же запускается методом run(view). В объекте такой же метод OnKeyPressed( KeyEventArgs e). Так? При этом еще и объект plugin создать нужно, поскольку конструктор объекта объявляется как PluginCommand(Plugin OwnerPlugin ) ? Подозреваю, что отправите смотреть исходники плагина Stars. |
|||
|
|
13.08.2018 19:37:55
FRei, вы меня не правильно поняли, нужно получить доступ к оконной процедуре главного окна приложения для обработки события KeyPressEventHandler, чего пока нет в API. классы PluginCommand и CustomCommand просто реализуют интерфейс пользовательских команд, которые внутри также имеют свои обработчики. эти классы предоставляют немного больше возможностей для расширенной обработки команд меню. т.е. сначала выполняется команда меню, потом обрабатывается контекст клавиатуры. несмотря на то, что макрос частично отрабатывает на событии ViewActivated, он по прежнему работает некорректно. у меня, к примеру, неправильно работает селектор. по мимо прочего, каждый клик мыши повторно запускает метод Run.
T-FLEX CAD 17.1.6.0
|
|
|
|
14.08.2018 00:31:47
FRei, если очень нужно, могу предложить временное решение:
этот код нужно компилировать в модуль расширения DLL. стандартный вариант поворота работает в режиме просмотра (клавиши: PgUp и PgDn). тоже самое я сделал для режима "эскиз".
T-FLEX CAD 17.1.6.0
|
|||
|
|
14.08.2018 19:20:12
vite, спасибо за пример. Раз пошло дело к dll, то хочу спросить возможно ли использование VS code c .net core?
|
|
|
|
14.08.2018 21:53:45
FRei, возможно...
T-FLEX CAD 17.1.6.0
|
|
|
|
05.10.2018 16:17:24
Подскажите пожалуйста, есть у меня в модели линейный массив,
что-то не пойму, как мне перебрать его элементы и сделать с ними что-то, например, изменить свойство VisibleInScene? Есть класс LinearArrayOperation, но в нем нет ссылок на порождаемые объекты. |
|
|
|
05.10.2018 22:44:57
FRei, по поводу перебора элементов не уверен что это возможно.
пример изменения видимости объекта:
T-FLEX CAD 17.1.6.0
|
|||
|
|
06.10.2018 06:34:39
vite, спасибо за пример, но он "выключит" весь массив мне же надо "выключить" отдельные элементы, например матрица индикатора:
|
|
|
|
06.10.2018 11:17:39
FRei, есть возможность добавить элементы в коллекцию исключений по индексу, например:
если понадобится обновить коллекцию исключений, нужно предварительно ее очистить:
T-FLEX CAD 17.1.6.0
|
|||||
|
|
||||