国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談VBA在AutoCAD與Excel中的應用

2020-09-10 08:23:37趙凱
看世界·學術(shù)上半月 2020年7期
關(guān)鍵詞:電氣設計

趙凱

摘要:在電氣工程設計中利用VBA,可以幫助設計人員完成部分繁瑣、重復、機械的工作,極大的節(jié)省勞動力并提高正確率。

關(guān)鍵詞:電氣設計;AutoCAD;Excel;VBA

Abstract: Using VBA in electrical engineering design can help designers’ complete part of the tedious, repetitive, and mechanical work, which greatly saves labor and improves accuracy.

Keywords: electrical design; AutoCAD; Excel; VBA

引言

在電氣設計中,最常使用的辦公軟件就是AutoCAD和Office系列,設計人員經(jīng)常需要將用電設備的數(shù)據(jù)錄入Excel表格中,利用Excel完成數(shù)據(jù)的計算和處理,再根據(jù)Excel表格處理好的數(shù)據(jù),在AutoCAD中繪制圖形的工作,在數(shù)據(jù)量較小的工程中,用手工的方式就可以完成,但在大工程中,數(shù)百個設備的上千條數(shù)據(jù),若還是用手工的方式處理,效率會非常低下,而且錯誤率會很高。本文就根據(jù)電氣設計中的實際問題,利用VBA來實現(xiàn)AutoCAD和Excel之間數(shù)據(jù)的互相操作。

一、問題研究

現(xiàn)實中,經(jīng)常需要將用電設備錄入到AutoCAD中的增強屬性塊中,將每個設備做成一個CAD圖塊,再根據(jù)用電設備的不同信息來繪制低壓開關(guān)柜排列圖,其中在AutoCAD中錄入設備數(shù)據(jù)就是將Excel表格中的設備數(shù)據(jù)復制粘貼到AutoCAD中,這種重復、機械的工作就可以交給VBA來完成。

直接利用Excel VBA代碼,在含有全部用電設備的Excel表內(nèi)生成新的低壓柜抽屜表,再用Excel VBA代碼新建AutoCAD文件,并在該文件內(nèi)繪制所有用電設備的圖塊。該方式所有工作都是在Excel內(nèi)完成,只需要建立好模板,不同項目只需要適當改變圖塊模板的Excel數(shù)據(jù)即可,程序的可移植性高,人工干預較少,相對簡便。

二、Excel VBA生成圖塊

該方法只需要在excel內(nèi)完成代碼,前期需要用Excel VBA代碼生成低壓柜抽屜表,并同時在Excel內(nèi)列出所有抽屜的模板數(shù)據(jù)(圖1),運行代碼即可生成抽屜模板和所有用電設備的圖塊,部分代碼如下:

Call CreatBlock(AcadApp, AcadDocs, AcadDoc)

For i = 1 To NumOfUnits

UnitPoint(0) = UnitPoint(0) + 20000

nsertPoint(0) = InsertPoint(0) + 20000

InsertPoint(1) = 0

Set Unit = AcadDoc.ModelSpace.AddText(Range(“項目數(shù)據(jù).單元號”)(i, 1), UnitPoint, 3500)

UnitNum = Range(“項目數(shù)據(jù).單元號”)(i, 1)

Call InsertBlock(AcadApp, AcadDocs, AcadDoc, UnitNum, InsertPoint)

For i = 1 To NumOfEquip

If CStr(Range(“生成抽屜.所屬單元”)(i, 1)) = UnitNum Then

InsertPoint(1) = InsertPoint(1) - 10 * Range(“生成抽屜.抽屜高”)(i, 1)

DrawerNum = 1

EquipNum = Range(“生成抽屜.設備位號”)(i, 1)

EquipName = Range(“生成抽屜.設備名稱”)(i, 1)

If Range(“生成抽屜.額定電壓”)(i, 1) < 380 Then

DrawerPower = Range(“生成抽屜.開關(guān)容量”)(i, 1) & Range(“生成抽屜.容量單位”)(i, 1) & “(AC” & Range(“生成抽屜.額定電壓”)(i, 1) & “V)” ‘小于380V時,特別標注

Else

DrawerPower = Range(“生成抽屜.開關(guān)容量”)(i, 1) & Range(“生成抽屜.容量單位”)(i, 1)

End If

CircuitNum = Range(“生成抽屜.回路編號”)(i, 1)

DrawerCoding = Range(“生成抽屜.抽屜編碼”)(i, 1)

Set InsertBlock = AcadDoc.ModelSpace.InsertBlock(InsertPoint, DrawerCoding, 1, 1, 1, 0)

InsertBlockAtt = InsertBlock.GetAttributes

End If

Next

最終的效果如圖2所示,對于較大項目,設備部數(shù)量多的情況,利用VBA可以極大的提高效率,節(jié)省勞動力和時間,同時也提高了輸入的準確率。

三、結(jié)束語

在實際電氣設計中,都會遇到上述類似的情況,相對比于手動錄入、人工校對大量的數(shù)量,利用AutoCAD和Excel自帶的Visual Basic編輯器,編寫相應的代碼,類處理這類問題,無疑會大大的提高我們的工作效率和設計文件的質(zhì)量。VBA編程語言小巧、易讀性強,很適合工科專業(yè)、具有一定編程基礎的設計人員學習和掌握。

參考文獻:

[1]【美】Marion Cottingham著,孔祥豐 譯,AutoCAD VBA從入門到精通,北京:電子工業(yè)出版社,2001;

[2]羅剛君,Excel VBA程序開發(fā)自學寶典(第二版),北京:電子工業(yè)出版社,2011;

[3]Excel Hone,別怕,Excel VBA其實很簡單,北京:人民郵電出版社,2012;

猜你喜歡
電氣設計
建筑電氣設計常見問題解答
節(jié)能技術(shù)在民用建筑電氣設計中的應用
對民用建筑電氣設計節(jié)能措施的幾點探討
淺析BIM電氣設計
论坛| 卢氏县| 化隆| 额济纳旗| 三都| 曲靖市| 东山县| 合水县| 滨海县| 黄陵县| 鄂温| 南宫市| 五大连池市| 南京市| 含山县| 巩义市| 大余县| 苍南县| 宁津县| 长寿区| 福建省| 中卫市| 象州县| 黄浦区| 名山县| 黄山市| 剑河县| 射阳县| 英德市| 会宁县| 开封县| 古浪县| 壶关县| 滨海县| 桃源县| 天水市| 哈巴河县| 丰宁| 清苑县| 阿拉善右旗| 黑山县|