2、Arx二次開發建立第一個應用程式

來源:互聯網
上載者:User

標籤:dal   app   需要   return   abc   ppm   編譯器   tco   virt   

一、本節課程

Arx二次開發建立第一個應用程式

二、本節要講解的知識點

1、手動建立ARX的應用的步驟。

2、應用嚮導建立ARX應用程式的步驟。

三、 具體內容

1、需求:建立一個Hello World應用程式,在AUTOCAD的命令列輸出“Hello World”。

2、手動建立一個ARX應用程式:C++開發ARX應用程式,實際上我們ARX應用程式就是一個動態連結程式庫,它的尾碼只是沒用.DLL來表示而已,是用.ARX 來表示的。與常規的DLL程式一樣,ARX程式在AUTOCAD調用時載入,與AUTOCAD本身的代碼是相互獨立的。

設定編譯器的參數,包括代碼的產生方式。

設定連接器的參數,包括輸出檔案的名稱,添加連結庫檔案等。

建立一個DLL檔案,引用ARX API的標頭檔和庫檔案,然後設定編譯器參數和連接器參數。將組建檔案的尾碼改為“.DLL”檔案即可。在代碼裡面建立兩個函數分別使用者初始化和卸載ARX程式。 void InitApp(); void UnloadApp();

具體請參見收費課程C++ ARX開發的免費試聽部分。

3、嚮導建立一個ARX應用程式:

(1)ObjectARX應用程式:在AUTOCAD中調用。

(2)ObjectDBX應用程式:在所有的REALDWG宿主程式中調用(包括AUTOCAD),自訂實體開發的時候,可以建立此類程式。

(3)Console程式:高版本的AUTOCAD出現的一種開發方式。(AUTOCAD2013以後出現的一種新的開發方式),將AUTOCAD Console應用程式放置在伺服器端(比如說伺服器端自動列印),特點就是不需要互動,運行速度很快。

4、嚮導自動幫我們產生了一些標頭檔和源檔案。其中acrxEntryPoint.cpp是ARX程式的進入點。

 (1)ARX模組載入時執行的函數

virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {

AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;

      //通常需要加入的代碼,在這裡可以放入軟體鎖檢測的代碼。

return (retCode) ;

}

   (2)ARX模組卸載時執行的函數

virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {

AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;

return (retCode) ;

}

5、此外嚮導還建立了命令的模板,我們可以根據模板來定義自己想要定義的命令:MyCommand。

(1)第一處修改

ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject2App, yunyouMyGroup,CommandABC, CommandABC, ACRX_CMD_MODAL, NULL)

(2)第二處修改

static void yunyouMyGroupCommandABC () {

}

 

6、在命令中實現一個HelloWorld的列印。

static void yunyouMyGroupCommandABC () { acutPrintf(TEXT("Hello world!"));}

四、 總結

1、手動建立ARX的應用的步驟請參見收費課程的試聽部分。

2、應用嚮導建立ARX應用程式的步驟。

3、如何在ARX中添加命令和命令實現函數。

4、建立第一個應用程式Hello World。

2、Arx二次開發建立第一個應用程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.