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

        ?

        基于NX二次開發(fā)的三維彈簧快速設計方法

        2020-04-07 10:15:58
        計算機測量與控制 2020年3期
        關鍵詞:圈數環(huán)境變量二次開發(fā)

        (1.中國兵器裝備研究院, 北京 102209; 2.中國兵器工業(yè)第二〇八研究所, 北京 102202)

        0 引言

        NX是Siemens PLM Software公司出品的一個產品開發(fā)解決方案,通過為用戶提供面向設計、仿真和制造的高性能集成解決方案,實現整個產品開發(fā)過程的轉型[1]。

        彈簧由于能吸收振動和沖擊能量,且具有自動復位的功能,所以彈簧廣泛應用于液壓閥門、車輛減振裝置、沖壓設備的復位機構和槍械、火炮等機械設備中。隨著數字化設計與制造技術的迅速發(fā)展,彈簧零件的手工設計步驟繁瑣、工作量比較大并且容易出錯,效率低、成本高,已不能滿足新的設計模式與生產模式需要。

        彈簧的設計計算屬常規(guī)設計,但在三維模型設計過程中,計算繁瑣,建模復雜,較適合CAD開發(fā),因此利用三維CAD技術開發(fā)彈簧模型自動生成工具是必要的,也是可行的。

        結合當前制造行業(yè)三維CAD的應用狀況,選擇基于NX軟件進行三維彈簧設計軟件開發(fā),提高彈簧設計質量和效率。利用三維彈簧設計軟件,輸入相關參數,軟件進行幾何參數計算,幾何參數通過驅動彈簧設計模板生成三維彈簧模型,并進行變形處理。

        通過二次開發(fā),直接提供特征參數輸入界面,通過參數的交互輸入,進行幾何參數計算,并驅動設計模板生成三維零件模型,簡化了零件設計流程,規(guī)范了零件特征結構,節(jié)省設計時間,提高工作效率[2-3]。

        本文在論述了基于C#的NX10二次開發(fā)的環(huán)境設置、二次開發(fā)窗體設計以及二次開發(fā)的程序調試等模塊設置,以矩形壓縮彈簧為例,進一步說了基于C#的NX10二次開發(fā)方法及機械零件參數化設計的實現過程。

        1 基于C#的NX二次開發(fā)主要技術

        1.1 二次開發(fā)環(huán)境設置

        在NX眾多的二次開發(fā)技術中,NX Open API是NX提供的一個高級二次開發(fā)編程語言工具集,幾乎所有能在NX界面上的操作都可以調用相應的NX Open API函數來實現,并同NX進行無縫連接,從而擴展NX的功能,使其更具專業(yè)化[4-5]。其中C#是面向對象的編程語言,作為一種解釋性語言,編譯的程序可以在32位與64位系統(tǒng)中完美運行,而且其操作方便易懂、語法簡明。

        二次開發(fā)環(huán)境設置主要包括開發(fā)工具配置和開發(fā)環(huán)境設置。

        1.1.1 開發(fā)環(huán)境設置

        基本環(huán)境變量:環(huán)境變量在NX的運行過程中有著重要的應用,一些環(huán)境變量在安裝NX之后便已經設置。其中最常用的基本環(huán)境變量包括:

        UGII_BASE_DIR:NX安裝的文件夾路徑;

        UGII_ROOT_DIR:NX安裝文件夾中UGII的位置;

        UGS_LICENSE_SERVER:28000@#######(IP地址或主機名);

        UGII_LANG:ENGLISH。

        其它常用的環(huán)境變量在ugii_env_ug.dat文件中定制。該文件默認位于UGII_ROOT_DIR目錄下。用戶可以修改同目錄下的ugii_env.dat文件。添加一些環(huán)境變量覆蓋已有的環(huán)境變量以控制NX的運行方式該文件可以通過環(huán)境變量UGII_ENV_FILE進行設定。

        命令行環(huán)境變量設置:編輯%UGII_BASE_DIR%/UGOPEN/ufvars.bat,設定MS VC Dir到正確目錄。具體配置如下所示:

        Rem Your might install them in a different location.

        Rem

        Rem set MSVCDir=C:/Program Files/Microsoft Visual Studio/VC98

        Rem set MSVCDir=C:/Program Files/Microsoft Visual Studio .NET/Vc7

        Rem set MSVCDir=C:/Program Files/Microsoft SDK

        Rem NX7

        Rem set MSVCDir=C:/Program Files/Microsoft Visual Studio 8/VC

        Rem set MSVCDir=C:/Program Files(x86)/Microsoft Visual Studio 8/VC

        Rem set MSVCDir=C:/Program Files/Microsoft Visual Studio 9/VC

        Rem set MSVCDir=C:/Program Files(x86)/Microsoft Visual Studio 9/VC

        Rem NX8.0/NX8.5 wntx64

        Rem set MSVCDir=C:/Program Files/Microsoft Visual Studio 10/VC

        Rem NX8.0/NX8.5 wntx32

        Rem set MSVCDir=C:/Program Files(x86)/Microsoft Visual Studio 10/VC

        Rem NX9.0/NX10.0 wntx64

        Rem set MSVCDir=C:/Program Files/Microsoft Visual Studio 11/VC

        Rem NX9.0/NX10.0 wntx32

        Rem set MSVCDir=C:/Program Files(x86)/Microsoft Visual Studio 11/VC

        1.1.2 應用向導創(chuàng)建

        開發(fā)工作開始前需對NX10.0以及Visual Studio 2010進行配置。Project Wizard是NX為用戶提供的向導自動生成開發(fā)工程的工具,其VC#開發(fā)向導保存在%UGII_BASE_DIR%/UGOPEN/vs_files/VC#目錄下,復制%UGII_BASE_DIR%/UGOPEN/vs_files/VC#/CSharp Projects文件夾中所有的文件到Microsoft Visual Studio2010/VC#/CSharp Projects目錄中;復制%UGII_BASE_DIR%/UGOPEN/vs_files/VC#/VC#Wizards文件夾中所有的文件到Microsoft Visual Studio2010/VC#/VC#Wizards目錄中。

        在NX10.0命令提示符窗口執(zhí)行“devenv”運行VS2010,在Visual C#工程模板中選擇NX10 Open C# Wizard向導創(chuàng)建工程。

        圖1 向導創(chuàng)建

        利用向導創(chuàng)建的程序由“引用”和“主程序”兩部分組成:其中“引用”中包含了NX自帶的函數庫(如NXOPEN.dll等)和程序中的數據包(如System等)?!爸鞒绦颉钡哪J名稱為mycalss.cs,主要負責執(zhí)行程序的開始、調用及結束。調用的程序一般寫在窗體程序中,窗體通過主程序激活。

        1.2 二次開發(fā)窗體設計

        采用NX Block UI Styler制作對話框,使用Block UI Styler可以生成包含文本輸入、參數輸入、目標選擇、按鈕響應、圖片插入等要素的對話框,完全支持NX操作。創(chuàng)建對話框后,生成C#語言源程序代碼文件(.cs文件)與NX對話框文件(.dlx文件)。其中.cs文件需要通過API進行編譯,生成動態(tài)鏈接庫即可以在NX中執(zhí)行的.dll文件。

        通過 Block UI Styler設計的對話框文件是后綴名為“dlx”的文件通常稱其為DLX文件。從文件格式上來說.DLX檔是一個標準的XML文件,包含了在運行時構建對話框的所有信息客戶應用程序使用了DLX對話框文件和編譯生成的DLL文件一樣,都需要放置在開發(fā)根目錄的 Application路徑下,提供給NX運行時加載使用。

        Block UI Styler用戶接口主要包含以下幾個部分:菜單工具欄,配置對話框,包括布局設計器,屬性編輯器,代碼生成管理器。

        組塊目錄如圖2所示。

        圖2 組塊目錄

        1.3 二次開發(fā)程序調試

        第一次運行程序調試時,需要將程序附加到NX進程中,在“工具”選項下選擇“附加到進程”。

        在彈出的窗口中,選擇NX10進程,單擊“附加”完成。此時,運行調試命令,程序將啟動NX10軟件,同時程序將自動生成動態(tài)鏈接庫文件(*.dll)。激活NX10,按下Ctrl+U,將彈出調試串口,選擇動態(tài)鏈接庫文件,完成調試操作。

        圖3 調試串口

        程序調試沒有問題后,需要對應用程序進行簽名后,才能正式發(fā)布,應用程序簽名主要包括:添加NXSigningResource.res到方案中,編譯成功后,執(zhí)行SignDotNet.exe,也可以設定在方案中的Post-Bulid event來自動執(zhí)行簽名。

        2 開發(fā)實例

        2.1 程序結構

        彈簧設計向導工具在NX建模環(huán)境下具備快速打開的接口,并能方便的選擇所需設計的彈簧零件向導工具。提供與NX一致的交互式、向導式用戶界面,并通過指定矢量和點指定彈簧在三維NX CAD模型空間的位置,包括矩形壓縮彈簧、矩形拉伸彈簧、扭簧、多股壓縮彈簧、多股拉伸彈簧和片簧等六種類型的定義、參數的輸入界面、幾何參數的計算結果顯示界面。利用交互式用戶界面,通過對彈簧名稱的定義、彈簧位置的確定、彈簧參數化的輸入以及顯示結果的檢查,將自動生成矩形拉伸彈簧三維模型,并同時完成對彈簧三維模型的變形處理[6],以上六類彈簧的輸入輸出參數如表1~6所示。

        表1 矩形壓縮彈簧輸入輸出參數

        表2 矩形拉伸彈簧輸入輸出參數

        續(xù)表2

        輸入參數輸出結果3)圓鉤環(huán)壓中心7)螺旋角提供如下參數的輸入:8)K1)中間直徑2)垂直邊長3)平行邊長4)有效圈數

        表3 扭簧輸入輸出參數

        表4 多股壓縮彈簧輸入輸出參數

        表5 多股拉伸彈簧輸入輸出參數

        表6 片簧輸入輸出參數

        典型彈簧設計向導結構方案如圖4所示。

        圖4 設計向導結構

        2.2 接口

        在NX環(huán)境中,創(chuàng)建典型彈簧三維設計、彈簧簡化視圖的接口,方便調用。

        2.3 邏輯流程圖

        在NX建模環(huán)境中,選擇“典型彈簧三維設計”菜單,在彈出的下拉菜單中選擇“XX簧”,或者在“典型彈簧三維設計”工具條中選擇“XX簧”圖標,即可進入相應的彈簧向導界面;

        在彈簧向導界面中“名稱與位置”步驟,在“彈簧名稱”控件中輸入彈簧的名稱,在“指定矢量”和“指定點”控件中選擇彈簧旋轉的方向及放置位置;

        進入“輸入參數”步驟界面,進行一些參數的選擇或者輸入,在“旋向”控件中可選擇“左旋”或者“右旋”。在“彈簧樣式”中可選擇“矩形”或者”圓柱形”,在“端部結構”控件中,選擇“并緊磨平”、“并緊不磨平”、“不并緊”三種端部情況。然后在“輸入參數”中輸入:中間直徑、自由高度、有效圈數等彈簧參數;

        進入“顯示結果”步驟界面,在此步驟中,可以查看彈簧的相關輸入參數及一些計算參數,若符合設計要求,點擊完成即可生成相應的彈簧三維模型。若不符合則可以點擊“上一步”進行參數修改,生成相應的彈簧三維模型。

        圖5 典型彈簧三維設計邏輯流程圖

        2.4 設計實例

        以矩形壓縮彈簧為實例,主要包括建立彈簧相關參數表達式,創(chuàng)建彈簧三維模型,進行二次程序開發(fā)。矩形壓縮彈簧按鋼絲旋轉方向可分為左旋和右旋,按彈簧橫截面可分為圓柱形截面和矩形截面,按端部結構可分為端部不并緊、端部并緊、端部并緊并磨平。在進行參數表達式建立以及二次開發(fā)時,都要能夠滿足。

        建立彈簧相關參數表達式,基于表達式驅動創(chuàng)建彈簧三維模型。

        圖6 參數表達式

        主要包括創(chuàng)建項目、編寫代碼、進行程序編輯與調試、編制菜單文件,進行程序注冊。

        其中源代碼最主要的就是建立程序與表達式之間的聯(lián)系,使用C#語言與NX Open API完成表達式與程序之間關系的建立,主要代碼如下:

        stringarraylist01[1] = "輸入參數:";

        stringarraylist01[2] = "彈簧中徑D = " + eD.GetProperties().GetDouble("Value").ToString();

        stringarraylist01[3] = "垂直邊長a = " + ea.GetProperties().GetDouble("Value").ToString();

        stringarraylist01[4] = "平等邊長b = " + eb.GetProperties().GetDouble("Value").ToString();

        stringarraylist01[5] = "自由高 H0= " + eH0.GetProperties().GetDouble("Value").ToString();

        stringarraylist01[6] = "有效圈數n = " + en.GetProperties().GetDouble("Value").ToString();

        stringarraylist01[7] = "總圈數 n1= " + en1.GetProperties().GetDouble("Value").ToString();

        編制菜單文件:

        VERSION 143

        EDIT UG GATEWAY_MAIN_MENUBAR

        AFTER UG HELP

        !MENU INTEGRAT

        CASCADE_BUTTON_MENU_CLASSIC_PART_DESIGN

        LABEL 典型彈簧三維設計

        !END_OF_MENU

        END_OF AFTER

        MENU_MENU_CLASSIC_PART_DESIGN

        BUTTON BTN SPRING_Rectangle_Cylinder_Compression

        LABEL 矩形壓縮彈簧

        BITMAP Rectangle_Cylinder_Compression_Spring.bmp

        ACTIONS Rectangle_Cylinder_Compression_Spring _cs.dll

        基于上述創(chuàng)建的表達式,利用NX的規(guī)律曲線命令創(chuàng)建彈簧螺旋線,如圖7所示。

        圖7 螺旋線視圖

        利用草圖命令創(chuàng)建彈簧矩形截面,再利用掃掠命令創(chuàng)建彈簧實體模型,如圖8所示。

        圖8 截面及實體視圖

        2.5 實驗結果與分析

        二次開發(fā)調試完成后,可形成彈簧設計向導,本次以矩形壓縮彈簧為例,首先分析矩形彈簧的主要參數如下。

        彈簧絲截面尺寸:垂直軸向方向的垂直邊長a,平行軸向方向的邊長b,其對角線長度為d;

        彈簧外徑D:彈簧的最大外徑;

        彈簧內徑D1:彈簧的最小內徑;

        彈簧中徑D2:彈簧的平均直徑,計算公式為:D2=(D+D1)÷2=D1+a=D-a。

        有效圈數n:彈簧能保持相同節(jié)距的圈數。

        支撐圈數n2:為了使彈簧在工作時受力均勻,保證軸線垂直端面,制造時,常將彈簧兩端并緊。并緊的圈數僅起支撐作用,稱為支撐圈。一般有1.5、2 T、2.5 T,常用的是2 T。

        總圈數n1:有效圈數與支撐圈的和。即n1=n+n2。

        自由高H0:彈簧在未受外力作用下的高度。

        其次明確彈簧的計算輸出參數,主要包括螺距、展開長度、螺旋角、曲度系數。

        展開長度:繞制彈簧時所需鋼絲的長度。L≈πD2(2+n)。

        設定其幾何參數為:中間直徑20 cm、垂直邊長1 cm、平行邊長4 cm、自由高度65 cm、有效圈數6、總圈數8;其特性參數為:工作高度1為59 cm、工作高度2為54 cm、試驗高度為51 cm、工作載荷1為15 N、工作載荷2為30 N、試驗載荷為39 N。

        根據輸入的彈簧參數進行理論計算,可生成螺距t=9.83 mm、展開長度L=502.65 mm、螺旋角α=8.9、曲度系數K=1.32,隨后即可在NX環(huán)境內生成具體彈簧模型。

        3 結論

        從圖9可以看出,應用此設計程序建成的矩形壓縮彈簧符合設計輸入要求,其三維標注的參數與理論計算保持一致,且能便捷的生成二維簡化彈簧圖。

        圖9 彈簧視圖

        本文應用基于C#的NX OPEN API二次開發(fā)的方法以及三維零件參數化設計,最終實現了矩形壓縮彈簧、矩形拉伸彈簧、扭簧、多股壓縮彈簧、多股拉伸彈簧和片簧等6種彈簧的快速設計以及彈簧簡化視圖。目前,已經在實際產品設計過程中得到了應用和驗證,大幅減少了設計師的重復勞動,有效提升了常用彈簧設計效率和質量。

        猜你喜歡
        圈數環(huán)境變量二次開發(fā)
        基于最大熵模型的云南思茅松潛在分布區(qū)
        一起來了解風向和風速吧
        通過絞車鋼絲繩計算井深
        從桌面右鍵菜單調用環(huán)境變量選項
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        徹底弄懂Windows 10環(huán)境變量
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        晨起轉腰改善便秘
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        空中顯示計數的跳繩
        日韩精品视频中文字幕播放| 亚洲精品无码成人片久久不卡| 国产自拍精品在线视频| 中文字幕人妻少妇伦伦| 国产va免费精品高清在线观看| 人妻人人澡人人添人人爽人人玩| 国产美女在线精品亚洲二区| 中文字幕乱码av在线| av成人一区二区三区| 制服丝袜中文字幕在线| 亚洲日本va中文字幕久久| 强d漂亮少妇高潮在线观看| 丝袜美腿丝袜美腿丝袜美腿丝袜| 熟妇熟女乱妇乱女网站| 久久人人97超碰超国产| 国产小车还是日产的好| 国产真实一区二区三区| 99爱在线精品免费观看| 香蕉视频一级| 中文字幕 在线一区二区| 日韩午夜理论免费tv影院| 久久综合九色综合欧美狠狠| JIZZJIZZ国产| 午夜一区二区三区免费观看| 天天躁日日躁狠狠躁av麻豆| 国产精品jizz在线观看老狼| 国产一区二区三区免费在线视频 | 97超在线视频免费| 亚洲av乱码一区二区三区观影| 国产精品人成在线观看免费| 成人欧美一区二区三区的电影| 一本大道久久东京热无码av| 成人黄色片久久久大全| 人妻少妇乱子伦无码视频专区| 亚洲级αv无码毛片久久精品| 亚洲av乱码国产精品色| 亚洲成人av在线第一页| 久久精品麻豆日日躁夜夜躁| 无遮挡中文毛片免费观看| 国产在线a免费观看不卡| 国产成人精品久久亚洲高清不卡|