yunlong300 发表于 2005-1-12 12:39:00

[求助]如何在程序中判断内部函数是否已执行完毕?急!

如何在程序中判断内部函数是否已执行完毕?<br>
<br>
在lisp程序中调用CAD的一个内部函数,想保留该函数的所有可选参数,可是参数的个数是不确定的,多用几个pause参数又影响后续代码的执行。请问
各位大侠,如何在程序中判断该内部函数是否已执行完毕?例如:在程序中调用"Text"函数,手动是否选择参数"对正(J)",其用到的参数总个数是不同
的。程序如何得知"Text"函数是否已运行结束呢?急盼高手指点,谢谢!!!<br>

wdb 发表于 2005-1-12 13:40:00

用entmake更好.

alin 发表于 2005-1-12 13:51:00

Check system variable "CMDACTIVE".

yunlong300 发表于 2005-1-12 15:00:00

多谢alin版主指点。<br>
我编了一个测试程序,但是不能正确运行,请指点错误出在哪里<br>
<br>
(defun c:test (/ ss pt1 pt2)<br>
       (setvar "cmdecho" 1)<br>
       (command "text")<br>
       (while (and (&gt; (getvar "cmdactive") 0)<br>
                                                              (&lt; (getvar "cmdactive") 4)<br>
                               )<br>
                       (command pause)<br>
       )<br>
       (setq pt1 (getpoint "\n第一点:")<br>
                       pt2 (getpoint pt1 "\n第二点:")<br>
       )<br>
       (command "line" pt1 pt2 "")<br>
       (setvar "cmdecho" 0)<br>
       (princ)<br>
)<br>
<br>
运行中需要填写字符串参数时,程序会自动填写一个"\"字符,不知是何原因?<br>
以上测试程序无法完成文字内容的输入。<br>

aeo000000 发表于 2005-1-16 00:18:00

TEXTEVAL 系统变量 概念 操作步骤 参考 类型:整数
不保存
初始值:0控制处理使用TEXT 或 -TEXT 命令输入的字符串的方法。0   当提示输入字符串和属性值时,所有的响应都被当作文本1   以开括弧 [(] 或叹号 [!] 开头的文字被当作 AutoLISP 表达式,而不是文本TEXT 命令将把所有输入内容当作文本,而不考虑 TEXTEVAL 的设置,除非它完全用脚本和 AutoLISP 表达式执行。-TEXT 命令执行 TEXTEVAL 的设置。

yunlong300 发表于 2005-1-19 17:44:00

非常感谢。
页: [1]
查看完整版本: [求助]如何在程序中判断内部函数是否已执行完毕?急!