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)]
// 获得指向块表的指针
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)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YG4QMJpq-1618294326282)(http://t2.qpic.cn/mblogpic/f03508ee5986c28812fa/2000.jpg)]