找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 599|回复: 1

[LISP程序]:园偏移程序的问题

[复制链接]
发表于 2008-4-9 11:31:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
程序运行的时候总是出现下面的问题

指定偏移距离或<0=退出>: 未知命令“22”。按 F1 查看帮助。

退出的时候会出现“; 错误: 参数类型错误: numberp: nil”

请各位帮帮忙给指出问题的所在

谢谢了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-4-11 22:15:02 | 显示全部楼层
你这个程序干吗用的?不太清楚有什么实际意义呀?
更改如下,再试:

;本程序实现园的重复偏移
(defun c:22 ();!!!园重复偏移
  ( setvar "cmdecho" 0 )
    (setq ss (getstring "\n横向(h)或竖向(s)<h> "))
   ; (setq s1 (getdist "\n输入距离:"))
    (setq s2 (entsel "\n选择园:"))
  (setq s2_data (entget (car s2)));提取群码
  (setq s2_list (cdr (assoc 10 s2_data))) ;取得圆心坐标
  (setq s2_rr (cdr (assoc 40 s2_data))) ;取得圆半径
  (setq s2_h (car s2_list)) ;取得横坐标
  (setq s2_s (cadr s2_list)) ;取得纵坐标
  (setq s1 1    temp_o 0    total 0 )
  (while (> s1 0)
       (setq s1 (getdist "\n指定偏移距离或<0=退出>:"))
       (if (= s1 nil) (setq s1 temp_o))
       (if (= ss "s")
         (progn (setq s2_s (+ s2_s s1))
           (setq s2_new_list (list s2_h s2_s))
           (command "circle"  s2_new_list s2_rr)
           (setq temp_o s1))         
         (progn (setq s2_h (+ s2_h s1))
           (setq s2_new_list (list s2_h s2_s))
           (command "circle"  s2_new_list s2_rr)
           (setq temp_o s1))         
        )
    )
  (princ)
  (gps->error-restore)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-16 21:32 , Processed in 0.181007 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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