jzf1987 发表于 2021-3-29 11:21:45

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

本帖最后由 jzf1987 于 2021-3-29 22:23 编辑

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

4楼正解

caoyin 发表于 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))
    )
)
)
)

wzg356 发表于 2021-3-29 13:09:24

http://bbs.mjtd.com/thread-182471-1-1.html

jzf1987 发表于 2021-3-29 14:00:16

wzg356 发表于 2021-3-29 13:09
http://bbs.mjtd.com/thread-182471-1-1.html

是一条多段线中的一段,不是继续画

jzf1987 发表于 2021-3-29 16:27:01

caoyin 发表于 2021-3-29 14:29
(defun C:TT (/ E P)
(if (setq E (entsel "\n选择多段线: "))
(progn


怎样把这两个点坐标提取并赋值给新的两个点

caoyin 发表于 2021-3-30 01:28:50

:$:L
(setq AAA(vlax-curve-getPointAtParam E P)
          BBB(vlax-curve-getPointAtParam E (1+ P))
    )
页: [1]
查看完整版本: 怎样获取离多段线上指定点最近的两个顶点的坐标