趙鵬 尹中輝
摘 要:掘進機模型部件及其結構復雜多樣,傳統(tǒng)設計通常難以滿足用戶需求。為了改善掘進機模型產(chǎn)品設計時工作量大、開發(fā)周期長、效率水平低等狀況,提出一個基于VB6.0的掘進機模型參數(shù)化設計系統(tǒng)。以CSG為基本數(shù)據(jù)結構,以藍光數(shù)字礦山地理信息平臺為主要平臺,采用VB6.0編程語言對系統(tǒng)進行設計。該系統(tǒng)實現(xiàn)了產(chǎn)品設計的快速化、模塊化與參數(shù)化,不僅大大縮短了產(chǎn)品開發(fā)周期,而且實現(xiàn)了資源的合理配置與重復利用,提高了企業(yè)競爭力。
關鍵詞:掘進機;CSG;藍光數(shù)字礦山地理信息平臺;VB6.0
DOI:10. 11907/rjdk. 191324 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2019)008-0092-04
Parametric Design System of Roadheader Model Based on VB6.0
ZHAO Peng,YIN Zhong-hui
(College of Computer Science and Engineering, Shandong University of Science and Technology,Qingdao 266590,China)
Abstract: The model of the roadheader model and its structure are complex and diverse, and the traditional design cannot often meet the needs of users. In order to improve the design of the roadheader model product which involves large workload,long development cycle and low efficiency. A design model of the roadheader model based on VB6.0 is proposed. Using CSG as the basic data structure, the Blu-ray digital mine geographic information platform is the main platform, and the software is realized by VB6.0 programming language. The software realizes the rapid, modular and parameterized product design, which not only greatly shortens the product development cycle, but also realizes the rational allocation and reuse of resources and improves the competitiveness of enterprises.
Key Words:roadheader;CSG ;Blu-ray digital mine geographic information platform;VB6.0
基金項目:國家重點研發(fā)計劃項目(2017YFC0804406);山東省重點研發(fā)計劃項目(2016ZDJS02A05)
作者簡介:趙鵬(1994-),男,山東科技大學計算機科學與工程學院碩士研究生,研究方向為智慧礦山信息技術、計算機圖形學;尹中輝(1995-),男,山東科技大學計算機科學與工程學院碩士研究生,研究方向為智慧礦山信息技術、計算機圖形學。
0 引言
掘進機是一種廣泛應用于煤礦大斷面煤巖掘進,以及隧道、水利工程等巷道掘進的設備[1]。掘進機結構復雜,一體化集成度高,主要由本體部、行走部、截割部等部分組成,每個部分又包括許多驅動設備及零部件。如果對每個零件進行個性化設計,會導致工作量大、開發(fā)周期長、效率低下等問題。隨著計算機輔助設計向著集成化、智能化方向發(fā)展[2],VB6.0[3]、VB.net[4]、VC++[5]等多種編程語言已廣泛應用于三維建模與仿真領域。目前在三維模型設計中,主流設計軟件有SolidWorks[6-7]、CAD[8]、CAXA[9]、UG2.0[10]等,這些軟件各有優(yōu)勢,但在實際應用中,由于掘進機結構與其它模型的差異,往往很難找到一個完全適合于掘進機建模的軟件。針對以上問題和現(xiàn)狀,本文提出一種參數(shù)化設計方法[11],利用VB6.0與藍光數(shù)字礦山地理信息平臺相結合的二次開發(fā)技術[12],對產(chǎn)品自頂向下進行參數(shù)化設計,從而完成掘進機各結構部分的模型設計,并通過參數(shù)化驅動實現(xiàn)快速組合裝配。
1 CSG體素構造原理
三維造型技術中將三維幾何分為規(guī)則實體與不規(guī)則實體。對于不規(guī)則實體采用二維輪廓繪制方法,經(jīng)拉伸、旋轉生成三維模型,對于規(guī)則實體將利用CSG(Constructive Solid Geometry)體素構造表示法,該方法是計算機圖形學中常用的形體表示方式之一[13]。該構形方法的描述既符合空間形體構形過程,又能滿足計算機實體造型要求[14]。體素構造表示法將復雜實體看成由若干較簡單的最基本體素(如立方體、圓柱體、圓錐體等)[15],經(jīng)過一些有序的布爾運算構造出來的。在三維實體模型系統(tǒng)中,可以將實體建模分為兩部分,即體素定義與體素布爾運算(交、并、差)[16]。因此,利用CSG體素構造原理,本文將復雜的三維實體數(shù)據(jù)結構描述為一棵CSG樹。在CSG樹形數(shù)據(jù)結構中,葉子節(jié)點表示基本體素,中間節(jié)點為體素間的布爾運算(見圖1)。相較于傳統(tǒng)CAD建模,利用CSG原理可以將本系統(tǒng)中掘進機模型的復雜部件快速分解為基本體元,抽調出復雜模型中的基本實體模型,為模型系統(tǒng)快速設計作鋪墊,也提高了模型構建效率。
圖1 構造CSG樹形數(shù)據(jù)結構
2 掘進機模型參數(shù)化系統(tǒng)設計
2.1 主要技術與平臺
基于VB6.0的掘進機模型參數(shù)化設計系統(tǒng)是以VB6.0、OLE(Object Linking and Embedding,對象鏈接與嵌入)為技術支持,以COM(Component Object Model,組件對象模型)為規(guī)范,以藍光數(shù)字礦山軟件為平臺,將VB的API(Application Programming Interface,應用程序接口)函數(shù)與藍光平臺相結合作為二次開發(fā)接口工具,最終實現(xiàn)參數(shù)化系統(tǒng)設計。藍光數(shù)字礦山地理信息平臺(以下簡稱為藍光軟件平臺)不僅具備CAD、GIS、數(shù)據(jù)庫管理、三維可視化等功能 [17],而且該平臺的所有數(shù)據(jù)庫、符號線性庫等都是開放的。國際通用三維文件.3dt格式具有較強的導入導出功能,任意對象可由基礎數(shù)據(jù)直接生成圖形,并進行三維建模、渲染以及數(shù)據(jù)庫重建,極大方便了設計人員調用與二次開發(fā)。三維文件.3dt格式如圖2所示。.3dt格式文件主要記錄了三維實體的點(坐標)、面(點生成面)、文本、線、紋理、層、體、線、漫游路線數(shù)目等,數(shù)據(jù)參數(shù)均通過VB寫入。藍光軟件平臺可對.3dt格式文件生成的三維圖形進行渲染、縮放、漫游等操作,實現(xiàn)三維可視化。
計算機編程常用開發(fā)語言如C++、C、VB等均可用于藍光軟件平臺的二次開發(fā),用戶可根據(jù)需求進行選擇。隨著VB的發(fā)展與功能的逐步完善,VB已成為使用人數(shù)最多、應用范圍最廣的程序設計語言及軟件開發(fā)工具之一。VB6.0是一種可視化編程語言,其使用面向對象的編程語言,提供了功能完備的應用程序與集成開發(fā)環(huán)境,其具有的RAD快速應用程序開發(fā)功能與良好的GUI圖形用戶界面均方便開發(fā)人員在Windows環(huán)境下開發(fā)應用程序。在參數(shù)化建模過程中,模型零件數(shù)量及尺寸等數(shù)據(jù)的冗雜往往會加大設計人員工作量、降低效率。VB6.0具有多種數(shù)據(jù)庫訪問能力,可隨時對SQL Server 2008、Access等數(shù)據(jù)庫進行調用與存儲,改善系統(tǒng)參數(shù)化模型選取、調用、篩選工作流程,設計人員只需篩選合適的零件即可完成相關設計,既縮短了設計時間,又節(jié)約了成本。
圖2 三維文件.3dt格式
2.2 系統(tǒng)參數(shù)化開發(fā)工作流程
參數(shù)化設計流程如圖3所示,具體如下:①用戶登錄,進入系統(tǒng)用戶設計主界面;②設計主頁分為6部分,分別為本體部設計、行走部設計、運輸機構設計、截割部設計、鏟板部設計、后支撐部設計[18];③進入相應設計部分,根據(jù)開采礦體選擇對應部件分類設計;④根據(jù)尺寸型號輸入?yún)?shù),驗證是否符合參數(shù)規(guī)范要求,若符合則運行設計程序,并存儲為.3dt格式,若不符合則返回上一級進行驗證;⑤設計其它部件并將其裝配整合,生成三維模型。
圖3 參數(shù)化設計流程
2.3 系統(tǒng)功能
由于地下巷道掘進情況復雜,不同煤巖的普氏系數(shù)與掘進開采礦體類型不同,部件參數(shù)也有很大不同。因此,根據(jù)對用戶需求的分析,將掘進機模型參數(shù)化設計系統(tǒng)分為7個模塊,主要功能模塊有本體部設計、行走部設計、運輸機構設計、截割部設計、鏟板部設計、后支撐部設計、整機組合設計等模塊,其中截割部設計又可分為兩個二層功能模塊,分別為截割頭設計模塊與懸臂設計模塊。對復雜系統(tǒng)的各層子系統(tǒng)進行劃分,使每個模塊間的內部邏輯組織關系更加清晰明了。為了能更高效地生成部分模型,滿足用戶不同需求,對每個模塊的設計沒有先后順序限制。
掘進機模型參數(shù)化設計系統(tǒng)功能模塊如圖4所示。
圖4 系統(tǒng)功能模塊
3 掘進機模型參數(shù)化設計系統(tǒng)實現(xiàn)
3.1 系統(tǒng)界面設計
系統(tǒng)界面設計是人機交互的重要部分,也是用戶對軟件的第一印象,因此是軟件設計的重要組成部分[19]。以鏟板部分設計為例,如圖6所示為鏟板部分設計界面,根據(jù)具體需求可將鏟板分為星輪式、刮板式、扒爪式3部分進行設計。VB6.0工具箱可提供用于創(chuàng)建用戶界面的多種可視化部件對象,從而完成多個窗體控件對系統(tǒng)的整體UI布局。布局時采取分模塊輸入相關參數(shù)(主要有主鏟板、左右兩側鏟板、星輪半徑及主從動輪半徑等)的方式,設計時需要保證系統(tǒng)界面簡潔明了、參數(shù)位置清晰,設計人員可以直接參考工程圖進行設計。
在對鏟板部分的設計中,選擇需要生成的樣式,然后用戶只需在設計頁面模塊中的TextBox控件框中輸入對應尺寸參數(shù),即可完成參數(shù)化建模。后臺程序自動驗證參數(shù)是否正確,如果尺寸參數(shù)無誤,則參數(shù)化建模完成。
參數(shù)設置代碼如下:
Global po_N As Long '點個數(shù)
Global f_N As Long '面?zhèn)€數(shù)
Global lin_N As Long '線個數(shù)
Global C_n As Long '層個數(shù)
Global s_n As Long '體個數(shù)
鏟板刮板
Public Sub cguanban(r As Double,n As Double)
Call Inig_3dt
For i =0 To n-1
Call add_point(r*Cos(i*80/n*3.1415926/180),0,-r*Sin(i*80/n*3.1415926/180),0,0,0)
Call add_point(r*Cos(i*60/n*3.1415926/180),0.05,-r*Sin(i*60/n*3.1415926/180),0,0,0)
Dialog.filter =”3DT文件|*.3dt”
Dialog.filename=”刮板”
Dialog.ShowSave
Save_3dt(dialog.filename)
End Sub
圖5 鏟板部參數(shù)化設計界面
3.2 ActiveX控件應用
窗體控件設計是VB6.0可視化的重要組成部分。ActiveX為Microsoft一系列策略性面向對象程序技術與工具,其主要技術是組件對象模型(COM)[20],擴展名為OCX,代表“對象鏈接與嵌入控件(OLE)”。一個COM組件(ActiveX控件)可由多種開發(fā)語言開發(fā),具有很強的適用性。系統(tǒng)設計采用了ActiveX控件中的選項卡控件(SSTab)、圖像列表控件(ImageList)等。常用ActiveX控件如表1所示。
表1 常用ActiveX控件
3.3 程序驅動裝配
以往是通過CAD導入部分零部件,然后根據(jù)各機構關系手動進行模型裝配,該裝配方式往往費時費力。掘進機建模參數(shù)化設計系統(tǒng)通過CSG體素構造將模型由復雜實體進行拆分,再利用VB開發(fā)語言進行組合裝配。在掘進機整機裝配界面上選擇要組合的各個部件類型,包括截割方式、懸臂類型、鏟板類型、運輸機類型等,并顯示如圖6所示組合結果。
圖6 掘進機整體裝配界面
組合裝配是用VB編程語言程序實現(xiàn)坐標定位,然后根據(jù)CSG思想解析實體構成,分別實現(xiàn)點、線、面、體遍歷構成實體坐標。裝配步驟如下:①在部分設計界面上,用戶輸入各零部件具體參數(shù),定位到實體基點坐標與起點坐標,并通過輸入的TextBox控件框將具體參數(shù)傳入函數(shù);②在組合界面驅動程序,根據(jù)坐標定位實體間位置關系(平行、重合、垂直),后臺通過計算距離進行移動、旋轉、縮放等,實現(xiàn)點、線、面的關系配合;③在程序驅動過程中調用 Cr_s3dt函數(shù)在原有基礎上插入新生成的零部件,進而實現(xiàn)整機組合。裝配完成的掘進機三維模型如圖7所示。通過程序驅動裝配可節(jié)省各部分組合時間,大大提高了系統(tǒng)設計效率。
圖7 驅動裝配完成的三維模型
自動裝配組合代碼如下:
Public Sub Cr_s3dt(fff As String, ydX As Double, ydY As Double, ydZ As Double, sf As Double) '在原有基礎上插入3dt裝配組合
Open fff For Input As 1
Input #1, tmn, tpn
If kk = 7 Then
Input #1, tpn, tmn, ttn, tln, twn, tcn, tsn, tzn
Else
Input #1, tpn, tmn, ttn, tln, twn, tcn, tsn, tzn, myn '點數(shù)目,面數(shù)目,文本數(shù)目,線(鉆孔)數(shù)目,紋理數(shù)目,層數(shù)目,體數(shù)目,線列表數(shù),漫游路線數(shù)目
End If
ReDim Preserve lu_F(f_N + tmn)
ReDim Preserve lu_P(po_N + tpn)
For j = 1 To tpn
With lu_P(po_N + j)? ? ? ?'lu_p() 點
Input #1, .N, .x, .y, .z, .R, .G, .B? ?'對坐標進行移動縮放
.x = .x * sf + ydX
.y = .y * sf + ydY
.z = .z * sf + ydZ
.N = po_N + .N
End With
Next j
'面
……
End Sub
4 結語
本文設計并實現(xiàn)了一個掘進機模型參數(shù)化設計系統(tǒng)。在理論方面,本文給出了詳細的參數(shù)化設計流程,可為后續(xù)類似系統(tǒng)開發(fā)提供參考;在應用方面,該系統(tǒng)可大大降低設計人員工作量,縮短開發(fā)周期。該研究成果可應用于三維數(shù)據(jù)場可視化以及有限元分析等領域,后續(xù)還需要進一步提高系統(tǒng)運行效率、改善人機交互界面。
參考文獻:
[1] 田云. 基于虛擬樣機的掘進機模擬操縱系統(tǒng)研究[D]. 西安:西安科技大學,2011.
[2] 孫家廣. 計算機輔助設計技術基礎[M]. 北京:清華大學出版社,2000.
[3] 龔沛曾,陳慰民,楊志強. Visual Basic程序設計簡明教程[M]. 第2版. 北京:高等教育出版社,2003.
[4] 張誼軍,蔣忠寶,劉際華. 基于VB.NET的Pro/E參數(shù)化模型庫的開發(fā)[J]. 機械與電子,2010(12):73-75.
[5] LI Z,YUAN D,F(xiàn)ANG Y. C++ programming[M]. De Gruyter,2019.
[6] 張思彧,仲梁維. 基于VB.NET的剪式升降平臺參數(shù)化設計系統(tǒng)[J]. 軟件導刊,2018,17(5):86-89.
[7] 侯笑梅,李軍,韋彬. 基于Solidworks的帶式輸送機自動化建模的研究[J]. 煤礦機械,2018,39(9):168-170.
[8] REDDY E J,SRIDHAR C N V,RANGADU V P. Development of web-based knowledge-based system for CAD modeling and manufacturing[J]. Materials Today: Proceedings,2018.
[9] 邵晉敏. EBH315型掘進機的虛擬建模[J]. 價值工程,2013,32(35):38-40.
[10] 馬濤,劉英林. 礦用掘進機行走減速器建模與運動仿真[J]. 機械工程與自動化,2008(2):45-47.
[11] 汪劍,沈景鳳,仲梁維. 基于參數(shù)化的擠壓模具敏捷設計系統(tǒng)研究[J]. 軟件導刊,2017,16(4):114-117.
[12] 王晶,方春峰. 淺析藍光軟件在礦圖中的應用[J]. 煤礦現(xiàn)代化,2009(5):91-92.
[13] 莫春柳,李冰,譚夏梅. 三維實體造型的教學實踐與認識[C]. 全國圖學教育研討會暨制圖cai課件演示交流會,2002.
[14] 趙勇. 工程制圖基礎[M]. 北京:北京交通大學出版社,2005.
[15] 陳輝. 基于實體模型的布爾運算算法與實現(xiàn)[D]. 青島:山東科技大學,2007.
[16] 王紅娟.? 三維實體建模及布爾運算造型技術[D]. 青島:山東科技大學,2007.
[17] 種衍芬. 淺析《藍光地理信息系統(tǒng)》在煤礦地測中的應用[J]. 山東煤炭科技,2011(6):57-59.
[18] 趙國棟. 懸臂縱軸式掘進機的總體設計[J]. 山西煤炭管理干部學院學報,2006(4):94-95,97.
[19] 周莉莉.? 人機交互界面的藝術表現(xiàn)研究[D]. 合肥:合肥工業(yè)大學,2009.
[20] 徐慶增,楊碩珩. 利用VB語言實現(xiàn)組態(tài)軟件組件的開發(fā)[J]. 山西電子技術,2017(1):65-67.
(責任編輯:黃 健)