• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Visual Basic和AutoCAD在水文圖線繪制中的應(yīng)用

      2021-07-13 04:36:14許杰
      科技創(chuàng)新導(dǎo)報(bào) 2021年36期
      關(guān)鍵詞:水文

      作者簡介:許杰(1989—),男,本科,工程師,主要從事水文測驗(yàn)整編及測量工作。

      摘? 要:水文圖形標(biāo)準(zhǔn)化要求較高,樣式很多,包括斷面圖、水位流量關(guān)系線圖,以及每月的水位過程、流量過程等圖形。傳統(tǒng)手工繪制節(jié)點(diǎn)較多,工作量大且容易出錯,水文圖線的自動繪制及圖形存儲是水文工作中的難點(diǎn)。本文利用Visual Basic編制界面友好、操作方便的圖線自動繪制程序程序,將繪制圖形的參數(shù)自動轉(zhuǎn)換成AutoCAD中所需的坐標(biāo)數(shù)據(jù)組和格式,在AutoCAD相應(yīng)的模板中批量展點(diǎn)和識別,從而快速地繪制出水文各類圖形,提高工作效率和準(zhǔn)確率,實(shí)現(xiàn)水文繪圖工作無紙化。

      關(guān)鍵詞:Visual Basic? AutoCAD? 水文? 圖形繪制

      中圖分類號:P25

      DOI:10.16660/j.cnki.1674-098X.2201-5640-2097

      Abstract: The standardization requirements of hydrological graphics are high, and there are many styles, including section diagram, water level and flow relationship diagram, monthly water level process, flow process and other graphics. The traditional manual drawing has many nodes, heavy workload and easy to make mistakes. The automatic drawing and graphic storage of hydrological map line are the difficulties in hydrological work. In this paper, Visual Basic is used to compile an automatic drawing program with friendly interface and convenient operation. The parameters of drawing graphics are automatically converted into the coordinate data group and format required in AutoCAD, and the points are displayed and identified in batch in the corresponding template of AutoCAD, so as to quickly draw various hydrological graphics and improve work efficiency and accuracy, Realize paperless hydrological mapping.

      Key Words: Visual Basic; AutoCAD ; Hydrology; Graphic drawing

      隨著計(jì)算機(jī)技術(shù)的發(fā)展,水文數(shù)據(jù)已進(jìn)入現(xiàn)代化信息管理時(shí)代,雨量、水位、流量等均可通過軟件進(jìn)行整匯編,大大減輕了工作量。但是大斷面、水位過程線、水位流量關(guān)系線等水文圖線卻仍以手工繪制為主,并作為原始檔案進(jìn)行存貯。采用手工繪制,費(fèi)工費(fèi)時(shí),點(diǎn)繪過程中極易出錯,在每年的各級資料審查過程中,審核工作量巨大,而且檔案存貯、查詢及應(yīng)用極不方便[1]。

      AutoCAD是由美國Autodesk(歐特克)公司開發(fā)的自動計(jì)算機(jī)輔助設(shè)計(jì)軟件,可以使用它來創(chuàng)建、瀏覽、管理、打印、輸出、共享及準(zhǔn)確應(yīng)用富含信息的設(shè)計(jì)圖形。利用AutoCAD強(qiáng)大的繪圖功能,逐漸用高效率、高精度的CAD繪圖技術(shù)替代傳統(tǒng)的水文繪圖工作優(yōu)勢明顯[2]。由于水文圖形樣式很多,水文圖形數(shù)據(jù)與CAD繪圖坐標(biāo)比例的轉(zhuǎn)換較為繁瑣,利用Visual Basic編制繪圖程序,可以大大簡化數(shù)據(jù)轉(zhuǎn)換工作。下文以繪制實(shí)測大斷面圖為例,說明Visual Basic和CAD繪制水文圖形的方法[3]。

      1 繪制底圖

      在AutoCAD中,所有繪制的對象物體都是繪制在各自圖層上,在圖層之上可以分別存放各種不同的繪圖信息,并且可以極其便捷地對這些圖層進(jìn)行編輯、刪除并且不影響其他圖層數(shù)據(jù)。故為了便于圖形標(biāo)準(zhǔn)化繪制、管理及保存,需在CAD中建立不同圖層,繪制厘米格紙作為底圖,同時(shí)根據(jù)擬繪制圖形的要求進(jìn)行標(biāo)注[4]。

      1.1 圖層設(shè)置

      根據(jù)實(shí)際需要設(shè)置五十分線、五分線、厘米線、網(wǎng)格線、軸線等若干圖層,同時(shí)根據(jù)年份測次設(shè)置不同斷面圖層,便于管理和修改。各土層線型采用默認(rèn),線寬及顏色設(shè)置如下。

      五十線:線寬0.30mm,顏色134(索引),RGB(0,153,153)。

      五分線:線寬0.13mm,顏色4(索引),RGB(0,255,255)。

      厘米線:線寬0.20mm,顏色132(索引),RGB(0,204,204)。

      網(wǎng)格線:線寬0.05mm,顏色4(索引),RGB(0,255,255)。

      軸線:線寬0.05mm,顏色255(索引),RGB(255,255,255)。

      1.2 確定坐標(biāo)原點(diǎn)

      繪制好底圖之后,利用“ucs”命令指定坐標(biāo)原點(diǎn)。具體方法是:直接輸入“ucs”回車,“N”回車,然后在屏幕上點(diǎn)擊底圖左下角點(diǎn)即可。

      1.3 繪制厘米格紙

      選擇“5厘米”圖層,勾選“正交”,選擇“工具”菜單-“畫直線”-“線段”,然后輸入“0,0,0”回車,再輸入“75”回車,這樣得到一個長度為75cm的水平直線。右鍵重復(fù)直線,選擇直線左端點(diǎn)鼠標(biāo)稍向上移輸入“50”回車。使用偏移或者陣列命令繪制圖線,其他間距的網(wǎng)格線用同樣的方法便可簡單完成,將不同層的方格網(wǎng)制成后,在同一窗口打開就得到了一張完整的底圖。

      1.4 確定比例、繪制坐標(biāo)軸、圖例等

      按照水文整編規(guī)范要求確定起點(diǎn)距、高程的比例和曲線位置,結(jié)合總體圖線布局合理、美觀,然后選擇“坐標(biāo)軸”圖層,在合適位置繪制坐標(biāo)軸,利用文字工具進(jìn)行比例標(biāo)注。在同一窗口打開各圖層就得到了一張完整的底圖。

      2 程序設(shè)計(jì)與實(shí)現(xiàn)

      利用Visual Basic簡易的操作界面和強(qiáng)大的數(shù)據(jù)處理功能將起點(diǎn)距、高程等數(shù)據(jù)進(jìn)行處理,并根據(jù)設(shè)定的坐標(biāo)比例和斷面在圖紙上的位置進(jìn)行比例換算,從而得到CAD軟件能夠識別的數(shù)組[5]。

      2.1 程序界面

      程序主要由數(shù)據(jù)轉(zhuǎn)換、信息錄入和圖形展示3個部分組成?!皵?shù)據(jù)轉(zhuǎn)換”中錄入需繪制的斷面數(shù)據(jù),包括起點(diǎn)距和高程,同時(shí)能顯示轉(zhuǎn)換后的CAD坐標(biāo)數(shù)據(jù)。信息錄入包括斷面信息、圖形尺寸、參數(shù)錄入和說明4項(xiàng),其中“斷面信息”包括斷面圖的測站和日期、測次,方便斷面圖數(shù)據(jù)中數(shù)據(jù)庫中的保存和提取;“圖形尺寸”根據(jù)水文常用圖紙分為35cm×50cm和50cm×75cm,可在繪圖時(shí)進(jìn)行選擇;“參數(shù)錄入”包括擬繪制圖形的原點(diǎn)坐標(biāo)和坐標(biāo)比例尺;“說明”則是對4項(xiàng)錄入?yún)?shù)的解釋說明,方便操作者理解。圖形展示則可以在斷面數(shù)據(jù)和轉(zhuǎn)換參數(shù)錄入后生成斷面圖,可以直觀地展示斷面繪制的成果,同時(shí)也方便參數(shù)的調(diào)整。程序運(yùn)行界面如圖1所示。

      2.2 轉(zhuǎn)換原理

      數(shù)據(jù)的處理要以CAD圖紙中原點(diǎn)坐標(biāo)的定位為基礎(chǔ),根據(jù)繪制的斷面樣式,選擇確定轉(zhuǎn)換參數(shù)“原點(diǎn)坐標(biāo)”和“比例尺”。

      “原點(diǎn)坐標(biāo)”分為起點(diǎn)距和高程兩部分,為設(shè)置米厘格紙坐標(biāo)軸原點(diǎn)的圖上坐標(biāo),如上圖原點(diǎn)坐標(biāo)為(-5,-1)。

      “比例尺”也分為起點(diǎn)距和高程兩部分,為設(shè)置米厘格紙中5cm(一大格)代表的圖上起點(diǎn)距(或高程)的長度,如上圖起點(diǎn)距和高程的比例尺分別為5和1。

      在CAD底圖繪制中,原點(diǎn)坐標(biāo)為(0,0),CAD底圖中50為圖上5cm,將斷面圖數(shù)據(jù)轉(zhuǎn)換成CAD繪圖數(shù)據(jù),即圖形坐標(biāo)(起點(diǎn)距,高程)轉(zhuǎn)換為CAD坐標(biāo)(X,Y)。假設(shè)斷面圖零點(diǎn)位置坐標(biāo)為(A0,B0),起點(diǎn)距和高程比例尺分別為m、n,斷面起點(diǎn)距、高程數(shù)據(jù)為(A,B),轉(zhuǎn)換成CAD坐標(biāo)為(X,Y),則:

      X=(A×(50/m))-(A0×(50/m))

      Y=(B×(50/n))-(B0×(50/n))

      2.3 代碼實(shí)現(xiàn)

      程序主要包括繪圖、轉(zhuǎn)換CAD數(shù)據(jù)和保存數(shù)據(jù)3個模塊,具體示例如下。

      2.3.1 繪圖模塊

      錄入斷面數(shù)據(jù)和轉(zhuǎn)換參數(shù)后,點(diǎn)擊“繪圖”按鈕,即可在圖形展示界面查看圖形繪制成果,主要使用的是MSChart控件,圖形設(shè)置為二維散點(diǎn)圖,主要代碼為(以50×75為例):

      '設(shè)置圖形的外觀及網(wǎng)格

      MSChart1.ChartType = VtChChartType2dXY

      With MSChart1

      .Plot.SeriesCollection(1).Pen.Width = 40

      .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid

      .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 15

      .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 10

      .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 5

      .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 5

      End With

      '繪制圖形

      MyData(i, 0) = Val(Flex1.TextMatrix(i + 1, 1))

      MyData(i, 1) = Val(Flex1.TextMatrix(i + 1, 2))

      MSChart1.ChartData = MyData

      3.3.2 轉(zhuǎn)換模塊

      將斷面數(shù)據(jù)轉(zhuǎn)換成CAD繪圖數(shù)據(jù),并在數(shù)據(jù)轉(zhuǎn)換表格中顯示,主要代碼如下:

      Flex1.TextMatrix(o, 3) = Format(Flex1.TextMatrix(o, 1) * (50 / Val(Txt10.Text)) - Val(Txt3.Text) * (50 / Val(Txt10.Text)), "0.0")

      Flex1.TextMatrix(o, 4) = Format(Flex1.TextMatrix(o, 2) * (50 / Val(Txt11.Text)) - Val(Txt4.Text) * (50 / Val(Txt11.Text)), "0.00")

      3.2.3 保存模塊

      經(jīng)數(shù)據(jù)轉(zhuǎn)換后,得到的是CAD坐標(biāo)數(shù)據(jù),而CAD展圖需要的數(shù)據(jù)為dat文本數(shù)據(jù),主要格式為(序號,,X,Y,Z),本功能根據(jù)上述轉(zhuǎn)換的CAD坐標(biāo)數(shù)據(jù)生成能供CAD讀取的dat文本文件,主要代碼為:

      '將表格中的序號、X、Y三列數(shù)據(jù)存入數(shù)組

      For i = 2 To d + 1

      a(i) = Flex1.TextMatrix(i, 0)

      x(i) = Flex1.TextMatrix(i, 3)

      y(i) = Flex1.TextMatrix(i, 4)

      Next i

      '將數(shù)組數(shù)據(jù)以固定格式存入dat文件中

      Open App.Path & "CAD展點(diǎn).dat" For Output As #1

      Print #1, a(2) & ","; "l"; ","; x(2) & ","; y(2) & "," & "0"

      For i = 3 To d + 1

      Print #1, a(i) & ","; "+"; ","; x(i) & ","; y(i) & "," & "0"

      Next i

      Close

      4 圖形繪制與輸出

      利用軟件將斷面數(shù)據(jù)經(jīng)轉(zhuǎn)換生成dat數(shù)據(jù)后,只需打開前述繪制的底圖,點(diǎn)擊“繪圖處理”“簡碼識別”,再選中生成的dat數(shù)據(jù),斷面圖便完成了繪制,只需要將繪制的斷面圖線編入之前新建的圖層即可。

      AutoCAD不僅允許將所繪圖形以不同樣式通過繪圖儀或打印機(jī)輸出,還能夠?qū)⒉煌袷降膱D形導(dǎo)入AutoCAD或?qū)utoCAD圖形以其他格式輸出,如JPG格式、PDF格式等,如圖2所示。因此,當(dāng)圖形繪制完成之后可以使用多種方法將其輸出[6],可以將圖形打印在圖紙上,也可以創(chuàng)建成JPG或PDF文件以供其他應(yīng)用程序使用。

      5 結(jié)語

      利用Visual Basic和CAD進(jìn)行數(shù)據(jù)轉(zhuǎn)換并繪制圖形,還可用于水流線、水位過程等水文圖形的繪制。本程序采用良好的人機(jī)交互界面,利用了VB和CAD的良好耦合性,大大提升了在站整編的工作效率,減少了差錯率和工作量,能夠提供美觀、整潔的成果,并提高成果的遞送、保存、查詢、對照等便捷實(shí)用性。利用VB和AutoCAD繪制水文圖形在本隊(duì)已得到了較廣泛的應(yīng)用,并取得了良好的效果。

      參考文獻(xiàn)

      [1] 王靜,岳成鯤,楊釗,等.山東黃河水文曲線系統(tǒng)的開發(fā)及應(yīng)用[J].人民黃河,2018,40(4):5-8.

      [2] 陳浩,歲秀珍,虞獻(xiàn)軍,等.利用ObjectARX.NET技術(shù)的地下管線成圖及屬性管理軟件的實(shí)現(xiàn)及應(yīng)用[J].測繪地理信息,2021,46(6):150-153.

      [3] 趙祥岍,于洋,陳定超.基于VB的AutoCAD自動繪圖技術(shù)在隧道工程中的應(yīng)用[J].山西建筑,2019,45(11):193-194.

      [4]司萌,余霞,李登峰,等.基于VB的電機(jī)沖片圖形自動繪制技術(shù)[J].機(jī)械設(shè)計(jì)與制造,2019(9):176-180.

      [5]程相琛,郭進(jìn)平,李角群,等.基于Auto CAD的三維巷道可視化建模及應(yīng)用[J].采礦技術(shù),2021,21(6):150-154.

      [6]徐利麗,鄔京虹,夏棟.建筑CAD與建筑工程制圖的融合——評《建筑CAD》[J].建筑結(jié)構(gòu),2021,51(13):153.

      猜你喜歡
      水文
      2022年《中國水文年報(bào)》發(fā)布
      繼往開來 守正創(chuàng)新——河北省水文工程地質(zhì)勘查院
      水文
      水文水資源管理
      水文
      西藏雅魯藏布江區(qū)橋梁水文計(jì)算
      西藏科技(2015年2期)2015-09-26 12:18:32
      潞西市| 莎车县| 襄垣县| 彰化县| 朝阳市| 冀州市| 读书| 浙江省| 通许县| 广河县| 古浪县| 威海市| 灵川县| 忻城县| 资溪县| 新密市| 山阳县| 高邮市| 东辽县| 山阳县| 吴忠市| 曲沃县| 乌兰浩特市| 清水河县| 辽源市| 石台县| 平安县| 新丰县| 淮滨县| 乐平市| 晋城| 清丰县| 神农架林区| 昔阳县| 朝阳区| 林州市| 新兴县| 门头沟区| 辽中县| 称多县| 尼玛县|