計算機輔助設(shè)計(CAD)技術(shù)在機床設(shè)計應(yīng)用
隨著科學(xué)技術(shù)的進步,現(xiàn)代制造業(yè)正朝高速、高效和高精度方向發(fā)展,對機床結(jié)構(gòu)和性能提出了越來越高的要求。因此,如何適應(yīng)市場需求,在復(fù)雜多變的市場經(jīng)濟中,快速高質(zhì)量地設(shè)計制造出市場所需的切削加工設(shè)備是制造行業(yè)競爭的焦點。所以將計算機輔助設(shè)計(CAD)技術(shù)應(yīng)用到機床設(shè)計當中一直是眾多廠家的愿望。以前的CAD軟件大都采用面向過程的設(shè)計方法編寫,不可避免的存在系統(tǒng)開發(fā)速度慢,周期長,費用高,軟件質(zhì)量差,可讀性、可靠性、易維護性差等缺陷。隨著計算機技術(shù)的發(fā)展和廣泛應(yīng)用,設(shè)計的方法和手段也隨之不斷改進和完善。面向?qū)ο蠓椒ㄕ鹑藗兊年P(guān)注和重視。對象是對現(xiàn)實世界基本成分的一種抽象,每個對象都有其自身的運行規(guī)律(行為)和內(nèi)部狀態(tài)(屬性)。通過類比把具有相同或相似屬性和行為的對象抽象形成對象類(歸納),對象類之間還可以通過繼承機制,使得子對象類具有某些父對象類的屬性和行為,形成層次結(jié)構(gòu)(演繹),不同的對象類的組合及相互作用(通過消息實現(xiàn))就構(gòu)成了我們所要研究和分析的客觀系統(tǒng)。面向?qū)ο蟮能浖_發(fā)關(guān)鍵是建立一個統(tǒng)一的模型———對象模型,充分分析對象以及對象之間的關(guān)系和作用,對分析的模型加以細化、調(diào)整,實現(xiàn)概念模型到計算機模型的面向?qū)ο筠D(zhuǎn)化,最后用面向?qū)ο蟮恼Z言實現(xiàn)該模型。

2 模型建立
根據(jù)面向?qū)ο蟮姆椒ā⒃砗蜋C床主傳動系統(tǒng)的特點,首先要建立主傳動系統(tǒng)的對象模型。基于對象的劃分原則,整個系統(tǒng)由以下不同的對象類組成,如圖1所示。在模型的層次結(jié)構(gòu)中上層與下層對象類既有包含與被包含的關(guān)系,也有繼承與被繼承的關(guān)系,從上到下,從整體到局部把系統(tǒng)逐步細化,分解成容易管理與設(shè)計的各個對象類。還可以這些對象為基類再派生出一些子類,使得對象更加具體與簡單,如:齒輪類可以派生出兩個子類,固定齒輪類和滑移齒輪類等。這樣整個系統(tǒng)的設(shè)計就演化成對各個子類的設(shè)計和類與類之間關(guān)系的分析與實現(xiàn)上。
3 模型設(shè)計
在對象模型的基礎(chǔ)上,再對每個對象類進行詳細設(shè)計,分析出每個對象類的屬性和方法,形成系統(tǒng)的概念模型,用表達式A:{b,c,d,e,…}表示,其含義為A有屬性b,c,d,e…。例如:
主軸類:{軸端類型,軸承配置形式,前軸承直徑,后軸承直徑,內(nèi)孔直徑,齒輪處直徑,主軸跨距,主軸支撐形式}
固定齒輪類:{模數(shù),齒數(shù),孔徑,鍵高,鍵寬,軸鍵槽深度,輪轂鍵槽深,類型}
軸承類:{軸承類型,小徑,大徑,寬度,額定動載荷,額定靜載荷,小徑最小安裝尺寸,大徑最大安裝尺寸}
螺紋類:{類型,螺紋大徑,小徑,中徑,長度}
節(jié)點類:{子節(jié)點的數(shù)目,父節(jié)點指針,子節(jié)點指針,數(shù)據(jù)項,作圖標志}
傳動級類:{主動齒數(shù),被動齒數(shù),傳動副數(shù),級比指數(shù),傳動比,父節(jié)點數(shù)目}
…………………………………………
其中:節(jié)點類和傳動級類屬于中間設(shè)計所需類,用于轉(zhuǎn)速圖和傳動系統(tǒng)圖的實現(xiàn)。
在對象模型和屬性分析的基礎(chǔ)上,便可以用面向?qū)ο蟮挠嬎銠C語言將這些對象類表達出來,實現(xiàn)現(xiàn)實中的概念模型向計算機內(nèi)的邏輯模型的轉(zhuǎn)化,通過一定的算法和運行環(huán)境機制最終完成軟件的設(shè)計。
4 系統(tǒng)實現(xiàn)
在對象模型和概念模型的基礎(chǔ)上將整個軟件的設(shè)計分解成5個子模塊:運動參數(shù)設(shè)計模塊、傳動零件初步計算模塊、操縱機構(gòu)模塊、繪制裝配草圖模塊、零件校核模塊。通過這5個模塊逐步實現(xiàn)對每個對象的設(shè)計,從而完成系統(tǒng)的設(shè)計。本軟件使用C++語言,開發(fā)工具是Visual C++ 6.0,運行環(huán)境是Windows 95/98或Windows NT。現(xiàn)以固定齒輪類為例,說明類的描述。
ClassCFixGear //固定齒輪類
{
private:
float modula: //模數(shù)
int numberofchishu: //齒數(shù)
int innerdiameter: //孔徑
int jianhigh: //鍵高
……
public:
CMainAxisPart(): //構(gòu)造函數(shù)
~CMainAxisPart(): //析構(gòu)函數(shù)
void GetXXX(): //獲得當前齒輪狀態(tài)的函數(shù)
…………………
void SetXXX(XXXxxx): //設(shè)置齒輪狀態(tài)函數(shù)
…………………
fload CalTouch(): //按接觸疲勞強度計算模數(shù)
fload CalBend(): //按彎曲疲勞強度計算模數(shù)
int JiaoHe(floadm,intz): //校核齒輪
void OnDraw(CDCpDC,CPointpoint)://在顯示設(shè)備中畫出齒輪
……………………
}
各個類之間的數(shù)據(jù)協(xié)調(diào)與傳遞是通過消息機制和Visual C++特有的文檔類視圖類的結(jié)構(gòu)實現(xiàn)的,如圖2所示。由圖知通過這些聯(lián)系可將所有彼此相互獨立的對象類有機地結(jié)合起來,并且這種結(jié)構(gòu)是低耦合度、高聚合度的,某個類的改變對其它類影響極小,只有消息的改變,其相應(yīng)的對象才有相應(yīng)的反應(yīng),表現(xiàn)出相應(yīng)的形態(tài)。

通過這些類的定義、函數(shù)的實現(xiàn)和類之間聯(lián)系,可方便地實現(xiàn)系統(tǒng)中的每個模塊,快速開發(fā)出相應(yīng)的CAD軟件。同時類具有繼承性、多態(tài)性、易理解性和可擴充性,這使得所開發(fā)出的軟件易維護,功能易擴充,代碼可重用,系統(tǒng)升級、修改變得簡單容易。
5 數(shù)據(jù)庫設(shè)計
在機床設(shè)計中需要查閱大量的數(shù)據(jù)、資料,一般全都是靠人的手工去查詢,既繁瑣又容易出錯。在本系統(tǒng)中運用數(shù)據(jù)庫技術(shù)將這些數(shù)據(jù)、資料整理匯總成數(shù)據(jù)庫,包括如下表項:齒輪齒數(shù)庫、齒輪材料庫、各類軸承庫、螺紋庫、典型主軸組件庫、零件驗算所需的參數(shù)庫等。數(shù)據(jù)庫是用微軟的SQL Server實現(xiàn)的,應(yīng)用程序與數(shù)據(jù)庫的接口用的是ODBC技術(shù)。Visual C++對ODBC的支持是通過CRecordSet類和CDatabase類實現(xiàn)的,在應(yīng)用程序中生成一個CRecoedSet的派生類和CDatabase實例就可以方便、快速、安全地與任何一個支持ODBC的數(shù)據(jù)庫相連。
我們按上述方法研制出了較實用的車床主傳動CAD系統(tǒng),試用效果良好。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。