找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 570|回复: 4

[求助] [求助]:高手指点错误在哪?

[复制链接]
发表于 2004-10-30 09:26:04 | 显示全部楼层 |阅读模式

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

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

×
请问以下的程序片段有错误吗?错在哪里?(为何给angle-fwj 赋的值不起作用)
;转换方位角
(defun zhffwj(a)
     (if (<=  a  (* 0.5 pi))
         (setq xs 0)
         (setq xs 1.0)
     )
      (+ (* xs 2 pi ) (- (* 0.5 pi) a) )  
);end of defun
(if (and (angtos (>= (zhffwj (angle jdpt1 jdpt2)) 0) 0 5 )     ; jdpt1 jdpt2为多义线两顶点,已赋值
                    (angtos (<= (zhffwj (angle jdpt1 jdpt2)) 90) 0 5 )
               )
           )
           (setq angle-fwj (angtos (zhffwj (angle jdpt1 jdpt2)) 0 5))      ;NE
           (if (and (angtos (> (zhffwj (angle jdpt1 jdpt2)) 90) 0 5 )
                    (angtos (<= (zhffwj (angle jdpt1 jdpt2)) 180) 0 5)
               )
           )
           (setq angle-fwj (angtos (- 180 (zhffwj (angle jdpt1 jdpt2)) ) 0 5) )   ;NW
         。。。。。。
    (command "text" "j" "r" pt1 "3" "0" angle-fwj)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-10-30 09:42:43 | 显示全部楼层
(angtos (>= (zhffwj (angle jdpt1 jdpt2)) 0) 0 5 )
其中(>= (zhffwj (angle jdpt1 jdpt2)) 0)的值为t或nil,肯定出错!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-30 12:11:32 | 显示全部楼层
楼上的说得对 前面是判断 只能是t或者nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-10-30 15:34:18 | 显示全部楼层
让大家见笑了,我是初学者,改为如下为何仍不行?
      (if (and (> (zhffwj (angle jdpt1 jdpt2)) 90)
                  (<= (zhffwj (angle jdpt1 jdpt2)) 180)
          )
      )
           (setq angle-fwj (angtos (- 180 (zhffwj (angle jdpt1 jdpt2)) ) 0 5) )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-30 16:37:19 | 显示全部楼层
[php]
;;看了半天,原来就是要标两点的角度。
;;楼主的错误在于一会儿用角度单位,一会儿又用弧度单位,两者直接进行四则运算肯定出问题,看下面是否行?
(defun c:test ()
  (setq        pt1 (getpoint "\n1点 : ")
        pt2 (getpoint pt1 "\n2点 : ")
  )
  (setq ang (angle pt1 pt2))
  (if (and  (>= ang 0)
           (<= ang pi)
      )
    (setq angle-fwj (angtos ang 0 5))
  )
  (if (and  (> ang pi)
           (<= ang (* pi 2))
      )
    (setq angle-fwj (angtos (- ang pi) 0 5))
  )
  (command "text" "j" "r" pt1 "3" "0" angle-fwj "")
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 13:50 , Processed in 0.173762 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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