找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 626|回复: 4

[LISP程序]:错在哪里??

[复制链接]
发表于 2004-3-8 15:59:38 | 显示全部楼层 |阅读模式

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

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

×
[php]
(defun e (/ en1 en2 en3 en4 pts m arlixq)
  (setq en3 (entsel "xuanzeshiti"))
  (SETQ EN1 (CAR EN3))
  (setq en4 (entsel "xuanzeshiti"))
  (SETQ EN2 (CAR EN4))
  (vl-load-com)
  (if
    (or        (and (= (enty en1) "LINE")
             (= (enty en2) "ARC")
        )
        (and (= (enty en1) "ARC")
             (= (enty en2) "LINE")
        )
    )
     ((setq pts        (vla-IntersectWith
                  (vlax-ename->vla-object en1)
                  (vlax-ename->vla-object en2)
                  acExtendnone
                )
      )
       (setq
         m (vlax-safearray-get-u-bound (vlax-variant-value pts) 1)
       )
       (if (or (< m 0) (> m 2))
         nil
         (setq arlixq T)
       )
     )
  )
)
提示 参数类型错误: variantp nil
多谢!
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-8 17:20:25 | 显示全部楼层
1。enty 函数未定义。
2. ((setq pts 多一个左括号。
。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-3-8 19:10:54 | 显示全部楼层
调试时以定义enty函数,左括号是if条件函数里第二个括号,应该没问题,但运行时有上面的错误提示,还请各位再帮忙看看!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-3-8 20:41:31 | 显示全部楼层
最初由 redapple 发布
[B]调试时以定义enty函数,左括号是if条件函数里第二个括号,应该没问题,但运行时有上面的错误提示,还请各位再帮忙看看! [/B]


在LISP里面,左括号后面符号,一定是函数,LISP要对左括号后面的第一个符号做为函数进行求值。

所以任何时候:

((setq pts   

这样两个左括号挨着,只有一种可能,就是 pts 值为T或者NIL的时候,在COND多分支情况下,作为一种判断条件。

除了上面的情况,出现((setq pts    这样的两个左括号挨着,一定是“错误”的。

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

使用道具 举报

 楼主| 发表于 2004-3-8 21:23:30 | 显示全部楼层
((setq pts
改为
(progn
(setq pts .....
运行正确,多谢,多谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 00:16 , Processed in 0.175639 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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