1. 程式人生 > >cad+objectarx+vs二次開發的準備工作

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的修改過程中,只要執行第一步的修改就可以了。