1 NX及NX Open for.NET簡介
NX是全球主流MCAD系統,是計算機輔助設計、輔助制造、輔助工程和產品數據管理(CAD、CAM、CAE、PDM)一體化的軟件系統之一。
2004年9月UGS發布CAD系統軟件NX 3,在NX 3的通用API中,提供了對.NET 1.0及Visual Studio 2003的支持,極大地增強了NX二次開發的能力。2005年12月UGS發布了NX4,對.NET開發的支持再次得到加強,可以采用Java等語言進行二次開發。
2007年4月UGS發布了NX 5,包括了無約束的設計、主動數字樣機和NX由你做主自定義功能等多項技術革新,同時提供了對.NET 2.0及Visual Studio 2005的支持。
NX Open for.NET是一套用于微軟.NET框架的API。通過這套API,可以采用任何.NET兼容編程語言,包括VB.NET、Visual C#,通過這些API訪問NX核心應用程序的功能,來創建高級的應用程序。
NX Open for.NET是采用微軟.NET框架進行開發的應用程序接口??梢圆捎萌魏?NET兼容編程語言,包括VB.NET,通過這些API訪問NX核心應用程序的功能,來創建高級的自動化程序。并且,在NX5.0中,新的日志工具可使用VB.NET、C#、Java等語言,可以采用日志系統快速生成示范代碼,然后直接剪貼到一個二次開發程序中。
NX Open for.NET的優勢在于支持:
·微軟.NET環境;
·面向對象的編程;
·Remoting、分布式編程。
NX Open for.NET允許用戶:
·采用微軟.NET支持的語言如C#和VB.NET;
·充分利用微軟可視化.NET的開發環境;
·在自動化程序中采用微軟.NET框架類;
·采用winForms創建圖形用戶界面;
·編寫分布式客戶端,可以在不同的機器上訪問一個NX的Session;
·訪問NX Open API中的類,這些包裝的類在托管.NET動態庫中;
·編寫混合模式程序,即可采用.NET的NX Open,也可采用.NET包裝的User Function。
2 基于NX Open for.NET的開發
NX Open for。NET應用程序有三種模式:交互模式,批處理模式,遠程模式。前兩種模式與原來UG下的內部模式、外部模式類似,最后一種模式,是基于.NET框架新提供的一種分布式應用程序模式。最常用的開發模式是交互模式,下面是交互模式下.NET托管庫開發的具體步驟。
2.1托管庫的創建
交互模式的程序是在NX中調用運行的托管庫程序,在NX已經啟動和初始化后,通常在部件文件打開或創建之后,通過NX系統調用和運行。
在Microsoft Visual Studio.NET 2005中創建一個交互式程序的步驟如下:
(1)打開Visual Studio;
(2)打開/創建一個解決方案;
(3)創建一個新的Visual Basic或者Visual c#,選擇類型庫項目;
(4)增加如下引用:
NXOpen.dll
NXOpen.Utilities.dll
NXOpen.UF.dll
NXOpenUI.dll
(5)增加帶有Main()函數的類文件;
(6)編譯程序。
創建<項目文件名>.dll。
編譯生成dll可以通過File->Execute一>NX Open執行該托管庫。
如果在安裝NX 5之前安裝了Visual Studio 2005,則會在Visual Studio中自動安裝向導。該向導可自動將所需的引用添加到新項目中的NX Open庫,以節省時間。
在NX系統執行托管庫時,NX系統將尋找下面的方法:
(1)public static int Startup(string arg)
當一個庫在系統啟動時被裝載,此方法被運行。如果這個方法不存在,系統啟動Main()來替代。這個對應User Fune.tion:ufsta。
(2)public static void Main()或者public static void Main(string arg)
在用戶裝載一個庫時,系統運行Main函數,通常有兩種可接受的方式,第一種不帶參數,第二種帶一個字符串數組。對第二種方式,在交互式運行時,參數為空。在batch模式,在.args命令行將切換蠆運行日志。這樣,同種方法町被用于交互式啟動和獨立的應用程序。正常情況下,你應該申明這個方法返回一個整數,但如果返回void,裝載機制依然可以啟動他。這個函數對應User Function:ufuser。
2.2 簽名
裝載一個.NET托管庫到NX中時,系統會檢查嵌入的簽名。如果發現沒有簽名或者簽名非法,系統將不會裝載該庫。
無論是創建在會話中裝載的.NET托管庫(通過File->Ex.ecute一>NX Open執行),還是創建一個NXOpen.Session對象的獨立.NET可執行文件,應用程序都需要用NX簽名工具簽名。
給托管庫簽名有兩個步驟:
(1)在一個DLL托管庫或應用程序中嵌入NX資源文件。
在編譯應用程序時增加NXSigningResource.res文件,該文件在UGOPEN目錄下,用"/resource:”編譯指令編譯:
csc/resource:NXSigningResouree.res/t:library SampleApp.cs
也可以在Visual Studio開發環境中設置此編譯器選項:
a)將NXSigningResource.res文件添加到項目中。
b)選擇要嵌入解決方案資源管理器中的文件。
c)在“屬性”窗口中,選擇文件的“生成操作”。
d)將“生成操作”設置為“嵌入的資源”。
(2)執行一個NX簽名工具。
嵌入資源文件之后,在NX安裝目錄下的UGⅡ工具包目錄中找到SignLibrary工具,對托管庫進行簽名:
SignLibrary SampleApp.dll
3 微波器件庫的設計與實現
隨著計算機的發展和網絡技術的應用,社會正快速向信息化前進,信息自動化的作用也越來越大。機械制造行業的計算機CAD軟件也在快速發展,對機械零件的設計和制造提供了極大的便利,但目前如NX等CAD軟件,針對的往往是通用的設計和開發,而對企業來講,仍然需要面對大量不同的專用器件,進行重復的繪圖和設計。在CAD軟件的基礎上,還需要有專用器件庫的軟件管理和自動繪圖的功能。
國內目前研究開發的標準件、非標準件庫的建庫方法,可將其分為三大類:系統建模方式、基于特征庫方式、程序化方式,這三種方式在建立標準件庫的過程中并不是完全獨立或相互排斥的,而是有著綜合的運用和聯系。
通過定義微波器件的各特征間的約束關系,對微波器件進行參數化,結合NX Open for.NET的強大的二次開發接口和面向對象的Visual C#,設計開發了專用的微波器件庫,系統總體結構如圖1所示。
圖1 微波器件庫系統總體結構
微波器件庫軟件系統的服務器數據庫中存放著微波器件的數據庫表和用戶信息的數據庫表,同時還包含一些編譯好的存儲過程,這些存儲過程主要負責數據的存取。數據庫可以安裝在企業的IT機房的服務器上。
系統的客戶端安裝在自動化設計或者制造部門的桌面電腦上,供設計者和開發者使用,客戶端通過企業的局域網訪問IT機房服務器的數據庫。
微波器件庫系統的客戶端主要有如下模塊:
(1)圖形界面模塊 主要完成對配置、用戶、器件信息的可視化瀏覽,并觸發完成其他模塊的功能;
(2)配置管理模塊 主要完成對配置文件的存取,提供登錄相關的用戶和數據庫訪問信息;
(3)用戶管理模塊 主要完成對用戶的登錄、權限管理功能;
(4)器件管理模塊 主要完成對器件信息的列表、查看和修改等操作;
(5)器件繪圖模塊 主要完成在NX系統中的三位圖形繪制功能;
(6)數據庫訪問模塊 主要完成對數據庫的存取操作。
本微波器件庫采用交互模式實現。
4 微波器件庫的配置與運行
在網絡環境中安裝和配置好器件庫的服務器,先安裝好數據庫,并建立數據庫,創建各個零件數據庫表。配置好服務器之后,可以在各個客戶端進行配置。在每個客戶端的Windows系統上安裝NX 5.0,安裝Microsoft.NET framework 2.0;在客戶端某一目錄(如D:ugapi)下安裝微波器件庫的類庫partslib.dll。
啟動NX,打開并執行partslib.dll。如果是首次執行,程序會要求配置數據庫服務器;連接數據庫成功后,系統彈出登錄對話框,要求輸入用戶名密碼;臀錄成功之后,系統出現器件管理主界面,客戶端可瀏覽和操作器件庫。
微波器件庫運行時的主界面如圖2所示。
圖2 微波器件庫主界面
選擇“查看/修改/繪制圖形”菜單項,將彈出該零件的參數屬性窗口(見圖3),可以查看具體的各個參數,也可以修改并更新該零件的參數,還可以在NX中繪制出該零件的三維圖形。
圖3 參數屬性窗口
本微波器件庫可以對大量的專用微波器件進行有效管理,有利于提高相關的器件設計人員的工作效率。
5 結束語
本文主要介紹了在.NET框架上二次開發的模式,并且通過實例代碼對在Visual Studio.NET 2005中如何創建二次開發的應用程序進行了詳細介紹?;谝粋€具體的開發項目,對微波器件庫的軟件系統架構進行了設計和開發,通過開發實踐可以體會到,充分利用功能強大的.NET框架提供的類庫接口,可以有效提高NX二次開發的效率。
文中的應用程序在操作系統Windows XP、開發環境Visual Studio.NET 2005、數據庫系統SQL2000及運行環境NX5.0系統下實現。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF