cad+objectarx+vs二次開發的準備工作
前言
準備工作雖然說起來不復雜,但是做起來卻很繁瑣。畢竟這裡涉及到軟體的不同版本,objectarx也並不完美,有著各種安裝的BUG,所以實際要完成安裝除錯是非常耗時間的。
1.各版本的cad、objectarx和visualstdio的對應關係
網上資料很多,還是在這裡列出來,方便查詢。
ObjectARX開發版本對照表 | ||||||||
序號 | CAD版本 | 版本號 | 二進位制相容版本 | .net框架版本 |
ObjectARX開發環境 | VC版本號 | ||
MAC OS平臺 | WINDOWS平臺 | VC版本 | _MSC_VER | |||||
1 | R14 | R14.0 | R14 | Visual C++ 5.0 | VC++ 5.0 | 1100 | ||
2 | AutoCAD 2000 | R15.0 | AutoCAD 2000 | N/A | N/A | Microsoft Visual Studio 6 (Service Pack 2) | VC++ 6.0 | 1200 |
3 | AutoCAD 2000i | R15.1 | AutoCAD 2000i AutoCAD 2000 | N/A | N/A | Microsoft Visual Studio 6 (Service Pack 2) | ||
4 | AutoCAD 2002 | R15.2 | AutoCAD 2002 AutoCAD 2000i AutoCAD 2000 | N/A | N/A | Microsoft Visual Studio 6 (Service Pack 2) | ||
5 | AutoCAD 2004 | R16.0 | AutoCAD 2004 | N/A | Microsoft Visual Studio .NET 2002 | VC++ 7.0 | 1300 | |
6 | AutoCAD 2005 | R16.1 | AutoCAD 2005 AutoCAD 2004 | 1.1 | N/A | Microsoft Visual Studio .NET 2002 Microsoft Visual Studio .NET 2003 | VC++ 7.0 VC++ 7.1 | 1300 1310 |
7 | AutoCAD 2006 | R16.2 | AutoCAD 2006 AutoCAD 2005 AutoCAD 2004 | 1.1 SP1 | N/A | |||
8 | AutoCAD 2007 | R17.0 | AutoCAD 2007 | 2.0 | N/A | Microsoft Visual Studio .NET 2005 | VC++8.0 | 1400 |
9 | AutoCAD 2008 | R17.1 | AutoCAD 2008 AutoCAD 2007 | 2.0 | N/A | Microsoft Visual Studio .NET 2005 | ||
10 | AutoCAD 2009 | R17.2 | AutoCAD 2009 AutoCAD 2008 AutoCAD 2007 | 3.0 | N/A | Microsoft Visual Studio .NET 2005 | ||
11 | AutoCAD 2010 | R18.0 | AutoCAD 2010 | 3.51 SP1 | N/A | Microsoft Visual Studio 2008 (SP1) | VC++ 9.0 | 1500 |
12 | AutoCAD 2011 | R18.1 | AutoCAD 2011 AutoCAD 2010 | 3.51 SP1 | Mac OS X (10.6.4+) Xcode: 3.2.5 Qt: 4.6.3 Patched/4.6.3.1 Patched (SP1) Mono: 2.6.7_3 | |||
13 | AutoCAD 2012 | R18.2 | AutoCAD 2012 AutoCAD 2011 AutoCAD 2010 | 3.51 SP1 | Mac OS X(10.6.4+) Xcode: 3.2.5 Qt: 4.7.2 Patched Mono: 2.10.2_5 | |||
14 | AutoCAD 2013 | R19.0 | AutoCAD 2013 | 4.0 | Mac OS X(10.8) Xcode: 4.4 Qt: 4.8.1 Mono: 2.10.5 Mac OS X (10.7.3) Xcode: 4.3.2+ Qt: 4.8.1 Mono: 2.10.5 | Microsoft Visual Studio 2010 / (SP1) | VC++ 10.0 | 1600 |
15 | AutoCAD 2014 | R19.1 | AutoCAD 2014 | 4.0 | Mac OS X (10.8) Xcode: 4.4 Qt: 4.8.2 Mono: 2.10.5 | |||
16 | AutoCAD 2015 | R20.0 | AutoCAD 2015 | 4.5 | Mac OS X (10.9) Xcode: 5.0.2 Qt: 4.8.5 Mono: 3.2.7 | Microsoft Visual Studio 2012 (Update 4) | VC++ 11.0 | 1700 |
17 | AutoCAD 2016 | R20.1 | AutoCAD 2016 | 4.5 | Mac OS X(10.9/10.10) Xcode: 5.0.2 Qt: 4.8.5 Mono: 3.2.7 | Microsoft Visual Studio 2012 (Update 4) Microsoft Visual Studio 2013 | VC++ 11.0 VC++ 12.0 | 1700 1800 |
18 | AutoCAD 2017 | R21.0 | AutoCAD 2017 | 4.6 | Mac OS X (10.10orlater) Xcode: 7.1 Qt: 4.8.5 Mono: 4.2.1 | Microsoft Visual Studio 2015 (Update 1) | VC++ 14.0 | 1900 |
19 | AutoCAD 2018 | R22.0 | AutoCAD 2018 | 4.6 | Mac OS (10.12 or later) Xcode: 8.3.2 Mono: 4.6.2.7 | Microsoft Visual Studio 2015 (Update 3) | ||
20 | AutoCAD 2019 | R23.0 | AutoCAD 2019 | 4.7 | N/A | Microsoft Visual Studio 2017 (Update 2) | VC++ 14.1 |
2.objectarx安裝的常見錯誤
以objectarx2013安裝為例,objectarx2013的VS2010的嵌入外掛objectarx_wizards_2013和以前版本的objectarx不同,是一個獨立的安裝包,不在ObjectARX_2013_Win_64_and_32Bit.exe檔案裡,需要到autodesk的網站上下載。所以objectarx2013實際上有3個檔案要下,分別是:
ObjectARX_2013_Win_64_and_32Bit.exe;
ObjectARXWizards.msi;
ObjectARX_2013_Documentation.exe。
2.1 常見錯誤1
安裝完成後,在Visual Studio中使用Wizard提供的模版新建工程時,總是提示“編碼不正確,無法建立工程”。解決問題的方法:C:\Program Files (x86)\Autodesk\ObjectARX2013 Wizards\Autodesk.arx-2013.props
C:\Program Files (x86)\Autodesk\ObjectARX 2013 Wizards\ArxAppWiz\Templates\1033\Autodesk.arx-2013.props
這兩個檔案中的最開頭兩個字元確實有問題,將第一行改為 “<?xml version="1.0"encoding="utf-8"?>" 即可正確建立工程。
2.2 常見錯誤2
解決上述問題後出現如下問題,未找到匯入的專案"C:\ObjectARX\inc\arx.props"。請確認宣告中的路徑正確,且磁碟上存在該檔案。……解決方案:將Object ARX 2013資料夾下的所有檔案複製到C:\ObjectARX\中,隨後將可以完美建立專案。
3.關於Objectarx MFC support外掛 按鈕沒有的問題
自Objectarx2012後該外掛按鈕已經取消了。如果想使用Objectarx中的AcUi類庫來構建對話方塊,可以使用Objectarx MFC support wizard。 在解決方案管理器視窗下,右鍵工程名,點選新增類,即可出現MFC SUPPORT CLASS WIZARD選項,Objectarx2013是利用該向導來新增AcUi類庫。 但需注意,直接新增會出現ObjectARX MFC Class Wizard中DialogID建立失敗的錯誤。解決的方法是:首先找到
C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxWizMFCSupport\HTML\1033或
C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxWizMFCSupport\HTML\1033
右鍵開啟default.htm檔案並查詢classid將CLASSID=“CLSID:5A0C78A8-07D8-48cd-B1DD-BA9752C79F1C”>
換成CLASSID=“CLSID:19db9a07-5ca3-461e-9e7b-b370c91aba2e”>
儲存檔案,如果是win8 win10 可能要先儲存到桌面或者其他位置,再複製回去覆蓋(後面儲存均相同)。
然後我們繼續開啟
C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxMemVariableWiz\HTML\1033
或C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxMemVariableWiz\HTML\1033
右鍵開啟default.htm檔案並查詢classid將CLASSID=“CLSID:5A0C78A8-07D8-48cd-B1DD-BA9752C79F1C”>
換成CLASSID=“CLSID:19db9a07-5ca3-461e-9e7b-b370c91aba2e”>
儲存。。
再繼續開啟
C:\Program Files\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxAppWiz\Scripts\1033
或者C:\Program Files(x86)\Autodesk\ObjectARX Wizards for AutoCAD 2012\ArxAppWiz\Scripts\1033
右鍵開啟default.js 按Ctrl+End鍵盤滑鼠拖動到最下方
最最後一行開始倒數第三行,找到var szPath =“c:\Program Files\Autodesk\AutoCAD 2011\” ;這類似這句
將這個地址改成你的cad安裝目錄如 “D:\Program Files\Autodesk\AutoCAD 2013\” 注意路徑的雙斜線。
在ObjectARX2013的修改過程中,只要執行第一步的修改就可以了。