国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

利用C#進行AutoCAD的二次開發(一)

2024-07-21 02:19:57
字體:
來源:轉載
供稿:網友


收集最實用的網頁特效代碼!

眾所周知,對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();//更新顯示
好了,簡單吧,你可以試著編譯一下。關于上面一些語句的用法,我會在下一講中作詳細介紹。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清水河县| 白水县| 鹤岗市| 盖州市| 休宁县| 拜泉县| 固始县| 玉门市| 岢岚县| 临朐县| 西充县| 卢龙县| 沭阳县| 华坪县| 合江县| 鲁山县| 抚远县| 古丈县| 洛阳市| 和龙市| 含山县| 德令哈市| 南昌县| 镇康县| 和田市| 伊春市| 广丰县| 南丹县| 迭部县| 富民县| 紫阳县| 祁连县| 喜德县| 绵竹市| 临漳县| 日照市| 泾川县| 石泉县| 灌阳县| 安徽省| 平潭县|