杜洪勛
(同濟(jì)大學(xué) 中德學(xué)院,上海 200092)
刀具管理模塊在工程數(shù)據(jù)庫(kù)中的設(shè)計(jì)與實(shí)現(xiàn)
杜洪勛
(同濟(jì)大學(xué) 中德學(xué)院,上海 200092)
以立銑刀為例,從數(shù)據(jù)建模、數(shù)據(jù)依賴性分析以及約束條件的實(shí)現(xiàn)、用戶界面編制等方面論述了刀具管理模塊在工程數(shù)據(jù)庫(kù)中的具體設(shè)計(jì)與實(shí)現(xiàn)方法。分析問(wèn)題的思路以及采用的方法對(duì)于工程數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)具有參考意義。
工程數(shù)據(jù)庫(kù);刀具管理;數(shù)據(jù)依賴性;約束條件
工程數(shù)據(jù)庫(kù)是一種特殊類型的數(shù)據(jù)庫(kù),其主要功能是對(duì)工程實(shí)際中大量、無(wú)序的工程數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ)與管理。憑借現(xiàn)有成熟的數(shù)據(jù)庫(kù)技術(shù)可以建立功能十分豐富的工程數(shù)據(jù)庫(kù)系統(tǒng)[1]。本文論述的工程數(shù)據(jù)庫(kù)主要指面向多軸銑削加工的數(shù)據(jù)庫(kù)管理系統(tǒng),其管理的主要對(duì)象包括刀具、銑削工藝以及工件與材料等。其中,刀具管理模塊是該系統(tǒng)的核心組成部分之一,其性能直接影響工程數(shù)據(jù)庫(kù)系統(tǒng)的質(zhì)量[2]。本文將以常見(jiàn)的立銑刀為例,從刀具的建模、數(shù)據(jù)依賴性分析以及軟件實(shí)現(xiàn)等幾個(gè)層面,具體論述刀具管理模塊在工程數(shù)據(jù)庫(kù)系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)。
建立刀具模塊的首要任務(wù)就是對(duì)銑刀進(jìn)行數(shù)據(jù)建模。這一過(guò)程的核心問(wèn)題是挑選合適的參數(shù)來(lái)代表銑刀。參照刀具供應(yīng)商提供的參數(shù)列表以及銑刀在選用時(shí)所涉及到的重要參數(shù),本文抽取如下信息對(duì)銑刀進(jìn)行建模。
a.幾何信息:幾何信息是代表銑刀的最基本的信息,這些信息包括刀具的基本尺寸、幾何角度等參數(shù)。比較典型的幾何信息來(lái)源于刀具供應(yīng)商所提供的參數(shù)。圖1展示的是一種常見(jiàn)的立銑刀(LMT Fette刀具技術(shù)公司生產(chǎn)),其中d1,d2,l1,l2,l3,z等參數(shù)概括了銑刀(刀具本體)的基本幾何信息,所以命名為“刀具宏觀幾何信息”。而諸如前角、后角等參數(shù)描述了跟切削刃有關(guān)的幾何特征,相比于“刀具宏觀幾何信息”而言,它們?cè)跀?shù)值上較小,因此被稱為“刀具微觀幾何信息”。
b.刀柄信息:由于本文主要研究應(yīng)用于銑削加工的工程數(shù)據(jù)庫(kù),因此跟刀柄有關(guān)的一些幾何信息如莫氏錐度等不在考慮范圍之內(nèi),只選取最基本的長(zhǎng)度與寬度等基本信息。
圖1 DHC PREMIUM系列雙螺旋角圓柱立銑刀
c.附加信息:跟刀具有關(guān)的附加信息有刀具編號(hào)、固定類型、旋轉(zhuǎn)方向、裝配形式以及磨損形式等。
至此,銑刀的實(shí)體關(guān)系模型已基本建立,刀具模塊的實(shí)體關(guān)系模型如圖2所示。但是,從管理復(fù)雜的銑刀工程數(shù)據(jù)這一角度來(lái)考慮,僅僅有實(shí)體以及相關(guān)屬性是不夠的,還需要引入主鍵用來(lái)唯一標(biāo)識(shí)一條工程數(shù)據(jù)?;谶@些考慮,本文引入刀具編號(hào)這一屬性來(lái)充當(dāng)?shù)毒哌@一元組的主鍵。值得注意的是,這里的“刀具編號(hào)”與機(jī)床中刀具的編號(hào)不是一個(gè)概念,該編號(hào)的主要作用是區(qū)分不同的刀具。
在實(shí)際加工開(kāi)始之前,刀具及其附件都完成了組裝,并且已經(jīng)裝入刀庫(kù)進(jìn)行統(tǒng)一編碼。在加工過(guò)程中這一裝配體也是作為一個(gè)整體投入使用,加工完成后又由機(jī)械手等換刀裝置放入刀庫(kù)備用。由此可以看出,在整個(gè)加工前后,刀具及其附件都作為一個(gè)整體使用,因而一把刀具只對(duì)應(yīng)一根刀柄(刀桿),相應(yīng)地刀具這一實(shí)體與刀桿的關(guān)系也就變成了1∶1。同理可知,一把刀具所對(duì)應(yīng)的宏觀、微觀幾何參數(shù)也是唯一的。所以刀具這一實(shí)體與宏觀、微觀幾何參數(shù)的關(guān)系都是1∶1。
在以上工作完成后,運(yùn)用數(shù)據(jù)庫(kù)技術(shù)的相關(guān)知識(shí),可以將圖2所示的實(shí)體關(guān)系模型轉(zhuǎn)化為相應(yīng)的SQL語(yǔ)句,依托數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件MySQL,可以利用這些SQL語(yǔ)句將實(shí)體關(guān)系模型轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)表。與模型相關(guān)的各種參數(shù)以及圖片、CAD模型信息就存儲(chǔ)在數(shù)據(jù)表內(nèi)。各實(shí)體之間按照1∶1,1∶n,m∶n的對(duì)應(yīng)關(guān)系在各個(gè)數(shù)據(jù)表內(nèi)設(shè)置相應(yīng)的主鍵與外鍵,從而在數(shù)據(jù)庫(kù)層面實(shí)現(xiàn)這些關(guān)聯(lián)[3]。
圖2 刀具模塊的實(shí)體關(guān)系模型
現(xiàn)實(shí)世界中的事物之間存在著普遍的聯(lián)系,這種聯(lián)系反映在數(shù)據(jù)庫(kù)中就表現(xiàn)為數(shù)據(jù)之間的依賴性,并且這種依賴性普遍存在[4]。對(duì)于刀具而言,這種依賴性主要表現(xiàn)在各幾何參數(shù)之間的相互聯(lián)系、相互制約的關(guān)系。立銑刀常用于加工槽與直線輪廓、型腔、型芯、曲面外形/輪廓,其結(jié)構(gòu)及相關(guān)參數(shù)如圖3所示。這些重要參數(shù)分別是:刀具直徑Do、螺旋股數(shù)Nf、前角a、螺旋角c、后角b、倒角r1、公稱長(zhǎng)度GL、刀具長(zhǎng)度TL、螺旋長(zhǎng)度FL以及中心直徑Dc。
按照刀具幾何學(xué)中的相關(guān)規(guī)定[5],前角a、后角b以及楔角β之間存在以下數(shù)值關(guān)系:
(1)
圖3 立銑刀結(jié)構(gòu)示意圖
由于楔角β不等于0°,因而前角、后角必須滿足下面的數(shù)學(xué)關(guān)系:
(2)
考慮到刀具強(qiáng)度以及銑削加工的實(shí)際情況,立銑刀的前角、后角以及螺旋角還需滿足如下關(guān)系:
(3)
(4)
(5)
由于刀具幾何結(jié)構(gòu)本身存在的特點(diǎn),刀具的直徑以及長(zhǎng)度參數(shù)還需滿足以下關(guān)系:
(6)
(7)
(8)
對(duì)于立銑刀而言,每個(gè)切削刃都對(duì)應(yīng)一股螺旋,所以螺旋股數(shù)與刀具齒數(shù)相等。而刀具齒數(shù)是按照被加工平面的面積以及機(jī)床的功率來(lái)選擇的。在粗銑過(guò)程中最好使用低齒數(shù)的銑刀,而精銑過(guò)程中最好采用高齒數(shù)的銑刀。通用的刀具齒數(shù)在1~5之間,多于5齒的刀具也被廣泛使用[6]。因此刀具齒數(shù)不應(yīng)被限定在某一確定數(shù)值范圍內(nèi),而只需滿足最基本的條件即可:
(9)
式中:N為整數(shù)。
本文用戶界面采用具有C++代碼編譯、實(shí)現(xiàn)功能的軟件Qt實(shí)現(xiàn),并且利用C++代碼實(shí)現(xiàn)約束條件。接下來(lái)要解決的是代碼如何發(fā)揮作用的問(wèn)題。按照前面的分析可知,當(dāng)用戶通過(guò)界面進(jìn)行一項(xiàng)或幾項(xiàng)操作時(shí),該代碼就應(yīng)該被激活,并且對(duì)所有操作進(jìn)行判斷與過(guò)濾,從而對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。這種運(yùn)作機(jī)制十分類似于Qt中自帶的信號(hào)-槽(Signal-Slot)機(jī)制。所謂的信號(hào)(Signal)指的是一種操作,如雙擊鼠標(biāo)、輸入字符等。而槽(Slot)指的是一種或幾種特定的功能,如打開(kāi)對(duì)話框、關(guān)閉頁(yè)面等。信號(hào)通過(guò)界面的元素(如按鈕、文本框等)把槽激活,從而進(jìn)行一系列動(dòng)作。這種機(jī)制完全滿足約束條件的實(shí)現(xiàn)要求[7]。根據(jù)式(2)~(9)的數(shù)學(xué)關(guān)系式可以總結(jié)出針對(duì)立銑刀的約束條件。這些條件在轉(zhuǎn)化成代碼以前需要確定程序流程圖(如圖4所示),以確保代碼在邏輯上的正確性。
在實(shí)現(xiàn)了約束條件以后還需要輸入一些具有代表性的測(cè)試數(shù)據(jù)(即不符合約束條件的數(shù)據(jù))以檢測(cè)該約束的正確性。測(cè)試數(shù)據(jù)見(jiàn)表1。在輸入了這些測(cè)試數(shù)據(jù)后,系統(tǒng)會(huì)自動(dòng)彈出提示信息,如圖5所示(由于提示信息內(nèi)容類似,本文僅展示其中的兩種提示信息)。由圖可見(jiàn),這些提示信息與期望的反饋完全一致,從而驗(yàn)證了約束條件實(shí)現(xiàn)代碼的正確性。
圖4 立銑刀約束條件程序流程圖
表1測(cè)試數(shù)據(jù)以及期望反饋的信息