|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Добавление формы с контролами в плагине для автокада
Инженер проектировщик ЭОМ
Регистрация: 15.07.2020
Сообщений: 12
|
||
Просмотров: 1412
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
В команде ACAD прописываешь нечто типа
var win = new ТвояФорма(); Application.ShowModalWindow(win); А уж где и как ты будешь прописывать логику работы окна - вопрос немного другой.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Создание окна ничем не отличается от отдельного приложения. Нюанс в том, что вызывать отображение этого окна нужно через статические методы
WinForms Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog (UserForm) - модальный диалог Autodesk.AutoCAD.ApplicationServices.Application.ShowModelessDialog (UserForm) - немодальный диалог (вместо него лучше палитры использовать, имхо). WPF Autodesk.AutoCAD.ApplicationServices.Application.ShowModalWindow (UserWindow) - модальный диалог Autodesk.AutoCAD.ApplicationServices.Application.ShowModelessWindow (UserWindow) - немодальный диалог (про палитры выше говорил). чтобы ваше окно получило ссылку на приложение акад как родительское окно, а акад знал об вашем окне. |
|||
![]() |
|
||||
Инженер проектировщик ЭОМ Регистрация: 15.07.2020
Сообщений: 12
|
Спасибо за подсказку все ОК. Что значит где прописывать логику работы окна? Наверное в классе формы как обычно. там и кнопки какие то будут и еще что то таблицы, листбоксы и т. д. Или еще какие то варианты есть более правильные если не трудно подскажите? Я так понимаю надо будет создать модель данных это списки или коллекции или дататабле в классе где пишется коды плагина и передавать их для отображения в интерфейс формы. Ну и работать соответственно с данными а на форме только отображать. данные после обработки использовать в классе плагина. Вот только не будут ли они уничтожаться после завершения транзакции? Если что то подправьте меня пожалуйста. Если можно то может какой ресурс где то встречали подскажите, чтобы наглядней было. Честно говоря не мог найти.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Предположим, получили с чертежа какие то данные - и закрыли транзакцию (если использовали ее для получения данных). Затем отобразили на форме (WinForms?) полученные данные, что-то там с ними сделали и при подтверждении операции открываете новую транзакцию и вносите изменения в БД чертежа dwg. В общем, не держите открытой транзакцию без необходимости. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408
|
Offtop:
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как добавить панель с кнопками и другими элементами на ленту автокада в плагине на VB NET | shand | .NET | 5 | 06.01.2024 21:01 |
Неотображение в модели автокада вставленной из эксель таблицы путем копирования Ctrl+C/Ctrl+V | San-Miguel | AutoCAD | 4 | 09.10.2020 16:28 |
Корректное добавление путей в настройки Автокада (проверка существования пути) | olga87 | LISP | 3 | 22.09.2020 20:51 |
Вписывание текстуры в грань произвольной формы | hikkikamori | AutoCAD | 1 | 11.05.2009 00:13 |
Типовые проекты на малые архитектурные формы и элементы благ | Esperansa | Разное | 1 | 24.04.2007 13:02 |