找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1909|回复: 3

[ARX程序]:能在ARX中调用lISP程序吗?

[复制链接]
发表于 2002-2-25 14:43:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如题.如果能的话,那么该如何调用呢,请各位高手大虾们指点指点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-2-25 16:15:05 | 显示全部楼层
我在001时回答过这个问题
LPCTSTR lpszCmd=_T("(Alert(\"Go go go!\")) ");
法一:
extern "C" int ads_queueexpr(char*);
无回显
例:
ads_queueexpr(lpszCmd);
法二:
发送WM_COPYDATA信息给ACAD主窗口

  1. void SendCommandToAutoCAD(CString strCmd)
  2. {
  3.   COPYDATASTRUCT cmdMsg;
  4.   cmdMsg.dwData = (DWORD)1;
  5.   cmdMsg.cbData = (DWORD)strCmd.GetLength() + 1;
  6.   cmdMsg.lpData = (LPVOID)(LPCTSTR)strCmd;                  
  7.   acedGetAcadFrame()->SendMessage(WM_COPYDATA, 0, (LPARAM)&cmdMsg);
  8. }
复制代码

有回显
例:
SendCommandToAutoCAD(lpszCmd);
法三:针对AutoCAD R2000以上版本
virtual Acad::ErrorStatus
AcApDocManager::sendStringToExecute(
    AcApDocument* pAcTargetDocument,
    const char* pszExecute,
    bool bActivate = true,

    bool bWrapUpInactiveDoc = false) = 0;
无回显
例:
acDocManager->sendStringToExecute(curDoc(),lpszCmd);

评分

参与人数 1D豆 +2 收起 理由
ScmTools + 2 技术引导讨论和指点奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-26 10:44:11 | 显示全部楼层
1、用acedDefun来定义Arx命令,这样lisp在调用arx命令时,Arx就能通过acedGetFunCode得知Lisp要的是哪个命令
2、acedGetArgs()得到来自Lisp的ResBuf,反之可用AcEdRetList 向Lisp返回一个resbuf表
3、acedRetInt\acedRetStr...等函数可以向Lisp返回各种类型的数据
总之,Arx与Lisp之间是可以很好地交互的,包括运行过程中的参数传送;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-3-23 04:19:12 | 显示全部楼层
struct resbuf *arglist, *rslt=NULL;

        arglist = acutBuildList(RTSTR, "acad_colordlg",
                RTSHORT, color,RTNIL, 0 ); //RTNIL,

acedInvoke(arglist, &rslt);
我只对lisp自己的函数调用过,不知道自己的函数行不行呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 10:23 , Processed in 0.364817 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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