Autocad 2010+ObjectArx 2010 +Vs2010 的.net 開發設置(轉)


 

Autocad 2010+ObjectArx 2010 +Vs2010 的.net 開發設置

分類:  ObjectArx.net2010-09-14 16:52 4203人閱讀  評論(7)  收藏  舉報
 

目錄(?)[+]

 

1.開發基本資料准備

用Vs2010進行Autocad 2010開發,首先下載ObjectArx 2010 SDK。

http://download.autodesk.com/akdlm/esd/dlm/objectarx/ObjectARX_2010_Win_64_and_32Bit.exe

 

2.使用Visual Studio .NET來創建一個新的類庫工程

 

(1)建立類庫項目

          啟動Visual Studio.NET,選擇”文件>新建>工程”(File> New> Project)。在新建工程對話框中選擇工程類型為”Visual C#工程”,然后選擇“windows”>”類庫”模板,點擊確定按鈕來創建工程。

 

(2)添加引用

        在項目引用中添加acdbmgd.dll和acmgd.dll,默認位置在c:/ObjectARX 2010/inc-win32下。

       添加引用后,展開引用,單擊AcDbMgd和AcMgd,將其屬性復制到本地分別改為False,否則可能會出現編譯錯誤。

       AutoCAD 2010 采用 .Net Framework 3.5 版本,Vs 2010 創建默認工程采用.Net Framework 4.0 版本,必須將目標框架改為Net Framework 3.5 。修改方法:菜單 項目>ClassLibrary1屬性>應用程序>框架屬性,選擇 .Net Framework 3.5 就可以了。

 

(3) 導入命名空間。

如:

 

using Autodesk.AutoCAD.ApplicationServices;

using Autodesk.AutoCAD.EditorInput;

using Autodesk.AutoCAD.Runtime;

 

(4)  加入自定義命令

新建HelloWorld的自定義AutoCAD 命令,可以這么做:

[c-sharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using Autodesk.AutoCAD.ApplicationServices;  
  6. using Autodesk.AutoCAD.EditorInput;  
  7. using Autodesk.AutoCAD.Runtime;  
  8. namespace ClassLibrary1  
  9. {  
  10.     public class Class1  
  11.     {  
  12.         [CommandMethod("HelloWorld")]  
  13.         public void HelloWorld()  
  14.         {  
  15.             Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;  
  16.             ed.WriteMessage("Hello World");  
  17.         }  
  18.     }  
  19. }  

  

 

該命令在當前命令行顯示 Hello World。

 

3. 編譯和調試

(1)手動加載

點擊生成>生成解決方案,編譯完成。

要加載生成的DLL文件,必須用Netload命令。在AutoCAD命令行輸入Netload,選擇 ClassLibrary1.dll 就可以加載了。

在命令行輸入 HelloWorld 命令,就可以看到其執行效果了。

Netload加載的程序不能卸載,要想再調試只能退出Autocad,然后重新編譯、加載。

(2)自動加載

       菜單 項目>ClassLibrary1屬性>調試>啟動操作,選擇啟動外部程序,程序名為AutoCAD.exe ,默認安裝位置在c:/Program Files/AutoCAD 2010/acad.exe;命令行參數設置  /nologo /b "d:/ClassLibrary1/ClassLibrary1/bin/debug/start.scr" 。

       start.scr 文件是自己編寫的autocad運行腳本文件,該文件是文本文件,添加一行文本:netload "d:/ClassLibrary1/ClassLibrary1/bin/debug/ ClassLibrary1.dll" 

這樣我們就可以直接運行調試了。

(3)調試

按照以上步驟運行后,不支持斷點調試,我們還應修改acad.exe.config.xml文件,該文件在c:/Program Files/AutoCAD 2010/下,增加一行 <supportedRuntime version="v2.0.50727"/>內容。修改后的acad.exe.config.xml的內容如下:

 

<configuration>

   <startup>

<supportedRuntime version="v2.0.50727"/>

   </startup>

<!--All assemblies in AutoCAD are fully trusted so there's no point generating publisher evidence-->

   <runtime>        

<generatePublisherEvidence enabled="false"/>    

   </runtime>

</configuration>

 


免責聲明!

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



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