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