请教:lsp获得的选择集,arx能调用吗?求思路
求思路。。求思路。。
求思路。。
求思路。。
可以的!用向导定义一个外部函数,和Lisp通讯即可!
static int ads_test(void)
{
//----- Remove the following line if you do not expect any argument for this ADS function
struct resbuf *pArgs =acedGetArgs () ;
// TODO: add your code here
if (pArgs == NULL)
{
acdbFail(_T("参数太少"));
return RTERROR;
}
if (pArgs->restype != RTPICKS)
{
acdbFail(_T("参数错误"));
return RTERROR;
}
//ss 为Lisp传递进来的选择集
ads_name ss;
ads_name_set(pArgs->resval.rlname,ss);
//添加对ss进行处理的后续代码
....
// TODO: Replace the following line by your returned value if any
acedRetVoid () ;
return (RSRSLT) ;
}
在Lisp中用如下方式调用:
(test (ssget)) Gu_xl 发表于 2013-10-3 22:26 static/image/common/back.gif
可以的!用向导定义一个外部函数,和Lisp通讯即可!
在Lisp中用如下方式调用:
谢谢哦,我看看 ,但不懂lsp,研究一下 Gu_xl 发表于 2013-10-3 22:26 static/image/common/back.gif
可以的!用向导定义一个外部函数,和Lisp通讯即可!
在Lisp中用如下方式调用:
你这方法不是ARX调用lisp,而是lisp调用arx定义的外部函数,只是传递个选择集而已,ARX应该使用acedInvoke函数调用LISP或使用acedGetSym函数来获取LISP变量的值。 wwwliuyu 发表于 2013-10-6 20:38 static/image/common/back.gif
你这方法不是ARX调用lisp,而是lisp调用arx定义的外部函数,只是传递个选择集而已,ARX应该使用acedInvok ...
谢谢提供思路哦
页:
[1]