Фильтр по свойствам с исключением буквы или знака - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Фильтр по свойствам с исключением буквы или знака

Фильтр по свойствам с исключением буквы или знака

Ответ
Поиск в этой теме
Непрочитано 03.06.2014, 16:41
Фильтр по свойствам с исключением буквы или знака
sergeev_2005
 
Проектирование гражданских зданий
 
Санкт-Петербург
Регистрация: 25.03.2010
Сообщений: 90

Можно ли создать фильтр по свойствам, где в имени слоя отсутствовал бы определенный знак (буква) или набор знаков.
Вопрос, как это сделать не используя инвертирование фильтра.
Другое возможное решение вопроса, которое тоже не получается: создать фильтр по свойствам с "ненужными буквами", а затем инвертировать его.
Но печально, что после закрытия и нового открытия файла инвертирование исчезает.
А суть в том, что по умолчанию при открытии файла не хотелось бы видеть слои внешних ссылок.
Возможно ли это?
Просмотров: 5155
 
Автор темы   Непрочитано 06.06.2014, 12:01
#21
sergeev_2005

Проектирование гражданских зданий
 
Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90


Я создавал фильтр не в диспетчере фильтров, а макрокомандой MlayerF.lsp от Kojacek http://discussion.autodesk.com/threa...sageID=1128314, которую откопал в свое время на форуме dwg.ru.
Вот в этом случае фильтр не работает на выпадающий список слоев в классике. А если вручную набить то же имя в диспетчере слоев уже созданного фильтра, то всё становится ОК!
sergeev_2005 вне форума  
 
Непрочитано 06.06.2014, 12:09
#22
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Ну, я создавал фильтры и руками, и программно (правда, не на основе MLayer.lsp. Кстати, по ссылке лично меня "бросает" в никуда).
ИМХО: надо ковырять код или просто заменить его на те, которые на dwg.ru публиковал VVA.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 06.06.2014, 12:42
#23
sergeev_2005

Проектирование гражданских зданий
 
Регистрация: 25.03.2010
Санкт-Петербург
Сообщений: 90


Со ссылкой промахнулся. На самом деле http://forums.autodesk.com/t5/Visual...ter/m-p/843333
Не дашь ли ссылку на аналогичную программу VVA.

----- добавлено через ~50 мин. -----
Нашел ещё одну программку от Владимира Азарко http://www.caduser.ru/forum/index.ph...D=23&TID=46998, пост №7.
Результат тот же. Пока вручную название фильтра не изменишь, в выпадающем списке слои всех ссылок.

Последний раз редактировалось sergeev_2005, 06.06.2014 в 12:54.
sergeev_2005 вне форума  
 
Непрочитано 06.06.2014, 14:30
#24
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Я бы и рад поделиться тем, что у меня есть - но там идет "завязка" на сторонние файлы настроек, где описываются создаваемые слои. А основной код - такой же, как и у всех:
Код:
[Выделить все]
(dictadd dict
                       (cdr (assoc "name" node))
                       (entmakex (list '(0 . "XRecord")
                                       '(100 . "AcDbXrecord")
                                       '(280 . 1)
                                       (cons 1 (cdr (assoc "name" node)))
                                       (cons 1
                                             (cond
                                               ((cdr (assoc "layer" node)))
                                               (t "*")
                                               ) ;_ end of cond
                                             ) ;_ end of cons
                                       (cons 1
                                             (cond
                                               ((cdr (assoc "color" node)))
                                               ((cdr (assoc "col" node)))
                                               (t "*")
                                               ) ;_ end of cond
                                             ) ;_ end of cons
                                       (cons 1
                                             (cond
                                               ((cdr (assoc "linetype" node)))
                                               ((cdr (assoc "lt" node)))
                                               (t "*")
                                               ) ;_ end of cond
                                             ) ;_ end of cons
                                       (cons 70
                                             (_kpblc-conv-value-to-int
                                               (cond
                                                 ((cdr (assoc "flags" node)))
                                                 ((cdr (assoc "fl" node)))
                                                 ) ;_ end of cond
                                               ) ;_ end of _KPBLC-CONV-VALUE-TO-INT
                                             ) ;_ end of cons
                                       (cons 1
                                             (cond
                                               ((cdr (assoc "lineweight" node)))
                                               ((cdr (assoc "lw" node)))
                                               (t "*")
                                               ) ;_ end of cond
                                             ) ;_ end of cons
                                       (cons 1
                                             (cond
                                               ((cdr (assoc "plottable" node)))
                                               ((cdr (assoc "plot" node)))
                                               (t "*")
                                               ) ;_ end of cond
                                             ) ;_ end of cons
                                       ) ;_ end of list
                                 ) ;_ end of entmakex
                       )
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.02.2020, 10:18
#25
Gedezuk5


 
Регистрация: 31.07.2011
Раменское
Сообщений: 185


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Фильтр слоев без внешних ссылок: в имени вбивай критерий и все.
Здравствуйте!
Подскажите, пожалуйста, как нужно записать код в фильтре слоев по свойствам, чтобы в него включались все слои со словом "красная" кроме тех, в которых также содержится слово "ROAD"?
Нашел лишь один оператор, который исключал бы слои - это тильда "~". Но с ним у меня никак не получается составить правильное выражение.
Скрины прикладываю.
Миниатюры
Нажмите на изображение для увеличения
Название: диспетчер.jpg
Просмотров: 8
Размер:	43.2 Кб
ID:	223112  Нажмите на изображение для увеличения
Название: фильтр.jpg
Просмотров: 10
Размер:	85.7 Кб
ID:	223113  
Gedezuk5 вне форума  
 
Непрочитано 14.02.2020, 10:31
1 | #26
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Попробуй сделать два фильтра: например, один по имени "*красная*", второй - по имени "~*ROAD*".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.02.2020, 10:49
#27
Gedezuk5


 
Регистрация: 31.07.2011
Раменское
Сообщений: 185


Пробовал так.
Тильда добавляет все слои, кроме тех, где содержится указанное слово.
Т.е. в итоге у меня появилась куча слоев, не содержащих "ROAD". Но вот слои, одновременно содержащие и "красная" и "ROAD" остались.
Полагаю, что код надо писать в одной строчке. Но пока не нашел, как именно.
Gedezuk5 вне форума  
 
Непрочитано 14.02.2020, 11:06
1 | #28
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Я имел в виду один подчинен другому:
Миниатюры
Нажмите на изображение для увеличения
Название: 2020-02-14_11-05-46.png
Просмотров: 13
Размер:	2.9 Кб
ID:	223120  
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.02.2020, 11:19
#29
Gedezuk5


 
Регистрация: 31.07.2011
Раменское
Сообщений: 185


Ого! Всё получилось!
Спасибо огромное!
Даже не знал о такой функции ))).

Скажите, а есть возможность существующие фильтры перевести в подчинение какому-либо существующему фильтру? Или же сгруппировать фильтры в древовидной структуре, как в Вашем скриншоте? А то приходится пользоваться большим количеством фильтров, хочу привести их в порядок.
Gedezuk5 вне форума  
 
Непрочитано 14.02.2020, 11:22
#30
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431


Цитата:
Сообщение от Gedezuk5 Посмотреть сообщение
есть возможность существующие фильтры перевести в подчинение какому-либо существующему фильтру?
По-моему, перетащить / сменить подчиненность или владельца не получится. Я бы пересоздавал, если честно. Ну или вообще все разносил по разным файлам, а в основной загонял как ссылки.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.02.2020, 11:25
#31
Gedezuk5


 
Регистрация: 31.07.2011
Раменское
Сообщений: 185


Тогда буду пересоздавать.
Спасибо большое за помощь!
Gedezuk5 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Фильтр по свойствам с исключением буквы или знака

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего нужны фильтры слоев?Как ими пользоваться? Aysulu AutoCAD 43 17.04.2019 10:59