明经通道 发表于 2012-10-9 13:31:15

command 执行一条 AutoCAD 命令

<P id=crleadin class=cr_leadin>执行一条 AutoCAD 命令</P><PRE class=prog_in_end>(command ...)</PRE>
<P class=Heading-2>参数</P>
<P class=define_head>arguments</P>
<P class=define_text>AutoCAD 命令、选项或表达式。</P>
<P class=define_text>command 函数的参数可以是字符串、实数、整数或点,但必须与要执行的命令所需的参数一致。空字符串 ("") 表示从键盘键入 ENTER 键。不带参数调用 command 相当于键入 ESC 键,这样可取消大多数 AutoCAD 命令。</P>
<P class=body>command 函数将每一个参数顺序传给 AutoCAD 以响应提示。它以字符串形式提交命令名和选项;以两个实数组成的表的形式提交二维点;以三个实数组成的表的形式提交三维点。只有在命令提示下 AutoCAD 才能识别命令名。</P>
<P class=body>要注意的是,如果从 Visual LISP 中使用 command 函数,控制并不会转移到 AutoCAD 中。如果命令要求用户输入,则可以在控制台窗口中看到返回结果 (nil),但 AutoCAD 将等待输入,必须手动激活 AutoCAD 并响应提示。在这样做以前,任何后续命令都会失败。</P>
<P class=Heading-2>返回值</P><PRE class=prog_in_end>nil</PRE>
<P class=Heading-2>示例</P>
<P class=body>下例先将变量 pt1 和 pt2 分别设为点 (1,1) 和点 (1,5),然后调用 command 函数执行 LINE 命令并将这两个点的值传给 AutoCAD。</P>
<P class=prompt_end>命令: (setq pt1 '(1 1) pt2 '(1 5))</P>
<P class=prompt_end>(1 5)</P>
<P class=prompt_end>命令: (command "line" pt1 pt2 "")</P>
<P class=prompt_end>line From point:</P>
<P class=prompt_end>To point:</P>
<P class=prompt_end>To point:</P>
<P class=prompt_end>命令: nil</P>
<P class=body>限制和注意事项</P>
<P class=body>AutoCAD 的 SKETCH 命令直接读取键盘和数字化仪,因此不能在 AutoLISP 的 command 函数中使用这两个命令。如果在函数中使用 SCRIPT 命令,它必须是出现在该 AutoLISP 程序的最后。</P>
<P class=body>同样,如果在 acad.lsp 或 MNL 文件中使用 command 函数,则只能在 defun 表达式中调用。应使用 S::STARTUP 函数定义在绘图任务开始时就要执行的那些初始化命令。 </P>
<P class=body>对于那些需要选取一个对象的 AutoCAD 命令(如 BREAK 和 TRIM 命令),可以提供一个用 entsel 函数获得的表来取代交互操作时为选取一个对象而需要的点,这方面的例子可参见 《Visual LISP 开发人员手册》中的 <A href="ms-its:ACAD_ALG.chm::/ALG.09.006.htm"><FONT color=#0000ff>将拾取点传给 AutoCAD 命令</FONT></A> 。</P>
<P class=body>如果系统变量 CMDECHO(可通过 setvar 和 getvar 函数存取)被设为 0,通过 command 函数执行的命令将不会在命令行中显示。</P>
<P class=see_also>参阅</P>
<P class=body><A href="mk:@MSITStore:C:\Documents%20and%20Settings\Administrator\桌面\acad_alr.chm::/ALR.default.257.htm"><FONT color=#0000ff>vl-cmdf</FONT></A> 函数和《Visual LISP 开发人员手册》中的 <A href="ms-its:ACAD_ALG.chm::/ALG.09.003.htm"><FONT color=#0000ff>命令提交</FONT></A>。</P>

ucuc2003 发表于 2012-12-23 01:22:01

困了,做个记号,明天继续看...
页: [1]
查看完整版本: command 执行一条 AutoCAD 命令