Тема: lwpolyline и entsel

Возможно ли определить к какому именно участку лвполилинии относится отрезок на который указал пользователь, допустим entsel'ом. Жуть как не хочется разбивать ее. Может быть есть другая возможность или же даже не entsel использовать для указания?

Re: lwpolyline и entsel

Разумеется, возможно.

Для этого надо завести несколько вспомогательных функций, которые пригодятся еще много раз:
1. Определиение, лежит ли точка на сегменте, координаты концов которого известны. Это просто.
2. Получение списка координат вершин полилинии. Это тоже просто.

Далее так - получить список вершин функцией 2, пробежаться по каждой паре функцией 1 и найти (или не найти) нужный сегмент. Это тоже просто.

  ENTSEL подойдет для  сегментов с нулевой шириной. Она возвращает примитив, и точку, в которой он указан.Сложности будут в случае широких (Очень широких) полилиний. Указывать-то придется на край линии, а искать точку точно на осевой. Но и тут имеются всякие хитрости.

Такие же сложности могут быть при последующем издевательстве над найденным сегментом.

Надеюсь, на вопрос "возможно ли..." я ответил.

Re: lwpolyline и entsel

Все это понятно, но я не раз сталкивался с тем, что entsel вовращает точку не обязательно лежащую именно на объекте (зависит от величины "прицела"). Может я и ошибаюсь, но в противном случае смысла искать ее на любом из сементов полилинии нет. Ответьте, прав ли я?