fxxpleasure 发表于 2012-2-13 10:00:19

请教函数vlax-curve-getParamAtPoint返回nil是何原因?

请教一下,
(vlax-curve-getParamAtPoint (car (entsel))(getpoint))
运行上句时,刚开始正常,后来就只返回nil,不知是何原因?是否与系统的设置有关?求教。


Andyhon 发表于 2012-2-13 10:09:01

point should be on curve-obj. 点必需在线上

fxxpleasure 发表于 2012-2-13 10:24:01

Andyhon 发表于 2012-2-13 10:09 static/image/common/back.gif
point should be on curve-obj. 点必需在线上

谢谢回复,这一点我注意了。我的点是在线上的,可还是返回nil.如图。

Andyhon 发表于 2012-2-13 10:48:32

一个猜想....
UCS

fxxpleasure 发表于 2012-2-13 10:51:44

Andyhon 发表于 2012-2-13 10:48 static/image/common/back.gif
一个猜想....
UCS

对对对,就是这个原因,非常感谢。
测试时设置了局部坐标系。
那为了避免出现这个情况,我需要在程序中先回归世界坐标系了。

luowy 发表于 2012-2-13 14:11:10

至于么?entsel的返回值有2个,一个是vla对象,一个是点的位置,,再用曲线到最近点的位置,取得点坐标

fxxpleasure 发表于 2012-2-14 09:32:01

luowy 发表于 2012-2-13 14:11 static/image/common/back.gif
至于么?entsel的返回值有2个,一个是vla对象,一个是点的位置,,再用曲线到最近点的位置,取得点坐标

因为我想用这个命令:(vlax-curve-getFirstDeriv curve pt0-param),需要点处的param,只有曲线到最近点的坐标不行。

luowy 发表于 2012-2-14 10:15:38

很久没用lsp,简单弄了几句(setq enameObj (entsel));; ename 是有2个值的,第一个是图元名,第二个是拾取点的位置,这个要利用
(setq ename (car enameObj));;图元名
(setq ept (cadr enameObj));; 拾取点
(vlax-curve-getClosestPointTo ename ept);; 返回的点肯定在曲线上

fxxpleasure 发表于 2012-2-14 16:10:26

luowy 发表于 2012-2-14 10:15 static/image/common/back.gif
很久没用lsp,简单弄了几句

呵呵 ,谢谢回复。你的意思我明白,学习了。
不过我的目的是过曲线上一点作切线,想用下面两个命令,仅得到点坐标还不够哦。
(setq pt0-param (vlax-curve-getparamatpoint curve pt0))
(setq pt1 (vlax-curve-getFirstDeriv curve pt0-param))

luowy 发表于 2012-2-14 16:46:19

fxxpleasure 发表于 2012-2-14 16:10 static/image/common/back.gif
呵呵 ,谢谢回复。你的意思我明白,学习了。
不过我的目的是过曲线上一点作切线,想用下面两个命令,仅得 ...

那也要得到曲线上的点
页: [1] 2
查看完整版本: 请教函数vlax-curve-getParamAtPoint返回nil是何原因?