马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
这个程序用在图纸目录中的图号生成最好了,只要几秒钟就搞定了:),支持小数和小数增量。
- (defun c:na(/ Numtxt Arang StNum NumAdd Nums Dis Bpoint oTxtH TxtH TxtR x
- y dx dy osnm NumAdd0 StNum0 xs1 xs2 Numlen NAlen Maxxs)
- (princ "\n--数列生成程序--\n")
- (setvar "cmdecho" 0)
- (setq osnm (getvar "osmode"))
- (setvar "osmode" 0)
- (initget 1)
- (setq Bpoint (getpoint "\n请点取起始点:"))
- (while (= nil StNum)
- (setq StNum0 (getstring "\n起始数字:"))
- (setq StNum (distof StNum0))
- )
- (while (= nil NumAdd)
- (setq NumAdd0 (getstring "\n增量:"))
- (setq NumAdd (distof NumAdd0))
- )
- (setq Numlen (strlen StNum0))
- (setq xs1 (xsws StNum0 Numlen))
- (setq NAlen (strlen NumAdd0))
- (setq xs2 (xsws NumAdd0 NAlen))
- (setq Maxxs (max xs1 xs2))
- (initget 7)
- (setq Nums (getint "\n个数:"))
- (initget 3)
- (setq Dis (getint "\n数字间距:"))
- (initget "nil x y")
- (setq Arang (getkword "\n数列方向(X-水平,Y-垂直)<Y>:"))
- (if (/= "x" Arang)
- (setq Arang 1)
- (setq Arang nil)
- )
- ;
- ;--------加入下列程序段可控制小数位数----------
- ;
- ;(setq oluprec (getvar "luprec"))
- ;(princ (strcat "\n保留小数位数<" (rtos oluprec) ">:"))
- ;(initget 4)
- ;(setq Maxxs (getint))
- ;(cond ((null Maxxs) (setq Maxxs oluprec)))
- ;
- ;----------------------------------------------
- ;
- (setq oTxtH (getvar "textsize"))
- (princ (strcat "\n字高<" (rtos oTxtH) ">:"))
- (initget 6)
- (setq TxtH (getint))
- (cond ((null TxtH) (setq TxtH oTxtH)))
- (setq TxtR (getreal "\n转角<0>:"))
- (cond ((null TxtR) (setq TxtR 0)))
- (setq dx Dis)
- (setq dy Dis)
- (repeat Nums
- (setq x (car Bpoint))
- (setq y (cadr Bpoint))
- (if Arang
- (setq dx 0)
- (setq dy 0)
- )
- (setq Numtxt (rtos StNum 2 Maxxs))
- (command "text" Bpoint TxtH TxtR Numtxt)
- (setq StNum (+ StNum NumAdd))
- (setq Bpoint (list (+ x dx) (+ y dy)))
- )
- (command)
- (setvar "cmdecho" 1)
- (setvar "osmode" osnm)
- (princ)
- )
- (defun xsws(st l / i j st1 ws)
- (setq st1 (substr st 1 1))
- (setq i 1)
- (setq j 1)
- (while (and (/= st1 ".") (/= i l))
- (setq i (1+ i))
- (setq st1 (substr st i 1))
- (setq j (1+ j))
- )
- (setq ws (- l j))
- )
- (princ "\n数列生成程序已成功加载,键入命令“NA”即可启动本程序。\n")
-
|