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

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

Макрос: выделение объекта находящегося в определенной области модели

Ответ
Поиск в этой теме
Непрочитано 09.10.2010, 12:31 #1
Макрос: выделение объекта находящегося в определенной области модели
dextron3
 
проектировшик
 
СССР
Регистрация: 01.01.2007
Сообщений: 5,143

Поставил задачу с помощью макроса выделять объект находящийся в заданной области путем ввода координат, с помощью какой команды это реализовать.

Принцип работы нажав на кнопку выделился объект находящийся в заданной области, заранее благодарен


вот начал: не могу понять почему не завершается?

^C^Cselect;f;0,0;1000,1000;;

тоесть нужно чтобы выделение произошло, и курсор опять в крестик превратился как бы завершилась команда

Суть макроса такова: Нужно выделить определнные объекты и потом выполнить над ними определенную команду, но не могу закончить выделение и тем самым не запускается следующая команда,

может кто скажет...
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 09.10.2010 в 14:04.
Просмотров: 7984
 
Непрочитано 09.10.2010, 14:01
#2
TararykovDG

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


dextron3,ты указал f (fence - выбор линией) и ACad ждет очередную току линии, нужно так
^C^Cselect;f;0,0;1000,1000;;
или, просто рамкой,
^C^Cselect;0,0;1000,1000
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 09.10.2010, 14:03
#3
Profan


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


Твой макрос должен быть таким:
Код:
[Выделить все]
^C^C_select;_f;0,0;1000,1000;;;
Он завершается тем, что создается набор объектов. В этом можно убедиться, если вызвать какую-нибудь команду редактирования (например, _COPY) и в ответ на запрос выбора объектов ввести опцию _p.
Profan вне форума  
 
Непрочитано 09.10.2010, 14:06
#4
TararykovDG

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


Profan, точно, я забыл еще одну ;
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 09.10.2010, 14:11
#5
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


TararykovDG, Profan, нет тот макрос ваш выделяет и отключает выделение тоесть завершается, нужно две ;; но как теперь аккуратно завершить чтобы выделение не пропало вот в чем вопрос

[IMG]http://s46.***********/i114/1010/37/7e1c911be947t.jpg[/IMG]
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 09.10.2010, 16:35
#6
Profan


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


Да оно все равно пропадет, если даже выполнять эту команду через командную строку. Команда _select не включает ручки. Однако набор в памяти останется.
Profan вне форума  
 
Автор темы   Непрочитано 09.10.2010, 17:21
#7
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


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


если такого к примеру не существует и не предусмотрено разработчиками как будет выглядеть такой макрос:

1. Копирывание объекта из заднной области на 10мм с последующим его удалением, уже запарился делать не получается и все

вот моя наброска, не могу нормально команду завершить и начать дуругуюю....

Код:
[Выделить все]
^C^C_select;_f;0,0;1000,1000;;;_copy;_l;0,0;100,100;;;
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 09.10.2010 в 17:53.
dextron3 вне форума  
 
Непрочитано 09.10.2010, 18:12
#8
TararykovDG

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


dextron3, конструкцией _copy;_l; ты пытаешься скопировать последний вставленный объект на чертеже, а не те объекты что сформировал _select

попробуй так
Код:
[Выделить все]
^C^C_select;_f;0,0;1000,1000;;;_copy;_p;;0,0;100,100;;;
но это без удаления
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 09.10.2010, 18:29
#9
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


TararykovDG, он копирует только свеже нарисованный объект, а мне нужно с указаннной области, не свежий
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 09.10.2010, 18:37
#10
TararykovDG

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
TararykovDG, он копирует только свеже нарисованный объект, а мне нужно с указаннной области, не свежий
это странно, как раз _copy;_l; скопирует свеже нарисованный объект, а вот _copy;_p; должен копировать объекты текущего набора, который в свою очередь был сформирован _select;_f;0,0;1000,1000;.
Правда вот эта запись _select;_f;0,0;1000,1000; корректно формирует набор только если координаты 0,0 и 1000,1000 находятся в видимой части экрана, поэтому мне кажется лучше так _select;0,0;1000,1000; (т. е. не линией, а рамкой)
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 10.10.2010, 08:37
#11
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


TararykovDG, не работает, не этот не предыдущий как надо, есть еще варианты
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.10.2010, 09:55
#12
Profan


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


dextron3
Попробуй вот такой макрос:
Код:
[Выделить все]
^C^C_select;_f;0,0;1000,1000;;;_copy;_p;;0,0;@10,10;
это копирование. А что должно быть удалено - скопированные объекты или исходные? Если исходные, то можно вместо команды _COPY использовать команду _MOVE. А если скопированные - то на фига, спрашивается, их копировать?
Profan вне форума  
 
Непрочитано 10.10.2010, 10:27
#13
TararykovDG

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
TararykovDG, не работает, не этот не предыдущий как надо, есть еще варианты
А что именно не работает:
1) не выделяет объекты
2) не копирует
3) не завершается макрос

Если 1) - то как я уже говорил запись _select;_f;0,0;1000,1000; корректно формирует набор только если координаты 0,0 и 1000,1000 находятся в видимой части экрана
Если 2) - посмотри значение сис. переменной PICKFIRST (Определяет момент выбора объектов: до вызова команды (предварительный выбор) или после.) должно быть 1
Если 3) - Ну может у тебя нужно поиграть с количеством ";"

И как правильно заметил Profan
Цитата:
А что должно быть удалено - скопированные объекты или исходные? Если исходные, то можно вместо команды _COPY использовать команду _MOVE. А если скопированные - то на фига, спрашивается, их копировать?
Так вот может тогда лучше такой макрос с MOVE и выбором объектов для перемещения в самой команде без всяких предварительных select'ов
Код:
[Выделить все]
^C^C_move;_f;0,0;1000,1000;;;0,0;@10,10;
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 10.10.2010, 10:31
#14
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


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


TararykovDG, дело в том что именно такая последовательность нужна, до окончания работы осталось совсем чуть чуть, скоро узнаем, специально запишу видео и покажу для чего оно было надо
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.10.2010, 11:06
#15
TararykovDG

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


dextron3, ну если копируется один объект, то по идеи так

Код:
[Выделить все]
^C^C_select;_f;0,0;1000,1000;;;_copy;_p;;0,0;@10,10;_erase;_l;;
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 10.10.2010, 15:24
#16
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


TararykovDG, работает, но когда это видишь а как сделать чтобы работало даже если не в экране а вдругом месте чертежа макрос выполняется?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.10.2010, 16:53
#17
TararykovDG

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
работает, но когда это видишь а как сделать чтобы работало даже если не в экране а вдругом месте чертежа макрос выполняется?

dextron3, по-моему выбрать объекты вне видимой части экрана нельзя, поэтому предлагаю использовать _zoom, как-то так

Код:
[Выделить все]
^C^C_zoom;_w;0,0;1000,1000;_select;_f;0,0;1000,1000;;;_copy;_p;;0,0;@10,10;_erase;_l;;_zoom;_p;
экран конечно будет дергаться, но что-то по-другому не смекну
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 10.10.2010, 18:06
#18
Profan


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


Вот еще макрос:
Код:
[Выделить все]
^C^C_select;_f;0,0;1000,1000;;;_copy;_p;;0,0;0,0;_move;_p;;0,0;@10,10;_erase;_p;;
Profan вне форума  
 
Автор темы   Непрочитано 10.10.2010, 20:45
#19
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


Profan, не работает, если не в экране объект

TararykovDG, морская болезнь у меня начинается, не пойдет так


идея может задействовать КВИК СЕЛЕКТ, но тормозить будет
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 10.10.2010, 21:12
#20
Profan


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


Так сделай так, чтобы в экране было, а не где попало.
Идея, заложенная в этом макросе, принадлежит Vova.
Profan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос: выделение объекта находящегося в определенной области модели

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать из модели по выбору объекта zenon Программирование 192 04.05.2017 09:41
Подсчет элементов в определенной области модели FRAER AutoCAD 6 15.05.2010 01:17
Как снять выделение с объекта оап AutoCAD 2 02.07.2008 01:36
AA2008: Как создать план 3d модели на определенной отметке Vildar Вертикальные решения на базе AutoCAD 6 12.02.2008 12:52
Макрос чтобы не сбрасывалось выделение при перемещении decadent AutoCAD 14 10.12.2007 00:41