许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  AutoCAD二次开发ObjectARX环境搭建:AutoCAD 2017 + VS2015 + Win10

AutoCAD二次开发ObjectARX环境搭建:AutoCAD 2017 + VS2015 + Win10

阅读数 4
点赞 0
article_banner

CAD二次开发环境搭建详细介绍

最近进行CAD二次开发的研究,发觉网上看起来像是很多资料但是实用的不多,而且有些资料还特别的旧。在本篇文件中,我将最近自己的学习跟大家分享一下。另外还会附上简单的资料。

环境:Win10 VS2015 AutoCAD2017 ObjectARX 这里需要自己提前安装好VS2015和AutoCAD,这个比较简单自己百度一下就好,所以不做介绍。

另外需要准备的资料:Autodesk_ObjectARX_2017_Win_64_and_32_Bit.sfx.exe

   ObjectARXWizards-2017.zip

   官方下载路径:https://www.autodesk.com/developer-network/platform-technologies/autocad

第一步:

1.双击将==Autodesk_ObjectARX_2017_Win_64_and_32_Bit.sfx.exe==文件解压到直接喜欢放置的路径下;
2.解压ObjectARXWizards-2017.zip文件,得到==ObjectARXWizards.msi==文件。这里需要注意下,如果直接双击.msi文件安装,在使用VS2015时会出现使用Autodesk向导创建项目时不成功的情况。

不过有解决办法的。在安装.msi文件之后,找到文件 然后找到并修改 ”C:\ObjectARX</ArxSdkDir> 为C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit

   C:\Autodesk\Autodesk_ObjectARX_2017_Win_64_and_32_Bit就是你的ObjectARX SDK包解压的位置。除了修改文件还有一个方法是将 Autodesk_ObjectARX_2017_Win_64_and_32_Bit.sfx.exe解压得到的文件拷贝到C:\ObjectARX\中。

讲过上面的操作,可以看到下面一样的截图:

Alt

   这个ObjectARXWizards.msi我是安装到默认路径下。

   打开VS点新建项目可以看到:
Alt经过上面的操作,就是把开发环境搭好了。

第二步:

这一步先介绍手动创建项目的过程。

   1.创建一个win32空的dll项目:
Alt
Alt

   2.创建好项目后,先向项目中添加文件:

   stdafx.h stdafx.cpp

   在stdafx.h stdfx.cpp的文件中分别输入下面代码:

stdafx.h
	#pragma once
	#define WIN32_LEAN_AND_MEAN
	
	#include <Windows.h>
	#include "tchar.h"
===============================================
stdfx.cpp
	#include "stdafx.h"

3.接着需要进行项目的配置:

   属性->配置属性->常规->目标文件扩展名 由.dll->.arx;

   属性->配置属性->C/C+±>常规->附加包含目录:

   前面配置的ObjectARX的头 文件路径  ,我电脑这里是():
Alt

   属性->配置属性->C/C+±>常规-> 代码生成 ->运行库 选
Alt

   属性->配置属性->链接器->常规->附加库目录:
Alt

   属性->配置属性->链接器->输入->附加库依赖:

   rxapi.lib,acdb21.lib,acge21.lib,acad.lib,ac1st21.lib,accore.lib

   这个比较简单,不附图了。

   配置到这里就完成了。

   4.这里继续创建文件以及添加简单的代码:

   4.1创建HelloARX.cpp文件并添加如下代码:

#include "stdafx.h"
BOOL APIENTRY DLLMain(HANDLE hModule,
	DWORD ul_reason_for_call,
	LPVOID lpReserved)
{
	return TRUE;
}

这是dll的入口。

   4.2创建HelloARX.def模块文件并添加如下代码:

LIBRARY HelloARX
DESCRIPTION "First ARX Application"
 
EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE

Alt

   4.3创建Arx.cpp文件并添加如下代码:

#include <aced.h>
#include <rxregsvc.h>
#include "stdafx.h"

void InitApp();
void UnloadApp();

void HelloWorld();

void InitApp()
{
	acedRegCmds->addCommand(L"HelloArx", L"Hello", L"Hello", ACRX_CMD_MODAL, HelloWorld);
}

void UnloadApp()
{
	acedRegCmds->removeGroup(L"HelloArx");
}

void HelloWorld()
{
	acutPrintf(L"\nHello World!");
}

extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) {
	switch (msg)
	{
	case AcRx::kNullMsg:
		break;
	case AcRx::kInitAppMsg:
		acrxDynamicLinker->unlockApplication(pkt);
		acrxRegisterAppMDIAware(pkt);
		InitApp();
		break;
	case AcRx::kUnloadAppMsg:
		UnloadApp();
		break;
	case AcRx::kLoadDwgMsg:
		break;
	case AcRx::kUnloadDwgMsg:
		break;
	case AcRx::kInvkSubrMsg:
		break;

	case AcRx::kCfgMsg:
		break;
	case AcRx::kEndMsg:
		break;
	case AcRx::kQuitMsg:
		break;
	case AcRx::kSaveMsg:
		break;
	case AcRx::kDependencyMsg:
		break;

	case AcRx::kNoDependencyMsg:
		break;

	case AcRx::kOleUnloadAppMsg:
		break;
	case AcRx::kPreQuitMsg:
		break;
	case AcRx::kInitDialogMsg:
		break;
	case AcRx::kEndDialogMsg:
		break;
	case AcRx::kSuspendMsg:
		break;

	case AcRx::kInitTabGroupMsg:
		break;
	case AcRx::kEndTabGroupMsg:
		break;

	default:
		break;
	}
	return AcRx::kRetOK;
}

到这里可以生成HelloARX.arx文件了。

第三步:

启动AutoCAD2017加载,我们自己生成的插件。将插件直接拖放进CAD或者使用appload命令加载即可。加载完后,在命令行输入hello,即可看到Hello World!打印出来,到这里可以确认我们的项目创建成功了。
Alt

   这里是手动创建的过程,如果使用向导比这个过程更简单的,这里先不进行介绍了。

   如有错误欢迎指正谢谢!

另外这里附上本次创建项目的包提供参考(如果需要使用我的项目,则需要将库的头文件路径以及库路径修改为本地电脑的)。

   项目模板链接:https://download.csdn.net/download/qq_32396555/11201373

   书籍资料参考链接:https://download.csdn.net/download/qq_32396555/11201381

   官方参考资料:Autodesk_ObjectARX_2017_Win_64_and_32_Bit.sfx.exe这个解压后有个docs 文件夹  ,文件夹下的arxdoc.chm双击打开它,可以看到官方的介绍。创建环境的的以及查看API。
Alt


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空