【KAIXIN】 发表于 2011-12-12 10:14:11

vl-cmdf 与command 的区别:

;旋转1度:
;vl-cmdf例子:
   (while(setq ss (ssget))
(vl-cmdf "rotate"ss"" (getpoint "\n选择基点:") 1))

;COMMAND例子:
   (while(setq ss (ssget))
   (setq b (getpoint "\n选择基点:"))
   (command "_.rotate" ss "" b "1"))

请教各位朋友:
            vl-cmdf与 command ,相对来说:那个执行起来要快一点点?


http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 【KAIXIN】的微博

Gu_xl 发表于 2011-12-12 19:06:32

本帖最后由 Gu_xl 于 2011-12-12 19:16 编辑

vl-cmdf 比 command 执行速度快,两者的区别是:
1、command开始后按自左向右逐个参数运行command,当发现后面参数有错时Autocad命令可能已经开始执行了,而vl-cmdf命令在执行前要对所有参数进行检查,如检测到错误,vl-cmdf将不再执行Autocad命令。所以使用vl-cmdf会比较安全。
2、如果表达式包含对其他函数的调用,vl-cmdf在执行命令前调用函数,比较安全,而command则在AutoCAD命令开始后再调用函数。
3、vl-cmdf 允许(Getxxx)一类输入函数在这个函数内部执行。
4、vl-cmdf 中使用双元表、测试函数、较长的表达式等,可能会出错!

【KAIXIN】 发表于 2011-12-12 19:16:04

Gu_xl 发表于 2011-12-12 19:06 static/image/common/back.gif
vl-cmdf 比 command 执行速度快,两者的区别是:
1、command开始后按自左向右逐个参数运行command,当发现 ...

谢谢版主的详解,

zbwei120 发表于 2011-12-12 21:58:38

终于了解这两个函数的区别,谢版主。

VBALISPER 发表于 2011-12-12 22:55:50

谢谢啊!激动中...

xuexicad1960 发表于 2011-12-18 16:32:16

谢谢版主的解答,学习了!

zdqwy19 发表于 2011-12-18 17:28:26

明白了      

alearner126 发表于 2011-12-18 21:16:20

非常感谢!!

alearner126 发表于 2011-12-18 21:18:10

4、vl-cmdf 中使用双元表、测试函数、较长的表达式等,可能会出错!

——疑问,能不能举一个Vl-cmf使用较长表达式出错的示例呢?同样的较长的表达式,command就不出错?
起码有一个实例吧。谢谢!!

alearner126 发表于 2011-12-18 21:19:39

1-3解释的很清楚透彻,谢谢。
4,最好能够提供一个实例,特别是较长的表达式可能出错的情况,否则感觉有点虚,谢谢您!!
页: [1] 2
查看完整版本: vl-cmdf 与command 的区别: