我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁(yè) > CAD新聞

基于.NET的NX微波器件庫(kù)開(kāi)發(fā)

時(shí)間:2011-02-26 10:04:29 來(lái)源:

  1 NX及NX Open for.NET簡(jiǎn)介

  NX是全球主流MCAD系統(tǒng),是計(jì)算機(jī)輔助設(shè)計(jì)、輔助制造、輔助工程和產(chǎn)品數(shù)據(jù)管理(CAD、CAM、CAE、PDM)一體化的軟件系統(tǒng)之一。

  2004年9月UGS發(fā)布CAD系統(tǒng)軟件NX 3,在NX 3的通用API中,提供了對(duì).NET 1.0及Visual Studio 2003的支持,極大地增強(qiáng)了NX二次開(kāi)發(fā)的能力。2005年12月UGS發(fā)布了NX4,對(duì).NET開(kāi)發(fā)的支持再次得到加強(qiáng),可以采用Java等語(yǔ)言進(jìn)行二次開(kāi)發(fā)。

  2007年4月UGS發(fā)布了NX 5,包括了無(wú)約束的設(shè)計(jì)、主動(dòng)數(shù)字樣機(jī)和NX由你做主自定義功能等多項(xiàng)技術(shù)革新,同時(shí)提供了對(duì).NET 2.0及Visual Studio 2005的支持。

  NX Open for.NET是一套用于微軟.NET框架的API。通過(guò)這套API,可以采用任何.NET兼容編程語(yǔ)言,包括VB.NET、Visual C#,通過(guò)這些API訪問(wèn)NX核心應(yīng)用程序的功能,來(lái)創(chuàng)建高級(jí)的應(yīng)用程序。

  NX Open for.NET是采用微軟.NET框架進(jìn)行開(kāi)發(fā)的應(yīng)用程序接口。可以采用任何.NET兼容編程語(yǔ)言,包括VB.NET,通過(guò)這些API訪問(wèn)NX核心應(yīng)用程序的功能,來(lái)創(chuàng)建高級(jí)的自動(dòng)化程序。并且,在NX5.0中,新的日志工具可使用VB.NET、C#、Java等語(yǔ)言,可以采用日志系統(tǒng)快速生成示范代碼,然后直接剪貼到一個(gè)二次開(kāi)發(fā)程序中。

  NX Open for.NET的優(yōu)勢(shì)在于支持:

  ·微軟.NET環(huán)境;

  ·面向?qū)ο蟮木幊?

  ·Remoting、分布式編程。

  NX Open for.NET允許用戶:

  ·采用微軟.NET支持的語(yǔ)言如C#和VB.NET;

  ·充分利用微軟可視化.NET的開(kāi)發(fā)環(huán)境;

  ·在自動(dòng)化程序中采用微軟.NET框架類;

  ·采用winForms創(chuàng)建圖形用戶界面;

  ·編寫分布式客戶端,可以在不同的機(jī)器上訪問(wèn)一個(gè)NX的Session;

  ·訪問(wèn)NX Open API中的類,這些包裝的類在托管.NET動(dòng)態(tài)庫(kù)中;

  ·編寫混合模式程序,即可采用.NET的NX Open,也可采用.NET包裝的User Function。

  2 基于NX Open for.NET的開(kāi)發(fā)

  NX Open for。NET應(yīng)用程序有三種模式:交互模式,批處理模式,遠(yuǎn)程模式。前兩種模式與原來(lái)UG下的內(nèi)部模式、外部模式類似,最后一種模式,是基于.NET框架新提供的一種分布式應(yīng)用程序模式。最常用的開(kāi)發(fā)模式是交互模式,下面是交互模式下.NET托管庫(kù)開(kāi)發(fā)的具體步驟。

  2.1托管庫(kù)的創(chuàng)建

  交互模式的程序是在NX中調(diào)用運(yùn)行的托管庫(kù)程序,在NX已經(jīng)啟動(dòng)和初始化后,通常在部件文件打開(kāi)或創(chuàng)建之后,通過(guò)NX系統(tǒng)調(diào)用和運(yùn)行。

  在Microsoft Visual Studio.NET 2005中創(chuàng)建一個(gè)交互式程序的步驟如下:

  (1)打開(kāi)Visual Studio;

  (2)打開(kāi)/創(chuàng)建一個(gè)解決方案;

  (3)創(chuàng)建一個(gè)新的Visual Basic或者Visual c#,選擇類型庫(kù)項(xiàng)目;

  (4)增加如下引用:

  NXOpen.dll

  NXOpen.Utilities.dll

  NXOpen.UF.dll

  NXOpenUI.dll

  (5)增加帶有Main()函數(shù)的類文件;

  (6)編譯程序。

  創(chuàng)建<項(xiàng)目文件名>.dll。

  編譯生成dll可以通過(guò)File->Execute一>NX Open執(zhí)行該托管庫(kù)。

  如果在安裝NX 5之前安裝了Visual Studio 2005,則會(huì)在Visual Studio中自動(dòng)安裝向?qū)АT撓驅(qū)Э勺詣?dòng)將所需的引用添加到新項(xiàng)目中的NX Open庫(kù),以節(jié)省時(shí)間。

  在NX系統(tǒng)執(zhí)行托管庫(kù)時(shí),NX系統(tǒng)將尋找下面的方法:

  (1)public static int Startup(string arg)

  當(dāng)一個(gè)庫(kù)在系統(tǒng)啟動(dòng)時(shí)被裝載,此方法被運(yùn)行。如果這個(gè)方法不存在,系統(tǒng)啟動(dòng)Main()來(lái)替代。這個(gè)對(duì)應(yīng)User Fune.tion:ufsta。

  (2)public static void Main()或者public static void Main(string arg)

  在用戶裝載一個(gè)庫(kù)時(shí),系統(tǒng)運(yùn)行Main函數(shù),通常有兩種可接受的方式,第一種不帶參數(shù),第二種帶一個(gè)字符串?dāng)?shù)組。對(duì)第二種方式,在交互式運(yùn)行時(shí),參數(shù)為空。在batch模式,在.args命令行將切換蠆運(yùn)行日志。這樣,同種方法町被用于交互式啟動(dòng)和獨(dú)立的應(yīng)用程序。正常情況下,你應(yīng)該申明這個(gè)方法返回一個(gè)整數(shù),但如果返回void,裝載機(jī)制依然可以啟動(dòng)他。這個(gè)函數(shù)對(duì)應(yīng)User Function:ufuser。

  2.2 簽名

  裝載一個(gè).NET托管庫(kù)到NX中時(shí),系統(tǒng)會(huì)檢查嵌入的簽名。如果發(fā)現(xiàn)沒(méi)有簽名或者簽名非法,系統(tǒng)將不會(huì)裝載該庫(kù)。

  無(wú)論是創(chuàng)建在會(huì)話中裝載的.NET托管庫(kù)(通過(guò)File->Ex.ecute一>NX Open執(zhí)行),還是創(chuàng)建一個(gè)NXOpen.Session對(duì)象的獨(dú)立.NET可執(zhí)行文件,應(yīng)用程序都需要用NX簽名工具簽名。

  給托管庫(kù)簽名有兩個(gè)步驟:

  (1)在一個(gè)DLL托管庫(kù)或應(yīng)用程序中嵌入NX資源文件。

  在編譯應(yīng)用程序時(shí)增加NXSigningResource.res文件,該文件在UGOPEN目錄下,用"/resource:”編譯指令編譯:

  csc/resource:NXSigningResouree.res/t:library SampleApp.cs

  也可以在Visual Studio開(kāi)發(fā)環(huán)境中設(shè)置此編譯器選項(xiàng):

  a)將NXSigningResource.res文件添加到項(xiàng)目中。

  b)選擇要嵌入解決方案資源管理器中的文件。

  c)在“屬性”窗口中,選擇文件的“生成操作”。

  d)將“生成操作”設(shè)置為“嵌入的資源”。

  (2)執(zhí)行一個(gè)NX簽名工具。

  嵌入資源文件之后,在NX安裝目錄下的UGⅡ工具包目錄中找到SignLibrary工具,對(duì)托管庫(kù)進(jìn)行簽名:

  SignLibrary SampleApp.dll

  3 微波器件庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)

  隨著計(jì)算機(jī)的發(fā)展和網(wǎng)絡(luò)技術(shù)的應(yīng)用,社會(huì)正快速向信息化前進(jìn),信息自動(dòng)化的作用也越來(lái)越大。機(jī)械制造行業(yè)的計(jì)算機(jī)CAD軟件也在快速發(fā)展,對(duì)機(jī)械零件的設(shè)計(jì)和制造提供了極大的便利,但目前如NX等CAD軟件,針對(duì)的往往是通用的設(shè)計(jì)和開(kāi)發(fā),而對(duì)企業(yè)來(lái)講,仍然需要面對(duì)大量不同的專用器件,進(jìn)行重復(fù)的繪圖和設(shè)計(jì)。在CAD軟件的基礎(chǔ)上,還需要有專用器件庫(kù)的軟件管理和自動(dòng)繪圖的功能。

  國(guó)內(nèi)目前研究開(kāi)發(fā)的標(biāo)準(zhǔn)件、非標(biāo)準(zhǔn)件庫(kù)的建庫(kù)方法,可將其分為三大類:系統(tǒng)建模方式、基于特征庫(kù)方式、程序化方式,這三種方式在建立標(biāo)準(zhǔn)件庫(kù)的過(guò)程中并不是完全獨(dú)立或相互排斥的,而是有著綜合的運(yùn)用和聯(lián)系。

  通過(guò)定義微波器件的各特征間的約束關(guān)系,對(duì)微波器件進(jìn)行參數(shù)化,結(jié)合NX Open for.NET的強(qiáng)大的二次開(kāi)發(fā)接口和面向?qū)ο蟮腣isual C#,設(shè)計(jì)開(kāi)發(fā)了專用的微波器件庫(kù),系統(tǒng)總體結(jié)構(gòu)如圖1所示。

   

  圖1 微波器件庫(kù)系統(tǒng)總體結(jié)構(gòu)

  微波器件庫(kù)軟件系統(tǒng)的服務(wù)器數(shù)據(jù)庫(kù)中存放著微波器件的數(shù)據(jù)庫(kù)表和用戶信息的數(shù)據(jù)庫(kù)表,同時(shí)還包含一些編譯好的存儲(chǔ)過(guò)程,這些存儲(chǔ)過(guò)程主要負(fù)責(zé)數(shù)據(jù)的存取。數(shù)據(jù)庫(kù)可以安裝在企業(yè)的IT機(jī)房的服務(wù)器上。

  系統(tǒng)的客戶端安裝在自動(dòng)化設(shè)計(jì)或者制造部門的桌面電腦上,供設(shè)計(jì)者和開(kāi)發(fā)者使用,客戶端通過(guò)企業(yè)的局域網(wǎng)訪問(wèn)IT機(jī)房服務(wù)器的數(shù)據(jù)庫(kù)。

  微波器件庫(kù)系統(tǒng)的客戶端主要有如下模塊:

  (1)圖形界面模塊 主要完成對(duì)配置、用戶、器件信息的可視化瀏覽,并觸發(fā)完成其他模塊的功能;

  (2)配置管理模塊 主要完成對(duì)配置文件的存取,提供登錄相關(guān)的用戶和數(shù)據(jù)庫(kù)訪問(wèn)信息;

  (3)用戶管理模塊 主要完成對(duì)用戶的登錄、權(quán)限管理功能;

  (4)器件管理模塊 主要完成對(duì)器件信息的列表、查看和修改等操作;

  (5)器件繪圖模塊 主要完成在NX系統(tǒng)中的三位圖形繪制功能;

  (6)數(shù)據(jù)庫(kù)訪問(wèn)模塊 主要完成對(duì)數(shù)據(jù)庫(kù)的存取操作。

  本微波器件庫(kù)采用交互模式實(shí)現(xiàn)。

  4 微波器件庫(kù)的配置與運(yùn)行

  在網(wǎng)絡(luò)環(huán)境中安裝和配置好器件庫(kù)的服務(wù)器,先安裝好數(shù)據(jù)庫(kù),并建立數(shù)據(jù)庫(kù),創(chuàng)建各個(gè)零件數(shù)據(jù)庫(kù)表。配置好服務(wù)器之后,可以在各個(gè)客戶端進(jìn)行配置。在每個(gè)客戶端的Windows系統(tǒng)上安裝NX 5.0,安裝Microsoft.NET framework 2.0;在客戶端某一目錄(如D:ugapi)下安裝微波器件庫(kù)的類庫(kù)partslib.dll。

  啟動(dòng)NX,打開(kāi)并執(zhí)行partslib.dll。如果是首次執(zhí)行,程序會(huì)要求配置數(shù)據(jù)庫(kù)服務(wù)器;連接數(shù)據(jù)庫(kù)成功后,系統(tǒng)彈出登錄對(duì)話框,要求輸入用戶名密碼;臀錄成功之后,系統(tǒng)出現(xiàn)器件管理主界面,客戶端可瀏覽和操作器件庫(kù)。

  微波器件庫(kù)運(yùn)行時(shí)的主界面如圖2所示。

   

  圖2 微波器件庫(kù)主界面

  選擇“查看/修改/繪制圖形”菜單項(xiàng),將彈出該零件的參數(shù)屬性窗口(見(jiàn)圖3),可以查看具體的各個(gè)參數(shù),也可以修改并更新該零件的參數(shù),還可以在NX中繪制出該零件的三維圖形。

   

  圖3 參數(shù)屬性窗口

  本微波器件庫(kù)可以對(duì)大量的專用微波器件進(jìn)行有效管理,有利于提高相關(guān)的器件設(shè)計(jì)人員的工作效率。

  5 結(jié)束語(yǔ)

  本文主要介紹了在.NET框架上二次開(kāi)發(fā)的模式,并且通過(guò)實(shí)例代碼對(duì)在Visual Studio.NET 2005中如何創(chuàng)建二次開(kāi)發(fā)的應(yīng)用程序進(jìn)行了詳細(xì)介紹。基于一個(gè)具體的開(kāi)發(fā)項(xiàng)目,對(duì)微波器件庫(kù)的軟件系統(tǒng)架構(gòu)進(jìn)行了設(shè)計(jì)和開(kāi)發(fā),通過(guò)開(kāi)發(fā)實(shí)踐可以體會(huì)到,充分利用功能強(qiáng)大的.NET框架提供的類庫(kù)接口,可以有效提高NX二次開(kāi)發(fā)的效率。

  文中的應(yīng)用程序在操作系統(tǒng)Windows XP、開(kāi)發(fā)環(huán)境Visual Studio.NET 2005、數(shù)據(jù)庫(kù)系統(tǒng)SQL2000及運(yùn)行環(huán)境NX5.0系統(tǒng)下實(shí)現(xiàn)。