找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 575|回复: 4

[求助] [求助]:我这段代码错在哪?(ljpnb已帮忙解决)

[复制链接]
发表于 2005-4-5 15:47:48 | 显示全部楼层 |阅读模式

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

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

×
已解决...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-5 16:04:16 | 显示全部楼层
我修改过了:

....
(defun c:test ()                        ;竖直排列网点,单边光源
  (command "osnap" "none")
  (setvar "cmdecho" 0)
  (dcl_dia1)                                ;调用对话框子程序
  (prin1)                                ;防止nil
)
(defun dcl_dia1        ()
  (setq dcl_id (load_dialog "dia1"))        ;载入DCL文件
  (new_dialog "dia1" dcl_id)                ;启动dia1对话框
  (set_tile "kr1" "0.2")                ;设定r1起始值
  (set_tile "kr2" "0.5")                ;设定b起始值
  (set_tile "kb" "0.8")                        ;设定b起始值
  (set_tile "kh" "0.9")                        ;设定h起始值
  (set_tile "knn" "50")                        ;设定nn起始值
  (set_tile "kgg" "30")                        ;设定gg起始值
  (action_tile "draw_ok" "(get_rbh)(done_dialog 1)")
  (setq dd (start_dialog))
  (if (= dd 1)
    (c:zhipai)
    (t (alert "未完成任何动作!!!"))
  )
)

(defun get_rbh ()
  (setq r1 (atof (get_tile "kr1")))
  (setq r2 (atof (get_tile "kr2")))
  (setq b (atof (get_tile "kb")))
  (setq h (atof (get_tile "kh")))
  (setq nn (atof (get_tile "knn")))
  (setq gg (atof (get_tile "kgg")))
)

(defun c:zhipai        ()
  (setvar "cmdecho" 0)
  (setq a (/ (- r2 r1) (1- nn)))
  (setq pt1 (getpoint "任选一点:"))
  (setq        i 0
        c 0
  )
  (setq nnn (/ nn b))
  (setq n (fix nnn))
  (setq ggg (/ gg h))
  (setq g (fix ggg))
  (while (<= i n)
    (setq f (nth 0 pt1)
          e (* b i)
    )
    (setq pt (list (+ f e) (nth 1 pt1)))
    (setq d (+ r1 (* a i)))
    (setq i (1+ i))
    (command "circle" pt (/ d 2))        ;用圆形绘制
  )                                        ;while
  (command "array" "all" "" "" (1+ g) 1 h )
  (prin1)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-5 16:14:40 | 显示全部楼层
非常谢谢!
除了一个关键错误在setvar "b" 中不改加""号以外,能帮我说明一下哪些地方错了吗?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-5 16:24:29 | 显示全部楼层
最关键是这:
(defun get_rbh ()
(setq r1 (atof (get_tile "kr1")))
(setq r2 (atof (get_tile "kr2")))
(setq b (atof (get_tile "kb")))
(setq h (atof (get_tile "kh")))
(setq nn (atof (get_tile "knn")))
(setq gg (atof (get_tile "kgg")))
)
不是用setvar,而是用setq,setvar是对系统变量进行操作,setq是对一般变量的附值
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-5 16:29:03 | 显示全部楼层
啊...终于明白了,谢谢ljpnb!!!
原来你在宁波呀,我在慈溪!
呵呵,再次感谢!!!!

kevin
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 02:27 , Processed in 0.195573 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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