明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1105|回复: 5

[提问] 怎样获取离多段线上指定点最近的两个顶点的坐标

[复制链接]
发表于 2021-3-29 11:21:45 | 显示全部楼层 |阅读模式
本帖最后由 jzf1987 于 2021-3-29 22:23 编辑

在多段线上指定一点,获取离这个指定点最近的两个端点的坐标,这个距离是沿线线上的距离,不是点到点的距离。这个怎么写?

4楼正解

发表于 2021-3-29 14:29:39 | 显示全部楼层
(defun C:TT (/ E P)
(if (setq E (entsel "\n选择多段线: "))
  (progn
    (setq P (trans (cadr E) 1 0)
          E (car E)
          P (vlax-curve-getClosestPointTo E P)
          P (fix (vlax-curve-getParamAtPoint E P))
    )
    (list (vlax-curve-getPointAtParam E P)
          (vlax-curve-getPointAtParam E (1+ P))
    )
  )
)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-29 13:09:24 | 显示全部楼层
 楼主| 发表于 2021-3-29 14:00:16 | 显示全部楼层
wzg356 发表于 2021-3-29 13:09
http://bbs.mjtd.com/thread-182471-1-1.html

是一条多段线中的一段,不是继续画
 楼主| 发表于 2021-3-29 16:27:01 | 显示全部楼层
caoyin 发表于 2021-3-29 14:29
(defun C:TT (/ E P)
(if (setq E (entsel "\n选择多段线: "))
  (progn

  怎样把这两个点坐标提取并赋值给新的两个点
发表于 2021-3-30 01:28:50 | 显示全部楼层

  (setq AAA  (vlax-curve-getPointAtParam E P)
          BBB  (vlax-curve-getPointAtParam E (1+ P))
    )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-16 19:34 , Processed in 0.175589 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表