vl-cmdf (AutoLISP)
执行 AutoCAD 命令 支持的平台:Windows 和 Mac OS 签名(vl-cmdf [arguments ...])
返回值类型: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”(getpoint “point?”)'(0 0) “”) 行 指定第一点:点? 指定下一个点或[撤消]: 命令:nil 使用 ,首先执行 LINE 命令;然后调用该函数。commandgetpoint 命令:(vl-cmdf “._line” (getpoint “point?”)'(0 0) “”) point?line 指定第一个点: 指定下一个点或[撤消]: 命令:T 使用 ,函数首先被调用(注意 “point?” 提示 );然后执行LINE命令。vl-cmdfgetpointgetpoint 以下示例显示了相同的命令,但将无效的点列表参数传递给 LINE 命令。请注意结果有何不同: 命令:(命令“._line”(getpoint “point?”)'(0) “”) 行 指定第一点:点? 指定下一个点或[撤消]: 命令:ERASE nil 选择对象:指定对角:*取消* 0 找到 该函数将每个参数依次传递给 AutoCAD,而不计算参数,因此不会检测到无效的点列表。command 命令:(vl-cmdf “._line” (getpoint “point?”)'(0) “”) 点?应用程序错误:实体/点列表无效。 零 由于在将命令传递给AutoCAD之前会计算每个参数,因此会检测到无效的点列表,并且不会执行该命令。vl-cmdf 相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 11:43
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.