win7上开发AutoCAD2008对应的arx文件

244 篇文章 8 订阅
30 篇文章 2 订阅

       Windows 7是微软于2009年发布的,开始支持触控技术的Windows桌面操作系统,其内核版本号为NT6.1。在Windows 7中,集成了DirectX 11和Internet Explorer 8。DirectX 11作为3D图形接口,不仅支持未来的DX11硬件,还向下兼容当前的DirectX 10和10.1硬件。
       Windows 7简称win7,它按系统位数分为两个版本:32位win7和64位win7.有趣的是AutoCAD2008也分为两个版本:32位的cad2008和64的cad2008。需要说明的是,64位的win7,既可以装32位的cad,也可以装64位的cad。而32位的win7,只能装32位的cad。
       本文主要介绍在64位的win7上,开发64位AutoCAD2008所对应的arx文件。
1.    开发环境
    64位win7+AutoCAD2008+ObjectArx2008+VS2005
   AutoCAD2008下载地址:http://pan.baidu.com/s/1sBKHw
   ObjectArx2008下载地址:http://pan.baidu.com/s/1mgn8vlY
   VS2005下载地址:http://pan.baidu.com/s/1qWqNYcG
2.1    先安装VS2005,接着安装AutoCAD2008,请查看:http://www.cnblogs.com/sanqima/p/4315452.html
2.2  然后安装ObjectArx2008。
a)  双击ObjectArx2008_32Bit.exe–>新建一个目录D:\ObjectArx\ObjectArx2008_32,将ObjectArx文件解压到该目录中。
b)  解压后,找到D:\ObjectArx\ObjectArx2008_32\utils\ObjARXWiz里ArxWizards.msi,双击ArxWizards.msi,就是安装ObjectArx开发向导。
3.   新建一个ObjectArx项目。
3.1    点击VS2005工具栏上的“文件”—》新建/项目—》点击Visual C++/ ObjectArx -->ObjectARX/DBX/OMF Project,工程命名为ArxHello,解决方案命名为:AroPro, 如图(4)所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HYV8hl3D-1618294326272)(http://t1.qpic.cn/mblogpic/02005e47fe9cc8994a0e/2000.jpg)]

图(4)新建一个ObjectArx工程:ArxHello
3.2   选择开发者前缀和是否要MFC支持等。这里为了简单起见,直接按Finish。如图(5)所示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oIt585Um-1618294326274)(http://t2.qpic.cn/mblogpic/3d5fc2a37235f5be4f68/2000.jpg)]
图(5)填入开发者前缀,比如san,设置MFC、COM、.Net支持等等。这里直接按【Finish】
3.3 点击VS2005工具栏上的【a>】 -->右击ObjectARX Commands ,新建一个arx命令:Hello,如图(6)所示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5snO4TrB-1618294326276)(http://t2.qpic.cn/mblogpic/378b1b0856de0b82ce30/2000.jpg)]
图(6)创建arx命令:Hello
3.4   在Source Files/acrxEntryPoint.cpp里,填写相应的代码: · // - sanArxHello.Hello command (do not rename) static void sanArxHelloHello(void) { // Add your code for command sanArxHello.Hello here // 在内存上创建一个新的AcDbLine对象 AcGePoint3d ptStart(0, 0, 0); AcGePoint3d ptEnd(100, 100, 0); AcDbLine *pLine = new AcDbLine(ptStart, ptEnd);
	// 获得指向块表的指针
	AcDbBlockTable *pBlockTable = NULL;
	acdbHostApplicationServices()->workingDatabase()
		->getBlockTable(pBlockTable, AcDb::kForRead);

	// 获得指向特定的块表记录(模型空间)的指针
	AcDbBlockTableRecord *pBlockTableRecord = NULL;
	pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
		AcDb::kForWrite);    

	// 将AcDbLine类的对象添加到块表记录中
	AcDbObjectId lineId;
	pBlockTableRecord->appendAcDbEntity(lineId, pLine);

	// 关闭图形数据库的各种对象
	pBlockTable->close();
	pBlockTableRecord->close();
	pLine->close();	

	//自动显示
	acedCommand(RTSTR,TEXT("Zoom"),RTSTR,TEXT("E"),RTNONE);
}

4.   配置VC++目录、包含目录inc、库目录lib、依赖项。
4.1   配置VC++目录。
   点击VS2005工具栏上的【工具】—》选项—》点击“项目和解决方案”/ VC++目录–》平台:选择“Win32”,显示内容的目录:分别选“包含文件”和“库文件”,如图(7)、图(8)所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCt5ehY9-1618294326280)(http://t2.qpic.cn/mblogpic/d3a81accce9bf70f7d4c/2000.jpg)]

图(7)设置包含文件:D:\ObjectArx\ObjectArx2008_32\inc

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YG4QMJpq-1618294326282)(http://t2.qpic.cn/mblogpic/f03508ee5986c28812fa/2000.jpg)]

图(8)设置库文件:D:\ObjectArx\ObjectArx2008_32\lib
4.2   配置工程的包含目录inc和库目录lib,并设置依赖项。如图(9)、图(10)、图(11)所示。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKYQwU7E-1618294326284)(http://t2.qpic.cn/mblogpic/7e041a95e5c891e6c614/2000.jpg)]
图(9)设置工程C/C++的附加包含目录:D:\ObjectArx\ObjectArx2008_32\inc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9AzeqfWJ-1618294326285)(http://t2.qpic.cn/mblogpic/a98c6dfb73a9f2469334/2000.jpg)]
图(10)设置【链接器】的附加库目录:D:\ObjectArx\ObjectArx2008_32\inc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hoQtqD4k-1618294326287)(http://t2.qpic.cn/mblogpic/7b5d63e524f73f885710/2000.jpg)]
图(10)设置【链接器】/【输入】的附加依赖项-----5个lib文件:rxapi.lib acdb17.lib acge17.lib acad.lib acedapi.lib
5.   编译ArxHello工程,得到sanArxHello.arx文件,打开AutoCAD2008,在cad2008的命令行窗口输入加载命令:     appload 选择ArxPro/win32/debug目录下的sanArxHello.arx文件,点击【加载】,接着在cad2008的命令行窗口输入绘图命令:     hello 得到如下结果: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tH0z9ZKx-1618294326287)(http://t2.qpic.cn/mblogpic/6a7f8e55917da99daf24/2000.jpg)]
图(12)在cad2008命令行窗口使用绘图命令:hello,得到的绘图结果。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值