HGHG011 发表于 2014-6-11 14:55:42

《菜鸟提问》怎么用command命令调用 加载的命令

本帖最后由 HGHG011 于 2014-6-11 15:13 编辑

比如我加载了以下程序
(defun c:mi ( / SS PT)
(PRINC)
)


然后我 运行
(defun c:cx()
(command "mi")
)
         而提示---未知命令“MI”。按 F1 查看帮助。
______________________________________________________________________________
本人菜鸟一枚,未系统学习lisp,也没有太多时间去学习
所问问题比较低级,求大家多多包含

Andyhon 发表于 2014-6-11 14:55:43

Ref: (vlax-add-cmd global-name func-sym )

论坛内早有论述底...

HGHG011 发表于 2014-6-11 15:24:13

Andyhon 发表于 2014-6-11 15:15 static/image/common/back.gif
Ref: (vlax-add-cmd global-name func-sym )

论坛内早有论述底...

哥,本人菜鸟一枚,光给一个公式不懂啊,求给个链接或者帮我把,上面两个公式补全也行啊,跪谢了

ll_j 发表于 2014-6-11 15:35:49

HGHG011 发表于 2014-6-11 15:24 static/image/common/back.gif
哥,本人菜鸟一枚,光给一个公式不懂啊,求给个链接或者帮我把,上面两个公式补全也行啊,跪谢了

自定义的外部函数(就是c:mi这种形式)是不可以直接使用command调用的,应该直接使用(c:mi)来调用,外部函数(命令)一般不带参数,如果需要带参数,可以定义为内部函数。
在一些情况下,这些外部函数不是我们自己定义的,所以我们希望能像普通命令一样使用command调用,这在AutoLisp中是不行的,但VLisp增加了这样的函数,就是2楼提的函数,使用这个函数转换一下,自定义函数就可以像命令一样使用了,你可以使用这个函数名在论坛搜索一下试试,或者找找函数的帮助文件。

liu22737 发表于 2014-6-11 16:02:04

四楼解释的很详细

简单调用方法
(defun c:cx() (c:mi))
这种方法不提倡

可以按二楼方法把mi注册为内部命令

HGHG011 发表于 2014-6-11 16:59:29

liu22737 发表于 2014-6-11 16:02 static/image/common/back.gif
四楼解释的很详细

简单调用方法


(defun c:cx()
(vlax-add-cmd global-name func-sym )
(command "mi")
)

是不是写成这样?上面的函数的变量应该怎么填写?

twsyzx 发表于 2014-6-12 00:02:03

http://www.mjtd.com/function/info-126-751.html

77077 发表于 2014-6-12 00:20:22

mi是什么命令?
mirror么?

恕放之生命 发表于 2014-7-19 22:47:23

学习一下。
页: [1]
查看完整版本: 《菜鸟提问》怎么用command命令调用 加载的命令