明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1781|回复: 4

[已解答] 简单的数字输入问题

[复制链接]
发表于 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


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

点评

(if (= lpjq nil) (SETQ lpj 0)) (SETQ lpj (getint (strcat "\n输入列偏距<" (rtos lpjq 2 0) ">:"))) (if (= lpj nil) (SETQ lpj lpjq) (SETQ lpjq lpj))   发表于 2013-12-5 13:08
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-12-5 13:10:33 | 显示全部楼层
问题出在第四步,lpj应改写为lpjq
 楼主| 发表于 2013-12-5 14:56:45 | 显示全部楼层
nzl1116 发表于 2013-12-5 13:10
问题出在第四步,lpj应改写为lpjq

谢谢啦 , 看半天没看出来 ,完美解决
 楼主| 发表于 2013-12-5 14:57:32 | 显示全部楼层
谢谢叮咚
发表于 2024-2-24 10:48:37 | 显示全部楼层
谢谢谢谢谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 22:57 , Processed in 0.175572 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表