Сообщество программистов Autodesk в СНГ
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
1 час
1 день
1 неделя
1 месяц
Навсегда
Новости:
Образовательный курс по платформе Autodesk Forge.
Начало
Сайт
Правила
Помощь
Поиск
Непрочитанные
Календарь
Вход
Регистрация
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
AutoCAD .NET API
»
Загрузка сборки
« предыдущая тема
следующая тема »
Печать
Страницы: [
1
]
Вниз
Автор
Тема: Загрузка сборки (Прочитано 6188 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Lemieux
ADN OPEN
Сообщений: 389
Карма: 21
Загрузка сборки
«
:
10-12-2020, 13:55:48 »
Всех приветствую.
Возможно как-то отменить загрузку сборки или сделать так, чтобы "CommandMethod(команды)" не распознавался, если не выполняются определённые условия?
Записан
Вильдар
ADN Club
Сообщений: 409
Карма: 77
Skype:
Re: Загрузка сборки
«
Ответ #1 :
10-12-2020, 14:02:51 »
Отменить загрузку нельзя.
Можно отменить регистрацию команд.
А лучше, сделать свой загрузчик. Который будет загружаться в автокад, а потом сам решать какие свои сборки дальше грузить.
Записан
Отмечено как Решение
Lemieux
10-12-2020, 14:16:19
Александр Ривилис
Administrator
Сообщений: 13882
Карма: 1787
Рыцарь ObjectARX
Skype:
Re: Загрузка сборки
«
Ответ #2 :
10-12-2020, 14:05:11 »
Ха. Ты будешь смеяться, но только вчера я отвечал на этот вопрос на форуме Autodesk.
Для этой цели нужно регистрировать команды не при помощи атрибута [CommandMethod(...)], а при помощи метода AddCommand. Вот пример:
Код - C#
[Выбрать]
using
Autodesk.AutoCAD.Runtime
;
using
Autodesk.AutoCAD.ApplicationServices
;
using
Autodesk.AutoCAD.EditorInput
;
using
Autodesk.AutoCAD.Internal
;
// This line is not mandatory, but improves loading performances
[
assembly
:
ExtensionApplication
(
typeof
(
CommandUtils
.
MyPlugin
)
)
]
namespace
CommandUtils
{
public
class
MyPlugin
:
IExtensionApplication
{
static
bool
condition
=
false
;
void
IExtensionApplication
.
Initialize
(
)
{
if
(
condition
)
{
Utils
.
AddCommand
(
"RIVILIS"
,
"TEST1"
,
"ТЕСТ1"
, CommandFlags
.
Modal
, CommandHandler1
)
;
Utils
.
AddCommand
(
"RIVILIS"
,
"TEST2"
,
"ТЕСТ2"
, CommandFlags
.
Modal
, CommandHandler2
)
;
}
}
void
IExtensionApplication
.
Terminate
(
)
{
if
(
condition
)
{
Utils
.
RemoveCommand
(
"RIVILIS"
,
"TEST1"
)
;
Utils
.
RemoveCommand
(
"RIVILIS"
,
"TEST2"
)
;
}
}
public
void
CommandHandler1
(
)
{
Editor ed
=
Application
.
DocumentManager
.
MdiActiveDocument
.
Editor
;
ed
.
WriteMessage
(
"
\n
Command Test1"
)
;
}
public
void
CommandHandler2
(
)
{
Editor ed
=
Application
.
DocumentManager
.
MdiActiveDocument
.
Editor
;
ed
.
WriteMessage
(
"
\n
Command Test2"
)
;
}
}
}
Только если condition != false команды зарегистрируются и будут опознаваться AutoCAD'ом.
Записан
Не забывайте про правильное
Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился
правильный ответ
, то не забудьте про кнопку
Решение
Lemieux
ADN OPEN
Сообщений: 389
Карма: 21
Re: Загрузка сборки
«
Ответ #3 :
10-12-2020, 14:16:39 »
Круто! Всем спасибо
Записан
Печать
Страницы: [
1
]
Вверх
« предыдущая тема
следующая тема »
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
AutoCAD .NET API
»
Загрузка сборки