明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4342|回复: 1

command 执行一条 AutoCAD 命令

[复制链接]
发表于 2012-10-9 13:31:15 | 显示全部楼层 |阅读模式

执行一条 AutoCAD 命令

(command [arguments] ...)

参数

arguments

AutoCAD 命令、选项或表达式。

command 函数的参数可以是字符串、实数、整数或点,但必须与要执行的命令所需的参数一致。空字符串 ("") 表示从键盘键入 ENTER 键。不带参数调用 command 相当于键入 ESC 键,这样可取消大多数 AutoCAD 命令。

command 函数将每一个参数顺序传给 AutoCAD 以响应提示。它以字符串形式提交命令名和选项;以两个实数组成的表的形式提交二维点;以三个实数组成的表的形式提交三维点。只有在命令提示下 AutoCAD 才能识别命令名。

要注意的是,如果从 Visual LISP 中使用 command 函数,控制并不会转移到 AutoCAD 中。如果命令要求用户输入,则可以在控制台窗口中看到返回结果 (nil),但 AutoCAD 将等待输入,必须手动激活 AutoCAD 并响应提示。在这样做以前,任何后续命令都会失败。

返回值

nil

示例

下例先将变量 pt1 和 pt2 分别设为点 (1,1) 和点 (1,5),然后调用 command 函数执行 LINE 命令并将这两个点的值传给 AutoCAD。

命令: (setq pt1 '(1 1) pt2 '(1 5))

(1 5)

命令: (command "line" pt1 pt2 "")

line From point:

To point:

To point:

命令: nil

限制和注意事项

AutoCAD 的 SKETCH 命令直接读取键盘和数字化仪,因此不能在 AutoLISP 的 command 函数中使用这两个命令。如果在函数中使用 SCRIPT 命令,它必须是出现在该 AutoLISP 程序的最后。

同样,如果在 acad.lsp 或 MNL 文件中使用 command 函数,则只能在 defun 表达式中调用。应使用 S::STARTUP 函数定义在绘图任务开始时就要执行的那些初始化命令。

对于那些需要选取一个对象的 AutoCAD 命令(如 BREAK 和 TRIM 命令),可以提供一个用 entsel 函数获得的表来取代交互操作时为选取一个对象而需要的点,这方面的例子可参见 《Visual LISP 开发人员手册》中的 将拾取点传给 AutoCAD 命令

如果系统变量 CMDECHO(可通过 setvar 和 getvar 函数存取)被设为 0,通过 command 函数执行的命令将不会在命令行中显示。

参阅

vl-cmdf 函数和《Visual LISP 开发人员手册》中的 命令提交

发表于 2012-12-23 01:22:01 | 显示全部楼层
困了,做个记号,明天继续看...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-15 07:28 , Processed in 0.149200 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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