首页 > Windows开发 > 详细

win7上开发AutoCAD2008对应的arx文件

时间:2015-03-22 18:09:50      阅读:426      评论:0      收藏:0      [点我收藏+]

       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)所示:
技术分享

图(4)新建一个ObjectArx工程:ArxHello

3.2   选择开发者前缀和是否要MFC支持等。这里为了简单起见,直接按Finish。如图(5)所示:
技术分享
图(5)填入开发者前缀,比如san,设置MFC、COM、.Net支持等等。这里直接按【Finish】

3.3 点击VS2005工具栏上的【a>】 –>右击ObjectARX Commands ,新建一个arx命令:Hello,如图(6)所示:
技术分享
图(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)所示:
技术分享

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

技术分享
图(8)设置库文件:D:\ObjectArx\ObjectArx2008_32\lib

4.2   配置工程的包含目录inc和库目录lib,并设置依赖项。如图(9)、图(10)、图(11)所示。
技术分享
图(9)设置工程C/C++的附加包含目录:D:\ObjectArx\ObjectArx2008_32\inc

技术分享
图(10)设置【链接器】的附加库目录:D:\ObjectArx\ObjectArx2008_32\inc

技术分享
图(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
得到如下结果:
技术分享
图(12)在cad2008命令行窗口使用绘图命令:hello,得到的绘图结果。

win7上开发AutoCAD2008对应的arx文件

原文:http://blog.csdn.net/sanqima/article/details/44537921

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!