999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AutoCAD二次開發(fā)的配管料單統(tǒng)計方法研究

2015-06-24 21:56:42李廣鑫劉吉飛程久歡胡曉明楊公升廉立偉
科技創(chuàng)新與應(yīng)用 2015年19期

李廣鑫 劉吉飛 程久歡 胡曉明 楊公升 廉立偉

摘 要:為解決配管概算料單人工統(tǒng)計效率較低的問題,研究基于AutoCAD二次開發(fā)的配管料單自動統(tǒng)計方法。應(yīng)用VBA語言進行二次開發(fā),使AutoCAD與Excel互相通訊,實現(xiàn)交互式自動化統(tǒng)計程序。AutoCAD中開發(fā)的管線號賦值程序,可將管線號信息批量賦值給閥門管件,完成管線與閥門管件信息的關(guān)聯(lián)。Excel中開發(fā)的統(tǒng)計程序,可對AutoCAD輸出的閥門管件料單,按照規(guī)定的格式及排序要求,自動完成統(tǒng)計。此方法使工作自動化,準(zhǔn)確、省時、提高工作效率,節(jié)約人力成本。

關(guān)鍵詞:AutoCAD二次開發(fā);VBA;配管料單;設(shè)計自動化

引言

目前常規(guī)的配管料單統(tǒng)由人工讀圖紙逐個統(tǒng)計,并按照材料的不同規(guī)格,統(tǒng)計匯總,存在勞動繁瑣,耗時耗力、易出錯的缺點。CAD(Computer Aided Design計算機輔助設(shè)計)技術(shù)是先進技術(shù)轉(zhuǎn)化為先進生產(chǎn)力的典型代表,是實現(xiàn)制造業(yè)信息化的基礎(chǔ),已成為衡量一個國家設(shè)計水平的重要標(biāo)志。其在功能和角色等方面需求的不斷變化使得CAD軟件必須不斷的更新進步。AutoCAD二次開發(fā)技術(shù)對企業(yè)提高設(shè)計效率、優(yōu)化設(shè)計方案、減輕技術(shù)人員勞動強度、縮短設(shè)計周期,對設(shè)計和生產(chǎn)領(lǐng)域生產(chǎn)力的解放起到了關(guān)鍵性的作用。

VBA全稱為Visual Basic for Applications,可提供類似Visual Basic(VB)的豐富開發(fā)功能。VBA和VB的主要差別是VBA和AutoCAD在同一進程空間中運行,提供面向?qū)ο蟮摹⒎浅?焖俚木幊汰h(huán)境[1-3]。對象是所有ActiveX應(yīng)用程序的主要構(gòu)造塊,每一個顯示的對象均精確代表一個AutoCAD組件,AutoCAD ActiveX接口中有許多不同類型的對象。AutoCAD ActiveX接口使用戶能夠從AutoCAD的內(nèi)部或外部以編程方式來操作AutoCAD[4-5]。VBA也向其他支持VBA的應(yīng)用程序(例如Excel)提供應(yīng)用程序集成[6-10],因此,AutoCAD可以和Excel相互操作。

1 技術(shù)方案分析

1.1 技術(shù)思路

AutoCAD是應(yīng)用最為廣泛的工程軟件,Excel應(yīng)用程序的數(shù)據(jù)處理及統(tǒng)計分析功能非常強大,兩軟件本身都集成了VBA開發(fā)環(huán)境,提供二次開發(fā)功能。

VBA提供了以Visual basic為基礎(chǔ)的面向?qū)ο蟮拈_發(fā)特性以及程序接口,通過VBA編程,基于ActiveX技術(shù),實現(xiàn)AutoCAD與Excel應(yīng)用程序進行通信及數(shù)據(jù)共享,如圖1所示。

1.2 技術(shù)實施方案

P&ID(Piping and Instrumentation Diagram)圖中,配管管件及閥門以塊的形式存在,且管件與塊標(biāo)識一一對應(yīng),本軟件通過對P&ID圖紙中塊信息的讀取,以塊標(biāo)識為索引,篩選、統(tǒng)計出配管料單;其中,關(guān)鍵技術(shù)為閥門管件尺寸磅級信息的獲得,通過將管線號與管線上閥門管件批量關(guān)聯(lián),獲得尺寸、磅級等信息。將讀取的料單信息,在Excel中進行二次統(tǒng)計并排序,輸出料單。

2 關(guān)鍵程序方案

2.1 管線號框選賦值程序方案

開發(fā)出框選賦值功能,框選管線號和要賦值的塊(如圖2所示),可將管線號賦值給框選內(nèi)所有塊的屬性值,用于出料單時從中抽取管件的尺寸和磅級信息,流程圖如圖3所示。

2.2 管線號框選賦值程序

Sub assig() '賦值

Dim sss As AcadSelectionSet

Dim ent As AcadEntity

Dim str As String

Dim varAttributes As Variant

ThisDrawing.Utility.prompt vbCrLf &"選擇一個管線號和要賦值的塊(可框選、多選),右鍵結(jié)束:"

On Error Resume Next

Set sss = ThisDrawing.SelectionSets("ss1")

If Err Then Set sss = ThisDrawing.SelectionSets.Add("ss1")

sss.Clear

sss.SelectOnScreen

For Each ent In sss

If TypeOf ent Is AcadText And InStr(1, ent.TextString, "-") Then

str = ent.TextString

End If

Next

For Each ent In sss

If TypeOf ent Is AcadBlockReference Then

varAttributes=ent.GetAttributes

varAttributes(0).TextString =str

End If

Next

i=0

For Each ent In sss'判斷賦值是否成功

If TypeOf ent Is AcadBlockReference Then

varAttributes=ent.GetAttributes

If varAttributes(0).TextStrin

g="" Then i=i+1

End If

Next

If i Then MsgBox"有參照,參照未賦值"

ThisDrawing.Utility.prompt "賦值結(jié)束"

sss.Delete

End Sub

2.3 圖紙料單輸出方案

管線號框選賦值閥門管件后,命令直接讀取整張圖紙,將閥門管件料單自動存儲到Excel中,管件的尺寸、磅級等信息根據(jù)關(guān)聯(lián)的管線號,自動提取,程序流程圖如圖4所示。

2.4 料單統(tǒng)計程序

開發(fā)的料單統(tǒng)計程序,可將相同規(guī)格閥門管件合并,并按照要求格式篩選出最終料單,主要代碼如下:

Sub pipingmaterials()' 料單統(tǒng)計程序

Dim Arr, i&, x$

Dim d, k, t

Set d = CreateObject("Scripting.Dictionary")

Sheet1.Activate

Arr=[a1].CurrentRegion

For i=2 To UBound(Arr)

x=Arr(i, 1) & "," & Arr(i, 2) & "," & Arr(i, 3)

d(x)=d(x)+Arr(i, 4)

Next

k=d.keys

t=d.items

[J1].Resize(1, 4)=Application.Index(Arr, 1, 0)

[J2].Resize(d.Count)=Application.Transpose(k)

Application.DisplayAlerts=False

[J2].Resize(d.Count).TextToColumns Destination:=[J2],Comma:=True

Application.DisplayAlerts=True

[M2].Resize(d.Count)=Application.Transpose(t)

Range("J:m").HorizontalAlignment=Excel.xlCenter

Range("J:J").EntireColumn.AutoFit

Range("A1:M1").Font.Bold=True

Rows(2).Select

ActiveWindow.FreezePanes=True

'下面自動設(shè)置篩選過濾

Call shaixuan

Cells(1, 10).Select

End Sub

3 結(jié)束語

開發(fā)的程序,在岐口18-1項目及荔灣3-1項目中成功應(yīng)用,由于項目圖紙量大,應(yīng)用此軟件,節(jié)約工時約2/3。

(1)文章通過VBA編程,基于ActiveX技術(shù),對AutoCAD及Excel進行二次開發(fā),實現(xiàn)AutoCAD與Excel應(yīng)用程序通信及數(shù)據(jù)共享,完成配管料單自動統(tǒng)計程序的開發(fā)。

(2)對AutoCAD進行的二次開發(fā),開發(fā)的管線號賦值程序,可將管線信息批量賦值給AutoCAD中閥門管件,完成管線與閥門管件信息的關(guān)聯(lián),并自動讀取圖紙中閥門管件料單,存儲到Excel中;對Excel進行的二次開發(fā),可對AutoCAD輸出的閥門管件料單,按照規(guī)定的格式及排序要求,自動完成統(tǒng)計。

(3)編制完成的程序,在海洋石油平臺項目配管料單統(tǒng)計中得到成功應(yīng)用,準(zhǔn)確、省時、提高工作效率,節(jié)約人力成本。

參考文獻

[1]武妍.基于VBA的AutoCAD二次開發(fā)系統(tǒng)的研究與應(yīng)用[D].太原理工大學(xué)圖書館,太原理工大學(xué),2008.

[2]田堂存.AutoCAD二次開發(fā)中多行文本替換技術(shù)的研究[J].電腦知識與技術(shù),2013,11(9):215-217.

[3]吳利明,李金勇.VBA在AutoCAD中的二次開發(fā)[J].湖南學(xué)院學(xué)報,2010,31(2):77-79.

[4]王永輝,胡青泥,李紅彩.AutoCAD二次開發(fā)方法的研究[J].計算機應(yīng)用系統(tǒng),2007,3:94-97.

[5]張明勇,楊波.基于AutoCAD二次開發(fā)的齒輪工程圖自動生成技術(shù)研究[J].機床與液壓,2011,39(4):20-22.

[6]徐昌革,戈俊,廖志偉.Excel二次開發(fā)在物探數(shù)據(jù)處理中的應(yīng)用[J].江西煤炭科技,2011,2:105-106.

[7]徐先文,張純根,張亞明,等.ExcelVBA二次開發(fā)在動力觸探數(shù)據(jù)處理分析中的應(yīng)用[J].施工技術(shù),2012,41:239-241.

[8]朱向榮.基于ExcelVBA的常用測量計算問題解決方案[J].地理空間信息,2013,11(5):131-133.

[9]任律,肖毅,王飛.ExcelVBA在安全監(jiān)測數(shù)據(jù)處理中的應(yīng)用[J].水電勘測設(shè)計,2008,4:24-27.

[10]宋正東,蘇先科.EXCELVBA編程在公路工程計量支付中的應(yīng)用[J].交通科技,2013,1:130-133.

主站蜘蛛池模板: 十八禁美女裸体网站| 中文字幕日韩视频欧美一区| 亚洲大尺码专区影院| 国产精品免费电影| 91色综合综合热五月激情| 国产成人狂喷潮在线观看2345| 97久久超碰极品视觉盛宴| 999国产精品| 国内毛片视频| 亚洲日韩AV无码精品| 国产精品视频导航| 色综合日本| 精品亚洲欧美中文字幕在线看 | 国产人成在线视频| 亚洲一级毛片免费看| 久久99精品久久久久久不卡| 亚洲第一成人在线| 国产拍在线| 亚洲国产精品不卡在线 | 午夜精品福利影院| 国产精品白浆无码流出在线看| 无码日韩人妻精品久久蜜桃| 丁香五月激情图片| 亚洲一区二区约美女探花| 亚洲人成网站色7799在线播放| 国产精品白浆无码流出在线看| 色婷婷狠狠干| 午夜一区二区三区| 黄色网址免费在线| 国产国产人成免费视频77777| 国产情侣一区| 亚洲首页在线观看| 午夜老司机永久免费看片| 中文字幕无码av专区久久| 免费看的一级毛片| 99视频全部免费| 免费观看男人免费桶女人视频| 激情午夜婷婷| 国产成人乱码一区二区三区在线| 亚洲天堂视频在线观看| 欧美日韩精品一区二区在线线 | 日韩在线1| 五月婷婷综合网| 国产男女免费视频| 无码不卡的中文字幕视频| 国产日本欧美在线观看| 欧美怡红院视频一区二区三区| jizz在线免费播放| 99热这里都是国产精品| 国产精品成人免费视频99| 国产主播福利在线观看| 国产成年女人特黄特色大片免费| 色网站在线视频| 71pao成人国产永久免费视频| 欧美亚洲国产一区| 免费在线国产一区二区三区精品| 亚洲中文精品人人永久免费| 1024你懂的国产精品| 91丝袜在线观看| 老司机aⅴ在线精品导航| 国产美女无遮挡免费视频网站| 欧美综合一区二区三区| 国产成人一区免费观看 | 999国内精品久久免费视频| 国产区人妖精品人妖精品视频| 国产成人无码久久久久毛片| 1769国产精品免费视频| aa级毛片毛片免费观看久| 中文字幕有乳无码| 精品视频在线观看你懂的一区| 欧美成人精品一区二区| 精品国产成人a在线观看| 18禁不卡免费网站| 亚洲欧美极品| 天天做天天爱天天爽综合区| 啪啪啪亚洲无码| 国产伦精品一区二区三区视频优播 | 日韩毛片免费视频| 欧美成人免费| 青青极品在线| 中文字幕无码制服中字| 天堂成人在线|