找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 883|回复: 10

[求助] [求助]:有谁可以帮忙看一下是什么问题?

[复制链接]
发表于 2003-9-1 17:11:37 | 显示全部楼层 |阅读模式

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

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

×
在调试中出现的问题,HSS变量原是这样写
(SETQ  HSS  (/  30  180))
结果HSS=0
将30改成30.0
提示如图,不知什么原因。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 6530个

财富等级: 富甲天下

发表于 2003-9-1 18:26:45 | 显示全部楼层
问题好像不是出在这一句,你再分析一下以后的代码。
(/ 30 180) =0 的问题是整型数的问题,两个整型数运算,结果还是整型。是否这一结果的改变影响了后面结果,使得原来错误的代码暴露出来了,你再查查。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-1 19:44:44 | 显示全部楼层
一路排查才找到这个变量值。搞到头都大了。
最可疑是CONSP  1的提示。
在的R14中没有中断现象,在2004中有以上提示。
回到家中,R14在30.0的设置中可以完成调试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-1 23:59:10 | 显示全部楼层
如果你有疑问可以把相关的源码贴上来.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-2 00:28:53 | 显示全部楼层
由于程序很长,现只将与变量HSS有关的传上来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-9-2 10:56:27 | 显示全部楼层

  1. (defun C:xyb ()
  2.   (setq pm (getvar "limmax"))
  3.   (command "zoom" "all")
  4.   (command "layer" "s" "0" "")
  5.   (setq p0 (list (* (car pm) 0.50) (* (cadr pm) 0.50)))
  6.   (setq px0 (list (- (car p0) 95) (- (cadr p0) 40)))
  7.   (setq px2 (polar px0 0 25))
  8.   (setq hss (/ 30 1800))
  9.   (princ hss)
  10.   [color=red](szhix px2 hss)[/color]
  11.    (princ)
  12. )
  13. (princ "******键入Xyb开始执行*******")



  14. (defun szhix [color=red](pxx hss)[/color]
  15.   (setq pxx1 (polar pxx (* 0.5 pi) 15))
  16.   (setq pxx2 (polar pxx1 (* 1.5 pi) (* 0.5 hss)))
  17.   (command "line"
  18.            pxx1
  19.            pxx2
  20.            ""
  21.   )
  22.   (setq sd (entget (entlast)))
  23.   (setq i 1)
  24.   (while (<= i 1800)
  25.     (setq lhy (- (cadr pxx1) (* i hss)))
  26.     (setq sp1 (car (nth 9 sd)))
  27.     (setq lhx (car pxx1))
  28.     (setq sp2 (cdr (cdr (cdr (nth 9 sd)))))
  29.     (setq sp (cons sp1 (cons lhx (cons lhy sp2))))
  30.     (setq sd (subst sp (assoc 11 sd) sd))
  31.     (entmod sd)
  32.     (setq sd (entget (entlast)))
  33.     (setq i (1+ i))
  34.     (princ)
  35.   )
  36. )



看见两个红的地方的,下面的变量只会再它内部才有用,不会传到用到他的地方.
1.可以把szhix的hss变量去掉.
2.也可以把上面的(szhix px2 hss)换成(setq .. (szhix px2 hss)),当然要在szhix里要设好你的返回值.
我现在也不知道你要返回什么.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-2 11:15:58 | 显示全部楼层
改成以下也不行:

(defun C:xyb ()
  (setq pm (getvar "limmax"))
  (command "zoom" "all")
  (command "layer" "s" "0" "")
  (setq p0 (list (* (car pm) 0.50) (* (cadr pm) 0.50)))
  (setq px0 (list (- (car p0) 95) (- (cadr p0) 40)))
  (setq px2 (polar px0 0 25))
  (setq pxx1 (polar px2 (* 0.5 pi) 15))
  (setq pxx2 (polar pxx1 (* 1.5 pi) (* 0.5 (/ 30 1800))))
  (command "line"
           pxx1
           pxx2
           ""
  )
  (setq sd (entget (entlast)))
  (setq i 1)
  (while (<= i 1800)
    (setq lhy (- (cadr pxx1) (* i (/ 30 1800))))
    (setq sp1 (car (nth 9 sd)))
    (setq lhx (car pxx1))
    (setq sp2 (cdr (cdr (cdr (nth 9 sd)))))
    (setq sp (cons sp1 (cons lhx (cons lhy sp2))))
    (setq sd (subst sp (assoc 11 sd) sd))
    (entmod sd)
    (setq sd (entget (entlast)))
    (setq i (1+ i))
    (princ)
  )

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-9-2 11:41:15 | 显示全部楼层
30.0的问题上面不是有人说明白了吗?
int和float的关系.
况且你要什么数我怎么知道.

我说的是另一个问题.我当然是什么也没改,只是告诉你而已.

帮你分析一下(setq hss (/ 30 1800))  -->hss=0
(setq pxx2 (polar pxx1 (* 1.5 pi) (* 0.5 hss))) -->pxx2=pxx1

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

使用道具 举报

 楼主| 发表于 2003-9-2 11:49:34 | 显示全部楼层
分子小于分母的整数相除,结果就等于0,我不知道可以得到什么数学学奖。查LISP书后,先知有个人的头脑有问题,我也差不多。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-3 10:52:48 | 显示全部楼层
没办法,它就是这么规定的。
1/2=0
1.0/2=0.5
1/2.0=0.5
^_^
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-3 11:14:39 | 显示全部楼层
其实CONSP  1的问题还是搞不明白。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 17:40 , Processed in 0.218236 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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