天才教育網(wǎng)合作機(jī)構(gòu) > 設(shè)計(jì)軟件培訓(xùn)機(jī)構(gòu) > CAD培訓(xùn)機(jī)構(gòu) >

廣州特種行業(yè)培訓(xùn)網(wǎng)

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:設(shè)計(jì)軟件培訓(xùn)資訊 > CAD培訓(xùn)資訊 > 基于B/S模式的鈑金展開/切割CAD/CAM系統(tǒng)研發(fā)

基于B/S模式的鈑金展開/切割CAD/CAM系統(tǒng)研發(fā)

日期:2021-06-24 21:09:16     瀏覽:339    來源:廣州特種行業(yè)培訓(xùn)網(wǎng)
江蘇* 劉會(huì)霞 梁佳洪 王霄
摘要:建立了基于B/S模式的鈑金展開CAD/CAM系統(tǒng)。論述了基于ASP理念鈑金展開/切割CAD/CAM系統(tǒng)的計(jì)算模型和編程原理、用戶身份認(rèn)證機(jī)制、零件信息輸入與處理,NC指令生成及瀏覽器端的動(dòng)態(tài)加工模擬、系統(tǒng)管理機(jī)制等關(guān)鍵技術(shù)及實(shí)現(xiàn)方法。
關(guān)鍵詞:鈑金展開;CAD/CAM;ASP;B/S模式

1 引言

近年來,出現(xiàn)一種新的軟件部署模式,即所謂的應(yīng)用服務(wù)供應(yīng)商ASP。根據(jù)美國信息技術(shù)協(xié)會(huì)的定義,ASP是指那些通過因特網(wǎng)或者私人局域網(wǎng)向定購者/客戶遠(yuǎn)程提供并管理應(yīng)用與計(jì)算機(jī)服務(wù)的企業(yè)。通俗地說,ASP是一種業(yè)務(wù)租賃模式,是一種將應(yīng)用系統(tǒng)通過互聯(lián)網(wǎng)發(fā)布、管理和使用的商業(yè)模式,一種企業(yè)外包IT業(yè)務(wù)的租賃模式。企業(yè)用戶可以直接租用ASP的計(jì)算機(jī)及軟件系統(tǒng)進(jìn)行自己的業(yè)務(wù)管理,任何用戶只要有網(wǎng)絡(luò)瀏覽器,就可以向ASP租用所需軟件,而不必在本地的機(jī)器上安裝該軟件??蛻粼僖膊槐刭徺I軟件或者為取得授權(quán)而支付昂貴的費(fèi)用;相反,他們只須在需要的時(shí)候使用某些服務(wù),并且相應(yīng)地付少量的費(fèi)用,從而節(jié)省一大筆用于IT產(chǎn)品技術(shù)的資金。因此,ASP被認(rèn)為是繼ISP、ICP后,IT領(lǐng)域的又一場革命。

本文根據(jù)Internet/Web分布式網(wǎng)絡(luò)計(jì)算與網(wǎng)絡(luò)安全支持技術(shù),開發(fā)了”基于ASP理念的鈑金展開CAD/CAM系統(tǒng)”。這不僅僅是一個(gè)基于ASP理念的、基于B/S分布計(jì)算模式的、支持多用戶的鈑金展開CAD/CAM的原型系統(tǒng),而且是一種服務(wù),一種客戶無需購買專門的軟件,只需為他所需要的功能付費(fèi)的服務(wù)。通過這種系統(tǒng),客戶花很少的錢就可以得到專業(yè)的服務(wù),不必再為不需要的功能承當(dāng)額外的費(fèi)用,體現(xiàn)了ASP理念的核心和本質(zhì)。

基于ASP理念的鈑金展開CAD/CAM系統(tǒng)結(jié)構(gòu)如圖1所示:


圖1 鈑金展開CAD/CAM系統(tǒng)結(jié)構(gòu)圖

其中,身份認(rèn)證模塊包括:用戶注冊、用戶登錄、用戶注銷、用戶查看使用日志、用戶查看和修改個(gè)人信息等功能;而系統(tǒng)管理模塊包括:用戶本身信息管理,系統(tǒng)管理員登錄、查看用戶意見、管理所有的帳戶等功能。

2 計(jì)算模型和編程原理

在網(wǎng)絡(luò)平臺上要實(shí)現(xiàn)應(yīng)用系統(tǒng)的開發(fā),計(jì)算模式的選擇是一件至關(guān)重要的事。傳統(tǒng)的客戶機(jī)/服務(wù)器計(jì)算模式一般都是“胖客戶端”模式,客戶機(jī)上除負(fù)責(zé)圖形顯示和事件輸入外,應(yīng)用邏輯和業(yè)務(wù)處理規(guī)則可能一并(或部分)置于客戶機(jī)上,造成客戶機(jī)越來越“胖”,也使得開發(fā)的著力點(diǎn)主要落在客戶機(jī)端。由于客戶機(jī)端配置了大量的應(yīng)用邏輯和業(yè)務(wù)處理規(guī)則、軟件以及開發(fā)工具軟件,使得軟件的變動(dòng)與版本升級以及硬件平臺的適應(yīng)能力,牽動(dòng)著系統(tǒng)中所有的客戶機(jī),勢必造成資金開銷的增加與管理維護(hù)的難度。90年代中期,逐漸形成一種新的基于瀏覽器、WWW服務(wù)器和應(yīng)用服務(wù)器的計(jì)算模式—B/S計(jì)算模式。這種新型的計(jì)算模式繼承和共融了原來傳統(tǒng)的C/S(客戶機(jī)/服務(wù)器)計(jì)算模式的網(wǎng)絡(luò)軟、硬件平臺和應(yīng)用,但它具有傳統(tǒng)的C/S模式所不具有的很多特點(diǎn):更加開放,與軟、硬件無關(guān),開發(fā)速度快、生命周期長,應(yīng)用擴(kuò)充和系統(tǒng)維護(hù)升級方便等。B/S模式的主流語言是Java、HTML等。由于瀏覽器、Java、HTML以及數(shù)據(jù)庫資源都可以做到與軟、硬件平臺無關(guān),因此,B/S模式真正實(shí)現(xiàn)與平臺無關(guān)性。兩種計(jì)算模式的比較如表1所示。

表1 C/S模式和B/S模式的比較

B/S模式下,把應(yīng)用邏輯和業(yè)務(wù)處理規(guī)則放在服務(wù)器一側(cè),這樣的結(jié)構(gòu),客戶機(jī)可以做得盡可能的“瘦”,其功能可能只是一個(gè)多媒體瀏覽器和Java虛擬機(jī)。

本系統(tǒng)就是采用B/S模式,結(jié)構(gòu)如圖2所示:


圖2 B/S計(jì)算模式結(jié)構(gòu)圖

客戶端開發(fā)語言選擇的正確與否對減輕服務(wù)器端負(fù)荷、真正實(shí)現(xiàn)B/S模式有重要的影響。Java語言是一種適用于網(wǎng)絡(luò)編程的語言,它采用先編譯成中間碼(字節(jié)碼),然后裝載與校驗(yàn),再解釋成機(jī)器碼來執(zhí)行,即“JVM”(Java虛擬機(jī))的思想。它“屏蔽”了具體的“平臺環(huán)境”特性要求:只要能支持JVM的機(jī)器,就可運(yùn)行各種Java程序??梢哉f,Java不僅僅是一種語言,更重要是一種區(qū)別于傳統(tǒng)系統(tǒng),遵循“網(wǎng)絡(luò)就是計(jì)算機(jī)”信條的平臺技術(shù)。Java平臺將面向?qū)ο笙到y(tǒng)擴(kuò)展成包括程序和數(shù)據(jù)的網(wǎng)絡(luò)計(jì)算機(jī),而這個(gè)平臺的核心就是JVM,許多使Java成為萬能開發(fā)平臺的屬性都源于JVM的概念和實(shí)現(xiàn)。由于Java是跨平臺的,用Java開發(fā)出來的軟件,只需編譯一次,無需做任何修改,就可以在所有的支持JVM的操作系統(tǒng)上運(yùn)行。因此,開發(fā)者就不必為每一種操作系統(tǒng)單獨(dú)開發(fā)相應(yīng)的軟件。軟件升級時(shí),只需對服務(wù)提供者的那一份升級即可,大大地降低了軟件開發(fā)和維護(hù)的成本。

Java語言提供一種新的機(jī)制擴(kuò)充HTML的功能,即通過Applet標(biāo)記把編譯獲得的Java代碼以文件的形式插入HTML文件中,這些編譯獲得的Java代碼中包括一些只需在客戶端完成的功能,如數(shù)據(jù)檢查。當(dāng)用戶瀏覽Applet所在的Web頁面時(shí),Ap plet被下載到用戶客戶端,并啟動(dòng)執(zhí)行,用戶像使用本地應(yīng)用程序一樣進(jìn)行操作,既減輕了服務(wù)器端負(fù)荷,又省去了網(wǎng)絡(luò)傳輸?shù)臅r(shí)間,提高了網(wǎng)絡(luò)的交互性和實(shí)時(shí)性。

鈑金展開CAD/CAM系統(tǒng)的客戶端是純JavaApplet和一個(gè)Java虛擬機(jī),服務(wù)器端則是JSP+JavaBean+DBS(數(shù)據(jù)庫服務(wù)器)??蛻糁灰軌蜻B入Internet,使用瀏覽器就可以使用此服務(wù),軟件的安裝是自動(dòng)進(jìn)行的,軟件的升級是由服務(wù)提供者完成的,客戶完全不需擔(dān)心。

3 關(guān)鍵技術(shù)

3.1 用戶身份認(rèn)證機(jī)制

客戶的注冊、登錄對于整個(gè)系統(tǒng)的維護(hù)是十分重要的。由于此系統(tǒng)是付費(fèi)系統(tǒng),它只支持受限的匿名登錄,即匿名登錄者可以瀏覽網(wǎng)頁,但無權(quán)使用服務(wù)。系統(tǒng)在客戶初次進(jìn)入系統(tǒng)時(shí),自動(dòng)為每位客戶建立帳號,并且把客戶的信息載入信息數(shù)據(jù)庫。客戶以后只需憑帳號和密碼就可以進(jìn)入系統(tǒng),這樣方便了客戶進(jìn)入系統(tǒng),又方便了對客戶的管理。為防止產(chǎn)生了帳號被盜用的問題,在設(shè)計(jì)用戶身份認(rèn)證時(shí),首先要重點(diǎn)考慮的是安全性。

因?yàn)榘踩躁P(guān)系到整套軟件的信譽(yù),所以在開發(fā)本系統(tǒng)時(shí),在安全性方面作了很大的努力。本系統(tǒng)的安全性主要表現(xiàn)在:

(1)選用具有很高安全性的開發(fā)語言JAVA,使得系統(tǒng)增強(qiáng)了安全性。
(2)用戶必須輸入正確的帳號及密碼,才能進(jìn)入鈑金設(shè)計(jì)頁面。
(3)在用戶登錄期間,任何人都不能再使用這個(gè)帳號。
(4)當(dāng)黑客試圖要破解用戶帳號的密碼時(shí),在四次輸入錯(cuò)誤密碼后,會(huì)自動(dòng)掛起帳號,防止用戶帳號被竊。用戶可通過聯(lián)系系統(tǒng)管理員恢復(fù)帳號。
(5)用戶想繞開登錄而直接打開鈑金設(shè)計(jì)頁面是不行的(即使用戶知道頁面的URL地并通過地址欄直接輸入地址也不行),只有登錄后才能訪問。具體實(shí)現(xiàn)是在JSP頁面中加上
圖4 管件類型選擇與參數(shù)輸入界面

待用戶選擇了相應(yīng)的展開類型及輸入相應(yīng)的參數(shù)后,并點(diǎn)擊提交后,Applet檢查用戶輸入的參數(shù)是否為合法數(shù)據(jù):若非法,則提示用戶輸入的參數(shù)不合法;否則,Applet給web服務(wù)器發(fā)消息請求web服務(wù)器計(jì)費(fèi)。web服務(wù)器向數(shù)據(jù)庫服務(wù)器請求查詢該用戶的帳戶余額是否足:如果余額不足,給Applet發(fā)送消息,提示用戶的帳戶余額不足,請交費(fèi)后再使用;如果余額足,在用戶的帳戶上扣除相應(yīng)的費(fèi)用,并計(jì)算出必要的數(shù)據(jù)返回給Applet。Applet接收到Web服務(wù)器的數(shù)據(jù)后,該系統(tǒng)即可按照用戶的要求,繼續(xù)生成相應(yīng)的展開圖形和進(jìn)行加工模擬,并以文本方式返回圖形數(shù)據(jù)文件及數(shù)控代碼。

3.3 展開圖形

此功能的實(shí)現(xiàn)主要是借助Java語言的類庫中提供的豐富的繪圖方法,其中,絕大部分對圖形、文本、圖像的操作方法都定義在Graphics類中,Graphics類繼承了Object類。關(guān)于Graphics類JBuilder的隨機(jī)文檔中有詳細(xì)的說明;若想進(jìn)一步了解API和開發(fā)文檔,可以訪問SUN公司網(wǎng)頁http://java.sun.com./prod ucts/jdk/1.4/devdocs-v2-specs-html。在使用Graphics類時(shí),要在程序的開頭加上下面的語句:importjava.awt.Graphics

為了將某一圖形在屏幕上繪制出來,還需要知道圖形坐標(biāo)系統(tǒng)。與大多數(shù)其他計(jì)算機(jī)圖形坐標(biāo)系統(tǒng)所采用的二維坐標(biāo)系統(tǒng)一樣,Java的坐標(biāo)原點(diǎn)(0,0)在屏幕的左上角,水平向右為X軸的正方向,豎直向下為Y軸的正方向;每個(gè)坐標(biāo)點(diǎn)的值表示屏幕上的一個(gè)象素點(diǎn)的位置。因此,所有坐標(biāo)點(diǎn)的值都取整數(shù)。將展開圖形在屏幕上繪制出來,主要是調(diào)用Graphics類的draw Line(intx1,inty1,intx2,inty2)方法:

publicvoidpaint(Graphicsg,CanvasmyCanvas){
doublestartPointX,startPointY; //定義繪圖起始點(diǎn)
g=myCanvas.getGraphics(); //取得畫布對象
· //這里畫出管的展開圖
·
}

生成展開圖和進(jìn)行加工模擬的界面如圖5所示:


圖5 系統(tǒng)生成展開圖形和數(shù)據(jù)文件的界面圖

3.4 加工模擬

加工模擬功能主要是為了讓用戶感性地認(rèn)識生成的數(shù)控指令在實(shí)際加工時(shí)的走刀路徑,實(shí)質(zhì)是一個(gè)動(dòng)畫,其原理是利用人的“視覺暫留”,快速地切換畫面。Java實(shí)現(xiàn)動(dòng)畫有兩種方法:一種是在“繪制”和“清除”間相互切換,另一種是在原有的畫面上逐漸添加?xùn)|西。此系統(tǒng)實(shí)現(xiàn)的加工模擬的圖形是逐漸生成的,因此采用第二種方法。在繪制圖形時(shí),是一點(diǎn)一點(diǎn)繪出來的,并在每兩次繪圖之間讓線程休眠一段時(shí)間,這樣就實(shí)現(xiàn)加工模擬的動(dòng)畫。線程休眠的方法如下:

try{
Thread.sleep(5);//此處指定線程休眠的時(shí)間,單位是毫秒
}
catch(InterruptedExceptione){}

3.5 生成數(shù)據(jù)文件

為了方便放樣的用戶,本系統(tǒng)提供了展開圖形的數(shù)據(jù)文件,在輸出圖形數(shù)據(jù)文件的界面里,左邊是對應(yīng)的展開圖,右邊是圖形數(shù)據(jù)文件,如圖5所示:

用戶手工地把這些數(shù)據(jù)復(fù)制粘貼下來,保存為文本文件,然后就可以非常方便地根據(jù)這些數(shù)據(jù)進(jìn)行放樣。

3.6 生成數(shù)控指令

數(shù)控指令的生成是本系統(tǒng)的一個(gè)很重要的模塊,由于鈑金展開比較麻煩,為方便用戶,系統(tǒng)提供自動(dòng)生成數(shù)控指令功能,具體生成激光切割方式下的數(shù)控指令的主要過程如下:

publicvoidNCInstrumnetOut(TextAreaNCInstrument){//生成相應(yīng)類型的鈑金件的數(shù)控//指令,并且將生成的數(shù)控指令寫在TextAreaNCInstrument中
NCInstrument.append("%NDJZJP1MPF"+‘ ‘);//輸出文件名
NCInstrument.append("F3000"+‘ ‘);//確定速度
NCInstrument.append("G91"+‘ ‘);//相對坐標(biāo)編程
NCInstrument.append("G64"+‘ ‘);//平滑過度
NCInstrument.append("G00X"+String.valueOf((double)ex).toString()+"Y"+String.valueOf((double)ey).toString()+‘ ‘);//快速定位到加工曲線部分的起點(diǎn)
NCInstrument.append("MM10"+‘ ‘);//隨動(dòng)啟動(dòng)
NCInstrument.append("SUB1"+‘ ‘);//打開機(jī)械閥打孔{//輸出加工內(nèi)輪廓曲線部分的數(shù)控指令  
·  
·  
·  }
NCInstrument.append("M21"+‘ ‘);//關(guān)閉電子閥
NCInstrument.append("GOOXOYO"+‘ ‘);
NCInstrument.append("SUB2"+‘ ‘);//打開電子閥
{//輸出加工外輪廓的數(shù)控指令
·
·
·  }
NCInstrument.append("M13"+‘ ‘);//關(guān)閉機(jī)械光閥
NCInstrument.append("M11"+‘ ‘);//隨動(dòng)關(guān)
NCInstrument.append("M30"+‘ ‘);//程序結(jié)束
}

3.7 系統(tǒng)管理機(jī)制

本系統(tǒng)采用SQlServer作為后臺數(shù)據(jù)庫管理系統(tǒng),用來管理所有的客戶的信息和提供客戶個(gè)人信息管理。管理員憑管理員帳戶登陸后,實(shí)現(xiàn)對所有帳戶的管理:丟失或遺忘密碼時(shí),密碼的返還;查看用戶意見,以便更好地為客戶服務(wù),以及其它的一切日常維護(hù)等。用戶登陸后,進(jìn)入個(gè)人信息頁面,可以修改個(gè)人信息,然后重新提交服務(wù)器,服務(wù)器將自動(dòng)對存儲在數(shù)據(jù)庫管理系統(tǒng)中的客戶個(gè)人信息進(jìn)行更新,方便而且安全。

4 結(jié)束語

基于B/S模式的鈑金展開CAD/CAM系統(tǒng)是采用純Java語言開發(fā)出來的軟件,只需編譯一次,無需做任何修改,就可以在所有的支持JVM(Java虛擬機(jī))的操作系統(tǒng)上運(yùn)行??蛻舳瞬捎肑avaApplet,客戶連入Internet,使用瀏覽器注冊、登陸系統(tǒng),軟件即自動(dòng)安裝,客戶就可以使用系統(tǒng)服務(wù),軟件的升級是由服務(wù)提供者完成的。系統(tǒng)通過程序?qū)崿F(xiàn)將展開圖形自動(dòng)畫在屏幕上;利用程序計(jì)算生成的數(shù)據(jù),自動(dòng)生成數(shù)控指令,既快速正確,同時(shí)又有很高的精度,大大降低了對操作者的要求。該系統(tǒng)在信息的發(fā)布和提供、軟件版本的升級和維護(hù)等方面具有很大的優(yōu)越性,具有廣泛的應(yīng)用前景。
如果本頁不是您要找的課程,您也可以百度查找一下: