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

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

Макрос чтобы не сбрасывалось выделение при перемещении

Ответ
Поиск в этой теме
Непрочитано 09.12.2007, 02:28 #1
Макрос чтобы не сбрасывалось выделение при перемещении
decadent
 
Архитектор
 
Ростов-на-Дону
Регистрация: 01.01.2006
Сообщений: 6

Подскажите пожалуйста, какой макрос надо вписать в команду Move, чтобы после перемещения не сбрасывалось выделение с объектов?
Просмотров: 6068
 
Непрочитано 09.12.2007, 06:55
#2
Vova

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


Зачем? Как долго сохранять выделение? (типа на сколько последующих команд. Или на сколько минут). Нужно-ли сохранять выделение от других команд, например, Copy? Далее, решил применить команду Rotate к какому-то объекту. Откуда автокад узнает, к какому именно, ведь многие выделены. Думаю, если будешь искать ответы на эти вопросы, сам поймешь, что ерунду написал
Vova вне форума  
 
Непрочитано 09.12.2007, 07:58
#3
Profan


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


Действительно, непонятно, зачем это нужно. Объекты можно подсветить после выполнения команды "_MOVE" ("ПЕРЕНЕСТИ"), но что предполагается делать дальше? Любая команда отрисовки ликвидирует подсветку, а если надо для выделенных объектов выполнить команду редактирования, то ведь специальный макрос не нужен, достаточно в последующей команде редактирования указать опцию "_P" ("Т"). Другое дело, если надо сохранить набор выбранных объектов на относительно долгий срок в пределах сеанса работы AutoCAD'а - тогда надо назначить этот набор какой-нибудь переменной. Таким образом можно запомнить несколько наборов объектов.
Profan вне форума  
 
Автор темы   Непрочитано 09.12.2007, 11:07
#4
decadent

Архитектор
 
Регистрация: 01.01.2006
Ростов-на-Дону
Сообщений: 6
<phrase 1=


Ладно, задам вопрос по другому.
Я частенько двигаю/поворачиваю объекты хватаясь за ручку и нажимая пробел- очень удобно, подвинул-повернул-ещё немного подвинул- добавил ещё объектов к выделению-ещё повернул и т.д.
Так вот, как чтобы команда Move действовала точно так же, то есть выделение с объектов сбрасывалось только по нажатии на Cancel (Esc)?

P.S: Под "макрососом" я подразумевал то, что пишется в Cusomize User Interface в строке "Macro" (например ^C^C_line).

Последний раз редактировалось decadent, 09.12.2007 в 23:22.
decadent вне форума  
 
Непрочитано 09.12.2007, 12:14
#5
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


Цитата:
P.S: Под "макрососом" я подразумевал то, что пишется в Cusomize User Interface в строке "Macro" (например ^C^C_line).
Вот так мона:

^P(defun c:move+select (/ select) (command "_.move" (setq select (ssget)) "" pause pause)(sssetfirst select select)(setq select nil));move+select;
Евгений А. вне форума  
 
Автор темы   Непрочитано 09.12.2007, 13:05
#6
decadent

Архитектор
 
Регистрация: 01.01.2006
Ростов-на-Дону
Сообщений: 6
<phrase 1=


Цитата:
Сообщение от Евгений А. Посмотреть сообщение
Вот так мона:

^P(defun c:move+select (/ select) (command "_.move" (setq select (ssget)) "" pause pause)(sssetfirst select select)(setq select nil));move+select;
Супер! Как раз то что нужно!
Причем если заменить Move на Rotate точно так же работает и с врашением.

Тогда ещё вопрос в тему выделения объектов, что сделать чтобы командой undo можно было вернуть выделение объектов.
Для ситуации когда с трудом выделил кучу объектов и случайно запустил не ту команду... жмёшь Esc и приходится выделять всё заново.
decadent вне форума  
 
Непрочитано 09.12.2007, 14:26
#7
Кулик Алексей aka kpblc
Moderator

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


_select _p
Вроде так.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.12.2007, 17:34
#8
Vova

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


Цитата:
Сообщение от decadent Посмотреть сообщение
Я частенько двигаю/поворачиваю объекты хватаясь за ручку и нажимая проблем- очень удобно, подвинул-повернул-ещё немного подвинул- добавил ещё объектов к выделению-ещё повернул и т.д.
.
Что за объект, который имеет всего одну грипсу? Разве что блок, или точка. Потому что если их несколько, то без меню правой кнопки не обойтись, а это муторно. Далее, что проектируешь так приблизительно? А где привязки? Тебе нужны универсальные кнопки Move-rotate и Copy-rotate. Вместо индивидуальных, отдельно для Move, для Copy и так далее.
Цитата:
Для ситуации когда с трудом выделил кучу объектов и случайно запустил не ту команду... жмёшь Esc и приходится выделять всё заново
Если " не та команда" это Erase, то OOPS и P (previous). Для других команд Undo отменяет и Previous. Так что в тяжелых случаях предварительно создавай группу или запоминай Ssget-ом
Vova вне форума  
 
Непрочитано 09.12.2007, 18:36
#9
Profan


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


Vova, он упомянул пробел. А пробел, как известно, меняет операциии с выделенными объектами и имеющими ручки. Он не за ручку двигает, а выполняет команду "_MOVE" для всех "обручечных" объектов. Вот его фраза в сообшении 5:
Цитата:
Я частенько двигаю/поворачиваю объекты хватаясь за ручку и нажимая проблем
Проблем - это пробел, я тоже сначала недоумевал.
Profan вне форума  
 
Непрочитано 09.12.2007, 19:35
#10
Vova

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


Да нет, он нажимает вовсе не проБЕЛ, а проБЛЕМ. Пробел бы бросился в глаза.
Vova вне форума  
 
Непрочитано 09.12.2007, 20:20
#11
Profan


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


А хорошо бы так: нажал на клавишу ПРОБЛЕМ - и все проблемы самоликвидировались.
Profan вне форума  
 
Автор темы   Непрочитано 09.12.2007, 23:43
#12
decadent

Архитектор
 
Регистрация: 01.01.2006
Ростов-на-Дону
Сообщений: 6
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
_select _p
Вроде так.
Почти то что нужно.
Если вводить в командную строку сначала _select, а затем _p (Previous) выделяются те объкты, что были выделены в прошлый раз.
А вот одной строчкой _select _p не пашет, ни в командной строке, ни в строке Macro какой-нибудь кнопки.
Что там ещё нужно вписать, чтобы он воспринимал _select и _p поотдельности?
Цитата:
Сообщение от Profan Посмотреть сообщение
А хорошо бы так: нажал на клавишу ПРОБЛЕМ - и все проблемы самоликвидировались.
Да, забавно получилось.
Сори за опечатку, просто сначала набрал сообщение и там было что-то типа "без проблем...", но мне показалось, что оно слишком длинное и я его укоротил, только вместо "проблем" удалил слово "пробел".
decadent вне форума  
 
Непрочитано 10.12.2007, 00:00
#13
Vova

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


Стоп. Есть опечатка. Исходную фразу следовало прочитать так?: Я частенько двигаю/поворачиваю объекты хватаясь за ручку и нажимая без проблем Но на что нажимая? Дело в том, что если интерпретировать так, как сказал Profan, то нажатие пробела приведет к перебору команд, в том числе и Move, Rotate, Mirror, Scale, Stretch невзирая на то, за какую грипсу захватить объект. И при этом выделения сохраняется, и это и есть ответ на поставленный изначальный вопрос
Vova вне форума  
 
Непрочитано 10.12.2007, 00:27
#14
Кулик Алексей aka kpblc
Moderator

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


Кстати, почему-то напрочь забыли о mocoro из Express Tools. Или она тут совсем никаким боком?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 10.12.2007, 00:41
#15
decadent

Архитектор
 
Регистрация: 01.01.2006
Ростов-на-Дону
Сообщений: 6
<phrase 1=


Цитата:
Сообщение от Vova Посмотреть сообщение
Стоп. Есть опечатка. Исходную фразу следовало прочитать так?: Я частенько двигаю/поворачиваю объекты хватаясь за ручку и нажимая без проблем Но на что нажимая? Дело в том, что если интерпретировать так, как сказал Profan, то нажатие пробела приведет к перебору команд, в том числе и Move, Rotate, Mirror, Scale, Stretch невзирая на то, за какую грипсу захватить объект. И при этом выделения сохраняется, и это и есть ответ на поставленный изначальный вопрос
Вот ведь дотошные какие
Объясняю.
Выделяем кучу линий, щелкаем на ручку, потом жмём на пробел - появляется команда Move. Щелкаем в другом месте- линии переместились, НО выделение объектов НЕ сбросилось! Можно добавить/удалить ещё объектов к выделению, ещё раз переместить/повернуть объекты, и при этом не надо заново всё выделять.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Кстати, почему-то напрочь забыли о mocoro из Express Tools. Или она тут совсем никаким боком?
В общем-то похоже на то что нужно, но очень уж топорно работает.

Последний раз редактировалось decadent, 10.12.2007 в 00:51.
decadent вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Макрос чтобы не сбрасывалось выделение при перемещении



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пропало отображене объектов при перемещении! Колян AutoCAD 16 15.03.2024 08:15
Мониторы LCD CRT Разное 94 17.06.2008 10:51
БРЕД СИВОЙ КОБЫЛЫ Kryaker Разное 1876 29.12.2006 23:41
Выделение мышью при печати окна Shults99 AutoCAD 15 11.10.2005 10:25
Видимость объектов при перемещении и отрисовке Sander AutoCAD 2 06.02.2004 10:37