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

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

Autolisp. Вернуть изначальный цвет объекту

Ответ
Поиск в этой теме
Непрочитано 13.01.2011, 15:49 #1
Autolisp. Вернуть изначальный цвет объекту
Zaghim
 
Регистрация: 01.07.2010
Сообщений: 521

Друзья, вопрос такой. У меня есть много плиний на чертеже, все эти линии я протыкиваю в программе и меняю в каждой линии цвет и высоту. Цвет меняю для того, что бы не замылились глаза при протыкивании всех линий. Так вот, по окончании нужно все линии, которые изменил, вернуть в первозданный вид. Как такое можно провернуть? Пока в голову пришло только менять не цвет, а менять на другой слой с другим цветом, а по завершении делать quickselect и менять на все как было(((
Просмотров: 1495
 
Непрочитано 13.01.2011, 16:00
#2
Лиспер


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


В программе запоминай указатели на обрабатываемые объекты и их начальные цвета, а потом выставляй обратно. В чем трудность?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 13.01.2011, 16:03
#3
Zaghim


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


Т.е. запоминать все имена объектов в какой-нибудь список, а потом в цикле по этому списку пробежаться и вернуть все назад?
Zaghim вне форума  
 
Непрочитано 13.01.2011, 16:13
#4
Лиспер


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


Ну, я бы делал по принципу:
Код:
[Выделить все]
 (vl-load-com)

(defun test (/ ent lst)
  (while (= (type (setq ent (vl-catch-all-apply
                              (function
                                (lambda ()
                                  (vlax-ename->vla-object (car (entsel "\nВыберите отрезок <Отмена> : ")))
                                  ) ;_ end of LAMBDA
                                ) ;_ end of function
                              ) ;_ end of VL-CATCH-ALL-APPLY
                        ) ;_ end of setq
                  ) ;_ end of type
            'vla-object
            ) ;_ end of =
    (setq lst (cons (cons ent (vla-get-color ent)) lst))
    ;; чего-то делаем
    ) ;_ end of while
  (foreach ent lst
    (vla-put-color (car ent) (cdr ent))
    ) ;_ end of foreach
  ) ;_ end of defun
Сам понимаешь, код я не тестировал.
__________________
(/= RegDate StartReadDate)

Последний раз редактировалось Лиспер, 19.01.2011 в 15:35.
Лиспер вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Autolisp. Вернуть изначальный цвет объекту

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите как поменять цвет объекту миня Разное 28 13.11.2006 11:56