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

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

Какой макрос у команды _сopym ?

Ответ
Поиск в этой теме
Непрочитано 13.03.2017, 12:52 #1
Какой макрос у команды _сopym ?
zz212243
 
ПГС
 
Санкт-Петербург
Регистрация: 11.05.2011
Сообщений: 131

Здравствуйте, коллеги.
Нужен макрос разновидности команды _сopym, которая копирует объект с определённым шагом в заданном направлении именно такое количество раз, сколько пользователь нажмёт Enter.
Несколько лет назад, помню, находил этот макрос на dwg.ru, сейчас где-то час потратил на те же поиски - не нашёл... помогите пожалуйста.
__________________
Я не волшебник, я только учусь :read:
Просмотров: 1817
 
Непрочитано 13.03.2017, 12:56
#2
Хмурый


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


это команда, насколько понимаю, из комплекта Express Tools
http://forum.dwg.ru/showpost.php?p=543642&postcount=31
Хмурый вне форума  
 
Непрочитано 13.03.2017, 12:56
#3
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


zz212243, это команда запуска .*lisp?
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 13.03.2017, 13:47
#4
Кулик Алексей aka kpblc
Moderator

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


А не проще переменную copymode поменять, если обычная _.copy работает однократно?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.03.2017, 14:48
#5
zz212243

ПГС
 
Регистрация: 11.05.2011
Санкт-Петербург
Сообщений: 131


Хмурый, команда может быть и в Express Tools, но она не делает того, что я описал, хотя раньше у меня как-то эта команда работала, а именно:
Я выбирал объект, потом по запросу из адресной строки задавал мышкой вектор направления копирования, потом указывал шаг копирования, потом только нажимал Enter столько раз, сколько хотел, чтобы объект был скопирован в соответствующем направлении с заданным шагом.

sertor, по-моему, не Lisp, а просто макрос.

Кулик Алексей aka kpblc, речь идёт не просто о копировании командой copy, а скорее многократном копировании (клонировании) объекта с единожды заданными шагом и направлением, где количество копирований указывается произвольно: 1 копирование = 1 нажатие Enter.
__________________
Я не волшебник, я только учусь :read:
zz212243 вне форума  
 
Непрочитано 13.03.2017, 14:56
#6
Bull

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


zz212243, в чём смысл таких действий, когда можно просто массив сделать? И, насколько я понимаю, "тогда" у вас как раз лисп и был. Поскольку при таком подходе к копированию выбор "что копировать" каждый раз при нажатии должен меняться на только что скопированный.

Вы точно не путаете с копированием просто сложениями чисел в голове? Т.е. нажали копирование, выбрали "что", указали направление и дальше 100-enter-200-enter-300-enter-........ Со штатным действием команды, получается.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 13.03.2017, 15:28
#7
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,326


Multi copy with fix distance
AlexCondor вне форума  
 
Непрочитано 13.03.2017, 15:50
#8
Profan


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


Подправленная программа из ссылки предыдущего сообщения:
Код:
[Выделить все]
(defun c:copyx (/ ss elast en n cmd pt1 pt2 ans)
  (setvar "DYNPROMPT" 1)
  (prompt "Select the objects to copy: ")
  (if (setq ss (ssget)) ;Get source objects from user
    (progn
      (setq pt1   (getpoint "\nPick base point: ")
            pt2   (getpoint pt1 "\nPick target point for 1st copy: ")
            elast (entlast) ;Get last entity in drawing
            ans   "Yes" ;Initialize answer to Yes
      ) ;_ end of setq
      (while (= ans "Yes") ;While Yes
        (command "_copy" ss "" "_non" pt1 "_non" pt2) ;Copy objects
        ;; Clean selection set
        (while (> (sslength ss) 0) (setq ss (ssdel (ssname ss 0) ss)))
        ;; Create selection set of new copy
        (setq en (entnext elast))
        (while en
          (setq ss (ssadd en ss)
                en (entnext en)
          ) ;_ end of setq
        ) ;_ end of while
        ;; Ask user if another copy
        (initget "Yes No")
        (setq ans (getkword "Do you want to create another copy? [Yes/No] <Yes>: "))
        (if (= ans nil) (setq ans "Yes"))
      ) ;_ end of while
    ) ;_ end of progn
    (princ "\nNo objects selected.")
  ) ;_ end of if
  (princ)
) ; defun
До испрвления программа работала только однократно. Можно эту программу еще доработать. Можно и на макрос посадить.
Profan вне форума  
 
Непрочитано 14.03.2017, 11:51
#9
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,326


Тогда уж лучше оттуда же взять эту. Не начинает зависать после десятка копий.
P.S. Да и кажется можно убрать лишние кавычки: (command "_copy" ss "" "_non" pt1 "_non" pt2) ;Copy objects

Последний раз редактировалось AlexCondor, 29.01.2018 в 14:28.
AlexCondor вне форума  
 
Автор темы   Непрочитано 20.03.2017, 16:12
#10
zz212243

ПГС
 
Регистрация: 11.05.2011
Санкт-Петербург
Сообщений: 131


Спасибо, коллеги за предоставленный lisp-файл "Copy.0.3.LSP" - как раз то, что я искал!
Всем спасибо за участие!
__________________
Я не волшебник, я только учусь :read:
zz212243 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Какой макрос у команды _сopym ?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои макрокоманды zenon Программирование 998 11.03.2024 20:21
Макрос автоматической штриховки замкнутой полилинии MrBrown Программирование 16 29.04.2014 15:02
Автокад 2014 макрос для функции rEconcile. Valery Brelovsky Программирование 2 18.03.2014 10:44
Какой лучше фундамент выбрать для типового павильона? Какой тип фундамента более универсален? ольга сычикова Основания и фундаменты 8 02.02.2011 12:58
Не работает макрос Torino Программирование 9 18.11.2004 14:41