亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.NET的NX Open開發(fā)技術(shù)研究

        2015-12-31 11:06:20李如忠
        機械工程與自動化 2015年4期
        關鍵詞:二次開發(fā)程序功能

        李如忠

        (中國工程物理研究院 電子工程研究所,四川 綿陽 621900)

        0 引言

        NX二次開發(fā)是在原來軟件的基礎上,結(jié)合具體的應用需求,總結(jié)行業(yè)的設計知識和經(jīng)驗,開發(fā)面向行業(yè)和設計流程的應用程序和工具。NX Open for.NET是西門子公司針對NX二次開發(fā)推出的基于微軟.NET框架的開放式開發(fā)工具包,它可以使用.NET支持的任何語言進行開發(fā),可以充分利用微軟可視化.NET的開發(fā)環(huán)境,以及所有Visual Studio集成開發(fā)環(huán)境(IDE)的功能,所以,在 Windows平臺上對NX進行二次開發(fā),優(yōu)先考慮使用NX Open for.NET開發(fā)工具包。該開發(fā)工具包既可以采用基于.NET的NX Open,也可以采用通過.NET類封裝的Open API,Open API是NX早期基于C語言的二次開發(fā)工具包。NX Open for.NET支持任何面向?qū)ο蟮恼Z言,如C++、VB.NET、C#、Java等,而C#是專門用于.NET開發(fā)的一種面向?qū)ο蟮恼Z言,其是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋头浅0踩呐缮贑和C++的編程語言,其設計與現(xiàn)代開發(fā)工具的適應性比其他語言更高,同時C#具有Visual Basic的易用性、高性能以及C++的低級內(nèi)存訪問性。所以,在NX Open for.NET的開發(fā)中,C#應該是首選語言。

        1 NX Open for.NET開發(fā)方法

        1.1 功能程序的實現(xiàn)

        對于NX的二次開發(fā)一般是在NX基本功能的基礎上增加輸入、輸出界面,使用編程的方式調(diào)用NX的基本功能函數(shù)完成多步或重復性的工作。二次開發(fā)的功能程序就是實現(xiàn)在NX中操作的主要功能的程序主體。NX Open for.NET提供了數(shù)千個函數(shù)封裝在多個類中用于實現(xiàn)對NX的大部分操作,開發(fā)者不可能全部熟記這些函數(shù)的名稱、功能等內(nèi)容。而NX提供的Journal功能(操作記錄工具)可以很好地解決這個問題,特別是NX Open for.NET的開發(fā)可以充分利用NX的操作記錄工具。NX的操作記錄工具把用戶在NX界面上的操作以NX Open for.NET的代碼組織形式進行記錄,并且記錄的語言可以選擇C#、VB、Java等。在操作記錄工具中還可以以解釋性的方式執(zhí)行C#的代碼。

        在錄制操作記錄時,先規(guī)劃好操作順序,以最簡潔的方法完成NX界面下的操作,盡量使用可記錄的操作。錄制完成后,去除代碼中一些無關的代碼,比如旋轉(zhuǎn)視圖(函數(shù)名為ZoomAboutPoint)等代碼,因為我們在編程批處理時不需要查看視圖,從操作記錄中找到需要的程序代碼,復制到程序框架中。

        1.2 圖形界面的開發(fā)

        NX Open for.NET的開發(fā)中可以利用的圖形界面包括UI Styler對話框、Block UI Styler對話框、Windows Form窗體。

        UI Styler對話框是用戶開發(fā)NX對話框的可視化工具,不需要復雜的圖形用戶接口編程,對話框中的基本單元可以組合成不同的對話框,在對話框設計環(huán)境中可以自動生成代碼模板文件,只需要編輯模板文件,補充回調(diào)函數(shù)代碼。UI Styler對話框在啟動時允許選擇NX對象進行操作。

        從NX6版本開始,NX引入了Block UI Styler對話框用戶界面工具,Block UI Styler對話框與NX中系統(tǒng)的對話框具有相同的樣式,都由一系列的“塊”組成,自上而下堆疊而成。Block UI Styler對話框設計環(huán)境提供了幾十種塊可供選擇,滿足幾乎所有的NX二次開發(fā)所需的界面,并且可以自動生成代碼模板。因此,NX6版本以后的開發(fā)特別是NX Open for.NET的開發(fā)推薦使用Block UI Styler對話框。

        由于NX Open for.NET是基于微軟的.NET FrameWork的,所以,在NX Open for.NET的開發(fā)中可以直接使用.NET的Form窗體,F(xiàn)orm窗體可以完成類似Windows的對話框界面,并且可以充分利用.NET FrameWork的資源。

        1.3 菜單開發(fā)

        NX Open提供了一個菜單腳本語言MenuScript,通過它用戶可以使用腳本菜單文件(后綴“men”)來定制NX的菜單,為開發(fā)的應用程序添加相應的菜單,這些菜單包括圖形窗口的主菜單和右鍵菜單以及工具條。菜單文件是一個純文本文件,通過菜單文件中的腳本語言把菜單項與相應的響應鏈接起來。菜單腳本與菜單響應的編程語言和編程方式無關,菜單響應可以是NX Open的應用程序(后綴“dll”)、UI Styler對話框文件(后綴“dlg”)、NX Open Grip可運行文件(后綴“grp”)、通過菜單功能注冊函數(shù)進行注冊的用戶定義的命令以及操作系統(tǒng)標準命令。

        2 NX Open for.NET開發(fā)實例

        2.1 實例功能

        本實例實現(xiàn)的主要功能是從AutoCAD中拷貝一系列直線,通過二次開發(fā)程序?qū)崿F(xiàn)在NX草圖中粘貼直線,并根據(jù)參考平面標注尺寸約束。AutoCAD中拷貝直線功能是通過AutoCAD中的二次開發(fā)程序把直線數(shù)據(jù)以一定的格式保存到剪貼板中實現(xiàn)的,在本文不討論??截惖闹本€位置數(shù)據(jù)都是選定基點的相對位置數(shù)據(jù)。在NX草圖中粘貼直線時,首先要求用戶選擇一個基點,然后選擇標注尺寸約束的垂直和水平參考平面,如果不選擇參考平面則不標注尺寸,程序讀取剪貼板中的數(shù)據(jù),根據(jù)用戶選擇的基點計算直線的絕對坐標位置數(shù)據(jù),生成直線并標注尺寸。

        2.2 實例開發(fā)步驟

        實例開發(fā)步驟如下:

        (1)程序框架的生成:利用Visual Studio2008新建一個項目,項目類型選擇Visual C#中的NXx Open C# Wizard模板,輸入項目名稱,選中Use NX Open.UF_API和 Use NX Open.UI_API選項,生成程序框架。

        (2)功能程序主體的生成:功能程序主體主要是在草圖中畫直線和添加尺寸約束,功能程序主體可以利用NX的Journal(操作記錄)工具生成。在NX中新建一個prt文件,新建草圖,在NX中選擇菜單工具→操作記錄→錄制,開始錄制操作記錄,在草圖中插入多條直線,并標注水平和豎直尺寸約束。選擇菜單工具→操作記錄→停止錄制,完成Journal的錄制。打開剛錄制的文件,可以從中選擇以下代碼作為功能程序的主體。

        在上面的代碼中,要進行如下幾處修改才能作為該程序主體代碼使用:①在建立直線函數(shù)中的輸入?yún)?shù)為直線兩點的坐標,要修改為我們需要的坐標作為參數(shù)輸入;② 水平、豎直約束在程序中必須首先通過直線的坐標參數(shù)判斷所建立的直線是否為水平或豎直,才能施加相應的約束;③在Journal中使用FindObject函數(shù)實現(xiàn)參考平面的選取,F(xiàn)indObject函數(shù)的輸入是在本prt文件中對象的名稱,在其他prt文件中對象的名稱可能不同,不具有通用性,必須利用用戶選擇對象的函數(shù)實現(xiàn)參考平面的選取。

        (3)用戶界面的實現(xiàn):使用Block UI Styler對話框?qū)崿F(xiàn)用戶界面,如圖1所示。在用戶界面下,提示用戶選擇基點和參考平面,在用戶點擊確定或應用時,程序開始在草圖上生成直線并添加約束。

        圖1 用戶界面對話框

        (4)其他功能的實現(xiàn):讀取剪貼板中的數(shù)據(jù)是利用System.Windows.Forms.Clipboard類實現(xiàn)的,先用Clipboard.GetDataObject函數(shù)獲取數(shù)據(jù),用IdataObject接口獲取指定格式的數(shù)據(jù),再轉(zhuǎn)換為MemoryStream格式的數(shù)據(jù),從而轉(zhuǎn)換為字節(jié)流數(shù)據(jù)。

        (5)添加菜單和菜單回調(diào)函數(shù):新建一個后綴為“men”的文本文件,加入下面的菜單腳本。利用UI.MenuBarManager.AddMenuAction函 數(shù) 添 加 菜單的回調(diào)函數(shù),即添加我們所建立的如下過程函數(shù):

        2.3 程序運行結(jié)果

        在NX草圖界面下,選擇菜單“粘貼直線到草圖”,如果剪貼板中無數(shù)據(jù),給出提示后退出;如果剪貼板中有相關格式的數(shù)據(jù),則出現(xiàn)圖1所示的對話框,提示用戶選擇一個基點和兩個參考平面,選擇確定或應用,則在草圖上添加相應直線和尺寸約束。

        3 結(jié)語

        在.NET環(huán)境下利用NX Open for.NET進行NX的二次開發(fā),可以充分利用NX的Journal功能生成大部分的代碼,無需記憶復雜的函數(shù)名。本文通過實例說明了利用 NX/Journal、NX Open for.NET、NX/Open MenuScript聯(lián)合進行NX二次開發(fā),可以提高NX二次開發(fā)的效率。

        [1]游安弼.用C#二次開發(fā) UG NX[J].現(xiàn)代機械,2007(2):79-82.

        [2]唐鑫輝..NET環(huán)境下利用 UG/NXOpen和 UG/Journal對 UG的二次開發(fā)[J].現(xiàn)代制造工程,2011(4):60-62.

        [3]李如忠.利用二次開發(fā)技術(shù)在UG中實現(xiàn)剪貼板功能[J].現(xiàn)代機械,2008(6):63-64.

        猜你喜歡
        二次開發(fā)程序功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        “程序猿”的生活什么樣
        關于非首都功能疏解的幾點思考
        英國與歐盟正式啟動“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        亚洲一级电影在线观看| 深夜福利啪啪片| 成l人在线观看线路1| 人人看人人做人人爱精品| 精品免费久久久久国产一区| 精品蜜桃av免费观看| 伦伦影院午夜理论片| 国产又爽又粗又猛的视频| 亚洲综合国产精品一区二区99| 亚洲中文字幕无线乱码va| 久久免费亚洲免费视频| 三年的高清电影免费看| 精品欧美乱码久久久久久1区2区| 五月天无码| 国产熟女自拍av网站| 门卫又粗又大又长好爽| 国产精品爽爽va在线观看无码| 国产精品女同学| 亚洲中文字幕精品视频| 少妇人妻精品一区二区三区| 亚欧AV无码乱码在线观看性色 | 久久久精品2019中文字幕之3| 国产av精品一区二区三区视频 | 免费a级毛片18以上观看精品| 青青视频一区| 在线视频日韩精品三区| 女同同性av观看免费| 日本50岁丰满熟妇xxxx| 国产成人av在线影院无毒| 成人自拍偷拍视频在线观看| 大学生粉嫩无套流白浆| 粗大的内捧猛烈进出在线视频| 亚洲女同精品久久女同| 华人免费网站在线观看| 九九精品国产亚洲av日韩| 国产av一区二区三区区别| 麻豆成人久久精品一区| 国产精品99精品无码视亚 | 国产三级精品和三级男人| 国产精品久久国产精品99| 亚洲AV无码成人网站久久精品|