首页 > 解决方案 > AutoCAD 指定点相对于现有线的位置

问题描述

在此处输入图像描述 我有一条线(3d),定义了里程(相对于参考位置的公里)。线周围有一个固定对象列表,其中给出了对象的 XYZ 坐标。线和对象具有相同的原点和相同的坐标系。我需要提取物体相对于线的位置,即相对里程和到线的距离。任何人都知道如何提取这些对象的相对位置列表?

附言。我展示了一条线及其周围的一些对象的示例。对象是根据它们的坐标绘制的。现在我需要找到这些点相对于线的公里信息以及到线的距离(实际上,线可以包含很多曲线,只是将其成像为道路的中心线)。

提前致谢!

标签: referencegeolocationcoordinatesautocadautocad-scripts

解决方案


我没有现成的解决方案,但算法是:

  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. 根据线的固定距离重新计算距离。

推荐阅读