forverd 发表于 2021-4-10 20:17:10

测量曲线上任意两点的曲线长度

(defun C:dd( / en p1 p2)
(setq en (entsel "\n 选择曲线: "))
(setq p1 (getpoint "\n 选择曲线上第一点: "))
(setq p2 (getpoint "\n 选择曲线上第二点: "))
(abs
(- (vlax-curve-getDistAtPoint en p1))
   (vlax-curve-getDistAtPoint en p2)
   )
)这个代码运行后总是提示   错误: 无法获取 ObjectID:

请问这个是什么原因?怎么改写

谢谢


另外“vlax-curve-getDistAtPoint” 这个函数可以适用于哪些“curve-obj” ?多段线圆弧圆曲线 都可以吗?

690994 发表于 2021-4-10 21:37:29

en不对,看看entsel 说明

渠辉 发表于 2021-4-10 21:43:56

(car (entsel))

forverd 发表于 2021-4-10 21:44:54

690994 发表于 2021-4-10 21:37
en不对,看看entsel 说明

麻烦说下怎么修改,不懂lisp语言

forverd 发表于 2021-4-10 21:50:14

渠辉 发表于 2021-4-10 21:43
(car (entsel))

(setq en (car(entsel "\n 选择曲线: ")))   是这样吗?

wzg356 发表于 2021-4-11 16:08:54

(setq en(entsel "\n 选择曲线: "))
(setq en(car(entsel)))
(setq en(vlax-ename->vla-object en))

Bao_lai 发表于 2021-4-11 23:22:59

正解,要区分ent跟obj。
页: [1]
查看完整版本: 测量曲线上任意两点的曲线长度