解決方案主要分為4個(gè)模塊,分別是零件模型服務(wù)端、插件客戶端、網(wǎng)頁(yè)門戶端以及后臺(tái)管理端。
后臺(tái)管理端是系統(tǒng)管理員登錄的網(wǎng)頁(yè)客戶端,用戶可以對(duì)當(dāng)前系統(tǒng)中的零件模型進(jìn)行維護(hù)、設(shè)置用戶和訪問(wèn)權(quán)限,查看數(shù)據(jù)統(tǒng)計(jì)分析。
網(wǎng)頁(yè)門戶端支持對(duì)模型的瀏覽器查詢檢索,查看零部件詳情,編輯和零件參數(shù),下載和使用零件模型。
插件客戶端,支持設(shè)計(jì)工程師方便快速的查詢和檢索到需要的零件,支持下載零件調(diào)用到自己的設(shè)計(jì)中,支持將設(shè)計(jì)好的零件上傳的零件庫(kù)。
服務(wù)端分為數(shù)據(jù)庫(kù)部分和模型處理部分。零部件庫(kù)是系統(tǒng)的核心數(shù)據(jù)庫(kù),用于存儲(chǔ)模型文件及分類,參數(shù)定義等相關(guān)信息。參數(shù)數(shù)據(jù)庫(kù)用于存儲(chǔ)零部件的參數(shù)數(shù)據(jù)信息。圖文詳情庫(kù)用戶存儲(chǔ)網(wǎng)頁(yè)端的圖文展示。用戶數(shù)據(jù)庫(kù)用于儲(chǔ)存用戶信息及權(quán)限信息。輕量化處理用于將三維模型輕量化處理,便于在網(wǎng)頁(yè)端瀏覽查看。輕量化預(yù)覽,即是在網(wǎng)頁(yè)端和插件客戶端瀏覽查看。三維模型參數(shù)修改,修改后可以通過(guò)SolidworksAPI進(jìn)行即時(shí)驅(qū)動(dòng),然后進(jìn)行輕量化處理,將結(jié)果反饋給前端進(jìn)行顯示。
1.2 后臺(tái)管理
用戶管理可以對(duì)系統(tǒng)使用用戶進(jìn)行管理操作。
對(duì)用戶進(jìn)行分組,分角色,按角色和組進(jìn)行授權(quán),便于用戶訪問(wèn)不同的零件庫(kù)。
零件分類管理的主要目的是對(duì)已有的設(shè)計(jì)信息進(jìn)行歸類,并賦予一定屬性和方法,使用戶能夠在共享環(huán)境中高效地查詢文檔、數(shù)據(jù)、零件、標(biāo)準(zhǔn)件等對(duì)象,最大限度地發(fā)揮已有設(shè)計(jì)成果,為開(kāi)發(fā)新產(chǎn)品及設(shè)計(jì)重用提供技術(shù)支持。通過(guò)零件分類管理,可以實(shí)現(xiàn):
分類結(jié)構(gòu)定義:對(duì)企業(yè)現(xiàn)有的產(chǎn)品及組成產(chǎn)品的零部件,可按照分組、分類的方式進(jìn)行管理。
分類庫(kù)建立:可以針對(duì)具體的分類,定義適合企業(yè)實(shí)際情況的產(chǎn)品及零部件的物理屬性、幾何屬性和材料屬性等技術(shù)參數(shù)(如物碼、物料名稱、物料分類、物料狀態(tài)、物料來(lái)源、計(jì)量單位、材料、重量、重量單位等),且屬性都可由企業(yè)用戶根據(jù)需要自定義維護(hù)。
分類庫(kù)查詢使用:依據(jù)具體類的屬性定義和屬性值,提供了基于屬性信息的查詢的方式,既支持具體屬性值的精確查詢,也支持某一范圍的模糊查詢。
為了保證零件從設(shè)計(jì)環(huán)節(jié)到工藝環(huán)節(jié)到生產(chǎn)環(huán)節(jié)的流通,需要定義零件的管理參數(shù),如編碼、名稱、特性(自制、外購(gòu)、外協(xié)..)、凈重、描述等信息,也即圖紙明細(xì)欄相關(guān)信息。
其次,零件特征分類管理,是指在成組技術(shù)和零件族管理的基礎(chǔ)上,借助類的管理模式,對(duì)零件、產(chǎn)品等對(duì)象進(jìn)行有效管理的一種方式。打破了過(guò)去僅以隸屬關(guān)系管理產(chǎn)品及零部件的縱向管理方式,引入以功能、用途、結(jié)構(gòu)等特征因素進(jìn)行分類的橫向管理方式,優(yōu)化企業(yè)對(duì)零部件、產(chǎn)品等信息的管理。
特征分類屬性,即對(duì)零件進(jìn)行特征分類,定義每一類的特征屬性,關(guān)鍵參數(shù),如用途、幾何尺寸、工藝等重要信息。在產(chǎn)品設(shè)計(jì)以及分類統(tǒng)計(jì)等實(shí)際應(yīng)用中,可以通過(guò)這些特征屬性,實(shí)現(xiàn)快速的分類和查詢。提供重用,避免重復(fù)設(shè)計(jì)
零件特征屬性,作為分類管理中的重要查詢依據(jù),由設(shè)計(jì)人員或者標(biāo)準(zhǔn)化人員根據(jù)各個(gè)類的實(shí)際應(yīng)用、查詢需求而定義的。屬性的定義與企業(yè)的實(shí)際應(yīng)用、零部件的查詢效果密切相關(guān),因此需要專業(yè)人員事先定義好,實(shí)施人員僅提供屬性定義原則以供參考。在后期的使用中,也需要做好分類管理的維護(hù),實(shí)現(xiàn)分類管理的有效使用,屬性定義的優(yōu)劣直接關(guān)系著分類管理的成敗。
零件界面管理,是為新添加的零件分類和參數(shù)指定界面對(duì)象,用來(lái)生成修改界面列表。
在添加了新的零件后,可以為其每個(gè)參數(shù)配置顯示在界面上的標(biāo)簽信息,說(shuō)明文字。可以設(shè)置參數(shù)是否可以修改,是否顯示。根據(jù)參數(shù)的類型不同,界面顯示和修改的方法也不同。對(duì)于字符串、整數(shù)或者小數(shù),允許用戶輸入數(shù)據(jù)。對(duì)于枚舉類型,根據(jù)用戶指定,可以是復(fù)選框或單選按鈕。
數(shù)據(jù)統(tǒng)計(jì)記錄了用戶對(duì)零件庫(kù)的使用情況,可以根據(jù)統(tǒng)計(jì)信息,了解零件的使用情況,分析零件的使用次數(shù)。
系統(tǒng)管理包括對(duì)系統(tǒng)常用的設(shè)置。
門戶端通過(guò)分類列表,可以檢索需要的零部件。
門戶端通過(guò)參數(shù)及詳情頁(yè),展示零部件的具體信息。
預(yù)覽顯示采用ThreeJs,顯示輕量化模型。
用戶可以在網(wǎng)頁(yè)門戶端下載某一模型。下載后的格式為solidwork的文件格式。
個(gè)人中心包括查看或修改個(gè)人信息,查看或修改密碼,查看個(gè)人使用系統(tǒng)的日志記錄。
插件客戶端為在Solidwork上做的二次開(kāi)發(fā)。前端界面發(fā)生了變換,后端不用變換。
通過(guò)插件端的在Solidworks上二次開(kāi)發(fā),可以訪問(wèn)零部件庫(kù)。零部件庫(kù)中的零件按樹(shù)結(jié)構(gòu)組織,以分類管理穩(wěn)準(zhǔn)。
在插件中,可以樹(shù)結(jié)構(gòu)和搜索功能,查找到需要的零部件。
在零件分類列表中選中某個(gè)模型后,可以雙擊進(jìn)入模型的詳細(xì)展示頁(yè)面。模型詳細(xì)展示頁(yè)面包括模型的參數(shù)列表,匯總信息,模型預(yù)覽等幾個(gè)部分。
參數(shù)列表中顯示了系統(tǒng)中存在的該零件的系列參數(shù)值。
在零件詳細(xì)展示頁(yè)面,選擇某行參數(shù)后,可以切換到按記錄顯示模式。此時(shí)可以對(duì)該條參數(shù)進(jìn)行修改,修改后會(huì)調(diào)用Solidworks重新對(duì)模型進(jìn)行驅(qū)動(dòng),生成新的預(yù)覽模型、圖紙、明細(xì)表。插件版會(huì)直接對(duì)模型進(jìn)行驅(qū)動(dòng),集成版會(huì)將請(qǐng)求發(fā)送到服務(wù)器端,服務(wù)器后臺(tái)負(fù)責(zé)根據(jù)請(qǐng)求參數(shù)對(duì)模型進(jìn)行驅(qū)動(dòng),生成新的輕量化的預(yù)覽模型,圖紙和明細(xì)表。
模型的預(yù)覽采用3D顯示模塊(OSG或OpenInventor),將Solidworks生成的輕量化預(yù)覽模型顯示在預(yù)覽窗口中。預(yù)覽窗口中可以對(duì)模型進(jìn)行瀏覽(縮放、平移、旋轉(zhuǎn))、隱藏/顯示,按視圖查看(上下左右前后及軸測(cè)試圖),修改顏色,查看剖切等。
在插件端可以將模型上傳到服務(wù)端,或者下載到本地端后進(jìn)行修改處理。
數(shù)據(jù)庫(kù)分為零部件數(shù)據(jù)庫(kù),參數(shù)數(shù)據(jù)庫(kù),圖文詳情數(shù)據(jù)庫(kù)以及用戶數(shù)據(jù)庫(kù)。
其中零部件數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)+文件服務(wù)器,模型以文件的方式保存在服務(wù)器中,零部件信息保存在數(shù)據(jù)庫(kù)中。參數(shù)數(shù)據(jù)庫(kù)是保存參數(shù)定義信息。圖文詳情數(shù)據(jù)庫(kù)是網(wǎng)頁(yè)門戶端的主數(shù)據(jù),保存前端用到的信息。用戶數(shù)據(jù)庫(kù),用來(lái)保存管理后臺(tái)涉及到的信息。
插件客戶端在安裝時(shí),為提高允許速度,可以選中將部分的零部件數(shù)據(jù)庫(kù)中的模型保存在客戶機(jī)本地文件夾中。
網(wǎng)頁(yè)客戶端的零件模型庫(kù)保存在mysql服務(wù)器中,訪問(wèn)時(shí)緩存到Redis服務(wù)器中。
插件客戶端時(shí),零件模型在修改參數(shù)后,直接調(diào)用Solidworks,傳入?yún)?shù)進(jìn)行參數(shù)化驅(qū)動(dòng),得到修改后的模型。
網(wǎng)頁(yè)門戶端時(shí),零件模型在前端界面修改參數(shù)后,將請(qǐng)求發(fā)送到后端。后端通過(guò)消息總線,調(diào)度Solidworks集群,處理參數(shù)修改。將修改參數(shù)讀取后,加載模型,并進(jìn)行驅(qū)動(dòng),獲得最后的模型。然后將模型保存到Redis緩存服務(wù)器,并落mysql數(shù)據(jù)庫(kù)。
插件客戶端時(shí),調(diào)用Solidworks的另存功能,將模型保存為輕量化格式vrml或stl。到處后的輕量化格式保存到mysql服務(wù)器中,訪問(wèn)時(shí)緩存到redis服務(wù)器中。
網(wǎng)頁(yè)門戶端時(shí),零件模型在前端界面修改參數(shù)后,將請(qǐng)求發(fā)送到后端。后端通過(guò)消息總線,調(diào)度Solidworks集群,處理參數(shù)修改。將修改參數(shù)讀取后,加載模型,并進(jìn)行驅(qū)動(dòng),獲得最后的模型。然后將模型導(dǎo)出為輕量化格式,保存Redis緩存服務(wù)器,并落mysql數(shù)據(jù)庫(kù)。
插件客戶端時(shí),調(diào)用Open Inventer (Coin3d)或OSG將輕量化模型顯示到自定義控件中。自定義控件支持旋轉(zhuǎn)、縮放、平移等操作。
網(wǎng)頁(yè)門戶端,調(diào)用ThreeJS將輕量化模型顯示到窗口中,ThreeJS顯示窗口支持旋轉(zhuǎn)縮放平移等操作。