reference - AutoCAD 指定点相对于现有线的位置
问题描述
我有一条线(3d),定义了里程(相对于参考位置的公里)。线周围有一个固定对象列表,其中给出了对象的 XYZ 坐标。线和对象具有相同的原点和相同的坐标系。我需要提取物体相对于线的位置,即相对里程和到线的距离。任何人都知道如何提取这些对象的相对位置列表?
附言。我展示了一条线及其周围的一些对象的示例。对象是根据它们的坐标绘制的。现在我需要找到这些点相对于线的公里信息以及到线的距离(实际上,线可以包含很多曲线,只是将其成像为道路的中心线)。
提前致谢!
解决方案
我没有现成的解决方案,但算法是:
- 选择那些对象,在 LISP 中你可以使用
(ssget )
- 获取每个对象圆心的基点,例如:
(setq center(vlax-get-property Object 'Center))
. - 将中心点投影到曲线轴
(setq projection(vlax-curve-getClosestPointTo axis center ))
。 - 读取曲线从它开始到投影的长度:
( setq dist ( vlax-curve-getDistAtPoint axis projection ) )
。 - 根据线的固定距离重新计算距离。
推荐阅读
- python - 如何使用python根据同一数据框中另一列的值对数据框中的列中的值进行排序
- azure-devops - 具有动态环境的 Azure Pipeline 部署作业
- python - 制作 Spotify 语音助手时出错
- apache-kafka - Apache 点燃集群复制到另一个集群
- visual-studio-code - VSCode 删除了我的项目所在的文件夹
- java - 如何通过邮递员发送 MultiPartFile 列表列表
- apache - 如何在 RHEL 7 上安装 mod_auth_openidc
- matlab - 在 for 循环期间检查每个 if 或 elseif 语句
- wordpress - 我的 WordPress 网站给了我一个 403 错误
- swift - 访问组合运算符链中使用的值