AUTOCAD УКАЗАТЬ РАСПОЛОЖЕНИЕ ТОЧКИ ОТНОСИТЕЛЬНО СУЩЕСТВУЮЩЕЙ ЛИНИИ - PullRequest
0 голосов
/ 14 февраля 2020

enter image description here У меня есть линия (3d) с определенной цепью (км относительно контрольного местоположения). Вокруг линии есть список фиксированных объектов, в котором даны координаты XYZ объектов. Линия и объекты имеют одинаковое происхождение и одинаковую систему координат. Мне нужно извлечь расположение объектов относительно линии, то есть относительную цепочку и расстояние до линии. Кто-нибудь знает, как извлечь список относительных местоположений для этих объектов?

пс. Я показал пример линии и некоторых объектов вокруг нее. Объекты строятся на основе их координат. Теперь мне нужно найти информацию о км этих точек относительно линии и расстояния до линии (на практике линия может содержать множество кривых, просто представляя, что это центральная линия дороги).

Заранее спасибо!

1 Ответ

0 голосов
/ 14 февраля 2020

У меня нет готового решения, но алгоритм будет таким:

  1. выберите эти объекты, в LISP. Вы можете использовать (ssget )
  2. , чтобы получить базовую точку для каждого из центров объектов. окружности, например: (setq center(vlax-get-property Object 'Center)).
  3. Центральная точка проекта к кривой - ось (setq projection(vlax-curve-getClosestPointTo axis center )).
  4. Считать длину кривой от ее начала до проекции: ( setq dist ( vlax-curve-getDistAtPoint axis projection ) ).
  5. Пересчитать расстояние на основе фиксированного расстояния линии.
...