CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

vl-cmdf(AutoLISP)

2023-1-5 17:10| 发布者: admin| 查看: 646| 评论: 0|来自: AutoCAD

摘要: 执行自动CAD 命令

执行自动CAD 命令

支持的平台:视窗和 Mac OS

签名

(vl-cmdf [arguments ...])
参数

类型:整数、实数、字符串、列表或名称(实体名称)

AutoCAD 命令及其选项。

函数的参数可以是字符串、实数、整数或点,正如执行命令的提示序列所预期的那样。空字符串 () 等效于按键盘上的 Enter 键。不带参数的调用等效于按 Esc 并取消大多数 AutoCAD 命令。vl-cmdf""vl-cmdf

返回值

类型:T

总是返回。T

言论

该函数类似于函数,但不同之处在于它计算传递给它的参数的方式。该函数在执行 AutoCAD 命令之前计算所有提供的参数,如果在参数计算期间检测到错误,则不会执行 AutoCAD 命令。相反,该函数将每个参数依次传递给 AutoCAD,因此在检测到错误之前可能会部分执行该命令。vl-cmdfcommandcommandvl-cmdfcommand

如果您的命令调用包括对另一个函数的调用,则在它执行您的命令之前执行调用,而在它开始执行您的命令执行调用。vl-cmdfcommand

某些 AutoCAD 命令在通过调用时可能正常工作,但在通过调用时可能失败。该函数主要克服了无法在命令中使用函数的限制。vl-cmdfcommandvl-cmdfgetXXX

注意:如果在 Windows 上的 AutoCAD 中从 Visual LISP 发出,焦点不会更改为 AutoCAD 窗口。如果命令需要用户输入,您将在控制台窗口中看到返回值 (),但 AutoCAD 将等待输入。您必须手动激活 AutoCAD 窗口并响应提示。在执行此操作之前,任何后续命令都将失败。vl-cmdfT

例子

如果在 AutoCAD 命令提示符下输入以下调用,则两者之间的差异更容易看出:commandvl-cmdf

命令:(命令“._line”(获取点“点?”)'(0 0) “”)

行 指定第一个点:点?

指定下一个点或 [撤消]:

命令:无

使用时,首先执行 LINE 命令;然后调用该函数。commandgetpoint

命令:(vl-cmdf “._line” (getpoint “point?”)'(0 0) “”)

点?线 指定第一个点:

指定下一个点或 [撤消]:

命令: T

使用时,首先调用该函数(注意“点”提示符);然后执行 LINE 命令。vl-cmdfgetpointgetpoint

以下示例显示了相同的命令,但将无效的点列表参数传递给 LINE 命令。请注意结果的不同之处:

命令:(命令“._line”(获取点“点?”)'(0) “”)

行 指定第一个点:点?

指定下一个点或 [撤消]:

命令:擦除零

选择对象:指定对角:*取消*

0 找到

该函数将每个参数依次传递给 AutoCAD,而不计算参数,因此无法检测到无效的点列表。command

命令:(vl-cmdf “._line” (getpoint “point?”)'(0) “”)

点?应用程序错误:无效的实体/点列表。

由于在将命令传递给 AutoCAD 之前会评估每个参数,因此会检测到无效的点列表,并且不会执行该命令。vl-cmdf


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 14:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部