明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1565|回复: 4

[求助]再求助,求斑竹帮忙!!!

[复制链接]
发表于 2002-12-18 18:11 | 显示全部楼层 |阅读模式
[求助]向Autolisp返回变量值的问题?
在ARX中有如下的句子:   
int ff=10;
acedRetInt(ff);
执行以后,在AutoCAD命令行下输入  !ff   ,返回nil,没有值是怎么回事啊?
发表于 2002-12-19 10:30 | 显示全部楼层

!!

->
在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
 楼主| 发表于 2002-12-19 18:25 | 显示全部楼层

多谢斑竹,我想继续讨论一下这个问题。

第一个问题是,新的ARX是否提倡使用“addcommand”来创建命令,而这样创建的命令不能成为AutoLisp的函数,只能使用(command "命令")的形式,那他与用“aceddefun”创建的命令有何优点哪。
第二个问题是,在ARX中的变量值怎样轻易的用AutoLisp获取。比如,原来我提出的ARX中有语句“ int ff=10; acedRetInt(ff); ”,按说象在lisp中一样,运行了这样的语句后,不论何时,不一定再调用定义的命令(或函数)都应当获得此变量值,问题看上去应当容易,但是似乎没有简单的过程。请教斑竹!!!
发表于 2002-12-20 09:01 | 显示全部楼层

Re

多谢斑竹,我想继续讨论一下这个问题。
第一个问题是,新的ARX是否提倡使用“addcommand”来创建命令,而这样创建的命令不能成为AutoLisp的函数,只能使用(command "命令")的形式,那他与用“aceddefun”创建的命令有何优点哪。
=======
如果要与AutoLisp交换数据,必须用ads_defun来定义.

第二个问题是,在ARX中的变量值怎样轻易的用AutoLisp获取。比如,原来我提出的ARX中有语句“ int ff=10; acedRetInt(ff); ”,按说象在lisp中一样,运行了这样的语句后,不论何时,不一定再调用定义的命令(或函数)都应当获得此变量值,问题看上去应当容易,但是似乎没有简单的过程。请教斑竹!!!
在ARX中必须显式地用acedRet命令来返回数据,同时在Lisp中要指定变量来接收.
 楼主| 发表于 2002-12-24 18:33 | 显示全部楼层

多谢斑竹!!!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 22:03 , Processed in 0.221604 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表