鐘宏程 孫曉
摘 要 本文介紹利用編程軟件Visual Basic在AUTO CAD中繪制圖形或曲線的兩種方法,其中著重講解使用Visual Bisic創(chuàng)建DXF格式文件,并在DXF格式文件中繪制曲線的方法。
關(guān)鍵詞 編程軟件 AUTO CAD 曲線
中圖分類號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A
The Discussion and Research of Programming
Software in AUTO CAD Drawing a Curve
ZHONG Hongcheng, SUN Xiao
(Shenzhen Metro Group Co., Ltd., Shenzhen, Guangdong 518000)
Abstract This article describes the use of Visual Basic programming in AUTO CAD software to draw graphics or curves in the two methods, which focused on the use of Visual Bisic create DXF format files, and files in DXF format drawing curve.
Key words programming software; AUTO CAD; curve
隨著計(jì)算機(jī)在工作中得到廣泛使用,Auto CAD繪圖已經(jīng)逐步代替了手工繪圖。為了更加快捷方便的繪圖,越來越多的人利用編程軟件對(duì)Auto CAD進(jìn)行二次開發(fā),進(jìn)一步提高了工作效率。本文針對(duì)Visual Basic 在Auto CAD中的開發(fā)和使用進(jìn)行討論。
1 利用AUTO CAD軟件中的宏(VBA)繪制圖形
Visual Basic for Applications(VBA)是一種Visual Basic的一種宏語言,主要能用來擴(kuò)展Windows的應(yīng)用程式功能。假如需要在Auto CAD中畫一組同心圓,我們只需要點(diǎn)擊菜單欄中的“工具宏VBA”中“創(chuàng)建工程”,工程名為C100并在程序代碼輸入界面寫入以下代碼即可:
Sub c100()
Dim cc(0 to 2) As Double聲明坐標(biāo)變量
cc(0)=1000
cc(1)=1000
cc(2)=0定義圓心坐標(biāo)
For i=1 to 1000 Step 10開始循環(huán)
Call ThisDrawing.ModleSpace.AddCicle(cc,i*10)畫圓
Next i
End Sub
然后保存并裝載工程,就會(huì)在畫出100個(gè)圓心在坐標(biāo)(1000,1000)處的同心圓。
VBA在Auto CAD的使用,大幅度提高了工作效率,減少了工作量。我們需要做的就是熟悉VBA在Auto CAD中的各種命令,并繪制出想要的圖形。
2 使用Visual Basic創(chuàng)建DXF格式文件,并在DXF格式文件中繪制曲線
2.1 Visual Basic創(chuàng)建DXF格式文件
利用Visual Basic創(chuàng)建一個(gè)工程文件取名“曲線繪制.vbp”,并繪制按鈕,具體如圖1。
然后進(jìn)入代碼界面,對(duì)按鈕進(jìn)行代碼寫入,如下:
Private Sub Command1_Click()
Open "1.dxf" For Append As #1
Loop
即可。
2.2 使用Visual Basic在DXF格式文件中繪制曲線
DXF 是Autodesk公司開發(fā)的用于AutoCAD與其它軟件之間進(jìn)行CAD數(shù)據(jù)交換的CAD數(shù)據(jù)文件格式。DXF是一種開放的矢量數(shù)據(jù)格式,可以分為兩類:ASCII格式和二進(jìn)制格式;ASCII具有可讀性好,但占有空間較大;二進(jìn)制格式占有空間小、讀取速度快。由于Autocad現(xiàn)在是最流行的cad系統(tǒng),DXF也被廣泛使用,成為事實(shí)上的標(biāo)準(zhǔn)。絕大多數(shù)CAD系統(tǒng)都能讀入或輸出DXF文件。DXF文件是由很多的“代碼”和“值”組成的“數(shù)據(jù)對(duì)”構(gòu)造而成,這里的代碼稱為“組碼”(group code),指定其后的值的類型和用途。每個(gè)組碼和值必須為單獨(dú)的一行的。 DXF文件被組織成為多個(gè)“段”(section),每個(gè)段以組碼“0”和字符串“SECTION”開頭,緊接著是組碼“2”和表示段名的字符串(如HEADER)。段的中間,可以使用組碼和值定義段中的元素。的結(jié)尾使用組碼“0”和字符串“ENDSEC”來定義。因此,使用Visual Basic編程時(shí)必須按DXF文件要求進(jìn)行代碼編寫。
工作中,我們時(shí)而會(huì)遇到需將眾多坐標(biāo)連接成曲線,進(jìn)行分析研究。如果需要將眾多坐標(biāo)繪制成曲線并在Auto CAD中進(jìn)行對(duì)比,就可以使用Visual Basic在DXF格式文件中繪制曲線。
舉例,我們需要對(duì)比高峰和平峰時(shí)間段分析地鐵列車在正線運(yùn)行的速度,數(shù)據(jù)已經(jīng)采集完成,并儲(chǔ)存在文本文檔中。如果我們使用Visual Basic創(chuàng)建DXF格式文件,并在DXF格式文件中繪制曲線,這個(gè)工作就很容易就可以完成。我們只需按上述步驟創(chuàng)建“繪制曲線.vbp”,并針對(duì)按鈕如下寫入代碼即可。
然后用Auto CAD將DXF文件打開,曲線繪制完成,如圖2。
3 總結(jié)
為了滿足不同專業(yè)、不同人群對(duì)軟件的需求,軟件的宏和二次開發(fā)得到越來越多人的重視。通過Auto CAD具有開放的體系結(jié)構(gòu),Auto CAD允許用戶和開發(fā)者在幾乎所有方面對(duì)其進(jìn)行擴(kuò)充和修改,同時(shí)可以利用多種開發(fā)語言,開發(fā)可以自動(dòng)完成某一繪制任務(wù)的軟件,可大大提高繪制速度,改善工作效率。