李昌平,饒建華,胡俊林
LI Chang-ping, RAO Jian-hua, HU Jun-lin
(中國地質(zhì)大學(武漢)機械與電子信息學院,武漢 430074)
近年來,潛孔鉆頭由于鉆孔深、鉆孔直徑大、鉆孔效率高、適應范圍廣等特點,除廣泛應用于工程建筑、礦物勘探、露天礦山開采、國防建設等領域外,還擴展到地熱井、油田井、煤層氣開采等領域[1]。潛孔鉆頭根據(jù)地層、巖石特性的不同,其端面的形狀、吹洗孔、排粉槽等特征都不相同。潛孔鉆頭種類繁多,設計工作量大,傳統(tǒng)的人工和通用CAD軟件對潛孔鉆頭存在設計效率低、歷史產(chǎn)品設計信息管理應用不足等缺點。
潛孔鉆頭采用氣動潛孔鉆進技術和氣舉反循環(huán)鉆進技術,受力狀態(tài)極其復雜,設計難度大,對潛孔鉆頭歷史產(chǎn)品設計的特征信息具有較強的依賴性。近年來,我國的潛孔鉆具工業(yè)取得了長足的發(fā)展,但和國際上著名生產(chǎn)廠商如Atlas Copco公司的產(chǎn)品相比,國產(chǎn)潛孔鉆頭設計主要是仿制,存在著技術性能指標和質(zhì)量指標偏低,可靠性和使用壽命不穩(wěn)定,結(jié)構(gòu)設計欠佳,產(chǎn)品種類及品種規(guī)格偏少等一系列不足之處[2]。
針對存在的這些問題,首先分析了用在不同巖層潛孔鉆頭重要結(jié)構(gòu)特征,同時鑒于實際應用中潛孔鉆頭工作巖層復雜,種類繁多,設計工作量大、效率低等特點,利用VB.NET開發(fā)一套潛孔鉆頭SolidWorks三維參數(shù)化設計二次開發(fā)系統(tǒng),該系統(tǒng)可實現(xiàn)對潛孔鉆頭進行參數(shù)化設計,提高了設計效率;可與Access數(shù)據(jù)庫進行連接,將潛孔鉆頭歷史產(chǎn)品設計的特征信息保存在數(shù)據(jù)庫中等功能。
如圖1所示潛孔鉆頭端面為平面型,常用的潛孔鉆頭端面有四種,即中心凹陷型、凹面型、平面型、凸面型[2],它們分別作用在堅硬程度不同的巖層以及對鉆孔直線度要求不同的場合。國外近幾年還出現(xiàn)了新型端面結(jié)構(gòu)即火箭型鉆頭。平面型潛孔鉆頭通常沒有排粉槽,適用于非常堅硬的巖層以及對鉆孔的直線度要求不高的場合。
圖1 平面型潛孔鉆頭結(jié)構(gòu)圖
圖1中潛孔鉆頭齒孔用來鑲嵌硬質(zhì)合金齒;該潛孔鉆頭有兩個吹洗孔,與中心孔相連,通過反循環(huán)系統(tǒng)結(jié)構(gòu),巖屑將從吹洗孔吸入,經(jīng)過中心孔,鉆桿中心通道排至地面;潛孔鉆頭外側(cè)裙邊部位鑲上平頂?shù)挠步饘傩K,提高鉆頭的耐磨性;鉆頭周邊上銑了一些小缺口,從而減少鉆頭與孔壁的接觸面積,減少摩擦,防止卡鉆;鉆頭與沖擊器之間采用花鍵聯(lián)接,優(yōu)點是傳遞的扭矩大、受力均勻、磨損小、壽命長,因此潛孔鉆頭具有特征復雜等特點。
潛孔鉆頭吹洗孔的數(shù)目、端面排粉槽、齒孔、中心孔的形狀和尺寸等特征在不同的鉆頭上是有標準的,但也可以組合于任何鉆頭上,使其更適合特殊鉆進條件下的應用。同時潛孔鉆頭型號種類很多,故需一套二次開發(fā)軟件對潛孔鉆頭進行參數(shù)化設計,并對尺寸特征進行管理,提高設計效率。
潛孔鉆頭二次開發(fā)系統(tǒng)應用了三種開發(fā)平臺:Visual Studio2010、Access、SolidWorks。Visual Studio主要用在該系統(tǒng)開發(fā)中,開發(fā)用戶操作界面所用到的控件以及圍繞控件所做出特定的響應都通過此軟件。Access數(shù)據(jù)庫主要對鉆頭的型號、系列、尺寸等特征信息進行存儲管理,Access通過ADO技術實現(xiàn)與Solidworks的連接,通過datagrid控件實現(xiàn)顯示、修改尺寸數(shù)據(jù)等操作,實現(xiàn)對數(shù)據(jù)的方便管理。Solidworks主要對鉆頭的三維模型進行展示,將預覽的模型進行保存,并通過API接口實現(xiàn)與數(shù)據(jù)庫的連接,將修改或新增后的鉆頭的尺寸特征映射到三維模型上,實現(xiàn)對三維模型的參數(shù)化設計。此外系統(tǒng)還具有尺寸示意圖預覽、尺寸合法性檢驗、型號編輯等功能,系統(tǒng)框架結(jié)構(gòu)如圖2所示。
2.2.1 Visual Studio與SolidWorks之間的連接
圖2 系統(tǒng)結(jié)構(gòu)圖
該二次開發(fā)系統(tǒng)以插件的形式與SolidWorks運行在同一進程空間,菜單、工具欄及屬性控制頁都可以用插件在SolidWorks中實現(xiàn),通過Visual Studio編程后生成的插件可實現(xiàn)與SolidWorks的連接。
此二次系統(tǒng)的開發(fā)采用使用簡單的面向?qū)ο蟮腣B.NET語言。創(chuàng)建插件前需安裝軟件整合的插件程序API SDK[3],用來建立SolidWorks插件向?qū)С绦颍惭b成功后將在Visual Studio的項目類型列表中出現(xiàn)SwVBAddin項目類型。然后運用VB.NET創(chuàng)建潛孔鉆頭二次開發(fā)系統(tǒng)插件應用程序,并添加類型庫。最后應用編譯成功后,將bin文件中生成的插件加載到SolidWorks中,則成功實現(xiàn)了Visual Studio2010與SolidWorks兩硬件平臺的連接。二次開發(fā)系統(tǒng)插件加載到SolidWorks后初始化界面如圖3所示,菜單欄上將出現(xiàn)“鉆頭開發(fā)”選項。
圖3 初始化界面圖
2.2.2 數(shù)據(jù)庫的建立與連接
在實現(xiàn)SolidWorks與Aceess連接之前,需創(chuàng)建數(shù)據(jù)表,將父類潛孔鉆頭的型號尺寸等特征信息錄入到數(shù)據(jù)庫中。以某企業(yè)使用較多的qz系列,型號包括:qz080101、qz080201、qz060101、qz040203、qz040202、qz070201、qz070101、qz080101;zq系列,型號包括:zq13105648、zq13105647的潛孔鉆頭為父類,對于新增或修改的新型號的潛孔鉆頭,可在父類特征的基礎上進行參數(shù)化設計,進而提高設計效率。數(shù)據(jù)庫中每個表具體內(nèi)容及功能如表1所示。
表1 Access數(shù)據(jù)庫表及功能
為了實現(xiàn)與數(shù)據(jù)庫的連接,VB.NET提供了大量強大而實用的工具[4]。與數(shù)據(jù)庫的連接主要依靠數(shù)據(jù)對象ADO.NET,在軟件實現(xiàn)與Access之間的連接需要經(jīng)過三步,即數(shù)據(jù)連接:本程序使用的數(shù)據(jù)源是Access數(shù)據(jù)庫,因此使用的數(shù)據(jù)連接對象為OleDbConnection;數(shù)據(jù)適配:功能是負責維護與數(shù)據(jù)源的連接,根據(jù)數(shù)據(jù)源的類型,本系統(tǒng)用到的數(shù)據(jù)適配對象為OleDbDataAdapter;數(shù)據(jù)集:有了數(shù)據(jù)適配器后, 就可以使用數(shù)據(jù)適配器生成相應的數(shù)據(jù)集(DataSet),它由數(shù)據(jù)庫及關系構(gòu)成,代表了一個數(shù)據(jù)“緩存”,即在程序中為數(shù)據(jù)分配內(nèi)存空間,它在程序中模仿了關系數(shù)據(jù)庫結(jié)構(gòu)。本程序為指定的數(shù)據(jù)結(jié)構(gòu)維護提供兩個對象:一個是后臺對象dataset,用戶不可見;另一個是界面對象datagrid。
2.2.3 SolidWorks API對象接口
API是由一組接口組成[5],這些接口被組織為接口對象模型,它包含了SolidWorks中使用到的類。
API接口功能強大,例如本二次開發(fā)系統(tǒng)實現(xiàn)三維模型預覽時,使用API了中SldWorks.OpenDoc6 ( filename, type, options, configuration,&Errors, &Warnings )函數(shù)。
參數(shù)化設計的潛孔鉆頭尺寸特征與datagrid列表數(shù)據(jù)一一映射,可以用程序?qū)崿F(xiàn):
即SolidWorks通過API對象接口,讀取Access中父類潛孔鉆頭的尺寸特征后,與datagrid控件中的尺寸數(shù)據(jù)對比,如果不同,則對相對應的特征進行修改。但最終實現(xiàn)鉆頭特征的參數(shù)化修改還需在SolidWorks中添加驅(qū)動方程,即對每個尺寸特征編輯或添加一個驅(qū)動方程,界面如圖4所示,利用該驅(qū)動方程命令,用戶可以在不同尺寸之間或者尺寸和自定義屬性之間建立一種關系。
圖4 編輯和添加驅(qū)動方程界面
為了使操作界面更簡潔,程序系統(tǒng)選擇使用單窗口,根據(jù)需實現(xiàn)的功能,最終設計的系統(tǒng)操作界面如圖5所示。
圖5 二次開發(fā)系統(tǒng)操作界面
該二次開發(fā)系統(tǒng)的模塊劃分圖以及操作流程圖分別如圖6,圖7所示。
圖6 系統(tǒng)模塊劃分圖
圖7 系統(tǒng)操作流程圖
從圖5~圖7可知系統(tǒng)操作界面部分包括:
加載數(shù)據(jù)GroupBox:主要功能是找出數(shù)據(jù)庫存放路徑以及將數(shù)據(jù)庫中的特征參數(shù)加載到下拉菜單中。加載響應使用自定義的加載函數(shù)loading()實現(xiàn)此功能。
模型文件夾GroupBox:主要功能是找出潛孔鉆頭父類文件及示意圖所存放文件夾的路徑。
型號選取GroupBox:主要功能是確定所需預覽或修改的鉆頭的系列、型號、尺寸類型等,為后續(xù)的操作做準備。當型號選擇完畢后,用datagr_show()函數(shù)將對應型號潛孔鉆頭的參數(shù)顯示在datagrid控件上。
文件另存GroupBox:它的主要功能是保存經(jīng)過參數(shù)化設計后的三維模型,并顯示保存路徑,用戶既可將當前文件以原文件名保存為solidworks文件,也可在新的位置以新的文件名進行保存。
編輯型號GroupBox:主要作用是新增、刪除、修改型號以及對修改后的尺寸特征進行還原。新增型號響應函數(shù)通過自定義的函數(shù)add()實現(xiàn)。修改型號響應函數(shù)通過自定義函數(shù)renew_()實現(xiàn)。以新增型號為例,單擊“新增型號”按鈕后,程序彈出一個對話框,如圖8所示,要求用戶輸入新增鉆頭的型號。待用戶輸入型號后,單擊“確定”按鈕,程序彈出另一個對話框,如圖9所示,要求用戶輸入新增鉆頭的父類零件名稱,用戶輸入父類零件名稱后后,單擊“確定”按鈕,然后系統(tǒng)將自動彈出對話框提示用戶已經(jīng)將映射表置為當前型號的對應值,點擊確定后即可完成新增型號的添加過程。新型號的尺寸特征信息以及父類名稱、所屬系列等信息將自動保存到Access數(shù)據(jù)庫中。
圖8 輸入新型號
圖9 輸入新型號
數(shù)據(jù)顯示組件:數(shù)據(jù)顯示控件datagrid主要功能是對特定型號的潛孔鉆頭的尺寸信息進行顯示,此控件有5列,即“索引”列、“名稱”列、“數(shù)值”列、“最大值”列、“最小值”列,同時檢驗尺寸合法性按鈕可檢驗尺寸是否在尺寸范圍之內(nèi)。
二維、三維圖預覽組件:主要功能是利用顯示控件PictureBox對二維尺寸示意圖進行瀏覽;對修改后的鉆頭三維圖進行預覽。如圖10為尺寸示意圖預覽組件,三個示意圖在外部庫文件中以型號命名,并以主、俯、左視圖分別命名為型號名1、型號名2、型號名3,尺寸示意圖中的標號不是指尺寸的大小而是尺寸名編號。如圖11為將潛孔鉆頭中dim1的值從294mm改為300mm后進行預覽的三維圖。
圖10 尺寸示意圖預覽
圖11 參數(shù)化修改后的鉆頭
潛孔鉆頭在礦山開采等很多領域有著廣泛的應用,本文分析了不同巖層潛孔鉆頭的重要結(jié)構(gòu)特征,對潛孔鉆頭設計提供了指導。潛孔鉆頭二次開發(fā)系統(tǒng)利用VB.NET語言進行開發(fā),以插件的形式在SolidWorks中運行,通過API對象接口實現(xiàn)與SolidWorks的連接,實現(xiàn)了潛孔鉆頭參數(shù)化設計的功能,提高了設計效率。系統(tǒng)將歷史產(chǎn)品設計信息保存在Access數(shù)據(jù)庫中,通過ADO技術實現(xiàn)與Aceess數(shù)據(jù)庫的連接,能方便對多種類型的潛孔鉆頭的尺寸特征進行管理。
[1]胡銘,董鑫業(yè).中高風壓潛孔鑿巖鉆頭[A].第十四屆全國釬鋼釬具年會,2008.
[2]胡銘,董鑫業(yè).Sandvik公司潛孔鉆具產(chǎn)品類型[A].2011全國釬鋼釬具會議,2011.
[3]葉修梓,陳超祥.SolidWorks高級教程:二次開發(fā)與API[M].北京:機械工業(yè)出版社,2009.
[4]邵謙謙.精通Visual Basic.NET 2003數(shù)據(jù)庫開發(fā)[M].北京:清華大學出版社,2003.
[5]朱傳敏,王寶海.基于Solidworks的齒輪變速箱個性化設計系統(tǒng)[J].制造業(yè)自動化,2005.