huang.j.2002 发表于 2002-11-4 12:50:00

紧急求助各位CAD高手指点一个命令!

我在画凸轮时,遇到一个问题,怎样将一点p2绕一固定点p1(不是原点)旋转一个指定的角度A, A为一个需要用户输入值的参数。还有就是怎么把一段圆弧等分为K段,同样K也是需要用户指定的一个变量!请高手们将autolisp的源代码命令写在这里,晚辈不胜感激!

陈伯雄 发表于 2002-11-4 16:21:00

(Polar)函数和Divide命令。

huang.j.2002 发表于 2002-11-4 19:51:00

麻烦写一下代码

我是autolisp的初学者,知道要用divide和polar命令,但找了很多书都没看到样例,高手能不能写详细的代码?我想用rot命令,但写成(rot (p2,p1,b))为何不能将p2点绕p1点旋转b角度?具体怎么写?麻烦各位帮我看看。谢谢!

dbczhaoy 发表于 2002-11-4 23:03:00

其实就是函数的应用和命令的应用方法,希望对你有用!

你多看看帮助文件,其实你提的根本就不叫问题,我说话直不要见怪!看看下面:
(defun c:test1()
;已知一点P1和一个角度ANG取得另一点P2
(setq p1 (getpoint "\n拾取一点p1"))
(command "point" p1 )
(setq ANG (getreal "\n角度值:"))
   ;转化为弧度
(setq ang (* ( / ang 180 ) 3.1415926))
;输入两点之间的离
(setq dist (getreal "\n距离值:"))
(setq p2 (polar p1 angdist))
(command "point" p2 )
(princ)
)
(defun c:test2()
(setq k (getreal "\n段数K:"))
(command "divide" )
(command pause )
(command K "" )
(princ)
)
;好好把POLAR函数和GETREAL函数的帮助文件看看好吗?

huang.j.2002 发表于 2002-11-5 21:41:00

谢谢你给的帮助!但为什么你给的DIVIDE命令不能用?

谢谢你给的帮助!第一个命令真是perfect!但为什么你给的DIVIDE命令不能用?每次输入完<分段数>/块(B):后,例如3,就提示"需要介于 2 和 32767 之间的整数, 或选项关键字."命令错在哪里呢?望指教!

dbczhaoy 发表于 2002-11-6 21:27:00

把获取一个实数改成获取一个整数就可以了!

(defun c:test2()
(setq k (getint "\n段数K:"))
(command "divide" )
(command pause )
(command K)
(princ)
)
;拜托你仔细看看帮助文件行吗?!!!1
页: [1]
查看完整版本: 紧急求助各位CAD高手指点一个命令!