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

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

Команда SELECT и предварительный выбор

Ответ
Поиск в этой теме
Непрочитано 09.09.2004, 09:57 #1
Команда SELECT и предварительный выбор
Admin
Administrator
 
Регистрация: 21.08.2003
Сообщений: 4,468

Хочу с помощью SELECT выбрать набор объектов для дальнейшей работы с ними, например слой поменять.

Захожу выбираю секущей, после второго предложения жму ПК или Ентер. По логике выбор должен сохраниться. Однако все возвращается в исходную.

Это только у меня так или так задумано было?

Код:
[Выделить все]
Command: SELECT

Select objects: f

First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
47 found

Select objects:

Command:
Просмотров: 14012
 
Непрочитано 09.09.2004, 11:02
#2
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Команда SELECT сохраняет набор выбранных объектов. Можно воспользоваться опцией P на запрос выбора объектов в следующей команде.
KSI вне форума  
 
Автор темы   Непрочитано 09.09.2004, 11:10
#3
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,468


В том то и дело что необходимо выбрать объекты не входя в команду (поменять свойства), иначе этот же fence и из команды можно вызвать на запрос выбора объектов, не прибегая к SELECT
Admin вне форума  
 
Непрочитано 09.09.2004, 11:27
#4
Lenich

Опер дир
 
Регистрация: 28.04.2004
Москва
Сообщений: 291


Цитата:
Это только у меня так или так задумано было?
Думеается, что так и задумано.
Цитата:
The selection mode you enter remains active only for the current Select Objects prompt.
Lenich вне форума  
 
Непрочитано 09.09.2004, 11:38
#5
Эдуард

строительство
 
Регистрация: 16.01.2004
Петербург
Сообщений: 165
<phrase 1=


1.Выбрать объекты командой Select
2.Запустить команду Properties
3.Нажать кнопку Select object
4.В командной строке ввести P
Эдуард вне форума  
 
Автор темы   Непрочитано 09.09.2004, 12:05
#6
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,468


логично.
тогда так проще:
1.Запустить команду Properties
2.Нажать кнопку Select object
3.Выбрать любым способом

Ладно... про "(поменять свойства)" это я плохой пример привел.

Конкретно хотел изменить свойства через TOOLBAR [_Control(_Layer)] (это выпадающий список слоев в панели) - сила привычки знаете ли :).
Команда при этом никакая не вызывается. Рамкой выбираю объекты и показываю слой куда положить. Но в конкретном случае понадобилось выбрать не рамкой, а секущей. Не получилось.

Отсюда возникает вопрос - зачем нужна команда SELECT ???
Admin вне форума  
 
Непрочитано 09.09.2004, 12:06
#7
Lenich

Опер дир
 
Регистрация: 28.04.2004
Москва
Сообщений: 291


Или тогда pselect.
Lenich вне форума  
 
Автор темы   Непрочитано 09.09.2004, 12:09
#8
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,468


Цитата:
Сообщение от Lenich
Или тогда pselect.
О!
то что доктор прописал :)
Admin вне форума  
 
Непрочитано 09.09.2004, 14:44
#9
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,202
<phrase 1=


хорошая штука, но вот описание ее я не только ни в одной книжке не нашел, но даже и в хелпе ее нет.
Apelsinov вне форума  
 
Непрочитано 09.09.2004, 15:04
#10
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Как зачем нужна команда SELECT? Она незримо присутствует во всех командах редактирования - когда запрашивается выбор объектов.
KSI вне форума  
 
Непрочитано 09.09.2004, 19:15
#11
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


PSELECT?
Нету такой... :roll:
Акад 2005.
Стоят Express'ы и ToolPac.
Torino вне форума  
 
Непрочитано 09.09.2004, 20:50
#12
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Про PSELECT погляди здесь http://autokad.ru/forum/viewtopic.php?p=10314#10314 Как то доводилось ее мучить в "автономном плавании". Она не сразу загружается, видать, потому что несколько специфична.
На 2005 этот способ не проверял.
vk вне форума  
 
Непрочитано 10.09.2004, 04:01
#13
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


KSI> Команда Select нужна для создания набора элементов, который может быть вызван последующей командой. Применяется большей частью в программировании, а также в практическом черчении, что и хотел сделать Admin
Admin> .
1. Select. Выдели объекты
2. Работа с чертежом
3. Приспичило выделенным ранее объектам поменять свойства именно через выпадающий список, как ты привык. Набирай Pselect и на запрос "Что?" ответь P (Previous) и дважды Enter
4. Открывай выпадающий список и меняй
Все будет работать, если в п.2 не будет ничего модифицироваться, типа Copy, Move и т. д. так как это изменит Previous Selection Set. Чтобы от этого не зависеть, вместо команды Select используй команду Group. Но тут надо в зависимости от ситуации поиграть с переменной Pickstyle (Можно Ctrl+H и Ctrl+Shift+A)
Или используй такое выражение в командной строке: (setq A (ssget))
Далее для выделения набора объектов в случае группы вводишь G и ее имя, а в случае выражения Lisp'a вводишь !A ("A" это твое имя набору. В качестве имени нельзя использовать голые цифры
Таким способом можно создавать сколько угодно разных наборов элементов. При использовании Group они сохранятся в файле, при использовании Lisp-выражения только в этой сессии с файлом
VK> что значит - "она не сразу загружается"?
Vova вне форума  
 
Автор темы   Непрочитано 10.09.2004, 08:28
#14
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,468


>>Vova
Спасибо за подробный ответ.
Pselect - вполне удовлетворяет в той ситуации
Admin вне форума  
 
Непрочитано 10.09.2004, 14:19
#15
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
VK> что значит - "она не сразу загружается"?
Ну так вот... Пока окно свойств не вызвать - в текущем сеансе АКАД нет ее... И автозагрузка не предусмотрена...
vk вне форума  
 
Непрочитано 10.09.2004, 15:02
#16
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Да, была такая мысль и пропала. После первого вызова окна даже при его погашении команда появляется на весь сеанс
Vova вне форума  
 
Непрочитано 10.09.2004, 15:43
#17
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Вот в том и прикол :!:
В общем, когда в той теме, ссылку на которую я давал, столкнулся с этой особенностью, пришлось внимательно проанализировать список загруженных файлов (видно в окне APPLOAD) и найти в чем разница до первого нажатия Ctr+P и после. Оказалось, что команда (точнее ARX-файлик) автоматом грузится как раз из окна свойств и никак иначе. Можно конечно и ручками его подгружать или Лиспом....
vk вне форума  
 
Непрочитано 12.08.2009, 10:18
#18
Pipe

инженер ОВиК
 
Регистрация: 20.11.2006
Москва
Сообщений: 115


Ребята, а подскажите, где нужно галку убрать/поставить, что команда select fence выделяла объекты от того места, где я указал, а не только в области экрана. А то неудобно: указал первую точку выделения, приблизил, чтобы поставить вторую, ввод, а в выделение попало только то, что было в области экрана.
Pipe вне форума  
 
Непрочитано 12.08.2009, 10:24
#19
Хмурый


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


Pipe, нет такой галки
Хмурый вне форума  
 
Непрочитано 12.08.2009, 11:02
#20
Pipe

инженер ОВиК
 
Регистрация: 20.11.2006
Москва
Сообщений: 115


Цитата:
Сообщение от Хмурый Посмотреть сообщение
нет такой галки
Жалко, команда удобная, но вот если б не эта фигня.
Pipe вне форума  
 
Непрочитано 19.02.2010, 11:30
#21
Bonifatcu

РЗиА
 
Регистрация: 03.02.2010
Белгород
Сообщений: 14


Внесу свою ложку... Долго пытался "победить" предварительный выбор. В функционировании обычных команд, при включенном предварительном выборе, есть два противоположных варианта:
- сначала нажимаем кнопку, затем выбираем объекты;
- сначала выбираем объекты, затем нажимаем кнопку.
При отключенном предварительном выборе, при нажатии кнопки выбранные до этого объекты "сбрасываются", аналогично команде pselect. ИМХО не универсально, да и большинство пользователей работают с включенным предварительным выбором.
А при составлении своих макросов возникают проблемы, для примера макрос (сначала перемещает объекты, потом их же копирует):
1.
Код:
[Выделить все]
^C^C_move;\\;\\_copy;_p;;
Минусы: после команды "_move" выбираем объекты рамкой "\\", но стоит ошибиться в выборе и все заново; вторая проблема - если выбрать объекты заранее и потом нажать кнопку команда срабатывает неверно (предварительный выбор!).
2.
Код:
[Выделить все]
^C^C_select;\_move;_p;;\\_copy;_p;;
Используя "_select" решаем проблему с возможным ошибочным выбором объектов - можно сколько угодно добавлять, исключать, обводить объекты, но остается проблема с предварительным выбором.
3.
Код:
[Выделить все]
^C^C_select;$M=$(if,$(getvar,cmdactive),\,)_move;_p;;\\_copy;_p;;
DIESEL решает проблему, теперь можно процесс выбора объектов и нажатия кнопки выполнять в любой последовательности, с включенным предварительным выбором.
$M=$(if,$(getvar,cmdactive),\,) - проверяется, если после нажатия кнопки активна команда (здесь это "_select"), то пользователю дается возможность сделать выбор объектов "\", если активной команды нет, значит объекты были выбраны предварительно и можно продолжать выполнение макроса.
__________________
Лучше день потерять, потом за пять минут долететь!
Bonifatcu вне форума  
 
Непрочитано 19.02.2010, 13:39
#22
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Bonifatcu Посмотреть сообщение
есть два противоположных варианта
Регулируемые системной переменной pickfirst.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.02.2010, 22:53
#23
Bonifatcu

РЗиА
 
Регистрация: 03.02.2010
Белгород
Сообщений: 14


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Регулируемые системной переменной pickfirst.
Не, оба варианта возможны при значении pickfirst = 1 (Предварительный выбор включен). Т.е. выбираем объекты жмем кнопочку, например, копировать и собственно копируем; или сначала нажимаем кнопочку копировать, потом выбираем объекты, и копируем.
При pickfirst = 0 возможно только второе.
Не совсем регулирование, скорее косвенное влияние
__________________
Лучше день потерять, потом за пять минут долететь!
Bonifatcu вне форума  
 
Непрочитано 20.02.2010, 05:56
#24
Profan


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


Именно регулирование, блин. При чем тут DIESEL? Можно и AutoLisp приплести.
Profan вне форума  
 
Непрочитано 20.02.2010, 14:59
#25
Bonifatcu

РЗиА
 
Регистрация: 03.02.2010
Белгород
Сообщений: 14


Цитата:
Сообщение от Profan Посмотреть сообщение
При чем тут DIESEL?
Вроде бы подробно расписал... Попробуйте приведенные мной макросы вставлять в кнопки, поймете проблему. Попробуйте последний макрос с DIESEL. Если можно обойтись без него буду рад узнать решение.
__________________
Лучше день потерять, потом за пять минут долететь!
Bonifatcu вне форума  
 
Непрочитано 20.02.2010, 15:38
#26
Profan


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


Ты не понял назначение переменной pickfirst. А DIESEL - это другая история. Этот язык существовал еще до pickfirst.
Profan вне форума  
 
Непрочитано 21.02.2010, 18:26
#27
Bonifatcu

РЗиА
 
Регистрация: 03.02.2010
Белгород
Сообщений: 14


Цитата:
Сообщение от Profan Посмотреть сообщение
Ты не понял назначение переменной pickfirst
Значение pickfirst = 1 дает возможность выбрать объекты до запуска команды. Что-то еще..?
__________________
Лучше день потерять, потом за пять минут долететь!
Bonifatcu вне форума  
 
Непрочитано 21.02.2010, 19:25
#28
Profan


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


Установи pickfirst в 0, выдели объект и попробуй стереть его клавишей DEL...
Выдели объект и посмотри, как изменилось отображение текущего слоя в выпадающем списке слоев...
А DIESEL и AutoLisp, и ObjectARX призваны решать всякие задачи, но использовать их вместо простого переназначения системной переменной как-то неразумно. Другое дело - версии LT, в которых нет инструментов программирования, - там DIESEL вполне к месту.
Profan вне форума  
 
Непрочитано 24.02.2010, 23:13
#29
Bonifatcu

РЗиА
 
Регистрация: 03.02.2010
Белгород
Сообщений: 14


Чесслово, напоминает разговор слепого с глухим...
Как я понимаю макросы не "пробовали"!?
Стандартные кнопки (переместить, копировать и т.д.) работают в двух "режимах":
1. Сначала нажимаем кнопку потом выбираем объекты;
2. Сначала выбираем объекты потом нажимаем кнопку (само собой, предварительный выбор включен).
Рукописные (чуть более сложные) макросы могут работать только в одном из "режимов". Пример: ^C^C_copy;\;@;\ - работает по первому варианту, и НИКАКИМ образом изменяя переменную pickfirst НЕВОЗМОЖНО заставить сработать команду по второму варианту! Редактируем: ^C^C_select;$M=$(if,$(getvar,cmdactive),\,)_copy;_p;;@;\ - работают оба, одновременно!
Так что приведенное выражение DIESEL и
Цитата:
Сообщение от Profan Посмотреть сообщение
простого переназначения системной переменной
никоим образом не связаны!
__________________
Лучше день потерять, потом за пять минут долететь!
Bonifatcu вне форума  
 
Непрочитано 25.02.2010, 00:32
#30
Chapter

Инженер-проектировщик автомобильных дорог
 
Регистрация: 21.10.2009
Южно-Сахалинск
Сообщений: 245
<phrase 1=


Цитата:
Сообщение от Bonifatcu Посмотреть сообщение
никоим образом не связаны!
Чувак ты сделал что то что работает независимо от значения pickfirst) Я правильно тебя понял?) Если тебя удовлетворяет результат которого ты достиг, то в принципе что ещё тебе нужно?

Offtop:
Мой любимый смайл
Chapter вне форума  
 
Непрочитано 25.02.2010, 06:19
#31
Profan


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


Для Bonifatcu
Да хрен с ними, с макросами, я ими перестал баловаться еще 17 лет назад, когда перешел на AutoLisp. Ты пытаешься доказать, что в переменной pickfirst нет никакого смысла, раз ее можно обойти программированием?
Однако, посмотрю, все-таки, твои макросы.Первый макрос ^C^C_copy;\;@;\ работает так, как и следовало ожидать: если объект выбран заранее, то макрос не работает. А почему? А потому, что предварительный выбор не предоставляет команде "_copy" ("копировать") информацию о базовой точке и параметр @ теряет смысл. По той же причине не работает и макрос ^C^C_select;\;_copy;_p;;@;\. Более того, этот макрос вообще не работает.
Теперь разберем макрос
^C^C_select;$M=$(if,$(getvar,cmdactive),\,)_copy;_ p;;@;\
Прежде всего уберем пробел перед p
1. pickfirst = 1. Предварительного выбора нет. Макрос работает так, как и хотелось. Теперь выберем предварительно объекты. Макрос работает, но в качестве базовой точки выбралось черт знает что, особенно, если перед применением этого макроса выполнялась какая-нибудь команда отрисовки. Вспомним, что "@" обозначает координаты последней указанной точки. Как в этих условиях точно привязать копируемые объекты?
2. pickfirst = 0. Предварительного выбора нет. В новом чертеже нарисуем прямоугольник и выполним макрос. Сработал, как хотелось. Теперь выполним макрос уже для двух (или более) объектов. Опять видим, что базовая точка стала неопределенной. Выберем предварительно объекты и попробуем выполнить макрос. Макрос не работает с предварительным выбором, предлагает выбрать объекты. Более того, не работает и клавиша Delete при попытке стереть выбранные объекты.
Макросы тестировались на AuoCAD 2005 и 2010.

Последний раз редактировалось Profan, 26.02.2010 в 10:09.
Profan вне форума  
 
Непрочитано 26.02.2010, 10:02
#32
Bonifatcu

РЗиА
 
Регистрация: 03.02.2010
Белгород
Сообщений: 14


Цитата:
Сообщение от Chapter Посмотреть сообщение
работает независимо от значения pickfirst) Я правильно тебя понял?
Нет, при значении pickfirst = 0, DIESEL выражение $M=$(if,$(getvar,cmdactive),\,) бессмысленно.
Цитата:
Сообщение от Chapter Посмотреть сообщение
то в принципе что ещё тебе нужно?
Дык вот пытаемся выяснить с Profan, что получилось и для чего

Для Profan
Цитата:
Макрос работает, но в качестве базовой точки выбралось черт знает что
Звиняйте, писал после тяжелого трудового, первое что в голову пришло, потому и получилось кривовато и не обкатанно, но! ...посмотрели вы все таки мой (хоть и "кривоватый") макрос и счас мы до истины доберемся, я думаю...
Цитата:
Первый макрос ^C^C_copy;\;@;\ работает так, как и следовало ожидать: если объект выбран заранее, то макрос не работает. А почему? А потому, что предварительный выбор не предоставляет команде "_copy" ("копировать") информацию о базовой точке и параметр @ теряет смысл.
Вот! Вот она соль, суть проблемы, для этого и DIESEL выражение $M=$(if,$(getvar,cmdactive),\,) и больше не для чего!
В приведенном мной макросе "мешает" параметр @, если взять другой макрос будет "мешать" другой параметр. Т.е. (хотел написать невозможно) у меня не получилось написать универсальный макрос который бы работал и в случае когда объекты выбраны заранее и когда сначала нажата кнопка а потом выбраны объекты.
На сей раз пример из книги В.Свет "Язык макрокоманд и создание кнопок".
^C^C_select;\_move;_p;;\\_rotate;_p;;@;\ - как и в случае с моим примером,
Цитата:
если объекты выбраны заранее, то макрос не работает
Здесь "все портит" \ после _select;
Перепишем макрос:
^C^C_select;_move;_p;;\\_rotate;_p;;@;\ - теперь все работает ТОЛЬКО если объекты выбраны заранее.
Создавать две кнопки для каждого случая? Чуть дополним макрос
^C^C_select;$M=$(if,$(getvar,cmdactive),\,)_move;_p;;\\_rotate;_p;;@;\ - теперь все работает с одной кнопки!
__________________
Лучше день потерять, потом за пять минут долететь!

Последний раз редактировалось Bonifatcu, 26.02.2010 в 10:54.
Bonifatcu вне форума  
 
Непрочитано 03.03.2014, 15:05
#33
pentaone


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


Добрый день! Возникла проблема следующего рода:
Ранее при выборе объектов командой Выбрать(Select) независимо от режима выбора и нажатии пкм(Enter) на выбранных объектах появлялись маркеры в характерных точках.
Сейчас заметил, что при работе данной команды после выбора объектов и нажатии на подтверждение пкм(Enter) командная строка информирует о количестве выбранных объектов и действие команды прекращается, т.е. маркеры не появляются.
Скорее всего за это отвечает какая нибудь переменная, но какая?
pentaone вне форума  
 
Непрочитано 03.03.2014, 15:09
#34
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


тут
Изображения
Тип файла: jpg Снимок.JPG (100.5 Кб, 135 просмотров)
__________________
Век живи, век учись - ...
Bull вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Команда SELECT и предварительный выбор

Реклама i