李琳杰,趙偉博,李 權
(1.陜西工業職業技術學院 數控工程學院,咸陽 712000;2.比亞迪汽車工業有限公司,深圳 518124)
計算機輔助系統根據任務的不同分別發展出CAD、CAPP、CAM、CAE等,經過多年的發展與改進,這些系統在各自的領域已經很難有突破性的進展。由于它們是各自發展的,導致的結果是相互之間不兼容,從而形成信息孤島[1,2]。本文研究基于OpenGL的零件設計平臺,通過開發自有的三維設計界面,實現云制造服務模式下的制造資源服務,將產品模型的圖形表達與工程信息、非工程信息緊密結合,協調設計和工藝的關系,補足云制造環境下設計平臺以表格形式進行服務申請的單一模式。
本軟件擬采用經典的三層軟件構架,分別是用戶操作層、邏輯操作層和數據管理層[3,4]。用戶通過點擊按鈕等操作調用模型信息處理集、模型圖形信息處理集,驅動單個制造要素模型的建立,然后通過發送按鈕調用數據發送處理集,服務器返回的服務信息自動調用數據接收處理集,顯示在服務信息列表上,經過用戶確認之后,單個制造要素和整體模型連接。軟件整體構架如圖1所示。

圖1 軟件整體構架
識別碼的第一段編碼是該制造要素所屬的加工行為類的編碼[5~7],如車削為Turning,銑削為Milling(對應于編碼01、02)等;第二段編碼是該制造要素的種類,如車外圓為Cylinder,車倒角為Chamfer(同樣對應于編碼01、02)等;第三段編碼是該制造要素在同種制造要素組員中的加入時間排列序號,如某個制造要素是車削類車外圓中第五個加入的制造要素,則排序編碼為05;第四段編碼是當前面元素是所屬制造要素的面元素,如外圓底面的編碼為01,外圓側面的編碼為02等;第四段編碼是該面元素的法線方向,由于面元素是在某一軸的垂直面上繪制,所以法線方向即該軸的正負方向,正方向指定為1,負方向指定為2。這樣就構成了一個完整的識別碼,如圖2所示。

圖2 識別碼的組成
利用上述識別碼命名規則,在獲取正確的識別碼之后,需要對識別碼進行解析,解析規則如下:首先,截取解析識別碼第一段編碼,由第一段編碼得到相應的加工行為類;其次,截取解析第二段編碼,識別相應的制造要素的種類,去獲取所對應的動態結構體數組;然后,截取解析第三段編碼,得到相應制造要素的結構體;接下來截取第四段編碼,確定是制造要素的定位面;最后,得到該選定位面的法線方向。
通過前三段編碼可以得到相應制造要素的整體信息,然后獲得該結構體的坐標、矢量方向等,但它不是選定面元素的坐標和矢量方向。通過第四段和第五段可以得到選定面的坐標和矢量方向。
本文采用三層節點的拓撲樹結構設計,分別是零件層根節點、制造要素集根節點、制造要素根節點。其中,制造要素集根節點是零件層下的子節點,而制造要素根節點是制造要素集下的子節點,三者逐級傳遞。零件層根節點下分零件名稱、零件總價、零件版本、零件要素集等子節點信息。零件要素集根節點則是對構成零件制造要素的集合,當零件設計采用不同的制造要素則在制造要素集下出現對應的制造要素。
本文采取獲取點擊制造要素的位置以及制造要素集下所有要素的個數,然后統計制造要素容器下的總個數,首先確認是獲取制造要素的歸屬,然后確認點擊的制造要素在該制造要素下的位置,如圖3所示。

圖3 制造要素信息拓撲樹更新模式
軟件主界面如圖4所示,第一行為菜單欄,其中“文件”菜單包含新建工程按鈕、打開工程按鈕、保存工程按鈕。第二行為常見制造要素欄、視圖定向欄、模型變換欄,常見制造要素工具欄設定的普通大眾化的制造要素,視圖定向欄按視角分為正視圖、后視圖、俯視圖、仰視圖、左視圖、右視圖。模型變換欄包含原點復位、平移、旋轉、放大、縮小等功能。兩個主窗口分別是制造要素模型顯示窗口和產品資源窗口,產品資源窗口分為設計樹子窗口與制造要素樹子窗口,兩者之間可互相切換。

圖4 軟件主界面
通過在“制造要素”按鈕下選擇“車削類”中的“外圓”制造要素,并選擇“聚合”組合關系,通過點選關系之后將彈出如圖5所示的參數化界面。用戶在這個界面輸入建模所需的參數,選擇“下一步”按鈕進入其余信息界面對補充信息進行完善。最后出現圖6所示的車外圓制造要素模型。
同樣在“車削類”中選擇“倒角”制造要素,但是選擇“依附”組合關系,確認倒角和車外圓之間的組合關系,通過鼠標右鍵點擊外圓模型中的一個端面,跳出確認按鈕菜單后,系統將會自動識別出面的參數為倒角行為做準備,然后進入倒角參數化界面,可以發現坐標、矢量欄變為灰色且有相應的數值。用戶只需輸入剩余的參數即可。

圖5 參數化界面
如上述一致,分別建立“車圓角”、“車倒角”、“鉆孔”、“銑鍵槽”等制造要素,并將其發送至服務平臺。
本文以OpenGL為圖層接口結合MFC框架,搭建軟件圖形開發環境,研究了制造要素具有唯一性的數字識別命名規則方法,在OpenGL的選擇模式下,開發出制造要素面元識別算法,并給出與產品、制造要素相關拓撲樹結構顯示圖及算法,實現了制造要素信息的顯示與處理。完成了零件設計平臺的主要界面和功能開發,通過實例運行對平臺進行驗證,結合功能要求下的制造要素模型顯示及服務請求顯示,驗證了軟件建模的可行性和適用性。

圖6 顯示模型