![]() |
怎样在lisp中求一条斜线的1/3点
怎样在lisp中求一条斜线的1/3点
www.dimcax.com 怎样在lisp中求一条斜线的1/3点 怎样在lisp中求一条斜线的1/3点? 在只知道两端点的情况下,求其中一端点在斜线上的1/3点. 初学...还请大家不要笑话. 为什么光有看的没有回复的啊..... 起点=p1 终点=p2 1/3点=p3=? (setq len (distance p1 p2)) (setq ang (angle p1 p2)) (setq p3 (polar p1 ang (/ len 3))) 勤能补拙 能帮忙解释一下吗? len是不是就是length? 还有ang是什么意思?是将angle取值的函数? sorry....看错了。。。len和ang是被定义的函数。。。 学了一天又点头晕了。。。。 : 起点=p1 终点=p2 1/3点=p3=? (setq len (distance p1 p2)) (setq ang (angle p1 p2)) (setq p3 (polar p1 ang (/ len 3))) 1 ,先求出斜线长度 2, 再求出斜线与水平方向的夹角 3,用极坐标的方式求出(1/3点) 给你编一个程序: 你将程序考到你的cad下给它一个文件名qd.lsp在命令下用(load"qd")回车就可使用了, 在命令下输入qd回车用鼠标点第一点,要求的到这点的距离为线长的三分之一,用鼠标终点, 程序在要求点上画了一个红圆盘。 (defun c:qd () (setq os (getvar "osmode")) (setvar "osmode" 1) (setq p1 (getpoint "要求的点到这点的距离为线长的三分之一的起点:") p2 (getpoint "线长的终点:")) (setvar "osmode" 0) (setq dd (distance p1 p2) d1 (/ dd 3.0)) ;;如你将3.0改为5.0就为五分之一 3.0你可跟据你的需要去改变。 (setq p3 (polar p1 (angle p1 p2) d1)) (command "donut" "0" "5" p3 "") (command "change" "l" "" "p" "c" "1" "") (setvar "osmode" os) ) gbg 非常感谢。。。 |
| 所有的时间均为北京时间。 现在的时间是 03:34 AM. |