xingyun300 发表于 2012-4-8 08:59:38

求助高手-----改为记忆数字递增-----(祥图编号)-----标题要长 要长

这里面有三个命令,第一个是设置圆的半径(RC),第二个是设置字体大小,字体倾斜度,并输入数字《1或A,任意数都行》(BB),第三个能记忆圆的半径,字体大小,字体倾斜度,但不能记忆输入的数字(BC),

要求在第三个命令里也能记忆上一次输入的数字并递增1,比如说在(BB)里输入的是 3,在第三个命令(BC)里能自动输入数字 4 ,再(BC)就是数字 5 ;在(BB)里输入的是 A2 ,在第三个命令(BC)里能自动输入数字 A3 再(BC)就是 A4

在 给大家代码如下

zhuquanmao 发表于 2012-4-9 00:17:32

本帖最后由 zhuquanmao 于 2012-4-9 00:28 编辑

看看楼下的代码 我这里成了

不语勿语 发表于 2018-11-25 23:27:44

            留个脚印

xinmh 发表于 2015-2-3 18:59:31

我怎么不行啊。。。。

puzb2001 发表于 2012-4-8 09:54:06

taocitc 发表于 2012-4-8 11:02:17

设置一个全局变量行么?

叮咚 发表于 2012-4-8 20:03:42

;;这是一个对祥图进行标号的小程序
(defun C:bb (/ rr r pt1 pt2 pt3 ang)
(setq old_osmode (getvar "osmode"))
(setvar "cmdecho" 0)
(setq rr (getvar "circlerad"))
(initget (+ 2 4))
(setq r (getreal (strcat "\n请输入标号圆半径 < " (rtos rr) ">:")))
                                        ;如标号圆半径未输入,提示输入标号圆半径
(if (null r)
    (setq r rr)
)
(initget (+ 2 4))
(if (not (numberp bh))
    (progn
      (setq bh (getint "\n输入起始号<1>:"))
      (if (= nil bh)
        (setq bh 1)
      )
    )
    (progn
      (setq bh (getint (strcat "\n输入起始号<" (itoa bh) ">:")))
      (if (= nil bh)
        (setq bh bh)
      )
    )
)
(if (null qz)
    (setq qz (getstring "\n前缀<无>:"))
                (progn
    (setq qz (getstring (strcat "\n前缀<" qz ">:")))
                (setq qz qz)
)
        )
(setq pt1 (getpoint "\n请输入第一点: "))
(while pt1
    (setq pt2 (getpoint pt1 "\n请输入第二点: "))
    (if        pt2
      (progn
        (setvar "osmode" 0)
        (command "_.line" pt1 pt2 "")
        (setq ang (angle pt1 pt2))
        (setq pt3 (polar pt2 ang r))
        (command "circle" pt3 r)
        (command "text" "mc" pt3r 0 (strcat qz (itoa bh)))
        (setq bh (1+ bh))
        (setvar "osmode" old_osmode)
        (setq pt1 (getpoint "\n请输入第一点: "))
      )
      (setq pt1 nil)
    )
)
        (setvar "cmdecho" 1)
(prin1)
)
;;; 文字结尾

xingyun300 发表于 2012-4-8 20:19:55

叮咚 发表于 2012-4-8 20:03 static/image/common/back.gif
;;这是一个对祥图进行标号的小程序
(defun C:bb (/ rr r pt1 pt2 pt3 ang)
(setq old_osmode (getvar " ...

刚进行了一个测试,发现有点问题呢!

当第一次输入BB命令时,默认输入是数字1,当再一次用BB命令时,默认输入是数字2,当回车时,输入能消失!

错误: 参数类型错误: fixnump: nil

有这个错误呢!

叮咚 发表于 2012-4-8 20:24:19

xingyun300 发表于 2012-4-8 20:19 static/image/common/back.gif
刚进行了一个测试,发现有点问题呢!

当第一次输入BB命令时,默认输入是数字1,当再一次用BB命令时,默 ...

你看提示了吗?
我试了,怎么没错啊

xingyun300 发表于 2012-4-8 20:36:06

叮咚 发表于 2012-4-8 20:24 static/image/common/back.gif
你看提示了吗?
我试了,怎么没错啊

做了一个视频,你看看是怎么会事!

cabinsummer 发表于 2012-4-8 20:50:17

这个问题会在我的“明细表”帖子中得到详细回答,敬请期待!

叮咚 发表于 2012-4-8 20:54:01

;;这是一个对祥图进行标号的小程序
(defun C:bb (/ rr r pt1 pt2 pt3 ang)
(setq old_osmode (getvar "osmode"))
(setvar "cmdecho" 0)
(setq rr (getvar "circlerad"))
(initget (+ 2 4))
(setq r (getreal (strcat "\n请输入标号圆半径 < " (rtos rr) ">:")))
                                        ;如标号圆半径未输入,提示输入标号圆半径
(if (null r)
    (setq r rr)
)
(initget (+ 2 4))
(if (not (numberp bh))
    (progn
      (setq bh (getint "\n输入起始号<1>:"))
      (if (= nil bh)
        (setq bh 1)
      )
    )
    (progn
                (setq bh00 bh)
      (setq bh (getint (strcat "\n输入起始号<" (itoa bh00) ">:")))
      (if (= nil bh)
        (setq bh bh00)
      )
    )
)
(if (= "" qz)
    (setq qz (getstring "\n前缀<无>:"))
                (progn
                (setq qz00 qz)
    (setq qz (getstring (strcat "\n前缀<" qz00 ">:")))
                (if (= "" qz)
                (setq qz qz00)
                )
)
        )
(setq pt1 (getpoint "\n请输入第一点: "))
(while pt1
    (setq pt2 (getpoint pt1 "\n请输入第二点: "))
    (if        pt2
      (progn
        (setvar "osmode" 0)
        (command "_.line" pt1 pt2 "")
        (setq ang (angle pt1 pt2))
        (setq pt3 (polar pt2 ang r))
        (command "circle" pt3 r)
        (command "text" "mc" pt3r 0 (strcat qz (itoa bh)))
        (setq bh (1+ bh))
        (setvar "osmode" old_osmode)
        (setq pt1 (getpoint "\n请输入第一点: "))
      )
      (setq pt1 nil)
    )
)
        (setvar "cmdecho" 1)
(prin1)
)
;;; 文字结尾

xingyun300 发表于 2012-4-8 21:11:32

叮咚 发表于 2012-4-8 20:54 static/image/common/back.gif
;;这是一个对祥图进行标号的小程序
(defun C:bb (/ rr r pt1 pt2 pt3 ang)
(setq old_osmode (getvar " ...

这次运行不了,直接出现错误了,哥们,还要帮忙改改呀!!!


命令: bb
请输入标号圆半径 < 0>:50
输入起始号<1>:
; 错误: 参数类型错误: stringp nil
页: [1] 2
查看完整版本: 求助高手-----改为记忆数字递增-----(祥图编号)-----标题要长 要长