作者sjgau (sjgau)
看板Cad_Cae
标题Re: [问题] 请问AutoLISP如何写自己呼叫自己的回圈?
时间Mon Apr 9 11:42:02 2007
以下是 一个求总合的 AutoLISP 程式,
给你做 参考。
; 这一行是 注解
如何执行这个程式?
假设档案名称是 sum.LSP
在 AutoCAD 指令行下面,输入
(load "sum")
即可产生一个 新的 AutoCAD 指令 sum
输入
sum
即可开始执行
; file: sum.LSP
(defun c:sum( / no sum i)
(setq no (getint "\n Input a integer number: "))
(setq sum 0)
; for i=1 to no do ...
(setq i 1)
(while (<= i no)
(setq sum (+ sum i))
(setq i (+ i 1))
); end of while
(princ (strcat "\n sum= " (itoa sum) "\n"))
(princ)
); end of c:sum
; end of file
※ 引述《MTLOVER (我要加油~~~)》之铭言:
: 请问大家
: 如以下的程式码:
: (setq ask (getstring "\n是否还要选点?[Y/N]"))
: (While ask(= Y)
: (setq p5 (getpoint "\n请选点:"))
: (setq p5x (nth 0 p5)
: p5y (nth 1 p5)
: p5z (nth 2 p5)
: )
: (setq m11 (((* p5x p5x)+) m11)
: m12 (((* p5x p5y)+) m12)
: m13 ((p5x +) m13)
: m21 (= m12)
: m22 (((* p5y p5y)+) m22)
: m23 ((p5y +) m23)
: m31 (= m13)
: m32 (= m23)
: )
: (setq ask (getstring "\n是否还要选点?[Y/N]"))
: )
: 我想要在这个while回圈内
: 如果最後ㄧ行是否还要选点(Y)
: 就可以呼叫自己这个回圈ㄧ次
: 一直到如果选择(N)才跳出这个while回圈
: 请问要怎麽写呢?
: 还有大家有没有学过C??
: 我想要写像是a=a+b
: 新的a会取代掉旧的a
: 这种要怎麽写阿??
: 像我程式中的m11~m33
: 就是想写这种
: 拜托教教我~~很急~~
: 因为是新手~请大家多多包函
: 谢谢谢谢~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.245.79.166