从acaddo运行lsp或vlx
我相信这真的很简单,但我有问题。我想运行“lockallvp”。每次我打开一个文件。
我目前正在使用acaddoc,如下所示:
(加载“lockallvp.vlx”)
锁定VP
插件加载但不运行。
谢谢你的帮助
亚伦 使用:
(if (load "lockallvp.vlx" nil)
(c:lockallvp)
(princ "\nFailed to Load lockallvp.vlx")
)
或者,错误捕捉稍微多一些:
(if (and (load "lockallvp.vlx" nil) c:lockallvp)
(c:lockallvp)
(princ "\nFailed to Load lockallvp.vlx")
)
欢迎来到论坛 谢谢李。第二个示例似乎多次运行该函数。是否有理由“if”语句在测试过程中不会固有地执行功能?
例如
(如果(和(加载“lockallvp.vlx”nil)c:lockallvp)
(princ“\nlockallvp.vlx已加载并成功执行”)
(princ“\n未能加载lockallvp.vlx”)
)
c: 如果没有必要的括号,通过LISP调用的lockallvp将不会执行,例如:(c:lockallvp)。
如果函数是在加载时执行的,那是因为VLX的作者在其函数定义的末尾添加了上述调用。
另一个简单的例子:
(defun c:HelloWorld () ; <-- Define function
(prompt "\nHello World! ")
(princ))
(c:HelloWorld ) ; <-- Autorun function
正如Renderman所说,也许作者在vlx应用程序中包含了对函数的调用。
至于:
函数c:lockallvp没有被评估,我只是测试符号“c:lockallvp”以查看函数值是否已绑定到它;i、 e.符号是否计算为非零。
例如:
(defun c:LeeMac()(princ“\n这是一个函数”)C: LEEMAC_$_$C:LEEMAC#;; 李,我相信这就是OP建议调用c:LockAllVp两次的示例:
**编辑-再次,假设VLX包含加载时的调用。 我认为OP对为什么“c:lockallvp”出现在AND语句中感到困惑,所以提供了一个简短的解释——正如您正确建议的那样,我猜测lockallvp命令在加载时运行。 谢谢各位,这些信息真是太丰富了。
李是对的,我假设‘and’语句中提到的lockallvp是在运行函数,但显然它只是在检查定义?
你是对的;更具体地说,当AND语句通过(非nil)时,IF语句的THEN部分是第二次调用命令的部分(加载是第一次)。 谢谢RenderMan,我理解结构。
时间和一个不相关的程度能对我的软起什么作用,真是令人难过。工程本科。,尤其是当我用lisp语言做人工智能的时候。蒂斯克。
非常感谢您的反馈。希望我能给你一些时间。
页:
[1]
2