欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > AutoCAD ObjectArx二次开发(二) 关于程序入口的介绍

AutoCAD ObjectArx二次开发(二) 关于程序入口的介绍

2025/4/19 20:12:21 来源:https://blog.csdn.net/qq_32813921/article/details/140895531  浏览:    关键词:AutoCAD ObjectArx二次开发(二) 关于程序入口的介绍

        在上一章节中,我们介绍了环境搭建和程序插件的加载,基本的编程模板(框架)已经准备就绪。接下来,我们将开始编写自己的业务逻辑。ARX开发的核心在于将自定义函数注册到库中,并通过指定的调用命令来实现功能。当CAD加载我们的程序后,就可以利用预设的命令调用相应的函数。

        在创建自己的函数之前,我们首先需要学习模板中预留的函数。这将为我们后续的开发提供宝贵的指导和参考。

        在创建的框架项目中,存在文件【acrxEntryPoint.cpp】,我们来看下方法【ADSKMyGroupMyCommand】。

// Modal Command with localized name
// ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject1App, ADSKMyGroup, MyCommand, MyCommandLocal, //ACRX_CMD_MODAL)
static void ADSKMyGroupMyCommand () 
{// Put your command code hereAfxMessageBox(L"hello");
}

        这就是一个可以被注册为CAD指令的函数。函数名其实是两部分组成的,前半段为ADSKMyGroup,后半段为MyCommand。后半段才是真正的函数名,是你想给函数取的名字。请注意,修辞是static,返回值是void,参数为空,都是固定的,不能变。虽然现在函数内部是空的,没有关系,最后一步再来写函数内容,先看文件最下面,找到这一句。

ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject1App, ADSKMyGroup, MyCommand, MyCommandLocal, ACRX_CMD_MODAL, NULL)

这是将函数注册为CAD指令的方法。

一共有6个参数,分别是:

参数1【CArxProject1App】:程序标识符,使用默认值。

参数2【ADSKMyGroup】:注册函数的前半段名字,也就是刚才说的名字空间。

参数3【MyCommand】:注册函数的后半段名字,真正意义的函数名。

参数4【MyCommandLocal】:CAD指令。这是你创建的CAD指令,当在CAD中输入这条指令时就会调用对应的函数。

参数5【ACRX_CMD_MODAL】:模式,暂时使用默认值。

参数6【NULL】:默认NULL。

        生成程序后,会得到一个后缀为 .ARX 的文件,这就是我们的 CAD 插件。目前,这个插件尚未具备任何功能。

        接下来,我们将编写函数内容,以使这个插件能够接收用户输入的功能。通过实现相应的代码,我们将为插件注入实际的操作能力,让用户能够与之进行交互。

        在方法【ADSKMyGroupMyCommand】中,我加了一个显示的代码。

static void ADSKMyGroupMyCommand () {// Put your command code hereAfxMessageBox(L"hellow");
}

        在执行该命令后,会显示下图结果。

        至此,我们已经了解函数入口的功能,可以在后续开发中丰富自己的功能逻辑。

更多学习内容,可关注公众号:CAD软件二次开发

 以上内容为个人测试过程的记录,供大家参考。

内容如有错欢迎批评指正,谢谢!!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词