|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
1 | | #1 |
Выделение примИтивов на слое одним кликом
проектирование
Родом из солнечной системы
Регистрация: 06.12.2006
Сообщений: 60
|
||
Просмотров: 10813
|
|
||||
Регистрация: 22.10.2007
Челябинск->Москва<->Бомбей
Сообщений: 857
|
Как вариант, не в один клик, но все-таки, через быстрый выбор, предварительно выбрав все на чертеже (Ctrl+А по умолчанию), установить свойства объектов Слой, значение Название слоя необходимого, ну и оставить включить в новый набор птичку!
|
|||
![]() |
|
||||
Цитата:
![]() ![]()
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Если промахнешся - напишет "неверный тип аргумента: lentityp nil" и ничего не "обнилиться" (я так понял что это не орфографическая ошибка, а от слова nil) - из любви к искуству можно конечно проверять выбор но ИХМО в данном конкретном случае это не нужно кроме как другой надписи НИЧЕГО не изменится про ту, в общем наверно полезную, добавку которую Вы "самододумали" - вот она ихмо недоделенна - если уж все слои выключил - то надоб и придумать, чтоб как-то все включить (или по меньшей мере startundomark предусмотреть).
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 12.07.2011 в 16:52. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Тему пора переносить в раздел программирования
![]() Мой вариант Код:
__________________
cadtools |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Мой вариант
1. Выделяет все объекты со слоя образца. Позволяеть использовать SHIFT для добавления / удаления 2. Наличие установленного Express Tools обязательна 3. Вызывать на исполнетие так (layselect)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
честно говоря, несколько удивлён велосипедостроению предложенным выше вариантам решения... А что, кто-то предал анафеме использование _qselect?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
|
||||
![]() |
|
||||
Цитата:
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 12.07.2011 в 20:59. |
||||
![]() |
|
||||
а что мешает посмотреть, выделив интересующий примитив? Или это идёт совместное "додумывание" мысли автора топика, мол одним кликом, да чтоб за пивом сбегала и носки заодно постирала?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Цитата:
п.с. всё что написано выше (во всех моих постах топика) - писалось без сарказма (недоумение и сарказм - разные вещи). Обидчивых просьба особо не обижаться...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
К тому же я несколько раз убеждался, что если чертеж очень насыщен (т. е. число около 100 тысяч.), то ssget с фильтрами работает гораздо быстрее, чем _qselect
__________________
cadtools |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
hwd, что-то ты не туда загнул. Посмотри, что получается: есть набор команд работы со слоями. Мы можем кликнуть на объекте и слой, на котором отрисован объект, отключается. Или замораживается. Или блокируется. Или изолируется. А зачем нужны эти команды практически одного клика? Ведь следуя твоей логике, можно выделить объект, посмотреть его слой и потом в диспетчере слоев сделать этот слой текущим. Или заморозить его. Или заблокировать его. Или изолировать его. Но это не самый короткий путь. Команда "_qselect" - мощная команда выбора объектов по многим параметрам. У нас же требуется простейшая по выполнению команда, которая, к сожалению, не вошла в тот набор команд работы со слоями, который я упомянул выше. Я думаю, что такая команда "Выбор всех объектов на слое выбранного объекта" вполне могла бы войти в набор штатных команд. Поэтому автор темы и спрашивал, есть ли такая команда в AutoCAD'е...
|
|||
![]() |
|
||||
инженер-электрик Регистрация: 21.10.2010
Краснодар
Сообщений: 134
|
TararykovDG надо бы таблицы добавить в список выделяемого
![]() Или это у меня чего-то не пашет.... Да, точно с экспрессовским Fastsel спуталось, а _fast_select почему-то работать отказыватся хм... Разобрался ) засада со скобочками, не обратил внимания сразу ) Последний раз редактировалось angel-fear, 13.07.2011 в 09:09. |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
sbi, что это ты такое загнул?
[quote]А я,собственно, вот что имел в виду: автор темы желает автоматизировать некую операцию при работе с AutoCAD'ом. И очень странно видить критику этого от человека, который сам автоматизирует работу в AutoCAD'е и уже давно. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Offtop: то TararykovDG - программа написанна классно (по крайней мере мне нравится) - но критика (не то чтоб критика но момент который лично мне "глаз резанул") есть - принимаешь?
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Offtop: конечно принимаю, говорите
__________________
cadtools |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Еще раз повторю - все красиво (это мои личные тараканы):
1. Строка 38 (vla-get-EffectiveName (vlax-ename->vla-object (car obj))) - это происходит на каждой итерации - "залямбдить" до цикла. 2. Тут уже более мелочное но - строка 39 ты уже в 37 все равно перевел набор в список - фильтруй его (и возращай из полученного списка набор) - ты же по сути на каждой итерации "крутишь" переменную nbr (не аргумент а именно переменную - и чистота функции теряется), если что-то впоследствии решить добавить в цикл - что там у тебя в наборе??? - потенциальная ошибка из серии хрен найдешь.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Э...
Select Similar бы усовершенствовать (пардон за повтор, но люди увлеклись дискуссией у кого код длиннее ![]() Есть же это замечательное творение Александра Ривилиса. Но в нем прошита чувствительность к типу указаного элемента-образца. Если в Select Similar Settings оставить только слой, то, в принципе она могла бы и находить все элементы слоя. Почему бы хорошо усовершенствовать Select Similar: 1. чтобы не плодились кнопочки-лиспы, 2. потому что она решает очень похожую задачу ("одной кнопкой выделить некое все по указанному элементу"). Кстати, все это со всяческим глубоким уважением к создателям лиспов. Последний раз редактировалось АлексЮстасу, 13.07.2011 в 15:55. |
||||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Дима_, в общем, со всем согласен. 1-ый пунк более очевиден чем 2-ой, зато 2-ой потенциально более опасен, как Вы сказали при добавлении кода в цикл. Я бы еще добавил одну lambd'у, чтобы избавиться от постоянного (car obj) и (entget (car obj)). Еще нашел ошибку, в строке 43 (ssget "_X" (list (cons 0 "INSERT") (cons 2 (strcat "`*U*," (cdr (assoc mode (entget (car obj)))))))), если изначально выбранный блок был динамическим, то (cdr (assoc mode (entget (car obj)))) может вернут *U... и в фильтруемый набор не попадут те вхождения дин. блока у которых (cdr (assoc mode (entget (car obj)))) возвращает полноценное имя блока.
P. S. Еще один минус, в старых ACAD'ах нет свойства EffectiveName и код работать не будет, можно заменить EffectiveName, на это Имена динамических блоков АлексЮстасу, Вашу просьбу может удовлетворить только Александр Ривилис, а наша дискуссия этому никак на мешает и не помогает
__________________
cadtools |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Справочный размер одним кликом | Jonas | AutoCAD | 9 | 13.05.2011 13:42 |
Выбор всех примитивов одним кликом | DANZZ | AutoCAD | 5 | 12.08.2006 17:49 |