在上一章节中,我们介绍了环境搭建和程序插件的加载,基本的编程模板(框架)已经准备就绪。接下来,我们将开始编写自己的业务逻辑。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 here
AfxMessageBox(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 here
AfxMessageBox(L"hellow");
}
在执行该命令后,会显示下图结果。
至此,我们已经了解函数入口的功能,可以在后续开发中丰富自己的功能逻辑。
更多学习内容,可关注公众号:CAD软件二次开发
以上内容为个人测试过程的记录,供大家参考。
内容如有错欢迎批评指正,谢谢!!!!