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

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

Переменная определяющая выбор объектов

Ответ
Поиск в этой теме
Непрочитано 31.10.2023, 08:45 #1
Переменная определяющая выбор объектов
olga87
 
Регистрация: 28.05.2007
Сообщений: 229

Здравствуйте Уважаемые программисты!

В коде ниже есть запрос-переменная выбора объектов:

Код:
[Выделить все]
(defun C:CN (/ esel x1_object obj col)
  (vl-load-com)
  (setq esel (entget (car (nentsel))))
  (setq x1_object (assoc '0 esel))
  ...
)
Но следующая 2я процедура (вывод цвета объекта в rgb):

Код:
[Выделить все]
  (if (setq esel (nentsel "\nSelect object to report color:"))
    (progn
      (setq
         obj (vlax-ename->vla-object (car esel))
	 col (vla-get-truecolor obj)
      )
	  (alert (strcat (itoa (vla-get-red col)) "," (itoa (vla-get-green col)) "," (itoa (vla-get-blue col))))
    )
  )
  (princ)
требует переменную "esel" определенную иначе (помечено красным), иначе процедура не работает.

Подскажите пожалуйста, как изменить "esel", чтобы работали оба кода: и "(assoc '0 esel)" и 2я процедура?

Заранее спасибо!
Просмотров: 618
 
Непрочитано 31.10.2023, 08:48
#2
Кулик Алексей aka kpblc
Moderator

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


Есть разница между (nentsel) и (car (nensel))
Посмотри на результаты - достаточно чуть ли не в ком.строке выполнить эти функции, и внимательно посмотреть на выводимые сообщения
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.10.2023, 08:51
#3
olga87


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


Да, разницу заметила, НО хотелось бы объединить вывод разной информации о выбранном объекте - одно требует "dxf-расшифровки", другое нет.
Возможно ли это в одном коде (без повторного запроса выбора объектов)?
olga87 вне форума  
 
Непрочитано 31.10.2023, 09:08
#4
Кулик Алексей aka kpblc
Moderator

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


Код:
[Выделить все]
 (defun C:CN (/ esel x1_object obj col) 
  (vl-load-com)
  (setq esel  (car (nentsel)))
  (setq x1_object (assoc 0 (entget  esel)))
  ...

  ;(if (setq esel (nentsel "\nSelect object to report color:")) 
    (progn 
      (setq obj (vlax-ename->vla-object esel)
            col (vla-get-truecolor obj)
      )
      (alert (strcat (itoa (vla-get-red col)) "," (itoa (vla-get-green col)) "," (itoa (vla-get-blue col))))
    )
  ;)
  (princ)
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 31.10.2023, 10:09
#5
olga87


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


Большое спасибо!
olga87 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Переменная определяющая выбор объектов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор подобных объектов в листах Egor893 AutoCAD 9 11.08.2023 10:30
LISP. 1. Выбор объектов "по расширенным данным". 2. Принадлежность точки замкнутому контуру. AlexZh LISP 8 09.06.2022 16:35
Выбор объектов SergU AutoCAD 20 16.03.2020 14:36
Слетел выбор объектов в автокаде DaiverCAD AutoCAD 8 26.03.2008 17:09
Выбор объектов при отключенном слое "0" SHURF AutoCAD 3 31.01.2008 17:32