xiaoyingzi 发表于 2013-8-6 18:26:09

请问怎么判断某个arx中的命令是否存在

本帖最后由 xiaoyingzi 于 2013-8-6 18:34 编辑

请问怎么判断某个arx中的命令是否存在
比如某个yy.arx中有个命令xx,可以通过command来调用,现在想通过lisp程序来判断xx这个命令是否存在,不通过判断是否加载该arx来判断(member "yy.arx" (arx)),该如何实现呢?想同过出错处理来实现,不成功
(if (wcmatch
      (vl-catch-all-error-message
      (vl-catch-all-apply
          '(lambda ()
             (vl-cmdf "xx")   
         )
      )
      )
      "*未知命令*"
    )
    (princ "命令xx不存在")
    (princ "命令xx存在")
)

wowan1314 发表于 2013-8-6 18:41:12

TYPE可以不?你试下

xiaoyingzi 发表于 2013-8-6 18:57:41

(type xx)
返回nil
没有按想像的是EXRXSUBR

wowan1314 发表于 2013-8-6 19:28:53

既然是命令! 那么(type C:xx)呢?

ZZXXQQ 发表于 2013-8-6 22:21:05

(defun findxx (xx)
(if (member xx (atoms-family 1))
T
nil
)
)

xiaoyingzi 发表于 2013-8-6 23:15:43

lisp定义的c:的命令用 (atoms-family 1)找得到,arx的命令,始终返回为nil

mj0000 发表于 2014-1-20 18:03:20

xiaoyingzi 发表于 2013-8-6 23:15 static/image/common/back.gif
lisp定义的c:的命令用 (atoms-family 1)找得到,arx的命令,始终返回为nil

arx命令要用表的形式如 (atoms-family 1'("HFB_PointMonitor"))

ZZXXQQ 发表于 2014-1-21 08:16:38

试下函数(arx)
页: [1]
查看完整版本: 请问怎么判断某个arx中的命令是否存在