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

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

Как выделить объекты на слое

Ответ
Поиск в этой теме
Непрочитано 17.08.2009, 13:21 #1
Как выделить объекты на слое
Serjik7
 
Регистрация: 13.08.2009
Сообщений: 46

Добрый день!

Подскажите пожалуйста как выделить все объекты на одном конкретном слое? Что бы не прятать другие слои.

Спасибо!
Просмотров: 12144
 
Непрочитано 17.08.2009, 13:24
#2
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


_qselect
Хмурый вне форума  
 
Непрочитано 17.08.2009, 13:24
#3
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Быстрый выбор и далее по смыслу. Вроде.
__________________
Я дарю не рыбу, а удочку и море.
www.zodchii.ws,
Библиотеки электронных книг
Download
BM60 вне форума  
 
Автор темы   Непрочитано 17.08.2009, 13:33
#4
Serjik7


 
Регистрация: 13.08.2009
Сообщений: 46


_qselect надо писать в командной строке когда находишся на нужном слое?
Serjik7 вне форума  
 
Непрочитано 17.08.2009, 13:35
#5
Кулик Алексей aka kpblc
Moderator

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


А попробовать? Это не больно.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.08.2009, 13:35
#6
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


меню: сервис-> быстрый выбор или с ком. строки.
находится можно на любом слое.
в диалоговом окне задай критерий выбора "Слой"
Хмурый вне форума  
 
Автор темы   Непрочитано 17.08.2009, 14:08
#7
Serjik7


 
Регистрация: 13.08.2009
Сообщений: 46


Спасибо все получилось, сначало просто ступил))
Serjik7 вне форума  
 
Непрочитано 09.07.2012, 12:11
#8
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


а есть ли лисп, который по клику на объекте скопирует все объекты в буфер??
timoshetc вне форума  
 
Непрочитано 09.07.2012, 13:32
#9
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от timoshetc Посмотреть сообщение
а есть ли лисп, который по клику на объекте скопирует все объекты в буфер??
Вообще все объекты или с одного слоя?

Есть лисп, который по клику на объекте подсвечивает на чертеже все примитивы с определенными, совпадающим свойствами LISP / Быстрый выбор примитивов по образцу. Далее скопировать все выделенные объекты в буфер обмена не составит труда.
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.07.2012, 14:08
#10
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


да, все объекты с этого слоя!
п.с. я нашел макрос, который оставляет видимым выбранный слой. но хотелось бы еще упростить действия. как это можно реализовать?
timoshetc вне форума  
 
Непрочитано 09.07.2012, 15:05
#11
CaMoCAD


 
Регистрация: 25.03.2008
Зелик
Сообщений: 1,602


Цитата:
Сообщение от timoshetc Посмотреть сообщение
да, все объекты с этого слоя!
п.с. я нашел макрос, который оставляет видимым выбранный слой. но хотелось бы еще упростить действия. как это можно реализовать?
Замечательный прямо таки макрос, состоящий из 1-й штатной команды autocad'а- ^C^C_layiso.
Как бы то ни было, дописать его труда не составит - ^C^C_layiso;_ai_selall;_copyclip
Запускать с выделенным элементом на требуемом слое.
__________________
* Буква "ё" не используется в тексте исключительно в связи с требованиями ЕСКД.
CaMoCAD вне форума  
 
Непрочитано 09.07.2012, 15:55
#12
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


_ai_selall; лучше бы заменить на _select;_all;;
Profan вне форума  
 
Непрочитано 09.07.2012, 16:39
#13
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


если вам не трудно, напишите как это выглядит целиком.
видимо у меня руки кривые(
 ^C^C_layiso;_select;_all;_copyclip

это я сделал кнопку...но не работает(

и еще.
как прописать в _qselect по умолчанию по слою все объекты.. а скопировать я и так смогу

Последний раз редактировалось timoshetc, 09.07.2012 в 17:07.
timoshetc вне форума  
 
Непрочитано 09.07.2012, 20:05
#14
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Хотел предложить вот такой макрос:
Код:
[Выделить все]
^C^C_layiso;\;_select;_all;;_copyclip;_p;;_layon;
Однако, обнаружил, что выражение _select;_all;; выбирает объекты и на выключенных слоях, точно так же, как _ai_selall;.
Profan вне форума  
 
Непрочитано 09.07.2012, 20:35
#15
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Profan, а на замороженных тоже выбирает?
Хмурый вне форума  
 
Непрочитано 09.07.2012, 20:47
#16
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Я для упрощения работал с AutoCAD 2005, там _layiso только отключает ненужные слои. В последних версиях можно сделать так, чтобы ненужные слои блокировались и тогда объекты на них не должны выбираться.
Объекты на замороженных и блокированных слоях не попадают в набор выбора при использовании команд _select _all и _ai_selall.
Profan вне форума  
 
Непрочитано 10.07.2012, 09:36
#17
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


Profan, не работает. он так же оставляет этот слой видимым. а в буфер не копирует
timoshetc вне форума  
 
Непрочитано 10.07.2012, 09:47
#18
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Попробуй вот такой макрос:
Код:
[Выделить все]
^C^C_layiso;\;_select;_all;;_copyclip;_p;;_layuniso;
Проверял на AutoCAD 2011.
Profan вне форума  
 
Непрочитано 10.07.2012, 09:54
#19
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от timoshetc Посмотреть сообщение
и еще.
как прописать в _qselect по умолчанию по слою все объекты.. а скопировать я и так смогу
timoshetc, чем же не подошел мой вариант из поста #9
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 10.07.2012, 12:36
#20
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


TararykovDG, если честно, я не разобрался как им воспользоваться...стыдно признать...как его сохранить и потом запустить??

не могли бы помочь??
timoshetc вне форума  
 
Непрочитано 10.07.2012, 12:53
#21
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от timoshetc Посмотреть сообщение
TararykovDG, если честно, я не разобрался как им воспользоваться...стыдно признать...как его сохранить и потом запустить??

не могли бы помочь??
Как использовать код на Лиспе
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 10.07.2012, 14:13
#22
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


TararykovDG, у меня проблема ( а может и не проблема) в том, что копируются еще и номера строк. и не читается лисп потом
timoshetc вне форума  
 
Непрочитано 10.07.2012, 14:19
#23
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А что с макросом-то из сообщения 18?
И какая версия AutoCAD?
Profan вне форума  
 
Непрочитано 10.07.2012, 14:29
#24
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


Profan, у меня акад 08. при выполнение макроса на чистый лист вставляется 2 угловых размера, хотя я копирую текстовые объекты. и копирует все существующие слои на новый чертеж, причем они выключены.

TararykovDG, все работает - все дело в кривых руках))
остается один вопрос как эту функцию посадить на кнопку, с возможностью ввода аргумента!
большое спасибо за терпение и ответы!
timoshetc вне форума  
 
Непрочитано 10.07.2012, 14:35
#25
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Тебе надо изменить параметры команды "_layiso" ("слойотд").
Profan вне форума  
 
Непрочитано 10.07.2012, 14:46
#26
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


Profan, как?)) напиши целиком если не сложно
timoshetc вне форума  
 
Непрочитано 10.07.2012, 14:48
#27
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от timoshetc Посмотреть сообщение
остается один вопрос как эту функцию посадить на кнопку, с возможностью ввода аргумента
Про аргумент не понял, что еще за аргумент. У меня сделано так. Лисп в автозагрузке, отдельная панель "Быстрый выбор" из нескольких кнопок, а на кнопках
Код:
[Выделить все]
^C^C(fast_select 0)
^C^C(fast_select 2)
^C^C(fast_select 8) ; ваш случай для выбора по слою
... ну и так далее
__________________
cadtools

Последний раз редактировалось TararykovDG, 10.07.2012 в 15:03.
TararykovDG вне форума  
 
Непрочитано 10.07.2012, 14:59
#28
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Могу еще лисп предложить:
Код:
[Выделить все]
(defun C:SEL_CLIP ( / echo sen ent lay ss len)
      (setq echo (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (princ "\n Определение слоя по объекту.")
      (setq sen (entsel " Выберите нужный объект: "))
(if sen
      (progn
      (setq ent (entget (car sen)))
      (setq lay (cdr (assoc 8 ent)))
      (setvar "CLAYER" lay)
      (setq ss (ssget "_X" (list (cons 8 lay))))
      (setq len (sslength ss))
      (sssetfirst nil ss)
      (sssetfirst ss ss)
      (vl-cmdf "_copyclip" "_p" "")
;      (sssetfirst nil nil)
      (princ "\n Слой: ") (princ lay)
      (princ "  Скопировано в буфер объектов = ") (princ len)
      )
      (princ "\n Объект не выбран!")
); if sen
      (setvar "cmdecho" echo)
      (princ)
)
Если код сохранить в файле sel_clip.lsp, то макрос на кнопку может иметь вид:
Код:
[Выделить все]
^C^C(if (not C:SEL_CLIP) (load "sel_clip")) SEL_CLIP
Сам файл должен находиться на пути доступа AutoCAD к файлам поддержки.

Последний раз редактировалось Profan, 10.07.2012 в 18:41.
Profan вне форума  
 
Непрочитано 10.07.2012, 15:17
#29
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


Profan, TararykovDG, огромное спасибо!

может посоветуете что нибудь почитать про Лисп??? уж очень заинтересовала эта тема. да и глупым выглядеть не очень)))
timoshetc вне форума  
 
Непрочитано 10.07.2012, 15:24
#30
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Вот тема:
http://forum.dwg.ru/showthread.php?t=82319
Profan вне форума  
 
Непрочитано 10.07.2012, 17:28
#31
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


Profan, все работает. только когда имя файла и функции в лиспе одинаковые. по твоему варианту не хотел работать)
огромное спасибо твой лисп именно то что я и хотел!
timoshetc вне форума  
 
Непрочитано 10.07.2012, 18:43
1 | #32
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


timoshetc, правильно, у меня несколько похожих программ и при копировании сюда я слегка перепутал.
Подправил сообщение 28.
Profan вне форума  
 
Непрочитано 12.07.2012, 16:34
#33
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


есть еще один вопрос:
в экспесс тулс есть функция обход слоев, можно ли сделать лисп который бы оставлял включенным несколько слоев, по выбранным на чертеже объектам?
timoshetc вне форума  
 
Непрочитано 13.07.2012, 05:17
1 | #34
Astartes

Котло- и реакторостроение
 
Регистрация: 25.02.2010
Барнаул
Сообщений: 825


Цитата:
Сообщение от timoshetc Посмотреть сообщение
есть еще один вопрос:
в экспесс тулс есть функция обход слоев, можно ли сделать лисп который бы оставлял включенным несколько слоев, по выбранным на чертеже объектам?
В 2008 насколько я помню команда в Экспресс тулс. В новых версия када, она переехала в стандарнтые команды на панель Слои-2.
Изолировать слой (layer isolate) Выделяешь по одному объекту на слоях которые хочешь оставить и все.
Astartes вне форума  
 
Непрочитано 16.07.2012, 11:37
#35
timoshetc


 
Регистрация: 04.07.2012
Сообщений: 36


спасибо Astartes, я всегда пользуюсь этой панелью, но вот до этой кнопки дело никогда не доходило)))
timoshetc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как выделить объекты на слое



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как программно, в чертеже, выделить группы vasyavip Программирование 2 21.01.2009 10:12
Программно выделить линии и объекты, имеющие точки соприкосновения SIvan Программирование 6 24.07.2008 07:50
Как выделить объекты которые по X больше чем по Y dextron3 Программирование 2 27.10.2007 21:22
Как сделать чтобы линия рисовалась в определенном слое dextron3 AutoCAD 4 19.03.2007 10:48
Как получить объекты из блока? ivspec Программирование 4 03.04.2006 15:35