|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как программно переключить/активировать определённый фильтр слоев?
Инженер-строитель
Киров
Регистрация: 15.08.2007
Сообщений: 2,204
|
||
Просмотров: 7336
|
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Я так понял на оба вопроса ответ отрицательный.
Всё же наберусь наглости и ещё спрошу. Как программно можно переключить/активировать определённый фильтр слоев? ЗЫ Только тогда наверно надо перенести тему в раздел "программирование" |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Дык ета... Создал фильтр, вызвал окно слоев, в левой части жмякнул на фильтр, [OK]. Или я чего-то не понял?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Мне не нравится, что надо каждый раз вызывать "Диспетчер свойств слоев" -> выбрать фильтр -> нажать Ок. Много лишних движений.
На пульте управления это все делается с помощью "Элемента управления фильтрами слоев", через выпадающий список. Это очень удобно. Но монитор у меня не огромен, поэтому пульт управления не висит постоянно на экране, а вызывается мной по мере надобности. Поэтому получается такая же трёхходовка: Вызвать пульт управления -> выбрать фильтр -> закрыть пульт управления. Смысл сообщений в 1,2 постах сводится именно к этому. ЗЫ. Я уже кое до чего докопался в лиспе. Чуть позже выложу. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Разобрался, как получить список имен фильтров. Вот код для теста:
Код:
Цитата:
![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Makswell, переименовывай, я перенесу
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Кстати, в процессе поисков наткнулся на недокументированую команду FILTERS (ФИЛЬТРЫ). В хелпе о ней нет никакой информации.
ЗЫ Может кто подскажет, как узнать (в смысле программно), какой фильтр выбран (активен). Хотя бы так. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Фильтры слоёв представлены объектами типа XRECORD.
Например фильтр слоёв с именем "M-Отверстия", который активен, имеет такоё DXF-представление Цитата:
Как работать с X-записями? Что-то я в этом не очень. Как, например, удалить из этого списка пару '(290 . 1) так, чтобы в базе рисунка эта X-запись изменилась? Для графических примитивов использовалась entmod, а здесь как? |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
Может не совсем понятно?
Эти Х-записи являются объектами словаря "ACLYDICTIONARY" (словарь фильтров слоёв по свойствам), который можно получить так: Код:
Цитата:
Признаком того, что фильтр выбран (активен) является наличие в его DXF-представлении списка '(290 . 1) Соответственно моя цель из нужной Х-записи удалить этот список, а другую нужную добавить. Вот, вроде понятно написал. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
В DwgRuLispLib смотрел?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Makswell, Снабдил коментариями. Должен разобраться. Данный пример отключает текущий фильтр слоев
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
В приложенном файле находятся функции для работы с фильтрами слоёв.
В общем-то ничего нового, всё так или иначе обсуждалось здесь. Просто тема получила продолжение здесь: http://www.caduser.ru/forum/index.ph...D=23&TID=46998 Поэтому долго ничего объяснять не буду, если интересно, почитайте. P.S. Все с нетепением ждут VVA ))) |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Makswell, А чего меня ждать? У меня результат такой же
![]() Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |