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

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

Как сделать команду copy многоразовой???

Ответ
Поиск в этой теме
Непрочитано 21.04.2004, 13:35
Как сделать команду copy многоразовой???
BAX
 
Архитектурные Фасадные Технологии
 
г. Фрязино
Регистрация: 09.02.2004
Сообщений: 8

Как сделать команду copy многоразовой??? Подскажите плиз...
__________________
Архитектурные Фасадные Технологии
Просмотров: 14750
 
Непрочитано 27.07.2004, 10:24
#21
plaz

Проектирование обустройства нефтяных месторождений
 
Регистрация: 28.08.2003
Самара
Сообщений: 352


Вроде все работает, и вроде без глюков. Спасибо
plaz вне форума  
 
Непрочитано 27.07.2004, 21:11
#22
Vova

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


Здесь цитата из второго постинга этой темы: "Ты имеешь ввиду многоразовой по-умолчанию? Как в 2005-м Акаде?
Если да, то посади на кнопку макрос ^C^C_select;\_copy;p;;m;"
Чем последний вавариант (Alaspher) отличается от первого (Torino)?
Vova вне форума  
 
Непрочитано 27.07.2004, 21:23
#23
Vova

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


Поспешил. Разница есть в предварительном выборе. Лисп работает универсальней
Vova вне форума  
 
Непрочитано 03.11.2004, 05:11
#24
Vova

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


http://www.autocad.ru/cgi-bin/f1/board.cgi?t=13017ar
Vova вне форума  
 
Непрочитано 17.11.2004, 04:52
#25
Vova

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


Цитата:
Сообщение от Alaspher
Насчёт дизеля не знаю, но, если интересует результат, может быть(?) вот так обойтись:
Код:
[Выделить все]
^C^C^P(ssget)(vl-cmdf "_.copy" "_p" "" "_m")(while (not (zerop (getvar "cmdactive")))(vl-cmdf pause))(princ)
В отличие от макроса ^C^C_select;\_copy;p;;m;, который не работает, если сначала выделить объекты, вариант Alasper может копировать и заранее выделенные объекты. Но есть другая напасть. Команда Pan (ладонь) во время действия команды превращается в -Pan и работает как в старых версиях. А это уже неудобно-к хорошему быстро привыкаешь. Так что из двух зол я бы выбрал меньшее, то есть макрос ^C^C_select;\_copy;p;;m; Но есть вариант без неудобств, команда из Express Copym о которой все забыли.
Кстати, команда (-Pan) очень удобна чтобы двигать модель во Viewports и вообще когда надо, потому-что она слушается Ortho и Osnap. Я ее часто использую.
Vova вне форума  
 
Непрочитано 17.11.2004, 13:20
#26
plaz

Проектирование обустройства нефтяных месторождений
 
Регистрация: 28.08.2003
Самара
Сообщений: 352


Цитата:
В отличие от макроса ^C^C_select;\_copy;p;;m;, который не работает, если сначала выделить объекты, вариант Alasper может копировать и заранее выделенные объекты. Но есть другая напасть. Команда Pan (ладонь) во время действия команды превращается в -Pan и работает как в старых версиях. А это уже неудобно-к хорошему быстро привыкаешь.
А в чем проблема? Крутил и так и эдак, не могу получить Вашего результата. Pan через колесо работает отлично!
plaz вне форума  
 
Непрочитано 17.11.2004, 13:31
#27
Vova

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


Я имел в виду взять Pan не через колесо (у некоторых мышей оно тугое) а с кнопки. Кроме того, долго держать колесо прижатым -а бывает, надо на другой конец чертежа идти- палец устает, даже если оно и не очень тугое.
Vova вне форума  
 
Непрочитано 17.11.2004, 13:56
#28
Соня


 
Регистрация: 14.01.2004
Пермь
Сообщений: 220


Самое интересно, что автор вопроса остался доволен уже после ПЕРВОЙ реплики вас то куда понесло?
Соня вне форума  
 
Непрочитано 17.11.2004, 14:09
#29
Torino


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


Если бы не понесло, то не появилось бы решение в виде "^C^C^P(ssget)(vl-cmdf "_.copy" "_p" "" "_m")(while (not (zerop (getvar "cmdactive")))(vl-cmdf pause))(princ)" (© Alaspher)
Которое меня, например, кое-чему научило
Torino вне форума  
 
Непрочитано 17.11.2004, 14:27
#30
plaz

Проектирование обустройства нефтяных месторождений
 
Регистрация: 28.08.2003
Самара
Сообщений: 352


Цитата:
Сообщение от Vova
Я имел в виду взять Pan не через колесо (у некоторых мышей оно тугое) а с кнопки. Кроме того, долго держать колесо прижатым -а бывает, надо на другой конец чертежа идти- палец устает, даже если оно и не очень тугое.
Ну это кто как привык, по мне так проще тем же самым колесом откатить zoom'ом назад, а затем приблизить в уже нужное место. Дело привычки.
plaz вне форума  
 
Непрочитано 17.11.2004, 15:53
#31
Vova

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


Цитата:
Сообщение от plaz
Ну это кто как привык, по мне так проще тем же самым колесом откатить zoom'ом назад, а затем приблизить в уже нужное место. Дело привычки.
Я так и делаю. Но если в программе есть ограничения, это уже не хорощо
Vova вне форума  
 
Непрочитано 17.11.2004, 22:05
#32
Torino


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


>>Vova
По совету Эдуарда в этом случае (и вообще при работе лисп-приложения) надо пользоваться аналогом команды PAN, командой RTPAN (а также ZOOM -> RTZOOM)
А еще лучше колесом мыши.
Torino вне форума  
 
Непрочитано 18.11.2004, 08:54
#33
plaz

Проектирование обустройства нефтяных месторождений
 
Регистрация: 28.08.2003
Самара
Сообщений: 352


Цитата:
Сообщение от Vova
Но если в программе есть ограничения, это уже не хорощо
Ограничения будут всегда. Надо либо к ним приспосабливаться, либо как то их обходить, возможно не всегда самым оптимальным способом. В этом макросе, хоть и не без помощи Лиспа, очень хорошо решена проблема "select - command" и наоборот. Для меня это наиболее важно чем PAN.

2Torino & 2All:
А што это за команда RTPAN? С командной строки работает без нареканий, а вот в Хелпе про нее ни слова!
plaz вне форума  
 
Непрочитано 18.11.2004, 09:29
#34
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от plaz
А што это за команда RTPAN? С командной строки работает без нареканий, а вот в Хелпе про нее ни слова!
Если мне не изменяет память, это команды времён R13 - тогда обычный PAN был, как нынешний -PAN.

P.S. "RT..." - означает 'Real Time'
Alaspher вне форума  
 
Непрочитано 07.09.2006, 22:41
#35
Джек

Строительство
 
Регистрация: 03.09.2003
Нижний Новгород
Сообщений: 81
<phrase 1=


Цитата:
Сообщение от Torino
Ты имеешь ввиду многоразовой по-умолчанию? Как в 2005-м Акаде?
Если да, то посади на кнопку макрос ^C^C_select;\_copy;p;;m;
А как это будет выглядеть в лиспе?
Джек вне форума  
 
Непрочитано 08.09.2006, 08:59
#36
Кочетков Андрей

Java/Kotlin/Go
 
Регистрация: 03.02.2006
Сообщений: 5,786


>>Джек

Взято с предыдущей страницы.

By Alaspher:

Код:
[Выделить все]
^C^C^P(ssget)(vl-cmdf "_.copy" "_p" "" "_m")(while (not (zerop (getvar "cmdactive")))(vl-cmdf pause))(princ)
Кочетков Андрей вне форума  
 
Непрочитано 08.09.2006, 10:21
#37
Джек

Строительство
 
Регистрация: 03.09.2003
Нижний Новгород
Сообщений: 81
<phrase 1=


Цитата:
Сообщение от Кочетков Андрей
>>Джек

Взято с предыдущей страницы.

By Alaspher:

Код:
[Выделить все]
^C^C^P(ssget)(vl-cmdf "_.copy" "_p" "" "_m")(while (not (zerop (getvar "cmdactive")))(vl-cmdf pause))(princ)
Я имею ввиду не в макрасе , а в лиспе. :roll:
Джек вне форума  
 
Непрочитано 08.09.2006, 10:41
#38
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Убери ^C^C^P, останется лисп
Код:
[Выделить все]
(ssget) ;;;Выбор объектов. Объекты заносятся 
           ;;;в текущий (_previous) набор
(vl-cmdf 
"_.copy"  ;_Команда _copy
"_p"        ;_ссылка на текущий (_previous) набор
 ""          ;_подтверждение окончательного выбора
 "_m")    ;_ выбираем опцию несколько (_multiple)
(while (not (zerop (getvar "cmdactive"))) ;_Пока активна команда copy
(vl-cmdf pause)) ;_Делаем паузу на текущем запросе 
                         ;_(а он сейчас либо базовая точка,
                         ;_ либо вторая точка перемещения)
(princ)
VVA вне форума  
 
Непрочитано 08.09.2006, 11:50
#39
Джек

Строительство
 
Регистрация: 03.09.2003
Нижний Новгород
Сообщений: 81
<phrase 1=


Цитата:
Сообщение от VVA
Убери ^C^C^P, останется лисп
Код:
[Выделить все]
(ssget) ;;;Выбор объектов. Объекты заносятся 
           ;;;в текущий (_previous) набор
(vl-cmdf 
"_.copy"  ;_Команда _copy
"_p"        ;_ссылка на текущий (_previous) набор
 ""          ;_подтверждение окончательного выбора
 "_m")    ;_ выбираем опцию несколько (_multiple)
(while (not (zerop (getvar "cmdactive"))) ;_Пока активна команда copy
(vl-cmdf pause)) ;_Делаем паузу на текущем запросе 
                         ;_(а он сейчас либо базовая точка,
                         ;_ либо вторая точка перемещения)
(princ)
Это я понял!
Совсем я запутался
Дело в том у меня перед командой копировать - вставка блока. вот я и хочу копировать вставленный блок (зная точку вставки) :roll:
Джек вне форума  
 
Непрочитано 08.09.2006, 14:36
#40
Джек

Строительство
 
Регистрация: 03.09.2003
Нижний Новгород
Сообщений: 81
<phrase 1=


Спасибо всем - кто помог мне в написании лиспа.
Вот мой код:

Код:
[Выделить все]
(defun c:qqq ()
 (command "_insert" "заглушка_вода"  pause "1" "1" pause  )
  (setq pt2 (getvar "lastpoint"))
(vl-cmdf "_.copy" "_last" ""  "_m" pt2)
  (while (not (zerop (getvar "cmdactive")))
    (vl-cmdf pause)
    );;while
  (princ)
)
Ошибки и замечания принимаю :roll:
Джек вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как сделать команду copy многоразовой???