找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 477|回复: 1

[求助] 用Arx在下列类中怎样定义一个带有形参的Lisp函数

[复制链接]

已领礼包: 21个

财富等级: 恭喜发财

发表于 2017-7-2 15:14:48 | 显示全部楼层 |阅读模式

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

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

×
例如要i把 int sp3 (struct resbuf *rb) 定义成autolisp函数。

//----- ObjectARX EntryPoint
class CwcadApp : public AcRxArxApp {

public:
        CwcadApp() : AcRxArxApp() {}

        virtual AcRx::AppRetCode On_kInitAppMsg(void *pkt) {
                // TODO: Load dependencies here

                // You *must* call On_kInitAppMsg here
                AcRx::AppRetCode retCode = AcRxArxApp::On_kInitAppMsg(pkt);

                // TODO: Add your initialization code here

                return (retCode);
        }

        virtual AcRx::AppRetCode On_kUnloadAppMsg(void *pkt) {
                // TODO: Add your code here

                // You *must* call On_kUnloadAppMsg here
                AcRx::AppRetCode retCode = AcRxArxApp::On_kUnloadAppMsg(pkt);

                // TODO: Unload dependencies here

                return (retCode);
        }

        virtual void RegisterServerComponents() {
        }

       
        // Modal Command with localized name
        // ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, MyCommand, MyCommandLocal, ACRX_CMD_MODAL)
        static void gsMyGroupMyCommand() {
                // Put your command code here

        }

        // Modal Command with pickfirst selection
        // ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, MyPickFirst, MyPickFirstLocal, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET)
        static void gsMyGroupMyPickFirst() {
                ads_name result;
                int iRet = acedSSGet(ACRX_T("_I"), NULL, NULL, NULL, result);
                if (iRet == RTNORM)
                {
                        // There are selected entities
                        // Put your command using pickfirst set code here
                }
                else
                {
                        // There are no selected entities
                        // Put your command code here
                }
        }

        // Application Session Command with localized name
        // ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, MySessionCmd, MySessionCmdLocal, ACRX_CMD_MODAL | ACRX_CMD_SESSION)
        static void gsMyGroupMySessionCmd() {
                // Put your command code here
        }

       
        // ACED_ADSFUNCTION_ENTRY_AUTO(CwcadApp, MyLispFunction, false)
        static int ads_MyLispFunction() {
                //struct resbuf *args =acedGetArgs () ;

                // Put your command code here

                //acutRelRb (args) ;

                // Return a value to the AutoCAD Lisp Interpreter
                // acedRetNil, acedRetT, acedRetVoid, acedRetInt, acedRetReal, acedRetStr, acedRetPoint, acedRetName, acedRetList, acedRetVal

                return (RTNORM);
        }
        static void gsMyGroupProjPathCfg(void) {//项目及程序路径
                CProjectPath dlg;
                dlg.DoModal();
        };
       
};

//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(CwcadApp)

ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, MyCommand, MyCommandLocal, ACRX_CMD_MODAL, NULL)
ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, MyPickFirst, MyPickFirstLocal, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET, NULL)
ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, MySessionCmd, MySessionCmdLocal, ACRX_CMD_MODAL | ACRX_CMD_SESSION, NULL)
ACED_ADSSYMBOL_ENTRY_AUTO(CwcadApp, MyLispFunction, false)
ACED_ARXCOMMAND_ENTRY_AUTO(CwcadApp, gsMyGroup, ProjPathCfg, PrjPath, ACRX_CMD_MODAL, NULL) //项目及及程序路径

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

已领礼包: 21个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 21:52 , Processed in 0.254236 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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