手動配置ObjectARX 開發環境


這里以Visual Studio 2010(以下簡稱VS)+AutoCAD 2012(以下簡稱ACAD)為例,高版本的AutoCAD 可參考操作。

准備工作

首先,你得准備如下軟件和開發包:VS 和ACAD(這不是廢話嘛),然后是ObjectARX SDK 2012。
下面是詳細的配置過程。

  1. 新建一個Win32 項目,並給項目一個名稱,這里我們使用“ArxHello”作為項目名稱,然后確定。

  1. 在接下來的應用程序向導下,在第一頁中直接點擊“下一步”,到第二個頁面時,按下圖的配置,應用程序類型中選擇“DLL(D)”,附加選項中選擇“空項目(E)”,然后點擊“完成”

  1. 現在,你已經創建了一個空項目,接下來配置該項目。選擇菜單中“項目”下的“XX 屬性”:

在彈出的窗口中配置。

先選擇“配置屬性”下的“常規”,然后在右邊的表格中,將“目標文件擴
展名”項的值從“.dll”改為“.arx”。

然后在“VC++目錄”下選擇“庫目錄”,點擊右邊的文本框,點擊出現的“編輯”之后,彈出對話框,選擇ObjectARX 2012 SDK 下的“lib-win32”目錄,如下圖。

接下來,點擊左邊樹形結構下的“C/C++”,在右邊的“附加包含目錄”欄中點擊那個向下的小三角形,點擊“編輯”,彈出“附加包含目錄”,點擊那個文件夾圖標,在下面的文本框中會出現一個按鈕,點擊該按鈕,瀏覽到你所安裝的
ObjectARX 2012 SDK 目錄下的“inc”文件夾,添加,同樣的操作再添加“inc-win32”(如果是64 位版本則選擇inc-x64)。

添加完成之后效果如下圖,具體位置取決於你放置ObjectARX SDK 的目錄。

  1. 點擊“C/C++”下的“代碼生成”,將右邊的“運行庫”修改為“多線程DLL(/MD)”。

  1. 點擊“鏈接器”下的“輸入”,然后在右邊點擊“附加依賴項”選項下的“編輯”,在彈出的附加依賴項窗口中填入如下幾個庫文件:

rxapi.lib
acdb18.lib
acge18.lib
acad.lib
然后確定。

點擊最下方的確定,所有的配置都得以完成。下面的工作與環境配置無關,用於測試是否配置成功。
在項目中添加兩個文件。在“解決方案資源管理器”下的“源文件”上單擊右鍵,在彈出的菜單中選擇“添加”,然后選擇“新建項”,如下圖。

在彈出的對話框中選擇“模塊定義文件(.def)”,然后輸入名稱,最好是和項目名稱保持一致,然后點擊“添加”,完成定義文件的添加。

采用同樣的操作,再添加一個C++文件(.cpp),添加完成之后,解決方案資源管理器下應該是下圖這樣的:

在ArxHello.cpp 中輸入如下代碼:

#include <rxregsvc.h>
#include <aced.h>
void initApp();
void UnloadApp();
void Hello();
void initApp()
{
    acedRegCmds->addCommand(
        L"Hello_Command",
        L"HELLO",
        L"您好",
        ACRX_CMD_TRANSPARENT,
        Hello);
}
void unloadApp()
{
    acedRegCmds->removeGroup(L"Hello_Command");
}
void Hello()
{
    acutPrintf(L"\nHello,ObjectArx.\n");
}
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg,void*
pkt)
{
    switch (msg)
    {
        case AcRx::kInitAppMsg:
            acrxDynamicLinker->unlockApplication(pkt);
            acrxDynamicLinker->registerAppMDIAware(pkt);
            initApp();
            break;
        case AcRx::kUnloadAppMsg:
            unloadApp();
            break;
    }
    return AcRx::kRetOK;
}

在ArxHello.def 文件中輸入如下內容:

LIBRARY ArxHello
EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE

然后按F6,編譯程序,如果運氣比較好的話,編譯成功。
最后打開AutoCAD,然后使用命令“ARX”再使用“L”加載所編譯的arx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM