![]() |
lisp已知任意点,及任意点与曲线的距离,求曲线上的点
lisp已知任意点,及任意点与曲线的距离,求曲线上的点
www.dimcax.com lisp已知任意点,及任意点与曲线的距离,求曲线上的点 如题,如何得出曲线上的点?? 还有一个就是,如果知道曲线与另一条直线间的距离,怎样求出曲线上的这个点? 请参考 vlax-curve-*** 函数 谢谢。。。我先看下函数。。。 刚才看了一下你说的那些函数。。。还是理解不了。。。 比方说: 我想画那条红线 只知道两条竖线的交点和红色线的长度,怎么样才能画出来呢? 我自己的理解是,一定要知道画红线在曲线上的点和水平线上点,但这两点怎么求啊。。。 图片: 图片: 图片: 图片: 下面是给你编的一个程序: 你把下面的程序考到你的cad下给一个名qdian.lsp在命令下用(load"qdian")回车就可使用, 在命令下输入qdian回车, (defun c:qdian () (setq os (getvar "osmode")) (setvar "osmode" 39) (prompt "输入线的长度: ") (setq l (getreal)) (setq p1 (getpoint "两条直线交点: ") p2 (polar p1 (* pi 0.5) l)) (setvar "osmode" 0) (command "xline" "h" p2 "") (setvar "osmode" 39) (setq p3 (getpoint "曲线和xline的交点: ")) (command "xline" "v" p3 "") (command "line" p3 (getpoint "xline和水平线的交点:") "" ) (command "change" "l" """p" "c" "1" "") (setvar "osmode" 0) (command "erase" ) (setvar "osmode" os) ) gbg 谢谢版主。。。 但是还不是我想要得到的结果。。 我想要的是曲线上画那条红线的点的坐标,以利用此坐标来做起点画另外的一张图。 当然,肯定是用lisp程序 vlax-curve-getfirstderiv和vlax-curve-getparamatdist这两个函数是什么意思? 怎么用? 从书本上找不到,看函数解释的也不是很明白。。。 下面把程序改成红线的两个点的座标. 你到另一图上画p3 p4的线还是不理解.用!p3 !p4 看到它的值 (defun c:qdian () (setq os (getvar "osmode")) (setvar "osmode" 39) (prompt "输入线的长度: ") (setq l (getreal)) (setq p1 (getpoint "两条直线交点: ") p2 (polar p1 (* pi 0.5) l)) (setvar "osmode" 0) (command "xline" "h" p2 "") (setq aa (ssget "l")) (setvar "osmode" 39) (setq p3 (getpoint "曲线和xline的交点: ")) (command "xline" "v" p3 "") (setq bb (ssget "l") p4 (getpoint "xline和水平线的交点:") ) (command "line" p3 p4 "" ) ;是红线的两个点 (command "change" "l" """p" "c" "1" "") (setvar "osmode" 0) (command "erase" aa bb "") (setvar "osmode" os) ) gbg 这样我就明白了。。。看来我是把问题想的太复杂了。。。 非常感谢斑竹。。。。 刚才又仔细的看了一遍。。。还是有问题。。。 如果我不用去选择点的话,到了(setq p3 (getpoint "曲线和xline的交点: ")) 到了这一点就进行不下去了。。 p3,p4这两点还是需要用鼠标去点取的。。 如果要自动的话还是实现不了。。。 |
所有的时间均为北京时间。 现在的时间是 09:49 PM. |