|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
28.07.2004, 11:51 | #1 | |
Реакция программы на появление объекта определенного типа
Штаб
Регистрация: 21.08.2003
Сообщений: 943
|
||
Просмотров: 7376
|
|
||||
Архитектор Регистрация: 14.10.2003
Израиль
Сообщений: 365
|
Может проще с помощью окна Properties обозначить группу существующих объектов и распределить их по слоям. Ведь не всегда текст находится на слое "текст". А если надо размер поместить не на "DIM", а на "Dim-50", что тогда? Выходит, что надо задавать эти имена, а это уже более громоздко.
__________________
С уважением, Влад Гринзайд. |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Скорее всего - использовать реактор типа :VLR-AcDb -Reactor (реактор на изменение базы рисунка).
Событие :vlr-objectAppended (добавление объекта к Базе Данных AutoCAD). А в функции отклика анализировать его тип и перекидывать на соответствующий слой. Я так [sm2001] думаю... (с) "Мимино".
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
Регистрация: 21.06.2004
Тула
Сообщений: 164
|
Решал эту проблему тем, что писал макосы к кнопкам (ну не программер я на ЛИСПЕ писать) - суть сводилась к тому, что при проставлении размера - текущим устанавливался размерный слой - при написании текста - текстовый - при простановке выносок - слой под выноски ну и т.д. - иногда подглючивает (перекрестье как бы западает) но работает нормально и меня устраивает - (хотя делал не под себя)
Мне лично удобнее потом переводить все необходимые примитивы по слоям с помощью Быстрого выбора Но идея у Вас глобальная - если решите - поделитесь потом |
|||
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
|
>>Grinzaid
Согласен, но эта программа намечалась, как первый вариант другой, более сложной (с установками и др.) >>Kos Спасибо! >>Lenich Хорошая идея! Две команды можно объединить в простом лиспе. А чтобы работало все это не только с кнопки, то можно переопределить команды HATCH, TEXT и т.д. Но моя цель - это программирование. Посему вопрос: >>All Нет ли у кого-нибудь примеров использования реакторов с коментариями на русском? |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
У меня вообще такая штука реализована, но немного по другому. Имею дело в основном только с чертежами слаботочки, то имеется куча кнопочек с условными обозначениями, отрисовки кабелей различного типа и т. д. и еще всякую ерунду для выносок, надписей и оформления чертежа. Суть в том что при вставке соответствующего блока или отрисовке типа линии они у меня всегда попадают в соответствующий стандартный слой.
Есть у этой медали и оборотная сторона. Когда черчу что либо для себя нестандартное, забываю переключать слои, матюгаюсь переключая цвета и т. д. Отслеживать с помощью :VLR-AcDb -Reactor конечно хорошо, но для подобной проги главное это широкие возможности по настройке и конечно поддержка различных профилей. Ну скажем рисую я окружность. В какой слой она должна попасть :?: Проблемм для обсуждения тут много. Проще (или не проще?) создавать стандартные кнопки. Ну скаже "жмямкнул" кнопку "осевая линия" и загрузился нужный тип линии а текущим стал слой "Осевые линии", ну и конечно началась отрисовка линии. |
|||
|
||||
Регистрация: 21.08.2003
Штаб
Сообщений: 943
|
>>Fantomas
До этого так и делал (и сейчас так делаю, пока), т.к. в 2005-м Акаде, даже не надо макрос писать. Там есть Tool Pallette. Не спорю стандартные примитивы обрабатывать таким простым алгоритмом не стоит (если линия, то полезай в слой ЛИНИЯ, если окружность, то полезай в слой ОКРУЖНОСТЬ и т.д.) А вот текст, заливка и размеры в простых чертежах вполне можно кидать на один, соответствующий примитиву слой. А вообще-то я хочу научиться работать с реакторами |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Дополню свое сообщение:
того реактора, что я указал, маловато будет. Надо еще отслеживать событие завершения команды. Потому что, например, командой _LINE до ее завершения можно создать несколько отрезков. Вполне возможно, что всплывут и другие нюансы при реализации... ИМХО: реакторы пока не получили широкого распространения среди LISP-программистов потому, что нигде толком не описана последовательность событий. Как правило приходится тыкаться носом, а это отнимает время...
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
> Torino
Я пока тот постинг писал, уже два других "прошли". Вот примерчик того чего вы хотите. Загрузите и после отрисовки каждого примитива он будет сообщать о том что вы нарисовали. Соответственно реагирующая функция может анализировать свойства этого примитива и что либо делать. Однако нельзя использовать COMMAND. Код:
|
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Где взял - не помню. Готов поделиться.
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
строительство Регистрация: 16.01.2004
Петербург
Сообщений: 165
|
>kos
Цитата:
завершения команды(создания) и реактор начинает работать в тот же момент. Т.е. изменить свойства примитива из реагирующей функции на событие :vlr-objectappended невозможно.(объект еще не создан). |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Цитата:
Всем Большой пардон, пошта работает с проблемами. Всем желающим, конечно вышлю, но не ругайте меня за то, что не моментально. Терпение, господа, терпение...
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Grinzaid, отправлено.
Torino, отправляется... Админу: может выложить сей документ в download? Учитывая интерес публики и проблемы с почтой. Кстати, давайте проведем инвентаризацию: у кого что из документации имеется. И создадим autokad.ru - библиотеку.
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||
|
||||
LISP-программист Регистрация: 25.08.2003
Тутэйшы
Сообщений: 238
|
Цитата:
Mail delivery error, если, конечно, я иностранные буквы не попутал. Пробую повторить...
__________________
Там все есть для счастья - меня там только нет. Так это значит, что я там - буду! |
|||