亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        關(guān)于生成抽采鉆孔的CAD二次開(kāi)發(fā)及應(yīng)用

        2018-01-01 00:00:00張景軒
        大科技·D版 2018年6期

        摘 要:用Visual Basic 6.0和Microsoft Excel2007對(duì)AutoCAD2007進(jìn)行開(kāi)發(fā),使得CAD的功能得到擴(kuò)展,介紹了VB中如何調(diào)用Excel和CAD的類(lèi)型庫(kù)和從VB代碼中來(lái)操作EXCEL和CAD的方法和技術(shù),從而可以在VB中調(diào)用Excel和CAD,并引用Excel的數(shù)據(jù)來(lái)生成CAD中的圖元,進(jìn)而探討如何由煤礦中涉及到的抽采鉆孔參數(shù)數(shù)據(jù)快速生成鉆孔平面圖,最后用AutoCAD2007中自帶的VBA編輯器開(kāi)發(fā)AutoCAD2007的菜單,添加新的菜單項(xiàng),并將開(kāi)發(fā)出的能生成鉆孔的可執(zhí)行文件與新的菜單項(xiàng)并聯(lián),達(dá)到能從CAD的菜單中快速調(diào)用關(guān)于生成抽采鉆孔的CAD二次開(kāi)發(fā)程序。

        關(guān)鍵詞:Visual Basic 6.0;Excel;AutoCAD;evelopment;類(lèi)型庫(kù);鉆孔;菜單

        中圖分類(lèi)號(hào):TD712.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004-7344(2018)18-0153-02

        在高瓦斯礦井和突出礦井都會(huì)采取一些措施來(lái)治理瓦斯,常常會(huì)采取用頂抽巷、底抽巷打穿層鉆孔,或沿煤層打順層鉆孔來(lái)抽瓦斯達(dá)到降低或消除突出危險(xiǎn)性和瓦斯含量。在作月度或年度驗(yàn)收評(píng)價(jià)時(shí)會(huì)需要期間所打鉆孔的實(shí)際分布圖,一般都用CAD來(lái)完成制圖工作,如果只用CAD中提供的基本的繪圖命令和編輯工具并依照日常統(tǒng)計(jì)的鉆孔參數(shù)數(shù)據(jù)來(lái)完成百上千個(gè)鉆孔圖形會(huì)是一個(gè)繁瑣費(fèi)事的過(guò)程,而卻還很容易出錯(cuò),因此就需要探索一種快速準(zhǔn)確的并基于鉆孔基本參數(shù)數(shù)據(jù)完成制圖方法,將日常統(tǒng)計(jì)的鉆孔參數(shù)數(shù)據(jù)快速準(zhǔn)確的轉(zhuǎn)換為CAD圖形的鉆孔。

        1 基本原理

        本本所涉及的發(fā)開(kāi)方法是用Visual Basic 6在CAD2007和office2007基礎(chǔ)上所開(kāi)發(fā)的,關(guān)鍵在于解決鉆孔的excel數(shù)據(jù)裝換成CAD特定鉆孔圖形。

        ActiveX Automation interface[1](ActiveX自動(dòng)化界面技術(shù))是微軟公司推出的一個(gè)技術(shù)標(biāo)準(zhǔn),該技術(shù)是在Windows系統(tǒng)的統(tǒng)一管理下協(xié)調(diào)不同的應(yīng)用程序,允許應(yīng)用程序之間相互控制、相互調(diào)用。AutoCAD作為一種具有高度開(kāi)放結(jié)構(gòu)的CAD平臺(tái)軟件,它提供了強(qiáng)大的二次開(kāi)發(fā)環(huán)境,并AutoCAD引入了ActiveX技術(shù)。所以許多面向?qū)ο蠡幊痰恼Z(yǔ)言和應(yīng)用程序,可以通過(guò)ActiveX與AutoCAD進(jìn)行通信,并操縱AutoCAD的許多功能。

        從圖1中可以看出,能使用ActiveX自動(dòng)化界面技術(shù)的語(yǔ)言環(huán)境有很多,這是ActiveX技術(shù)的一大優(yōu)點(diǎn)。另外,采用ActiveX技術(shù)還可以是應(yīng)用程序之間很好地共享數(shù)據(jù),如AutoCAD、office excel、office word等。Visual Basic是一種可視化的計(jì)算機(jī)開(kāi)發(fā)語(yǔ)言,是一門(mén)容易掌握和使用的計(jì)算機(jī)語(yǔ)言可以輕松的創(chuàng)建ActiveX控件。所以在做此項(xiàng)開(kāi)發(fā)時(shí),用vb6.0的ActiveX技術(shù)同時(shí)調(diào)用excel和AutoCAD的類(lèi)型庫(kù)來(lái)并完成數(shù)據(jù)交換處理。

        2 如何實(shí)現(xiàn)Excel數(shù)據(jù)轉(zhuǎn)為CAD圖

        2.1 VB中調(diào)用CAD的方法與技術(shù)

        VB中的用CAD可分為以下幾步來(lái)完成,其中關(guān)鍵在于如何調(diào)用CAD類(lèi)型庫(kù)[2]。

        (1)打開(kāi)VB建立一個(gè)新的工程,添加一個(gè)名為Module1標(biāo)準(zhǔn)模塊單。

        (2)啟動(dòng)“工程”菜單下的“引用”命令,打開(kāi)應(yīng)用對(duì)話框,找到“AutoCAD2007 TypeLibrary”并在其復(fù)選框上打鉤,然后單擊確“確定”。

        (3)啟動(dòng)“工程”菜單下的“工程引用”命令,單擊工程屬性對(duì)話框中的“啟動(dòng)對(duì)象”欄右端的箭頭,在其組合框中選中“Sub Main”,單擊確定。(把Sub Main設(shè)定為啟動(dòng)過(guò)程[1])

        (4)在SubMain過(guò)程中添加以下程序代碼:

        Public acadapp As Object

        Public acaddoc As Object

        Public mospace As Object

        Sub Main()

        On Error Resume Next

        ‘錯(cuò)誤處理,如果錯(cuò)誤執(zhí)行下一句

        Set acadapp=GetObject(,\"Autocad.Application\")

        If Err <> 0 Then

        Err.Clear

        ‘如果CAD打開(kāi)把當(dāng)前打開(kāi)圖檔作為操作圖檔

        Set acadapp=CreateObject(\"Autocad.Application\")

        If Err<>0Then

        Err.Clear

        MsgBox\"CAD未打開(kāi),_

        請(qǐng)打先打開(kāi)一個(gè)CAD圖檔!\",48,\"錯(cuò)誤:\"

        Exit Sub

        End If

        ‘如果CAD沒(méi)打開(kāi),自動(dòng)新建新的圖檔文件

        End If

        Set acaddoc=acadapp.ActiveDocument

        Set mospace=acaddoc.ModelSpace

        Set paspace=acaddoc.PaperSpace

        acadapp.Visible=acTrue

        End Sub

        2.2 VB調(diào)用Excel的方法與技術(shù)

        (1)在D盤(pán)目錄中建立名為\"列表.xls\"的Excel文件。

        (2)打開(kāi)VB建立一個(gè)新的工程,添加一個(gè)名為窗體,在窗體上添加兩個(gè)控件將command1標(biāo)簽改為“修改”,command2標(biāo)簽改為“退出”。

        (3)用2.1中所述的方法引用Excel的類(lèi)型庫(kù)。

        (4)添加如下代碼:

        Private Sub Command1_Click()

        Dim xlapp As Excel.Application

        Dim xlbook As Excel.Workbook

        Dim xlsheet As Excel.Worksheet

        Set xlapp=CreateObject(\"excel.application\")

        Set xlbook=_

        xlapp.Workbooks.Open(\"D:\列表.xls\")

        xlapp.Visible=1

        Set xlsheet=xlbook.Worksheets(\"sheet1\")

        xlsheet.Cells(1,1)=\"河南煤化\"

        xlbook.Close(True)

        xlapp.Quit

        Set xlapp=Nothing

        End sub

        Private Sub Command2_Click()

        End

        End sub

        運(yùn)行程序后單擊“修改”后,打開(kāi)“列表.xls”文件,會(huì)發(fā)現(xiàn)其A1單元格內(nèi)容變成了“河南煤化”。

        3 根據(jù)鉆孔參數(shù)生成CAD圖形技術(shù)

        將打成的鉆孔數(shù)據(jù)制成Excel表,假如現(xiàn)有穿層鉆孔參數(shù)列表,如表1所示,先要將根據(jù)此參數(shù)生成CAD圖。

        3.1 程序設(shè)計(jì)預(yù)期

        根據(jù)表1中的參數(shù),在CAD圖檔中生成三條鉆孔,其鉆孔間距為1.2m,都于巷道中線垂直,圖中所畫(huà)各段長(zhǎng)度均為根據(jù)傾角轉(zhuǎn)換的投影長(zhǎng),在補(bǔ)下28號(hào)孔的見(jiàn)煤處,和補(bǔ)下30號(hào)孔的50m處標(biāo)記噴孔符號(hào)“”,分別把孔號(hào)標(biāo)記到各個(gè)鉆孔上如圖2所示。

        3.2 程序設(shè)計(jì)思路

        要想生成如圖2中的鉆孔首先要建立一個(gè)匿名圖塊[3],并此匿名塊命名為“*Z”,用來(lái)在其中添加所插入的所有鉆孔和孔號(hào)及噴孔標(biāo)記,在添加鉆孔時(shí)每個(gè)鉆孔有三條線段構(gòu)成分別是紅色的頂板段、綠色的煤段、紅色的底板段,添加時(shí)把巷道視為水平的從左到右依次是補(bǔ)下29、補(bǔ)下28、補(bǔ)下30號(hào)鉆孔,此時(shí)鉆孔與中線夾角為鉆孔和用戶坐標(biāo)系X正半軸的夾角,每條鉆孔需要4個(gè)點(diǎn)的坐標(biāo)來(lái)定三條線段,每條鉆孔的起點(diǎn)坐標(biāo)為橫坐標(biāo)依次增大一個(gè)間距,縱坐標(biāo)不變,可取為0,因此每條鉆孔的起點(diǎn)坐標(biāo)已知,可根據(jù)其與X正半軸夾角求出其他三點(diǎn)坐標(biāo),當(dāng)坐標(biāo)求出之后,那就可以根據(jù)此這些坐標(biāo)點(diǎn)添加每條線段、孔號(hào)和噴孔標(biāo)記,補(bǔ)下30號(hào)的“50m噴孔”中的50m指的是從鉆孔起點(diǎn)開(kāi)始向此鉆孔終點(diǎn)方向的50m處。所有圖元添加完畢之后就要用insertblock方法[1]插入此匿名塊的塊參照,然后sendCommand方法[3]調(diào)用CAD2007中的“_rotate”來(lái)任意旋轉(zhuǎn)插入后的塊參照[1],再用explode方法[1]分解此塊參照,最后刪除塊參照便留下分解后的所有圖元。

        其中用來(lái)添加鉆孔頂板段、煤段、底板段投影線段的四點(diǎn)坐標(biāo)用以下公式求的,坐標(biāo)示意圖如圖3。

        Xn1=(n-1)·J(1)

        Yn1=0(2)

        Xn2=Xn1+i·cos(γ)(3)

        Yn2=Yn1+i·sin(γ)(4)

        Xn3=Xn1+(i+j)·cos(γ)(5)

        Yn3=Yn1+(i+j)·sin(γ)(6)

        Xn4=Xn1+(i+j+k)·cos(γ)(7)

        Yn4=Yn1+(i+j+k)·sin(γ)(8)

        式中:J為鉆孔間距;γ為鉆孔與巷道中線的夾角;α為鉆孔與水平面的夾角;n=1,2,3…按照鉆孔生成先后順序依次增大,表示第n條鉆孔;i為頂板段投影,i=頂板段·cos(α);j為煤段投影,j=煤段·cos(α);k為底板段投影,k=底板段·cos(α)。

        4 結(jié) 論

        (1)CAD經(jīng)過(guò)此項(xiàng)開(kāi)發(fā)后可以根據(jù)鉆孔參數(shù)快速準(zhǔn)確地生成所設(shè)計(jì)好樣式的鉆孔平面圖。

        (2)可以利用本方法作更多的開(kāi)發(fā),使CAD的功能得到擴(kuò)展,更適合制圖人員所從事的專(zhuān)業(yè)的使用。

        參考文獻(xiàn)

        [1]王 鈺.用VBA開(kāi)發(fā)Autocad2000應(yīng)用程序[M].北京:人民郵電出版社,1999.

        [2]朱桂華.基于VBA技術(shù)實(shí)現(xiàn)Excel數(shù)據(jù)生成CAD對(duì)象的方[J].中國(guó)西部科技,2007(8):88~89.

        [3]張 帆.AutocadVBA二次開(kāi)發(fā)教程[M].北京:清華大學(xué)出版社,2006.

        收稿日期:2018-5-24

        国产成人亚洲精品无码h在线| 中文字幕综合一区二区三区| 久久久久99精品成人片欧美| 亚洲伊人色欲综合网| 日日人人爽人人爽人人片av| 开心五月婷婷综合网站| 在线观看国产白浆一区三区| 国产xxx69麻豆国语对白| 亚洲精品永久在线观看| 成人国产精品免费网站| av免费网站免费久久网| 把女的下面扒开添视频| 馬与人黃色毛片一部| 亚洲午夜久久久精品国产| 自拍视频在线观看首页国产| 国产精品成人aaaaa网站| 欧美激情二区| 国内精品国产三级国产avx| 日本道色综合久久影院| 午夜成人理论无码电影在线播放 | 在厨房被c到高潮a毛片奶水| 97久久天天综合色天天综合色hd| 久久久亚洲精品午夜福利| 日韩精品极视频在线观看免费| 台湾佬中文娱乐网22| 亚洲国产精品一区二区第四页| 黑丝美女喷水在线观看| 在线精品国产亚洲av蜜桃| 四川老熟妇乱子xx性bbw| 国产三级黄色在线观看| 在线国产丝袜自拍观看| 亚洲日韩av一区二区三区中文| 成人三级在线| 国产一区二区一级黄色片| 亚洲欧洲日产国码av系列天堂| 四房播播在线电影| 亚洲国产成人aⅴ毛片大全| 一区二区视频中文字幕| 国产精品一区二区无线| 国产在线不卡免费播放| 国产人妖伦理视频在线观看 |