亚洲免费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)
        一区=区三区国产视频| 大学生被内谢粉嫩无套| 亚洲午夜无码久久yy6080| 用力草我小逼视频在线播放| 激情在线一区二区三区视频| 北条麻妃国产九九九精品视频 | 亚洲伊人成综合人影院| 色婷婷久久精品一区二区| 两个人看的www免费视频中文| 天天天综合网| 国产一区二区在线观看视频免费 | 99久久国产精品免费热| 国产欧美日韩精品专区| 99久久久无码国产精品9| 国产一区,二区,三区免费视频| 青青草成人在线播放视频| 午夜理论片yy44880影院| 91国视频| 白白白色视频在线观看播放 | 国产一区二区三区尤物| 色欲人妻aaaaaaa无码| 性饥渴艳妇性色生活片在线播放| 日本一本草久国产欧美日韩| 校园春色日韩高清一区二区| 国产成人久久精品一区二区三区| 亚洲一级毛片免费在线观看| 亚洲天堂av免费在线| 午夜人妻久久久久久久久| 中国丰满熟妇xxxx| 亚洲精品乱码久久久久99| 亚洲激情一区二区三区不卡| 国产男女免费完整视频| 国产在线精品一区二区在线看| 久久最黄性生活又爽又黄特级片| 新婚人妻不戴套国产精品| 成年午夜无码av片在线观看 | 丰满人妻无奈张开双腿av| 日韩中文字幕版区一区二区三区| 欧美 变态 另类 人妖| 久久亚洲av成人无码软件| 日韩麻豆视频在线观看|