周臨震
ZHOU Lin-zhen
(鹽城工學院 機械學院,鹽城 224051)
NX是Siemens公司新一代數(shù)字化產品開發(fā)系統(tǒng),是高度集成的、面向制造行業(yè)的CAD/CAE/CAM軟件系統(tǒng),支持產品開發(fā)從概念(CAID),到設計(CAD),到分析(CAE),到制造(CAM)的完整流程。NX被廣泛應用于通用機械、模具、汽車及航空航天領域,被很多世界著名公司選定為企業(yè)計算機輔助設計、分析、制造的標準[1]。NX模型文件作為企業(yè)的重要產品信息資源載體,正隨著NX系統(tǒng)在制造業(yè)的廣泛使用而變得越來越龐大,由于缺乏有效的管理系統(tǒng),一方面工程師不能快速獲取自己需要的信息,從而不斷進行重復勞動,浪費企業(yè)資源;另一方面采用人工對龐大的信息資源進行維護,降低了工作效率?;谝陨系牟蛔?,本文開發(fā)了NX模型信息管理系統(tǒng),主要用來管理NX模型文件,包括對于模型文件特征的查詢、模型的篩選、模型批量格式轉換、模型文件批量命名、清理系統(tǒng)內部的垃圾文件等,能夠幫助企業(yè)工程師快速檢索及定位NX模型文件,方便、快捷獲取NX模型文件中的信息,能夠有效地提高工作效率。
通過對系統(tǒng)的整個應用情況作全面的分析整合之后,從功能上劃分為如下九個模塊:增添用戶模塊、注銷用戶模塊、修改密碼模塊、模型文件查詢特征模塊、重命名模塊、篩選模型模塊、批量操作模塊、變換格式模塊和系統(tǒng)垃圾清理模塊,如圖1所示。
1)添加用戶模塊。管理員可以根據(jù)需要添加新的成員,由管理員添加的用戶將會直接被保存到數(shù)據(jù)庫中。此功能只有具有管理員權限的用戶才可以操作,普通用戶沒有添加新用戶的權限,只有閱讀權限。
2)刪除用戶模塊。具有管理員權限的用戶可以根據(jù)實際需要刪除指定的用戶,和“添加用戶模塊”類似,普通用戶沒有操作權限。
3)密碼修改模塊。處于登錄狀態(tài)的用戶可以根據(jù)實際需求修改自己的登錄密碼,修改后的新密碼將直接被保存到數(shù)據(jù)庫中,數(shù)據(jù)庫自行更新新數(shù)據(jù),無需用戶額外的操作。
4)退出系統(tǒng)模塊。該模塊沒有具體的操作界面,用戶只需點擊該命令即可退出整個應用程序,并且系統(tǒng)的所有設置都將被初始化,還原到未登錄之前的狀態(tài)。
5)模型特征查詢模塊。在無需打開NX系統(tǒng)的情況下,直接遍歷指定文件夾下的模型文件,之后所有模型的內部特征都將被輸出到指定的列表中。同時與模型相關的一些基本信息(如文件名、文件創(chuàng)建時間等)也會保存到相應的列表里。所有的數(shù)據(jù)都會相應的更新到數(shù)據(jù)庫指定的數(shù)據(jù)表中。
6)批量命名模塊。用戶可以添加指定的目錄,然后系統(tǒng)會根據(jù)用戶設置的文件格式,列出該目錄下所有滿足條件的文件,并根據(jù)用戶指定的命名規(guī)則對列表中的所有文件進行重新命名。
7)模型篩選模塊。用戶可以通過輸入特征名稱來查詢擁有這些特征的模型。
8)批量操作模塊。此模塊下包括以下三個功能:復制、刪除、移動。復制和移動功能支持把一個目錄下的文件放到多個目錄下的功能。
9)格式轉換模塊。此模塊主要用于對NX模型文件進行格式的轉換,從功能上來說,本模塊與NX自帶的導出模型文件的功能是類似的。但本模塊無需打開NX模型,只需用戶添加需要處理的NX模型文件即可,所有的轉換操作都將在后臺進行。
10)系統(tǒng)垃圾清理模塊。此功能和常規(guī)的垃圾處理軟件類似,主要用于清理系統(tǒng)內部產生的一些臨時文件,釋放被占用的硬盤空間。
圖1 系統(tǒng)模塊劃分
本系統(tǒng)采用SQL 2008作為數(shù)據(jù)存儲系統(tǒng),建立了名為NX.mdb的數(shù)據(jù)庫,包括三個數(shù)據(jù)表,用以分別存貯模型基本信息、模型特征信息和用戶信息。以下為三個數(shù)據(jù)表的數(shù)據(jù)結構。
表1 模型基本信息表數(shù)據(jù)結構
表2 模型特征信息表數(shù)據(jù)結構
表3 用戶信息表數(shù)據(jù)結構
為了免去繁瑣的數(shù)據(jù)源配置工作,本系統(tǒng)采用ADO(ActiveX Data Objects,ActiveX數(shù)據(jù)對象)技術來訪問數(shù)據(jù)庫,支持ADO編程的庫文件是動態(tài)鏈接庫msado15.dll,其封裝了ADO的所有功能。ADO庫包含3個基本接口,即_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。它們分別對應Connection對象、Command對象和Recordset對象。通過這三個基本接口可實現(xiàn)對數(shù)據(jù)庫的訪問[1]。通過ADO訪問數(shù)據(jù)庫的一般步驟如下:
1)環(huán)境的初始化及關閉。在使用ADO的三個接口之前要先調用CoInitialize()進行OLE/COM環(huán)境的初始化,使用完ADO之后要及時調用CoUninitialize()關閉OLE/COM庫,釋放資源。
2)連接到數(shù)據(jù)源。通過使用_ConnectionPtr可以連接到一個現(xiàn)存的數(shù)據(jù)庫,這個數(shù)據(jù)庫可以是Access、SqlServer等ADO支持的各種數(shù)據(jù)庫,并可通過_RecordsetPtr執(zhí)行SQL語句。
3)訪問數(shù)據(jù)源。使用_RecordsetPtr可以方便的獲得數(shù)據(jù)庫的查詢結果集,也可以做添加、修改、刪除等操作。
模型特征查詢模塊的最大特點是,工程師無需打開NX 就可以獲取NX模型文件內包含的具體特征信息。工程師將需要查詢特征的模型文件放到指定目錄下,當點擊“確定”按鈕時,系統(tǒng)會遍歷該目錄下所有的模型文件,把模型文件的基本信息列在“模型文件基本信息”欄中,包括:模型文件名、文件的創(chuàng)建日期等,模型對應的特征將會被列在“詳細特征”欄里。當點擊“模型文件基本信息”欄中的任意一個有效的欄目時,則該欄目下對應的模型特征會被列在“指定模型特征”欄中,且對應的模型文件的名字也會顯示在一個編輯框中。最后,可以根據(jù)需要,把相應的信息導出到Excel表格里。
圖2 NX模型特征查詢
圖3 模型特征信息輸出到Excel表格
批量命名模塊是對指定路徑下的所有NX模型文件進行批量命名。工程師將需要批量命名的模型文件放到指定目錄下,系統(tǒng)會自動遍歷指定目錄下的所有文件,并把所有文件的文件名稱列在“原文件名”表格里,也可以使用直接選擇文件的形式直接添加文件。工程師通過命名規(guī)則,可以根據(jù)需要修改命名規(guī)則。源文件名稱和命名后的文件名稱被分別列在兩個表格里,工程師可以直觀地比較兩者前后的區(qū)別,實時動態(tài)更改。當點擊“開始命名”,則目標路徑下的所有文件都將會以新的命名規(guī)則被重新命名。
圖4 批量命名
模型篩選模塊是根據(jù)工程師輸入的特征名稱搜索含有該特征的模型文件。工程師只需要在“特征名”編輯框中輸入自己想要查詢的特征,然后點擊“開始查找”按鈕,則數(shù)據(jù)庫中滿足條件的模型以及其基本信息都將被顯示出來。工程師在“特征名稱”編輯框中可以輸入特征全名稱或特征名的前幾個字母,則擁有該特征的模型文件以及其基本信息都會顯示在表格里,例如:在“特征名”編輯框中輸入倒角特征(Chamfer)的首字母“C”,則將包含倒角特征的模型文件b.prt檢索出來。
圖5 模型篩選
批量操作模塊包含:批量復制、刪除和移動模型文件。工程師指定待處理文件路徑以及文件的后綴名,然后點擊 “顯示待處理文件”,系統(tǒng)將滿足條件的NX模型文件以列表的形式顯示出來。對于批量復制和移動兩個功能,它們支持把一個文件夾下的文件同時復制或移動到多個文件夾下,在復制或是移動文件之前,工程師可以選擇是否清空目標路徑下的文件;對于同名文件,工程師可以選擇是否替換。刪除功能是指對指定路徑下的指定類型的文件進行徹底地刪除。
圖6 批量操作
格式轉換模塊是對模型文件進行格式轉換。不同于傳統(tǒng)的模型文件格式轉換方式,工程師無需啟動NX系統(tǒng)就可以對模型文件進行格式轉換,本系統(tǒng)共提供了6種常規(guī)的格式,工程師可以在這些格式中進行切換。
工程師首先需要在對話框左邊的格式欄中選擇需要轉換的格式類型,然后可以通過添加文件夾或添加文件的形式把需要處理的文件添加到列表中;在添加文件完成后,如果發(fā)現(xiàn)有些文件不需要進行格式轉換,則可以選中這些文件,然后點擊“移除文件”就可以把該文件從列表中移除。當然工程師也可以點擊“清空列表”來移除所有的文件;以上步驟完成之后,工程師需要設置輸出文件夾以指定格式轉換后的文件存放位置;所有設置完成之后,直接點擊“開始轉換”就可以了;當點擊“主頁”按鈕,當前的對話框將會關閉,且該對話框里的所有相關參數(shù)都將被初始化。
圖7 格式轉換
隨著Siemens NX系統(tǒng)在制造業(yè)的廣泛使用,作為包含產品信息的NX模型文件的數(shù)量與日俱增,為幫助工程師快捷而方便地來管理這些日漸增多的模型文件,快速檢索需要的NX模型文件,并且在無需打開模型的情況下快速獲取模型文件中所包含的各種信息。本文基于Siemens NX設計平臺,以Visual Studio 2012作為開發(fā)工具,SQL Server 2008作為數(shù)據(jù)存儲工具,MFC作為UI設計工具,采用NX/Open開發(fā)技術,開發(fā)了NX模型文件管理系統(tǒng),本系統(tǒng)主要用來管理NX模型文件,包括對于模型文件特征的查詢、模型的篩選、模型批量格式轉換、模型文件批量命名等,本系統(tǒng)有效地提高了工程師的工作效率。
[1] 周臨震,李青祝,秦珂.基于UG NX系統(tǒng)的二次開發(fā)[M]. 江蘇大學出版社,2013.
[2] 周臨震.基于NX注塑模備料清單系統(tǒng)的研究與開發(fā)[J].制造業(yè)信息化,2012(2):34-37.
[3] 秦小英,劉文學.NET環(huán)境下利用UG/NXOpen和UG/Journal對UG的二次開發(fā)[J].現(xiàn)代制造工程,2011(4):60-62.
[4] 劉興廣,蘇霞.基于C# .NET的NX7的二次開發(fā)研究[J].軟件設計開發(fā),2012(7):159-160.
[5] 花鋒.基于NXOpen的驗證規(guī)則定制[J].計算機應用,2012,31(10):2861-2864.