aihuyujian 发表于 2013-12-5 12:19:12

简单的数字输入问题

想搞个简单点的阵列命令 可是到第三个数据的输入就出错了 大神帮忙看下哪里错了 实在看不出了

代码如下

;; 命令: 阵列
(defun c:za()
      (setq ss (ssget))

(if (= hsq nil) (SETQ hsq 6))
   (SETQ hs (getint (strcat "\n输入行数<" (rtos hsq 2 0) ">:")))
   (if (= hs nil) (SETQ hs hsq) (SETQ hsq hs))

(if (= lsq nil) (SETQ lsq 1))
   (SETQ ls (getint (strcat "\n输入列数<" (rtos lsq 2 0) ">:")))
   (if (= ls nil) (SETQ ls lsq) (SETQ lsq ls))

(if (= hpjq nil) (SETQ hpjq 3000))
   (SETQ hpj (getint (strcat "\n输入行偏距<" (rtos hpjq 2 0) ">:")))
   (if (= hpj nil) (SETQ hpj hpjq) (SETQ hpjq hpj))

(if (= lpjq nil) (SETQ lpj 0))
   (SETQ lpj (getint (strcat "\n输入列偏距<" (rtos lpjq 2 0) ">:")))
   (if (= lpj nil) (SETQ lpj lpjq) (SETQ lpjq lpj))

(if (= jdq nil) (SETQ jdq 0))
   (SETQ jd (getint (strcat "\n输入角度<" (rtos jdq 2 0) ">:")))
   (if (= jd nil) (SETQ jd jdq) (SETQ jdq jd))

(command "array" ss "" "r" hs ls hpj lpj jd)
(princ))

这是运行的记录:
命令: za
选择对象: 指定对角点: 找到 68 个
选择对象:
输入行数<6>:
输入列数<1>:
输入行偏距<3000>:
参数类型错误: numberp: nil


大神们看看到底哪错了,实在是找不出为什么了。谢谢啦

nzl1116 发表于 2013-12-5 13:10:33

问题出在第四步,lpj应改写为lpjq

aihuyujian 发表于 2013-12-5 14:56:45

nzl1116 发表于 2013-12-5 13:10 static/image/common/back.gif
问题出在第四步,lpj应改写为lpjq

谢谢啦 , 看半天没看出来 ,完美解决

aihuyujian 发表于 2013-12-5 14:57:32

谢谢叮咚

yefei812678 发表于 2024-2-24 10:48:37

谢谢谢谢谢谢

zmzk 发表于 2025-1-21 19:30:18

留个脚印, 有一天可能会用到
页: [1]
查看完整版本: 简单的数字输入问题