Сообщество программистов Autodesk в СНГ

ADN Club => AutoLisp / VisualLISP и DCL => Тема начата: BearDyugin от 20-10-2016, 07:42:54

Название: Ввод ключа при выборе объекта?
Отправлено: BearDyugin от 20-10-2016, 07:42:54
Возможно ли как-нибудь на запрос entsel или ssget не указывать объект а ввести ключевое слово?
Суть в чём, есть функция которая зациклена на выборе объекта, потом с этим объектом происходят действия и так пока не надоест, но пользователю иногда необходимо в этом процессе выбрать не один объект, а несколько - рамкой.
На ум пришла идея, переключать по ПКМ (пустому вводу) режим, с entsel на ssget, а по 2-м подряд ПКМ завершение функции, но как-то тоже не очень красиво.
Название: Re: Ввод ключа при выборе объекта?
Отправлено: Александр Ривилис от 20-10-2016, 12:07:29
Возможно ли как-нибудь на запрос entsel или ssget не указывать объект а ввести ключевое слово?
Как обычно это возможно только средствами ObjectARX для ssget. Для entsel можно и в AutoLISP.
Название: Re: Ввод ключа при выборе объекта?
Отправлено: BearDyugin от 20-10-2016, 12:19:50
Для entsel можно и в AutoLISP.
Где поискать?
Для get функций понятно, (initget 128) - разрешает произвольный ввод в качестве ключевого слова.
Название: Re: Ввод ключа при выборе объекта?
Отправлено: BearDyugin от 20-10-2016, 12:25:46
А нашёл :-)
"Функции entsel, nentsel и nentselp не используют биты функции initget и управляются только ключевыми словами."
Название: Re: Ввод ключа при выборе объекта?
Отправлено: Александр Ривилис от 20-10-2016, 12:28:09
Для entsel произвольные нельзя - только заранее определённые:
Код - Auto/Visual Lisp [Выбрать]
  1. (initget "Установки Последний")
  2. (setq sel (entsel "\nВыберите объект [Установки/Последний] :"))