1. 程式人生 > >autocad.net二次開發中visualstudio版本問題

autocad.net二次開發中visualstudio版本問題

Overview of Microsoft Visual Studio

Microsoft Visual Studio概述

Microsoft Visual Studio is an object-oriented programming environment that runs independently of AutoCAD. While Microsoft Visual Studio is external to AutoCAD and other applications, it is able to interact with applications that expose either a native .NET API or ActiveX/COM library.

Microsoft Visual Studio是不依賴AutoCAD執行的面向物件程式設計環境。雖然Microsoft Visual Studio是AutoCAD及其他應用程式的外部環境,但它能與那些公開了自己的本地.NET API或ActiveX/COM庫的應用程式進行互動。

Topics in this section本節主題

·         Which Edition of Microsoft Visual Studio to Use 使用Visual Studio哪個版本

·         Use COM Interoperability with .NET 使用COM與.NET互動操作

·         Dependencies and Restrictions 依賴性及限制

1、Which Edition of Microsoft Visual Studio to Use使用Visual Studio哪個版本

Microsoft Visual Studio is available in multiple versions and editions. To use the .NET API for AutoCAD 2012, you need to use:

Microsoft Visual Studio有多個版本可用。要是開發AutoCAD 2012 .NET API專案,我們需要使用:

·         Microsoft Visual Studio 2010

·         Microsoft .NET Framework 4.0

Note Projects compiled with Microsoft Visual Studio 2008 with a target of Microsoft .NET Framework 3.5 should load into AutoCAD 2012 without a problem. Microsoft Visual Studio 2008 cannot be used to debug projects loaded in AutoCAD 2012; you must use Microsoft Visual Studio 2010 when debugging a project.

注意:由Microsoft Visual Studio 2008編譯的目標為Microsoft .NET Framework 3.5的專案可以載入到AutoCAD2012執行沒有問題。但Microsoft Visual Studio 2008不能用來除錯AutoCAD 2012載入的專案,除錯專案時必須使用Microsoft Visual Studio 2010。

If you are using AutoCAD 2010 or AutoCAD 2011, you should use:

如果使用的是AutoCAD 2010或AutoCAD 2011,則應選擇:

·         Microsoft Visual Studio 2008 with Service Pack 1

·         Microsoft .NET Framework 3.5 with Service Pack 1

If you are using AutoCAD 2007 through AutoCAD 2009, you should use:

如果使用的是AutoCAD 2007到AutoCAD 2009,則應選擇:

·         Microsoft Visual Studio 2005

·         Microsoft .NET Framework 2.0 or later (或2.0以上)

Microsoft Visual Studio is offered in two editions: for free and for pay. The free edition is known as Microsoft Visual Studio 2010 Express Edition, while the for pay editions vary by name and price due to the different development tools that are incorporated into them. Microsoft Visual Studio 2010 Professional Edition provides improved debugging over Microsoft Visual Studio 2010 Express Edition along with a number of other features. The most common edition of Microsoft Visual Studio used by developers is Microsoft Visual Studio 2010 Professional Edition.

Microsoft Visual Studio有兩種版本供選擇:免費版本和付費版本。免費版本眾所周知就是Microsoft Visual Studio 2010 Express版,付費版本的名稱和價格因整合的開發工具的不同而異。Microsoft Visual Studio 2010專業版提供了比Microsoft Visual Studio 2010 Express版改進了的除錯效能及其他許多特性。開發人員最常用的Microsoft Visual Studio版本就是Microsoft Visual Studio 2010專業版。

Note While it is possible to use Microsoft Visual Studio Express with the AutoCAD .NET API, this guide assumes you are using one of the other versions such as Microsoft Visual Studio 2010 Professional Edition or Microsoft Visual Studio 2010 Premium Edition.

注意:可能有人使用Microsoft Visual Studio Express版進行AutoCAD .NET API開發,但本指南假設你使用的是Microsoft Visual Studio 2010專業版或Microsoft Visual Studio 2010高階版。

There are four main advantages to using Microsoft Visual Studio:

使用Microsoft Visual Studio的四大優勢:

·         Robust and accessible development environment that has a modest learning curve. 強大易用的開發環境,輕鬆的學習過程;

·         VBA and VB.NET syntax are similar, which makes it an ideal environment for existing VBA users. VBA和VB.NET語法相近,是現有VBA開發人員理想的環境;

·         Visually intuitive and extensive dialog box creation tools. 直觀、豐富的對話方塊建立工具;

·         Projects can be built as a standalone executable or DLL assembly which can then be loaded into AutoCAD for execution. 可以將專案生成為獨立的可執行程式或DLL程式集,載入到AutoCAD執行;

Note Unlike VBA projects, .NET applications do not suffer from performance degradation when loaded and run in 64-bit AutoCAD.

注意:不像VBA專案,.NET應用程式載入並執行在64位AutoCAD環境時效能不會下降。

2、Use COM Interoperability with .NET使用COM與.NET互操作

Microsoft Visual Studio can utilize both native .NET and COM interfaces in the same project. By utilizing COM interop, you can migrate existing code that might have been written in Visual Basic 6 or VBA without having to completely rewrite it. To access AutoCAD automation objects from a project created in Microsoft Visual Studio, create references to the following files:

Microsoft Visual Studio可以在同一個專案中使用本地.NET和COM兩種介面,這樣我們就可以移植現有的那些用VB6或VBA寫的程式碼而不必完全重寫。要想在Microsoft Visual Studio建立的專案中訪問AutoCAD自動化物件,需要建立對下列檔案的引用:

·         The AutoCAD 2012 type library, acax18enu.tlb, located at <drive>:\Program Files\Common Files\Autodesk Shared. AutoCAD 2012類庫檔案acax18enu.tlb,位於C:\ Program Files\Common Files\Autodesk Shared

·         The AutoCAD/ObjectDBX Common 18.0 type library, axdb18enu.tlb, located at <drive>:\Program Files\Common Files\Autodesk Shared. AutoCAD/ObjectDBX18.0通用類庫檔案axdb18enu.tlb,位於C:\ Program Files\Common Files\Autodesk Shared

Note The previous mentioned type libraries are also available as part of the ObjectARX SDK. For information on downloading and installing the ObjectARX SDK, see Components of the AutoCAD .NET API.

注意:前面提到的類庫檔案還可以從ObjectARX SDK中得到。……

These references will make the following primary interop assemblies available:

對這些類庫的引用使得下列基本互操作程式集可用:

·         Autodesk.AutoCAD.Interop.dll (for AutoCAD-specific typesAutoCAD專有型別)

·         Autodesk.AutoCAD.Interop.Common.dll (for types shared by ObjectDBX host applications ObjectDBX宿主應用程式共享型別)

The interop assemblies are located in the global assembly cache; they map automation objects to their .NET counterparts.

互操作程式集位於全域性程式集快取;他們將自動化物件對映為.NET的對等物件。

After you reference the type libraries, you can declare AutoCAD-based variables in Microsoft Visual Studio, as in the following examples:

引用了這些類庫,我們就可以在Microsoft Visual Studio中宣告AutoCAD變數,像下面的例子:

VB.NET

Dim objAcApp As Autodesk.AutoCAD.Interop.AcadApplication

Dim objLine As Autodesk.AutoCAD.Interop.Common.AcadLine

C#

Autodesk.AutoCAD.Interop.AcadApplication objAcApp;

Autodesk.AutoCAD.Interop.Common.AcadLine objLine;

Utilizing the interop assemblies can make the transitioning your VBA projects over to VB.NET much easier. However, in order to take full advantage of everything that .NET and the AutoCAD .NET API have to offer, you will need to rewrite your existing VBA code.

應用互操作程式集使得將VBA專案轉換為VB.NET專案更容易。不過,為了充分利用.NET和AutoCAD .NET API提供的全部功能,還是要重寫現有VBA程式碼。

Create and Reference the AutoCAD Application 建立並引用AutoCAD應用程式

AutoCAD 2012 .NET applications can utilize the same type library (acax18enu.tlb) as AutoCAD automation projects. The type library is located in <drive>:\Program Files\Common Files\Autodesk Shared.

AutoCAD 2012 .NET應用程式可以和AutoCAD自動化專案一樣利用相同的類庫(acax18enu.tlb)。該類庫位於c:\Program Files\Common Files\Autodesk Shared

AutoCAD 2012 .NET applications also use the same version-dependent ProgID for the CreateObject, GetObject, and GetInterfaceObject functions. For example, CreateObject ("AutoCAD.Application.18") allows you to create an instance of AutoCAD and get an object that represents the new instance of the application.

AutoCAD 2012 .NET應用程式的CreateObject、GetObject和GetInterfaceObject函式也使用同樣的依賴版本的ProgID值。例如,CreateObject("AutoCAD.Application.18")允許我們建立一個AutoCAD的例項,並獲取代表應用程式新示例的物件。

3、Dependencies and Restrictions依賴性及限制

Unlike ActiveX Automation, there are fewer issues with library conflicts when other applications are installed, reinstalled, or uninstalled. The reason for fewer compatibility issues is that the .NET Framework is a standardized platform. However, you can still run into dependency issues. To avoid dependency issues with the .NET Framework, be sure to use the same or an earlier version of the .NET Framework with your VB.NET or C# project that AutoCAD 2012 uses. For information on which version of the .NET Framework you should be referencing, see Which Edition of Microsoft Visual Studio to Use.

不像ActiveX Automation,在其他程式安裝、重灌及解除安裝時很少出現庫衝突的情形。很少出現相容問題的原因在於.NET Framework是一個標準化的平臺。不過,還是會遇到依賴性問題。要避免.NET Framework依賴性問題,應確保使用與AutoCAD2012所用.NET Framework相同或更早的版本來開發VB.NET或C#專案。更多資訊見使用Microsoft Visual Studio哪個版本。

相關推薦

autocad.net開發visualstudio版本問題

Overview of Microsoft Visual Studio Microsoft Visual Studio概述 Microsoft Visual Studio is an object-oriented programming environment that

AutoCad .Net開發求兩曲線最小距離

測試結果:   主要思路:假設有兩條曲線分別是c1和c2,把c1按照1的距離劃分我這裡用變數jd表示,得到一個曲線集合coll,然後遍歷coll,得到coll中每一個曲線的兩個端點,再用這兩個端點分別求離曲線c2的最短距離,直接使用開發庫的GetClosestPointTo方法就可以了,直到遍歷完

AE開發幾個功能速成歸納(符號設計器、創建要素、圖形編輯、屬性表編輯、緩沖區分析)

文件夾路徑 及其 基本框架 option 開啟 rgs database ets remove /* * 實習課上講進階功能所用文檔,因為趕時間從網上抄抄改改,湊合能用,記錄一下以備個人後用。 * * --------------------------------

AutoCAD C#開發

rac ted points tap save open method ora cti https://www.cnblogs.com/gisoracle/archive/2012/02/19/2357925.html using System; using System

CAD開發浮動面板不浮動的問題

pro owa des minimum bsp span ken ble style CAD二次開發中創建了一個浮動面板,想讓它創建出來後以浮動狀態顯示, 但是DockSides.None設置完後,面板還是不浮動。搞了很久,最後原來是 需要先設置Visible,再設置D

NX開發特徵找體UF_MODL_ask_feat_body

UF_initialize(); //建立塊 UF_FEATURE_SIGN Sign = UF_NULLSIGN; double Corner_Pt[3] = {0.0, 0.0, 0.0}; char *Edge_Len[3] = {"100", "200

ecshop開發如何壓縮輸出HTML

給HTML頁面的減肥,加快頁面的載入速度。增加了閱讀HTML原始碼的難度,使想要仿模板的菜鳥們知難而退。原理就是刪除無用的空格、換行符、回車符,對於JAVASCRIPT不會壓縮。開啟/includes/cls_template.php檔案,找到display函式。在echo $out;之前新增一行: ech

基於FiddlerCore的.Net開發

一、FiddlerCore是什麼 Fiddler是一個http協議除錯代理工具,它能夠記錄並檢查所有你的電腦和網際網路之間的http通訊。Fiddler 是用C#寫出來的,它包含一個簡單卻功能強大的基於JScript .NET 事件指令碼子系統,它的靈活性非常棒,可以支援

Civil 3D .NET開發第11章程式碼升級至2018版注意事項

原來涉及2017的,均需要改為2018   原來的21改為22   程式碼中AeccXUiLand.AeccApplication.11.0"改為AeccXUiLand.AeccApplication.12.0" Stdafx檔案作如下修改: acrxEntryP

revit開發怎樣建nurbspline曲線形式的鋼筋

revit二次開發中nurbspline曲線的表現形式實際上是一系列的直線組成的。 由於revit只支援直線或者圓曲線的鋼筋變成鋼筋。所以不能將nurbspline曲線轉成鋼筋,所以可以先將nurbspline模型線轉連續的直線,然後再轉成鋼筋即可。 其中,nurbsp

UG開發的座標系變換與點座標變換

根據線性代數理論,線性空間中定義的“運動”只有平移和旋轉兩種形式。其中,任意三維旋轉“運動“都可以由兩個二維旋轉變換矩陣的乘積表示,即繞Z軸(即在X-Y面上)的旋轉矩陣B和繞新的Y軸(即在X-Z面上)的旋轉矩陣A的乘積。 在UG中,相對座標與絕對座標之間的變換

AutoCAD ObjectARX 開發(2020版)--4,使用ARX嚮導建立CAD開發專案(程式設計框架)--

手動建立ObjectARX應用程式非常麻煩,在此步驟中,將介紹ObjectARX嚮導。 在這裡,我們將使用ObjectARX嚮導建立我們的ObjectARX應用程式。 本節的程式的需求是,接收CAD使用者的輸入。 首先,開啟VS2017,新建專案 在左邊的樹形目錄裡依次選擇 Visual  C++&

基於.NET的CAD開發學習筆記AutoCAD .NET的物件

1、CAD物件 一個CAD檔案(DWG檔案)即對應一個數據庫,資料庫中的所有組成部分,看的見(包括點、多段線、文字、圓等)和看不見(圖層、線型、顏色等)的都是物件,資料庫本身也是一個物件。 直線、圓弧、文字和標註等圖形物件都是物件。 線型與標註樣式等樣式設定都是物件。 圖層

AutoCAD開發(.net教程)C#版——學習筆記(一)

        最近開始學習AutoCAD(ObjectARX)的二次開發,首先遇到的一個最大問題就是——開發環境的設定問題,CAD的二次開發對開發工具的版本要求很嚴,開發包、CAD版本和開發工具都得對應(在網上看了很多貼了也有人不用對應)。當下C#比較流行的開發工具就是V

AutoCad 開發 .net 之建立Table

我使用了COM物件來在cad2018中建立table表格,需要的ObjectArx開發包可以在官網上下載,並且需要使用.netframework4.6的庫才行。  專案裡除了引用常規的Cad開發dll,還要引用COM元件: Autodesk.AutoCAD.Interop.dll和Autodesk

VB.Net實現下CATIA開發方法

ror 點擊 doc struct cat inf 定義 then ports 源自網絡。 在visual studio(vb,c#,c++)下使用CATIA進行二次開發有如下特點: -->需要引用CATIA的對象庫 -->需要對象聲明(visua

(我是初學者)第一項目開發開發遇到的問題和註意事項

持久層 數據庫 認識 碼代碼 操作 出錯 排序 文檔 項目 這周正式開始做項目練習,這才發現實際去做的時候會遇到和出現很多的問題 在這裏說一說我的體會,請指正 首先,實體類 1、實體類中有哪些屬性,類型是什麽,並根據屬性建立sql的相應表格, 2、哪些屬性需要在寫在實體

控考勤機的開發之數據秒上傳至服務器功能

程序 做到 監控 選擇 環境 客戶 出現 員工 參考 1.客戶選擇了中控考勤機:IFACE系列 2.客戶需要在WEB端實時看到員工的考勤情況 3.需要做到客戶員工數據及時傳遞到服務器 實現方法如下: 1.安裝中控DLL(一定要註意操作系統是32位還是64位,折騰死人

控考勤機的開發之靈活調配職工功能

客戶 考勤 靈活 二次 容量 代碼 功能 參考 以及 客戶新增需求 1.客戶員工需要不定時的外派或支援 2.客戶員工發適時的到分公司去打卡 3.客戶員工的打卡數據需要及時的發放到目標分公司 4.實現功能如下: 1)各分公司需要及時從考勤機上取得員工的打卡驗證數據

基於.NET的CAD開發學習筆記一:CAD開發入門

1、AutoCAD .NET API由不同的DLL檔案組成,它們提供用於訪問圖形檔案或AutoCAD應用程式的包含豐富的類、結構、方法和事件。每一個DLL檔案都定義不同的使用基於功能的庫組織元件的名稱空間。 下面是你將頻繁地要使用的AutoCAD .NET API 的三個主要的DLL檔案: