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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп, который бы создавал слой и копировал в него выбранные объекты

Нужен лисп, который бы создавал слой и копировал в него выбранные объекты

Ответ
Поиск в этой теме
Непрочитано 19.11.2011, 23:35 #1
Нужен лисп, который бы создавал слой и копировал в него выбранные объекты
radist
 
Регистрация: 22.02.2011
Сообщений: 53

Ув. программисты, срочно нужен лисп,который бы копировал выбранный объект и автоматически переносил бы его в другой слой.
Проще говоря, выбираю все необходимые объекты, и он на этом же месте создает копии,но в другом слое (который также создает лисп).
Помогите, пожалуйста. Возможно это как-нибудь реализовать?
Просмотров: 2242
 
Непрочитано 20.11.2011, 00:27
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Да написать такое "чудо" проблема не большая - только для чего оно Вам - просто мне кажется, что Вы хотите через ж..у гланды удалять.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 20.11.2011, 00:46
#3
radist


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


Дима, возможно. Тогда подскажите,как лучше сделать.
Мне нужно быстро сделать копии объектов, чтобы они не мешали(то есть чтобы была возможность убрать их),и при необходимости быстро открыть.
других вариантов не могу придумать кроме как то,что написал .
radist вне форума  
 
Непрочитано 20.11.2011, 01:06
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Ладно, выяснять зачем и это нужо - в час ночи дело неблагородное - имя нового слоя откуда брать (делать "от фонаря" - даю 100% через 15 вызывов будет полная каша где кто).
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 20.11.2011, 01:13
#5
radist


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


Ну как вариант-нужно чтобы площадь помещений всегда была в быстром доступе(скорее даже не площадь, а контур). Да и много куда я это пристроить смогу,если поможете=)
вот кстати,насчет количества слоев. Было бы здорово,если он при повторном запросе спрашивал-нужно ли создавать новый слой или делать в предыдущем созданном.
radist вне форума  
 
Непрочитано 20.11.2011, 01:50
#6
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Код:
[Выделить все]
 (vl-load-com)
(defun c:radist()
  ((lambda (lst-ent str)
     (if (= str "") *radistlay* (SETQ *radistlay* str))
     (if (and lst-ent *radistlay*)
       (progn
         (vla-add (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) *radistlay*)
         (mapcar '(lambda (ent)
                   (vla-put-layer (vla-copy (vlax-ename->vla-object ent)) *radistlay*))
                 lst-ent))))
   (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget))))
   (getstring T (strcat "\nИмя слоя " (if *radistlay* (strcat "или '" *radistlay* "'") "")))))
брр - все спать - команда запуска radist
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 20.11.2011, 02:16
#7
radist


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


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

Последний раз редактировалось radist, 20.11.2011 в 02:37.
radist вне форума  
 
Непрочитано 20.11.2011, 03:54
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


_copytolayer
gomer вне форума  
 
Автор темы   Непрочитано 20.11.2011, 10:23
#9
radist


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



То,что надо. gomer, спасибо огромное. Уверен был,что уж такого в автокаде точно нет,а вот оказывается...
А подскажите есть у этой команды быстрый вызов по русски? хочу на кнопку сделать,а в перечне команд в адаптации такой команды почему-то нет...
Дима_, спасибо,что откликнулись. Если скажите в чем ошибка лиспа и подправите,также с радостью буду использовать
radist вне форума  
 
Непрочитано 20.11.2011, 11:47
#10
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Да нет там ошибки - по крайней мере у меня работает - попробуйте заново скопировать (хотя gomer ИХМО более рациональный подход написал).
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.11.2011, 00:13
#11
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от radist Посмотреть сообщение
А подскажите есть у этой команды быстрый вызов по русски? хочу на кнопку сделать,а в перечне команд в адаптации такой команды почему-то нет...
Такую кнопку?
Миниатюры
Нажмите на изображение для увеличения
Название: copytolayer.png
Просмотров: 95
Размер:	2.1 Кб
ID:	69866  
gomer вне форума  
 
Автор темы   Непрочитано 21.11.2011, 17:06
#12
radist


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


Век живи-век учись.
спасибо вам огромное!!!
radist вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Нужен лисп, который бы создавал слой и копировал в него выбранные объекты

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен лисп, который высчитывает уклон линии ВоваН LISP 53 02.06.2021 10:09
Как определить стоимость проектных работ, если не известна стоимость строительства? dextron3 Поиск литературы, чертежей, моделей и прочих материалов 37 27.08.2014 18:32