成人女人看片免费视频放人_亚洲色精品三区二区一区_欧美亚洲国产精品久久_成人无遮挡裸免费视频在线观看_97SE亚洲国产综合在线_精品久久久久久777米琪桃花_天天躁日日躁很很很躁_色噜噜狠狠一区二区三区果冻_国产免费久久精品国产传媒_67194成是人免费无码

切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 4238閱讀
    • 0回復

    [轉(zhuǎn)載]利用C#進行AutoCAD的二次開發(fā) [復制鏈接]

    上一主題 下一主題
    離線jiajia80
     
    發(fā)帖
    664
    光幣
    8467
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2010-04-27
    關(guān)鍵詞: AutoCAD二次開發(fā)
    眾所周知,對AutoCAD進行二次開發(fā)用到的主要工具有:ObjectArx,VBA,VLisp。但它們的優(yōu)缺點是顯而易見的:ObjectArx功能強大,編程效率高,但它的缺點是編程者必須掌握VC++,而這門語言非常的難學;VBA和VLisp雖然簡單易上手,但它們對于開發(fā)大型的程序好象無能為力。那究竟有沒有一種語言能結(jié)合它們的優(yōu)點而盡量避免它們的缺點呢? 回答是肯定的,那就是微軟新推出的21世紀編程語言C#。關(guān)于C#的詳細介紹,大家可以參考有關(guān)的文章。 M`'2 a  
    uyIA]OtyN  
      C#是通過AutoCAD ActiveX 這座橋梁來和AutoCAD之間進行通訊的。AutoCAD ActiveX 使用戶能夠從 AutoCAD 的內(nèi)部或外部以編程方式來操作 AutoCAD。它是通過將 AutoCAD 對象顯示到“外部世界”來做到這一點的。一旦這些對象被顯示,許多不同的編程語言和環(huán)境就可以訪問它們。關(guān)于AutoCAD ActiveX 的情況,大家可以參考AutoCAD自帶的幫助。 *fZ'#C~x  
    u)-l+U.  
      呵呵,說了這么多無聊的,還是讓我們通過一個具體的例子來說明怎樣利用C#進行AutoCAD的二次開發(fā)吧。在介紹例子之前先講一下有關(guān)的配置: K~R{q+  
    6yqp<D0SP)  
      (1)Visual Studio .net (2003和2002都可以,我用的是2002) <LY+" Y  
    Jjv&@a}  
      (2)AutoCAD2000以上版本(我用的是2004) %3wK.tR  
    hrK^oa_[W  
      這個例子非常簡單,就是通過C#建立的窗體來啟動AutoCAD并畫一條直線。下面是編程的具體步驟: uDR(^T{g#  
    ;C'*Ui  
      (1)通過Visual Studio .net 建立一C#的windows應用程序。 AsOI`@FV  
    (X/JXu{  
      (2)在“解決方案資源管理器”中右擊“引用”標簽,在彈出的菜單中選擇“添加引用”,在“添加引用”對話框中選擇“com"選項卡下的下拉列表框中的“AutoCAD 2004 Type Library"項(注意:不同版本的CAD的數(shù)字不同),單擊右邊的“選擇”按鈕,最后單擊下面的“確定”按鈕。 C 4,W[L]4"  
    ;7}*Xr|  
      (3)在C#窗體中加入兩個文本框和一個按鈕,分別用于輸入直線起點、終點的坐標和在CAD中畫直線。下面主要解釋一下添加的代碼。 &/p 9+gd  
    [PT}!X7h  
      (a)在程序的開頭加入:using AutoCAD;//導入AutoCAD引用空間 E:AXnnGKO  
    >b0}X)Z+U  
      (b)在窗體的變量聲明部分加入: private AcadApplication a;//聲明AutoCAD對象 KV2X[1  
    XT)@)c7j  
      (c)在窗體的構(gòu)造函數(shù)部分加入:a=new AcadApplicationClass();//創(chuàng)建AutoCAD對象 %o>1$f]  
    e!#:h4I  
      a.Visible=true;//使AutoCAD可見 wB@A?&UY  
    $1YnQgpT  
      (d)在按鈕的消息處理函數(shù)中加入: 3c)xNXq m  
    a9%# J^ !  
      double[] startPoint=new double[3]; //聲明直線起點坐標 ja2LXM  
    ?~"RCZ[;.f  
      double[] endPoint=new double[3];//聲明直線終點坐標 ~7|z 崇仁县| 荆州市| 栾川县| 湘乡市| 斗六市| 鄯善县| 兴安县| 延庆县| 烟台市| 沙坪坝区| 玉山县| 蓬溪县| 视频| 临朐县| 尼木县| 西峡县| 石屏县| 白城市| 大化| 南充市| 南皮县| 滦平县| 新竹市| 五峰| 永善县| 民权县| 平武县| 永昌县| 丰顺县| 衡东县| 滨州市| 乐山市| 萍乡市| 昭通市| 区。| 高淳县| 五原县| 松原市| 长沙市| 河源市| 定襄县|