眾所周知,對AutoCAD進行二次開發用到的主要工具有:ObjectArx,VBA,VLisp。但它們的優缺點是顯而易見的:ObjectArx功能強大,編程效率高,但它的缺點是編程者必須掌握VC++,而這門語言非常的難學;VBA和VLisp雖然簡單易上手,但它們對于開發大型的程序好象無能為力。那究竟有沒有一種語言能結合它們的優點而盡量避免它們的缺點呢? 回答是肯定的,那就是微軟新推出的21世紀編程語言C#。關于C#的詳細介紹,大家可以參考有關的文章。
C#是通過AutoCAD ActiveX 這座橋梁來和AutoCAD之間進行通訊的。AutoCAD ActiveX 使用戶能夠從 AutoCAD 的內部或外部以編程方式來操作 AutoCAD。它是通過將 AutoCAD 對象顯示到“外部世界”來做到這一點的。一旦這些對象被顯示,許多不同的編程語言和環境就可以訪問它們。關于AutoCAD ActiveX 的情況,大家可以參考AutoCAD自帶的幫助。
呵呵,說了這么多無聊的,還是讓我們通過一個具體的例子來說明怎樣利用C#進行AutoCAD的二次開發吧。在介紹例子之前先講一下有關的配置:
(1)Visual Studio .net (2003和2002都可以,我用的是2002)
(2)AutoCAD2000以上版本(我用的是2004)
這個例子非常簡單,就是通過C#建立的窗體來啟動AutoCAD并畫一條直線。下面是編程的具體步驟:
(1)通過Visual Studio .net 建立一C#的windows應用程序。
(2)在“解決方案資源管理器”中右擊“引用”標簽,在彈出的菜單中選擇“添加引用”,在“添加引用”對話框中選擇“com"選項卡下的下拉列表框中的“AutoCAD 2004 Type Library"項(注意:不同版本的CAD的數字不同),單擊右邊的“選擇”按鈕,最后單擊下面的“確定”按鈕。
(3)在C#窗體中加入兩個文本框和一個按鈕,分別用于輸入直線起點、終點的坐標和在CAD中畫直線。下面主要解釋一下添加的代碼。
(a)在程序的開頭加入:using AutoCAD;//導入AutoCAD引用空間
(b)在窗體的變量聲明部分加入: private AcadApplication a;//聲明AutoCAD對象
(c)在窗體的構造函數部分加入:a=new AcadApplicationClass();//創建AutoCAD對象
a.Visible=true;//使AutoCAD可見
(d)在按鈕的消息處理函數中加入:
double[] startPoint=new double[3]; //聲明直線起點坐標
double[] endPoint=new double[3];//聲明直線終點坐標
string[] str=textBox1.Text.Split(',');//取出直線起點坐標輸入文本框的值,文本框的輸入模式為"x,y,z"
for(int i=0;i<3;i++)
startPoint[i]=Convert.ToDouble(str[i]);//將str數組轉為double型
str=textBox2.Text.Split(',');//取出直線終點坐標輸入文本框的值
for(int i=0;i<3;i++)
endPoint[i]=Convert.ToDouble(str[i]);
a.ActiveDocument.ModelSpace.AddLine(startPoint,endPoint);//在AutoCAD中畫直線
a.Application.Update();//更新顯示
好了,簡單吧,你可以試著編譯一下。關于上面一些語句的用法,我會在下一講中作詳細介紹。
class Class1
{
[STAThread]
static void Main(string[] args)
{
using (AutoCADConnector connector = new AutoCADConnector())
{
Console.WriteLine(connector.Application.ActiveDocument.Name);
}
Console.ReadLine();
}
}
}
這個例子是在C#窗口中顯示AutoCAD中當前文檔的標題。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF
- 2021-08-29機械制圖與AutoCAD [李志明 主編] 2014年PDF下載
- 2021-08-29機械制圖與AutoCAD [陶素連,周欽河 主編] 2013年PDF下