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

ADN Club => AutoLisp / VisualLISP и DCL => Тема начата: Алексей Кулик от 22-06-2015, 15:49:17

Название: Некорректно обрабатываются ключи ssget?
Отправлено: Алексей Кулик от 22-06-2015, 15:49:17
Доброго всем. Сегодня (благодаря Евгению Елпанову) обнаружен очень интересный момент, связанный с работой ssget
Нарисуем две полилинии, частично перекрывающие друг друга (например, два прямоугольника с общей стороной). Выполняем в лиспе
Код - Auto/Visual Lisp [Выбрать]
  1. (setq ss (ssget "_+.:S:E" '((0 . "LWPOLYLINE"))))
и щелкаем по перекрывающемуся куску. Теоретически, благодаря ключу :S, должен быть выбран только один примитив, но выбираются два: (sslength ss) возвращает 2.
Такое поведение обнаружено в AutoCAD 2009, 2015, 2016.
Использование только ключа :S не пройдет: необходимо действительно выбирать объект, ткнув на него.
Теперь собственно вопрос: это баг? Фича? Получается, что ключи :E и :S могут вести себя не всегда предсказуемо? Или я что-то не понимаю?

P.S. К сожалению, сделать картинку сейчас не могу :(
Название: Re: Некорректно обрабатываются ключи ssget?
Отправлено: Александр Ривилис от 22-06-2015, 16:27:30
Теперь собственно вопрос: это баг? Фича? Получается, что ключи :E и :S могут вести себя не всегда предсказуемо? Или я что-то не понимаю?
Я думаю, что это фича, т.к. непонятно какой из двух выбирать. Но точнее тебе подскажут в Autodesk.