[求助]再求助,求斑竹帮忙!!!
[求助]向Autolisp返回变量值的问题?在ARX中有如下的句子:
int ff=10;
acedRetInt(ff);
执行以后,在AutoCAD命令行下输入!ff ,返回nil,没有值是怎么回事啊?
!!
->在ARX中
1. using "defun" to create a command.(eg,test1)
2.
int test1(double a1,char a2[])
{
.....
as you say!
}
3. In lisp (or AutoCAD)
(setq ff (test1 3.122 "abcdeff"))
! ff
===================================
This means, you send datas (A double 3.122 and a string "abcdeff") from lisp to arx and get a returned data which saved in ff
多谢斑竹,我想继续讨论一下这个问题。
第一个问题是,新的ARX是否提倡使用“addcommand”来创建命令,而这样创建的命令不能成为AutoLisp的函数,只能使用(command "命令")的形式,那他与用“aceddefun”创建的命令有何优点哪。第二个问题是,在ARX中的变量值怎样轻易的用AutoLisp获取。比如,原来我提出的ARX中有语句“ int ff=10; acedRetInt(ff); ”,按说象在lisp中一样,运行了这样的语句后,不论何时,不一定再调用定义的命令(或函数)都应当获得此变量值,问题看上去应当容易,但是似乎没有简单的过程。请教斑竹!!!
Re
多谢斑竹,我想继续讨论一下这个问题。第一个问题是,新的ARX是否提倡使用“addcommand”来创建命令,而这样创建的命令不能成为AutoLisp的函数,只能使用(command "命令")的形式,那他与用“aceddefun”创建的命令有何优点哪。
=======
如果要与AutoLisp交换数据,必须用ads_defun来定义.
第二个问题是,在ARX中的变量值怎样轻易的用AutoLisp获取。比如,原来我提出的ARX中有语句“ int ff=10; acedRetInt(ff); ”,按说象在lisp中一样,运行了这样的语句后,不论何时,不一定再调用定义的命令(或函数)都应当获得此变量值,问题看上去应当容易,但是似乎没有简单的过程。请教斑竹!!!
在ARX中必须显式地用acedRet命令来返回数据,同时在Lisp中要指定变量来接收.
多谢斑竹!!!
页:
[1]