nyistjz 发表于 2019-3-26 15:02:14

不明白函数的意义

本帖最后由 nyistjz 于 2019-3-26 19:39 编辑

(vl-load-com)
(setq *acad* (vlax-get-acad-object));取当前文档
(setq *doc* (vlax-get-property *acad* 'ActiveDocument));当前文档发送命令 , 命令参数为字符串 .
(defun c:A () (command "ARC")) ;圆弧
(defun c:B () (vla-sendcommand *doc* "BLOCK ")) ;块定义

如上几行代码是在网上看到的部分定义的左手键。
只要下面两行就可以执行命令A和B了,为什么还需要上面的三行代码,有什么作用呢?
请都高手,谢谢!




fl202 发表于 2019-3-26 19:21:48

环环相扣啊。*doc*变量不是上面定义的吗?
再说一共5行,你怎么还上3行,下3行呢?

nyistjz 发表于 2019-3-26 19:40:43

fl202 发表于 2019-3-26 19:21
环环相扣啊。*doc*变量不是上面定义的吗?
再说一共5行,你怎么还上3行,下3行呢?

我自己试了一下,有没有上面三行,下面的两行都可以正常运行,效果也是一样的,所以就不明白上面三行的作用是什么了

sdls 发表于 2019-3-26 20:49:15

过来围观学习!!

tryhi 发表于 2019-3-27 12:12:35

nyistjz 发表于 2019-3-26 19:40
我自己试了一下,有没有上面三行,下面的两行都可以正常运行,效果也是一样的,所以就不明白上面三行的作 ...

把你CAD里面所有的插件去掉后重启,再试试就知道为什么了,之所以你不需要上面三行,是因为你其他程序已经写过上面那三行了
页: [1]
查看完整版本: 不明白函数的意义