• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于UG二次開發(fā)的榴彈外形結(jié)構(gòu)設(shè)計系統(tǒng)關(guān)鍵技術(shù)研究

      2019-04-15 05:22:12劉松健趙捍東曹紅松
      測試技術(shù)學(xué)報 2019年3期
      關(guān)鍵詞:榴彈二次開發(fā)程序

      劉松健, 趙捍東, 曹紅松, 劉 闖, 劉 勝

      (中北大學(xué) 機(jī)電工程學(xué)院, 山西 太原 030051)

      0 引 言

      榴彈作為構(gòu)成火炮彈藥的基本彈種, 在殺傷敵人有生力量, 摧毀敵人防御工事、武器裝備及其它軍事設(shè)施上有著不可替代的作用. 在現(xiàn)代戰(zhàn)爭中, 對榴彈的戰(zhàn)術(shù)技術(shù)要求越來越越具體化和多樣化, 榴彈的設(shè)計要迅速反映現(xiàn)代戰(zhàn)爭的需求[1]. 隨著計算機(jī)技術(shù)的發(fā)展, 數(shù)字化設(shè)計技術(shù)在彈藥設(shè)計工作中有著越來越廣泛的應(yīng)用. 大量的專家學(xué)者已經(jīng)在彈藥的數(shù)字化設(shè)計系統(tǒng)研究上取得了顯著成果[2-5].

      目前, 各類彈藥數(shù)字化設(shè)計系統(tǒng)所采用的參數(shù)化建模技術(shù)主要為基于交互式運(yùn)行模式的UG二次開發(fā)技術(shù). 該模式允許開發(fā)人員直接添加菜單項, 從用戶對菜單的交互操作中調(diào)用程序, 實現(xiàn)和UG界面的無縫集成并擴(kuò)充成所需的特定功能. 采用該技術(shù)的UG二次開發(fā)應(yīng)用程序開發(fā)簡單、操作靈活, 執(zhí)行時的每個步驟都能從UG的客戶窗口中得到動態(tài)反映, 能方便地通過UI界面對象來實現(xiàn)與用戶的交互、屏幕選取等復(fù)雜操作[6,7]. 然而基于該模式的應(yīng)用程序必須在UG框架內(nèi)執(zhí)行, 導(dǎo)致該類方法存在集成于某一設(shè)計系統(tǒng)中時會出現(xiàn)數(shù)據(jù)交互不便, 無法同時對多個零件進(jìn)行批量操作等缺陷. 本文為了使UG二次開發(fā)應(yīng)用程序能夠獨立運(yùn)行, 適合集成在數(shù)字化設(shè)計系統(tǒng)中, 實現(xiàn)對多個部件進(jìn)行快速操作等功能, 在榴彈外形結(jié)構(gòu)設(shè)計系統(tǒng)中采用了基于批處理運(yùn)行模式的UG二次開發(fā)方法.

      1 系統(tǒng)構(gòu)成

      該系統(tǒng)由C#語言在 Visual Studio 2012(以下簡稱VS2012)環(huán)境下進(jìn)行開發(fā), 總體架構(gòu)為典型的4層體系結(jié)構(gòu), 包括用戶層、應(yīng)用層、數(shù)據(jù)層及驅(qū)動層, 系統(tǒng)框架如圖 1 所示.

      用戶層是軟件的交互界面, 用戶通過由C#編寫的可視化界面調(diào)用系統(tǒng)的各功能模塊完成設(shè)計工作.

      應(yīng)用層主要由榴彈設(shè)計和快速建模兩個功能模塊構(gòu)成. 其中, 榴彈設(shè)計模塊分為口徑及用途選擇模塊、榴彈質(zhì)量初步選擇模塊、榴彈外形設(shè)計、榴彈內(nèi)腔設(shè)計和榴彈裝藥選擇5個子模塊; 快速建模模塊分為引信建模、彈體建模、彈帶建模、藥柱建模和榴彈裝配5個子模塊.

      數(shù)據(jù)層即為軟件的數(shù)據(jù)庫, 由各類數(shù)據(jù)文件組成. 系統(tǒng)通過讀取相應(yīng)的數(shù)據(jù)文件得到設(shè)計工作中所需的各項參數(shù), 并將設(shè)計結(jié)果保存在新建的數(shù)據(jù)文件中, 各功能模塊通過對該數(shù)據(jù)文件進(jìn)行讀寫完成數(shù)據(jù)交互.

      驅(qū)動層是在VS2012環(huán)境下, 將程序進(jìn)行編譯, 完成各模塊功能的實現(xiàn). 系統(tǒng)通過NXOpenAPI函數(shù)從后臺調(diào)用UG, 完成對模型的快速操作.

      圖 1 系統(tǒng)框架圖Fig.1 System frame diagram

      2 榴彈的參數(shù)化模型

      榴彈的參數(shù)化模型根據(jù)功能模塊的設(shè)計結(jié)果生成. 三維模型的建立流程如圖 2 所示.

      圖 2 榴彈的三維模型建立過程Fig.2 Three-dimensional modeling process of grenade

      2.1 榴彈模型的設(shè)計流程

      榴彈模型的設(shè)計流程由榴彈設(shè)計功能模塊實現(xiàn), 該模塊程序根據(jù)相關(guān)彈藥設(shè)計理論知識整理得到. 模塊功能涵蓋了榴彈設(shè)計過程中給定最大射程、榴彈口徑選擇、引信選擇、榴彈質(zhì)量初步設(shè)計、榴彈外形設(shè)計、彈帶設(shè)計、榴彈內(nèi)腔設(shè)計和榴彈裝藥選擇等主要內(nèi)容[8,9].

      模塊程序通過對外彈道數(shù)據(jù)文件和各項設(shè)計參數(shù)文件的讀取完成設(shè)計工作中對部分外彈道設(shè)計參數(shù)的查詢及各步驟中所需設(shè)計參數(shù)的調(diào)用, 并完成相關(guān)計算工作. 榴彈模型的設(shè)計結(jié)果被儲存在新建的ini文件中, 建模模塊通過讀取ini文件調(diào)用相應(yīng)的UG二次開發(fā)應(yīng)用程序完成三維模型的繪制, 設(shè)計功能模塊的主界面及設(shè)計結(jié)果如圖 3 所示.

      圖 3 榴彈的設(shè)計結(jié)果Fig.3 The result of shell design

      2.2 榴彈的參數(shù)化模型

      榴彈的參數(shù)化模型如圖 4 所示. UG在建立三維模型時需要先繪制草圖, 而繪制該草圖的過程即為榴彈的參數(shù)化模型. 建模模塊根據(jù)不同類型的設(shè)計結(jié)果調(diào)用相應(yīng)的建模程序模板, 將設(shè)計結(jié)果中的參數(shù)帶入至建模程序中, 驅(qū)動建模程序完成草圖的繪制. 設(shè)計結(jié)果中各參數(shù)與榴彈參數(shù)化模型中的參數(shù)對應(yīng)如表 1 所示.

      其中, 口螺處的半徑R2按照螺紋的內(nèi)徑選取. 外圓弧與內(nèi)圓弧需要根據(jù)其圓心坐標(biāo)、半徑以及起止位置的角度確定.

      圖 4 榴彈參數(shù)化模型Fig.4 Parametric model of grenade

      圓弧起始角度

      圓弧停止角度

      圓柱部定心部寬度L2,L4等長, 彈帶槽寬L5根據(jù)所選彈帶確定;

      非定心部段長度

      L3=L13-L2-L4-L5.

      非定心部段半徑R7略小于定心部處半徑R6, 與尾柱部半徑R8相等;

      彈底半徑R11=R8-L7×tanθ2;

      彈丸內(nèi)腔圓柱部半徑

      截錐部長

      L11=L13-L8-L9-L10-L12.

      彈底半徑

      R5=R4-L11×tanθ1.

      當(dāng)修改榴彈設(shè)計參數(shù)時, 模型中對應(yīng)參數(shù)也會隨之變化, 以此來達(dá)到快速修改榴彈模型的效果.

      表 1 模型參數(shù)與設(shè)計參數(shù)對應(yīng)關(guān)系Tab.1 The correspondence between model parameters and design parameters

      3 參數(shù)化建模方法

      3.1 程序模板配置

      本文采用的平臺為UG NX10.0與VS2012. 將UG的根文件夾NX10.0下的UGOPEN文件夾中vs_files里的VC#文件夾復(fù)制到VS2012根文件夾Microsoft Visual Studio 11.0完成開發(fā)環(huán)境的搭建. 在VS2012中新建UG10開發(fā)模板并在設(shè)置向?qū)е羞x擇外部類型, 再向所配置的開發(fā)模板中添加根據(jù)設(shè)計結(jié)果繪制榴彈模型的操作步驟代碼, 最后將模板發(fā)布為exe文件, 以供建模模塊調(diào)用.

      3.2 快速建模方法

      本文通過VS2012編寫NX OpenAPI程序從外部驅(qū)動UG完成建模的各個步驟. NX OpenAPI是一個允許程序訪問并改變UG對象模型的程序集, 并且封裝了近2 000個UG操作函數(shù)[10]. 它是VS2012與UG的接口, 通過它可以對UG的圖形終端進(jìn)行操作[11].

      3.2.1 彈體的創(chuàng)建

      榴彈彈體作為回轉(zhuǎn)體, 在建模過程中, 可以通過草圖繪制母線, 再通過建立回轉(zhuǎn)特征得到. 榴彈彈體母線的構(gòu)成元素主要包含直線和圓弧.

      1) 直線元素的添加通過函數(shù)CreateLine()繪制再用函數(shù)AddGeometry()添加至草圖中.

      2) 圓弧元素的繪制通過函數(shù)CreateArc()完成, 函數(shù)所需的參數(shù)有圓心坐標(biāo)、圓弧半徑和起止弧度. 再通過函數(shù)AddGeometry()添加至草圖中.

      3) 回轉(zhuǎn)特征的構(gòu)建由回轉(zhuǎn)特征構(gòu)造器RevolveBuilder實現(xiàn), 建立回轉(zhuǎn)特征需要的參數(shù)有: 構(gòu)造器所使用的截面Section、用于生成回轉(zhuǎn)特征的截面線Geometry、回轉(zhuǎn)方向以及回轉(zhuǎn)軸線Axis, 由構(gòu)造器的CommitFeature()函數(shù)提交特征, 完成對回轉(zhuǎn)特征的構(gòu)建.

      3.2.2 口螺的創(chuàng)建

      榴彈彈體與引信的連接通過口螺實現(xiàn), 因此在建模過程中需要對口螺進(jìn)行繪制. 在UG的API函數(shù)庫中, 并無用于直接創(chuàng)建螺紋類特征的API函數(shù), 所以需要通過掃掠特征和切除運(yùn)算模擬機(jī)加工中對螺紋的切制來實現(xiàn)口螺的創(chuàng)建, 具體步驟如下:

      1) 根據(jù)螺紋的牙型添加需切除部分的草圖, 添加方法與上文相同.

      2) 創(chuàng)建螺旋線, 螺旋線由構(gòu)造器HelixBuilder進(jìn)行創(chuàng)建, 并根據(jù)螺紋的參數(shù)對構(gòu)造器中的Value(直徑)、PitchLaw(螺距)、StartLimit(起始位置)、EndLimit(終止位置)4個成員進(jìn)行設(shè)置, 確定螺旋線的尺寸, 再通過設(shè)置CoordinateSystem(坐標(biāo)系統(tǒng))成員確定螺旋線的位置與方向.

      3) 創(chuàng)建掃掠特征, 掃掠特征由構(gòu)造器SweptBuilder進(jìn)行創(chuàng)建, 建立掃掠特征所需的參數(shù)有: 構(gòu)造器所使用的截面Section、用于生成掃掠特征的截面線Geometry(通過選取草圖中的所有曲線)、 用于生成掃掠特征的引導(dǎo)線Spline(通過選取構(gòu)成螺旋線的樣條曲線)以及掃掠過程的定位方法OrientationMethod. 由構(gòu)造器的Commit()函數(shù)提交特征, 完成掃掠特征的創(chuàng)建.

      4) 布爾運(yùn)算切除, 將回轉(zhuǎn)特征作為參數(shù)代至構(gòu)造器BooleanBuilder中的Add()函數(shù)中, 完成將彈體作為目標(biāo)體的操作, 選取掃掠特征為函數(shù)CreateRuleBodyDumb()的參數(shù)完成對工件具體的選取; 由構(gòu)造器的Commit()函數(shù)提交特征, 完成對口螺的切制.

      3.2.3 彈體、引信、彈帶的裝配

      榴彈的各部分三維模型繪制完成后, 裝配工作同樣可以由API函數(shù)完成. 通過API函數(shù)進(jìn)行裝配時, 各組件的定位方式均為絕對原點. 二次開發(fā)程序根據(jù)各組件在裝配體中的位置以及自身尺寸, 計算裝配時所需的偏移量和旋轉(zhuǎn)量, 并以此為參數(shù)添加到裝配體中.

      坐標(biāo)偏移存放在變量Point3d(X,Y,Z)中, 旋轉(zhuǎn)方向存放在變量Matrix3x3(Xx,Xy,Xz,Yx,Yy,Yz,Zx,Zy,Zz)中. UG二次開發(fā)應(yīng)用程序通過坐標(biāo)偏移和方向旋轉(zhuǎn)的方式完成各組件的裝配. 各部件的加載操作則由函數(shù)OpenBase()完成, 二次開發(fā)程序?qū)⒉考穆窂絝ilePath作為參數(shù)代入至函數(shù)OpenBase(), 再由函數(shù)AddComponent()根據(jù)坐標(biāo)偏移和旋轉(zhuǎn)方向?qū)⒔M件添加至裝配體中. 最終三維模型如圖 5 所示.

      圖 5 榴彈的三維模型Fig.5 The three-dimensional model of the shell

      因此, UG二次開發(fā)程序可以通過多次調(diào)用函數(shù)OpenBase()在一個程序中多次打開不同的三維模型, 再通過調(diào)用不同的API函數(shù)對打開的三維模型進(jìn)行快速操作, 以此來實現(xiàn)在一個應(yīng)用程序中對多個模型進(jìn)行快速操作. 另一方面, 當(dāng)面對較為復(fù)雜的模型時, 亦可以將模型拆分為數(shù)個外形較為簡單的組件, 通過執(zhí)行一個或多個UG二次開發(fā)應(yīng)用程序完成對各組件的操作, 再利用OpenBase()與AddComponent()函數(shù)將組件進(jìn)行裝配, 完成對一些外形較為復(fù)雜的模型的參數(shù)化設(shè)計.

      4 結(jié) 論

      本文在榴彈設(shè)計理論研究的基礎(chǔ)上, 將基于批處理模式的UG二次開發(fā)技術(shù)與參數(shù)化設(shè)計方法相結(jié)合, 開發(fā)了一種榴彈外形結(jié)構(gòu)參數(shù)化設(shè)計系統(tǒng). 根據(jù)可視化界面的設(shè)計內(nèi)容, 建立了榴彈彈體的三維CAD參數(shù)化模型, 通過NXOpenAPI函數(shù)從后臺調(diào)用UG完成系統(tǒng)三維模型的快速操作, 彌補(bǔ)了基于交互式運(yùn)行模式的UG二次開發(fā)應(yīng)用程序必須在UG框架內(nèi)執(zhí)行, 集成于某一設(shè)計系統(tǒng)中時會出現(xiàn)數(shù)據(jù)交互不便, 無法同時對多個零件進(jìn)行批量操作等缺陷. 為今后相關(guān)數(shù)字化設(shè)計平臺的集成及復(fù)雜模型的參數(shù)化設(shè)計提供了參考.

      猜你喜歡
      榴彈二次開發(fā)程序
      淺談基于Revit平臺的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      米爾科姆公司向南非國防軍提供Y4型6發(fā)榴彈發(fā)射器
      輕兵器(2019年6期)2019-06-21 02:51:13
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      試論我國未決羈押程序的立法完善
      中國LG6型40毫米半自動榴彈發(fā)射器
      兵器知識(2019年1期)2019-01-23 02:20:44
      西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
      “程序猿”的生活什么樣
      英國與歐盟正式啟動“離婚”程序程序
      創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
      美國將于2015年底完成40mm智能榴彈的研制
      輕兵器(2015年23期)2015-09-10 07:22:44
      蕲春县| 友谊县| 富宁县| 博白县| 章丘市| 灵寿县| 万山特区| 扶风县| 昌黎县| 开原市| 来安县| 仲巴县| 岗巴县| 大名县| 南溪县| 张家川| 仙居县| 三门峡市| 咸丰县| 时尚| 台北市| 卓资县| 梧州市| 司法| 云南省| 通海县| 汶川县| 边坝县| 甘德县| 临泽县| 阳城县| 永宁县| 兰坪| 郎溪县| 隆尧县| 卓尼县| 盘山县| 罗江县| 久治县| 沙湾县| 仪陇县|