• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于UG的熱流道標準件庫的研究與建立

    2014-04-29 00:44:03紀忠華黃詩君張茜
    電子世界 2014年21期
    關(guān)鍵詞:二次開發(fā)

    紀忠華 黃詩君 張茜

    【摘要】標準件在產(chǎn)品設(shè)計的過程中占有很大比例,標準件庫的開發(fā)是減少重復(fù)設(shè)計,提高設(shè)計效率的重要手段?;赨G,利用Journal及其他二次開發(fā)工具制作熱流道系統(tǒng)的標準件庫,開發(fā)效率高,并實現(xiàn)復(fù)雜功能,滿足開發(fā)要求。

    【關(guān)鍵詞】標準件庫;UG;二次開發(fā);熱流道

    1.引言

    UnigraphicsNX7.0(簡稱UGNX7.0)是當今世界上最先進和高度集成的、面向制造行業(yè)的CAD/CAE/CAM軟件系統(tǒng),被廣泛應(yīng)用于機械、模具等領(lǐng)域。NX7.0提供了強大的二次開發(fā)接口,支持Java、C++、C#等多種高級編程語言,為自動化和自定義NX提供了一個廣發(fā)而靈活的環(huán)境。

    熱流道行業(yè)中,在標準的建立上仍有所不足,在進行產(chǎn)品開發(fā)中,建立企業(yè)的標準件庫,是減少錯誤并提高設(shè)計效率的最佳手段。

    2.UGNX7.0二次開發(fā)語言及工具

    C++作為一門高級語言,不僅具有強大的函數(shù)/類庫,而且與NX的最底層經(jīng)典NXOpen C更是完美兼容,用C++作為開發(fā)語言更是支持.NET和Java兩大語言的范型,面向?qū)ο蠹夹g(shù),不僅為開發(fā)人員帶來諸多便利,更是增加了代碼的可讀性,為后期程序的優(yōu)化作準備。

    西門子公司為NX設(shè)計了許多二次開發(fā)工具,BlockUIStyler使界面的開發(fā)變得更加方便,MenuScript定義了菜單的腳本語言,并可以創(chuàng)建工具欄。NX系統(tǒng)內(nèi)嵌的Journal日志功能更是大大降低了二次開發(fā)的代碼量。

    3.標準件庫的開發(fā)

    標準件庫的開發(fā)利用MenuScript建立工具欄,BlockUIStyler做出界面后生成.hpp和.cpp文件。在VisualStudio 2008(以下簡稱VS2008)中讀取NX7.0 C++模板文件,建立并把生成的.hpp和.cpp文件導(dǎo)入,進行代碼的編輯。

    開發(fā)應(yīng)用程序項目目錄有startup,

    application和prt。其中,文件夾startup中存放動態(tài)鏈接庫(*.dll)和工具條腳本文件(*.tbr),application中存放對話框文件(*.dlx)、圖標位圖文件(*.bmp)和圖像文件(*.jpg),prt用于存放圖形模板文件。

    具體開發(fā)配置如圖1。

    應(yīng)用程序開過過程中需要調(diào)試,調(diào)試通過“UG->文件->執(zhí)行->NX Open”執(zhí)行debug編譯成功的*.dll文件。程序發(fā)布時需使用release版程序,保證程序的健壯性,并為應(yīng)用程序配置可執(zhí)行路徑。

    圖1

    3.1 建立工具欄

    以記事本格式編寫腳本文件,編寫完成后更改格式為.tbr,部分腳本內(nèi)容如下:

    TITLE 標準件庫導(dǎo)入

    VERSION 170

    BUTTON fenliuban

    LABEL 分流板

    BITMAP

    ACTION fenliubanpeijian.dll

    BUTTON qiyougang

    LABEL 汽/油缸

    BITMAP

    ACTION qiyougang.dll

    ……

    工具欄設(shè)計效果如圖2所示。

    3.2 設(shè)計界面

    進入NX7.0的塊樣式編輯器模塊(Block UI Styler),設(shè)計各級界面(這里以分流板配件及主射咀作一二級界面為例)如圖3、圖4所示。

    圖2

    圖3

    圖4

    界面設(shè)計完成,將生成的.hpp和.cpp文件導(dǎo)入VS2008的UG二次開發(fā)模板中,界面的跳轉(zhuǎn)在主界面的回調(diào)函數(shù)update_cb()中完成,主要代碼如下:

    Intfenliubanpeijian::update_cb(NXOpen

    ::BlockStyler::UIBlock* block)

    {

    try

    {

    if(block == btZhushezui)

    {

    zhushezui *zsz=new zhushezui;//跳轉(zhuǎn)至主射咀界面

    zsz->Show();

    }

    }

    要完成界面的跳轉(zhuǎn)還需要在主界面代碼中添加子界面程序的頭文件,具體頭文件代碼如下:

    #include”fenliubanpeijian.hpp”

    #include”fangzhuanxiao.hpp”

    #include”fareguanjietou.hpp”

    #include”luosi.hpp”

    #include”redianou.hpp”

    #include”yalijiezi.hpp”

    #include”zhongxinding.hpp”

    #include”zhushezui.hpp”

    3.3 子界面功能設(shè)計

    標準件庫中部件的導(dǎo)入是通過現(xiàn)有部件的名稱及型號進行調(diào)用、判斷進而選擇模型文件。導(dǎo)入方向與模型WCS方向一致,可根據(jù)需要在目標文件中修改WCS方向再進行調(diào)用,調(diào)用位置根據(jù)“指定原始點”確定,模型方向通過“指定原始點”與“指定方向點”確定,程序附帶一個-Z軸移動距離功能,方便用戶進行面操作之后的移動。代碼在子界面程序的apply函數(shù)中的try函數(shù)中添加,主要代碼如下:

    partImporter1->SetFileName

    (“\\\\192.168.1.3\\rui\\UGkaifa\\reliudao-3D\\01-fenliubanpeijian\\zhushezui\\”+str+”.prt”);//獲取標準件文件名稱

    ......

    NXMatrix *nXMatrix1;

    WCS* wcs=workPart->WCS();

    NXObject *nullNXObject(NULL);

    //--------------------------//通過“指定原始點”與“指定方向點”重新定義要導(dǎo)入部件的WCS方向

    //----------------------------

    Point3d opoint=point0->GetProperties()

    ->GetPoint(“Point”);

    Point3d pointY,originp(0,0,0);

    pointY=point01->GetProperties()->GetPoint(“Point”);

    Vector3d vecz(0,0,1),vecy(pointY.X-opoint.X,pointY.Y-opoint.Y,pointY.Z-opoint.Z);

    Direction *directionY,*directionZ;

    directionY=workPart->Directions()->CreateDirection(originp,vecy,SmartObject::

    UpdateOptionWithinModeling);

    directionZ=workPart->Directions()->CreateDirection(originp,vecz,SmartObject::

    UpdateOptionWithinModeling);

    Point *point1;

    point1=workPart->Points()->CreatePoint

    (opoint);

    Xform *xform1;

    xform1=workPart->Xforms()->CreateXformBy

    PointYDirZDir(point1,directionY,directionZ,

    SmartObject::UpdateOptionWithinModeling,

    1.0);//建立坐標系

    ......

    double dble=double0->GetProperties()->GetDouble("Value");

    Point3d destinationPoint2(destinationPoint1.X,destinationPoint1.Y,destinationPoint1.Z-dble);//設(shè)置-Z軸的移動距離

    (篇幅原因只簡述部分代碼)

    3.4 配置程序執(zhí)行路徑

    開發(fā)完成后,將程序發(fā)布,需要將程序打包,并制定程序說明書,說明程序的配置及使用方法。開發(fā)環(huán)境通過配置文件方法進行配置,將配置文件(“$(UGII_BASE_DIR)\ UGII\menus\custom_dirs.dat”)用記事本格式打開,并將程序執(zhí)行路徑添加到最后一行,如圖5所示。

    圖5

    配置程序之后重新啟動UG主程序,在菜單項中即可找到自定義程序入口。

    4.結(jié)論

    通過UG二次開發(fā)技術(shù),研究并建立了熱流道系統(tǒng)的標準件庫,極大程序地減少了標準件重復(fù)設(shè)計的時間,系統(tǒng)界面簡便且人性化。系統(tǒng)簡便實用,降低了設(shè)計者的勞動強度,對設(shè)計效率有很大提高。

    參考文獻

    [1]唐杰,張祥林.C++在UG二次開發(fā)中的應(yīng)用[J].現(xiàn)代機械,2007(1):80-82.

    [2]王藝樹,張毅,梁強.基于UG的參數(shù)化標準件庫的研究與實現(xiàn)[J].信息與技術(shù),2009,38(2):127-129.

    [3]周臨震,李青祝,秦珂.基于UGNX系統(tǒng)的二次開發(fā)[M].江蘇大學(xué)出版社,2012.

    [4]UGS公司.NX7.5 HelpLibrary[Z].2010.

    作者簡介:紀忠華(1990—),男,江蘇東臺人,廣東工業(yè)大學(xué)碩士研究生在讀,研究方向:NX二次開發(fā)。

    猜你喜歡
    二次開發(fā)
    淺談基于Revit平臺的二次開發(fā)
    甘肅科技(2020年20期)2020-04-13 00:30:02
    西門子Operate高級編程的旋轉(zhuǎn)坐標系二次開發(fā)
    淺談Mastercam后處理器的二次開發(fā)
    模具制造(2019年3期)2019-06-06 02:11:02
    基于C#的AutoCAD建筑構(gòu)件庫二次開發(fā)
    江西建材(2018年2期)2018-04-14 08:01:14
    西門子Easy Screen對倒棱機床界面二次開發(fā)
    基于全站儀二次開發(fā)的覆冰厚度測量與實現(xiàn)
    電測與儀表(2016年9期)2016-04-12 00:29:52
    Micaps3.2 版本二次開發(fā)入門淺析
    西藏科技(2015年12期)2015-09-26 12:13:51
    基于VB的ANSYS二次開發(fā)在變壓器抗短路性能分析中的應(yīng)用
    基于CATIA的橡皮囊成形毛料展開的二次開發(fā)
    機械工程師(2015年9期)2015-02-26 08:38:10
    ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
    汽車零部件(2014年5期)2014-11-11 12:24:32
    静安区| 神木县| 长沙县| 宁都县| 麦盖提县| 马龙县| 建昌县| 林口县| 嵩明县| 科技| 含山县| 习水县| 行唐县| 威海市| 祁东县| 景洪市| 永和县| 漳浦县| 辉县市| 桐柏县| 蒙城县| 余江县| 金乡县| 合山市| 信阳市| 巴彦县| 双辽市| 上饶市| 广饶县| 金溪县| 乌拉特前旗| 六安市| 罗定市| 海城市| 潞城市| 彭阳县| 那曲县| 四会市| 徐水县| 惠水县| 明溪县|