亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        AutoCAD二次開發(fā)在水泥廠工程設(shè)計中的應(yīng)用

        2014-02-08 04:17:54彭林山
        四川水泥 2014年5期
        關(guān)鍵詞:二次開發(fā)程序設(shè)計

        彭林山

        (成都建筑材料工業(yè)設(shè)計研究院有限公司,成都市 610051)

        0 前 言

        Autodesk公司旗下的產(chǎn)品AutoCAD軟件已經(jīng)成為各個行業(yè)廣大設(shè)計者最為常用的設(shè)計工具。對于不同行業(yè)領(lǐng)域的設(shè)計者,除了應(yīng)用AutoCAD本身所具有的功能,還需要針對自己的設(shè)計需要開發(fā)更多的功能來提高設(shè)計工作的效率,這就需要對AutoCAD進(jìn)行二次開發(fā)。目前,針對某個行業(yè),應(yīng)用AutoCAD二次開發(fā)的實例已經(jīng)有很多了。在水泥廠設(shè)計中,存在著大量非標(biāo)準(zhǔn)件的設(shè)計,本文針對非標(biāo)準(zhǔn)件設(shè)計的具有數(shù)量大、重復(fù)性和規(guī)律性強等特點,進(jìn)行了AutoCAD的二次開發(fā),提高了非標(biāo)準(zhǔn)件設(shè)計效率。

        1 開發(fā)環(huán)境簡介

        在Visual Studio 2012開發(fā)環(huán)境中,利用AutoCAD軟件的ActiveX?(COM自動化)技術(shù),使用Visual Basic.net編程語言對AutoCAD2013進(jìn)行二次開發(fā)。Visual Studio 2012作為一個集成解決方案,適用于個人或者各種規(guī)模的開發(fā)團隊,可以進(jìn)行良好的數(shù)據(jù)封裝,以更好的方式進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計,同時也能更好的和其他應(yīng)用程序進(jìn)行數(shù)據(jù)交換[1]。

        AutoCAD軟件的ActiveX?技術(shù)將AutoCAD中的對象暴露出來,使得編程環(huán)境可以訪問到AutoCAD的對象,通過對象的屬性、方法和事件來實現(xiàn)我們想要的功能。AutoCAD軟件的ActiveX?技術(shù)提供了許多可以訪問的對象,這些對象分為圖像對象(例如:直線,圓弧,文本,尺寸標(biāo)注等)和樣式設(shè)置對象(例如:線型和尺寸標(biāo)注樣式等)等,甚至AutoCAD應(yīng)用程序也可以看做是一個對象,這些對象具有一定的層次和隸屬關(guān)系,我們在編程過程中都可以訪問得到。

        2 開發(fā)實例

        2.1 法蘭的繪制

        在水泥廠建設(shè)工程設(shè)計中,非標(biāo)準(zhǔn)件的設(shè)計是一項繁復(fù)的設(shè)計工作,很多非標(biāo)準(zhǔn)件的法蘭接口在外形上都十分相似,只是尺寸大小不同,螺栓孔數(shù)量不同而已。本文通過AutoCAD的二次開發(fā),只是輸入法蘭的相關(guān)尺寸,就可以自動繪制出相應(yīng)的法蘭,從而提高設(shè)計效率,這種類似于參數(shù)化設(shè)計。程序開發(fā)過程大致介紹如下。

        在Visual Studio 2012開發(fā)環(huán)境中,新建一個VB類庫的項目(.dll),添加相應(yīng)的應(yīng)用(AcCoreMgd.dll、AcDbMgd.dll、AcMgd.dll、Autodesk.AutoCAD.Interop.dll 和Autodesk.AutoCAD.Interop.Common.dll,在AutoCAD安裝目錄都可以找到)。為了簡化AutoCAD設(shè)計的界面,這里設(shè)計了個用戶控件定義為AutoCAD的內(nèi)部窗口(palette),作為用戶輸入尺寸的界面,界面設(shè)計如圖1。

        圖1 用戶控件界面

        實現(xiàn)代碼如下:

        其中“方和圓的法蘭”是用戶控件對象的名稱,語句mypaletteset.Add("palette1", mypalette)將用戶對象添加為AutoCAD的內(nèi)部窗口。用文本框?qū)ο笙嚓P(guān)輸入法蘭的尺寸。兩個名稱為“比例”的下拉菜單可以選擇繪制法蘭的比例(1∶100,1∶50,1∶40,1∶20,1∶10和1∶5可供選擇),“標(biāo)注樣式”下拉菜單可以選擇當(dāng)前活動AutoCAD程序中的已有的標(biāo)注樣式,比例的選擇與標(biāo)注樣式要相對應(yīng)。以下代碼實現(xiàn)了將當(dāng)前活動AutoCAD程序中的已有的標(biāo)注樣式添加到“標(biāo)注樣式”下拉菜單中。

        直線和線型標(biāo)注的繪制以方形法蘭右邊的中心線的繪制為例。代碼如下∶

        其中l(wèi)ineobj為直線對象,lineobj.Layer = "center"設(shè)置直線的圖層為 “center”,改圖層應(yīng)該先在AutoCAD中創(chuàng)建。用AddDimAligned方法添加名稱為mydimension 的線型標(biāo)注對象。mydimension.StyleName = ComboBox2.SelectedItem.ToString將“標(biāo)注樣式”下拉菜單中所擇的標(biāo)注樣式賦值給mydimension 標(biāo)注對象的StyleName屬性,從而可以靈活創(chuàng)建不同標(biāo)注樣式的尺寸標(biāo)注。

        圓和直徑標(biāo)注的繪制大致與直線和線型標(biāo)注的繪制大致相同,圓形法蘭的螺栓孔的繪制可以用ArrayPolar方法生成圓周陣列來繪制。

        在輸入相關(guān)尺寸,選擇了比例和標(biāo)注樣式后,單擊確定按鈕,提示用戶輸入插入點,用戶只需要在模型空間中想要繪制法蘭的位置單擊鼠標(biāo)即可,實現(xiàn)代碼如下:

        ctr = ThisDrawing.ActiveDocument.Utility.GetPoint(, vbCrLf + "輸入插入點:")

        ctr為雙精度型一維數(shù)組,存儲插入點的三維坐標(biāo)。

        程序編寫調(diào)試完成后,生成dll程序集,在AutoCAD中輸入netload加載該程序集,加載成功后,輸入palette即出現(xiàn)圖1所示的面板,輸入相關(guān)尺寸、比例和標(biāo)注樣式,單擊確定按鈕,輸入插入點,即繪出了相應(yīng)的法蘭,最后根據(jù)圖紙布局調(diào)整標(biāo)注的位置即可。該程序較以前的其他作者編寫的程序相比,用該程序繪制出的法蘭幾乎不用做任何的修改而且準(zhǔn)確,可直接打印出圖,再者,該程序啟動和關(guān)閉非常方便,界面友好,通俗易懂。

        2.2 非標(biāo)準(zhǔn)件設(shè)備表的編制

        目前,在編制圖紙目錄時,都是從AutoCAD里復(fù)制非標(biāo)準(zhǔn)件名稱和重量,再粘貼到Excel表格里,如果遇到非標(biāo)準(zhǔn)件多的時候,這個將是非常消耗時間的工作,而且是機械性重復(fù)復(fù)制粘貼命令。現(xiàn)在利用Excel的COM接口可以和AutoCAD進(jìn)行混合編程,只需要在AutoCAD中反復(fù)選擇各個非標(biāo)準(zhǔn)件的名稱和重量,自動在Excel表格生成。編寫以下過程來獲得Excel對象。

        其中myExcel為全局變量,類型為Object,以上過程運行后,如不出現(xiàn)錯誤,myExcel就為Excel對象了。myExcel.Workbooks.Add添加Excel的工作簿。用GetString和GetEntity方法來得到用戶輸入的信息,賦值給當(dāng)前活動表格中的單元格。程序也編寫了處理輸入錯誤的方法。

        當(dāng)選擇完所有的非標(biāo)準(zhǔn)件的名稱和重量后可以按Esc鍵退出。退出后彈出Excel界面如圖。這樣就可以很方便的復(fù)制粘貼到設(shè)備表中。需要說明的是,非標(biāo)準(zhǔn)件的名稱過長的話,應(yīng)該在AutoCAD中改為多行文本。

        運行截圖見圖2:

        圖2 程序運行截圖

        3 結(jié) 論

        通過AutoCAD的二次開發(fā),可以滿足設(shè)計人員特定的繪圖需要,從而可以大大提高設(shè)計效率。本文僅介紹了兩個簡單的功能,在工程設(shè)計過程中還有很多重復(fù)繪圖的過程可以通過AutoCAD的二次開發(fā)來提高設(shè)計效率,本文僅列舉了簡單的法蘭及材料表的繪制作為例證,非標(biāo)件的繪制都可以通過本方法進(jìn)行過程簡化,實現(xiàn)了非標(biāo)件的規(guī)范高效設(shè)計。

        [1]凌詠紅,黃小微.基于C#的AutoCAD二次開發(fā)在建筑工程中的應(yīng)用 [J].中國科技論文在線.1999(04).

        猜你喜歡
        二次開發(fā)程序設(shè)計
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        試論我國未決羈押程序的立法完善
        瞞天過海——仿生設(shè)計萌到家
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        “程序猿”的生活什么樣
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        英國與歐盟正式啟動“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        日韩在线看片| 日日躁夜夜躁狠狠躁| 中文字幕有码在线人妻| 国产精品无码一区二区三区在| 夜夜爽妓女8888888视频| 亚洲欧美日韩中文在线制服| 久久国产欧美日韩高清专区| 三级日本午夜在线观看| 久久精品中文少妇内射| 777午夜精品免费观看| 亚洲精品美女久久久久久久| 蜜桃av噜噜噜一区二区三区| 日韩av精品视频在线观看| 丰满人妻被黑人猛烈进入| 无码之国产精品网址蜜芽| 少妇特殊按摩高潮对白| 亚洲国产成人精品无码区在线播放 | 日本高清中文字幕二区在线| 女同重口味一区二区在线| 无码伊人66久久大杳蕉网站谷歌| 精品国模一区二区三区| 精品亚洲女同一区二区| 国产少妇高潮在线视频| 亚洲高清乱码午夜电影网| 国产精品揄拍100视频| 97福利视频| 一区二区日本免费观看| 亚洲一区二区三区四区五区黄| 国产成人综合久久精品免费| 精品999无码在线观看| 国产流白浆视频在线观看| 国产免费av片在线播放| 性夜影院爽黄a爽在线看香蕉| 香蕉国产人午夜视频在线观看| 国产精品自拍网站在线| 中文字幕精品一区二区精品| 天天做天天爱天天综合网| 国产一区二区在线观看视频免费| av免费在线国语对白| 久久久av波多野一区二区| 精品人妻系列无码人妻免费视频|