• 
    

    
    

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

      基于NX 二次開發(fā)的異形四棱錐車燈花紋快速建模

      2023-12-08 11:02:50司海伯張西祁
      科技創(chuàng)新與應(yīng)用 2023年35期
      關(guān)鍵詞:棱錐車燈異形

      司海伯,苗 盈,張西祁,吳 凡,楊 燕

      (無錫職業(yè)技術(shù)學(xué)院機(jī)械技術(shù)學(xué)院,江蘇無錫 214121)

      汽車車燈由反射鏡、透鏡、光源等組件構(gòu)成。其中透鏡和反射鏡上大量分布的花紋可以對(duì)光線進(jìn)行合理的分配,從而滿足照明功能和信號(hào)功能。車燈花紋的種類很多,不同的車燈花紋對(duì)光線的調(diào)整也起到不同的作用。

      汽車車燈花紋具有單元尺寸小、單元結(jié)構(gòu)類似、單元數(shù)量多和造型精度要求高等特點(diǎn)。每一個(gè)配光紋單元雖然結(jié)構(gòu)類似,但因無法使用陣列等快速批量建模的方法,逐一創(chuàng)建花紋單元是非常煩瑣而耗時(shí)的,通常占據(jù)車燈建模過程中20%以上的工作量[1]。因此,提高車燈配光紋的創(chuàng)建效率,將大大縮短車燈開發(fā)的周期,進(jìn)而降低生產(chǎn)成本。

      NX 是一個(gè)交互式CAD/CAE/CAM 系統(tǒng)[2],可以輕松實(shí)現(xiàn)各種復(fù)雜實(shí)體及造型的建構(gòu)。NX 在面對(duì)不同應(yīng)用領(lǐng)域時(shí),如汽車車燈花紋造型,若采用軟件提供的常規(guī)性功能可以完成開發(fā)任務(wù),但重復(fù)性高,自動(dòng)化程度低,降低了車燈設(shè)計(jì)開發(fā)的效率[3]。NX 為用戶提供良好的二次開發(fā)環(huán)境彌補(bǔ)了這一缺陷,使用戶可以進(jìn)行更加貼合需求的專用定制,使設(shè)計(jì)開發(fā)過程更加的便捷高效。王皓宇等[4]基于NX Open C++實(shí)現(xiàn)大批量非參數(shù)圓孔的參數(shù)化轉(zhuǎn)變,能提高大約50%的工作效率。何寥等[5]利用NX OpenC++/NX Open API 技術(shù)和MFC窗體開發(fā)工具,開發(fā)出能自動(dòng)對(duì)裝配文件遷移和管理的插件。

      1 異形四棱錐花紋建模原理

      不同車燈花紋的建模方法存在差異,但大致都分為2 個(gè)步驟:劃分網(wǎng)格和花紋形狀建模。異形四棱錐花紋單元建模原理如下。

      第一,求2 組曲線形成的曲線網(wǎng)格中所有的交點(diǎn),如圖1 所示。

      圖1 創(chuàng)建交點(diǎn)

      第二,取出其中的4 個(gè)相鄰交點(diǎn)作為一個(gè)花紋單元,利用4 個(gè)交點(diǎn)的坐標(biāo)創(chuàng)建中點(diǎn),并將中點(diǎn)投影到曲面上。

      第三,將投影點(diǎn)先按照創(chuàng)建方向偏移一個(gè)花紋高度的距離,再按照花紋頂線正向和反向分別偏移半個(gè)頂線長(zhǎng)度的距離,創(chuàng)建2 個(gè)頂線端點(diǎn),如圖2 所示。

      圖2 花紋創(chuàng)建示意圖

      第四,所有點(diǎn)創(chuàng)建完成后,生成1 條頂線、4 條側(cè)棱、4 條底邊。如圖3 所示。

      圖3 花紋框架點(diǎn)位標(biāo)注

      第五,生成4 個(gè)側(cè)面和1 個(gè)底面,并將其縫合在一起,形成一個(gè)完整的異形四棱錐花紋單元。

      第六,不斷重復(fù)該過程,完成所有的車燈花紋單元的建模,如圖4 所示。

      圖4 異形四棱錐車燈花紋

      2 曲線分組及排序

      2.1 曲線分組

      為了方便交點(diǎn)創(chuàng)建,需要將曲線進(jìn)行分組。通過曲線與曲線之間的相交關(guān)系來進(jìn)行分組,同一組內(nèi)曲線不相交。該步驟為曲線分組模塊,對(duì)應(yīng)的流程圖如圖5所示。

      圖5 曲線分組流程

      任意取出1 條曲線,存入曲線組一中。求曲線組一中第一條曲線和原曲線組中剩余曲線之間的距離,將距離在建模公差范圍內(nèi)的曲線存入曲線組二中。交替選擇用2 個(gè)曲線組中的曲線,判斷其與原曲線組中剩余曲線之間的距離,將符合條件的曲線存入與選用曲線相反的曲線組。直到原曲線組中所有曲線被取出,即完成分組。

      2.2 曲線交點(diǎn)的創(chuàng)建及排序

      創(chuàng)建花紋單元需要曲線網(wǎng)格的所有交點(diǎn),所以在創(chuàng)建花紋單元之前,應(yīng)創(chuàng)建所有交點(diǎn),根據(jù)交點(diǎn)的實(shí)際位置排序并儲(chǔ)存。在創(chuàng)建交點(diǎn)的過程中,2 條曲線實(shí)際沒有相交,但系統(tǒng)根據(jù)2 條曲線的走向自動(dòng)擬合出延長(zhǎng)線并求出交點(diǎn),所以要在創(chuàng)建交點(diǎn)的過程中同時(shí)判斷點(diǎn)的真假性,方便創(chuàng)建花紋過程中對(duì)點(diǎn)的選用。該步驟為交點(diǎn)創(chuàng)建排序模塊。

      利用橫向曲線和縱向曲線求交點(diǎn),將求出的交點(diǎn)與形成這個(gè)交點(diǎn)的2 條曲線分別比較距離,比較出的2 個(gè)距離都在建模公差范圍之內(nèi)則為真點(diǎn),若其中有一個(gè)距離不在公差范圍之內(nèi)則該點(diǎn)為假點(diǎn)。將交點(diǎn)以矩陣的形式進(jìn)行存儲(chǔ),在同一條橫向曲線上的交點(diǎn)對(duì)應(yīng)矩陣的同一行。選出任意一個(gè)點(diǎn)求該點(diǎn)和所有點(diǎn)之間的距離,選出相距最遠(yuǎn)的點(diǎn)。將最遠(yuǎn)的點(diǎn)通過矩陣變換將其換到第一行第一列,再按照距離將第一行的點(diǎn)進(jìn)行重新排序,同時(shí)將第一行中的所有交點(diǎn)所屬的列進(jìn)行列變化;同理,將第一列中的點(diǎn)及其所屬行進(jìn)行排序,最后得到一個(gè)和實(shí)際位置相同的交點(diǎn)矩陣。

      3 建模程序開發(fā)

      3.1 對(duì)話框設(shè)計(jì)

      定制UI 對(duì)話框使用的是集成在NX 中具有可視化功能的人機(jī)交互界面定制模塊Block UI Styler[6],操作簡(jiǎn)便高效,并且定制出的UI 對(duì)話框符合用戶的使用習(xí)慣,從而實(shí)現(xiàn)友好的人機(jī)交互[7]。設(shè)計(jì)好的異形四棱錐花紋對(duì)話框如圖6 所示。該對(duì)話框共有4 個(gè)組和7個(gè)控件。

      圖6 異形四棱錐花紋對(duì)話框

      3.2 程序開發(fā)流程

      3.2.1 獲取用戶輸入

      將選擇的所有對(duì)象,記為L(zhǎng)ist<o(jì)bject>。選擇的與頂線走向相同的一條曲線,記為Curνe?;y相對(duì)于曲面的創(chuàng)建方向和指定方向時(shí)選取的曲面上點(diǎn),記為Vec和Pν。設(shè)定的花紋高度和頂線長(zhǎng)度,記為H和L。選擇的花紋類型是實(shí)體或是片體,記為bodyType。設(shè)定的建模公差,記為tolerance。

      3.2.2 異形四棱錐花紋建模

      1)利用UF_OBJ_ask_type_and_subtype 對(duì)List <o(jì)bject>中的對(duì)象進(jìn)行判別,將其分為L(zhǎng)ist<curνe>(曲線組)和List<surface>(曲面組)。并將曲面組中的曲面利用UF_MODL_create_sew 縫合成一個(gè)曲面,記為Surface。

      2)通過曲線分組模塊將曲線組List<curνe>中的曲線分成List<curνe1>和List<curνe2>。判斷Curνe在List<curνe1>中還是在List<curνe2>中,將曲線Curνe所在的集合記為橫向曲線組,另一個(gè)集合記為縱向曲線組。再通過交點(diǎn)創(chuàng)建排序模塊,利用橫向曲線組和縱向曲線組創(chuàng)建出一個(gè)交點(diǎn)矩陣Aij。

      3)首先利用UF_MODL_ask_face_parm_2 獲得點(diǎn)Pν 在Surface上的uv坐標(biāo),再使用UF_MODL_ask_fac e_props 求出該uv坐標(biāo)處的曲面法向量D1。將D1 和Vec作比對(duì),若方向一致,創(chuàng)建花紋單元時(shí)獲得的曲面法向量直接使用;若方向相反,則反向后再使用。

      4)取交點(diǎn)矩陣Aij中相鄰的4 個(gè)交點(diǎn)記為如圖3所示的點(diǎn)1、點(diǎn)2、點(diǎn)3 和點(diǎn)4,且點(diǎn)1、點(diǎn)2 在Aij中的同一行;若4 個(gè)交點(diǎn)同為真,繼續(xù)向下執(zhí)行,否則重新選取。

      5)利用點(diǎn)1、點(diǎn)2、點(diǎn)3 和點(diǎn)4 創(chuàng)建中點(diǎn),記為點(diǎn)5;利用函數(shù)UF_CURVE_create_proj_curves 將點(diǎn)5 沿所在位置的曲面法向量投影到曲面Surface上,得到投影曲面特征的tag值,利用函數(shù)UF_CURVE_ask_proj_curves 獲取曲面特征中生成的投影點(diǎn)的tag值,將投影點(diǎn)記為點(diǎn)6,利用函數(shù)UF_CURVE_ask_point_data 根據(jù)點(diǎn)6 的tag值找到對(duì)應(yīng)坐標(biāo),求出點(diǎn)6 在Surface上的曲面法向量,記為SurfaceVec,并根據(jù)步驟3)判斷是否需要反向。

      6)將點(diǎn)1 和點(diǎn)2 中點(diǎn)指向點(diǎn)3 和點(diǎn)4 中點(diǎn)的方向定為頂線創(chuàng)建方向,記為topVec。

      7)根據(jù)異形四棱錐花紋建模原理,先創(chuàng)建出2 個(gè)頂點(diǎn),記為點(diǎn)7 和點(diǎn)8。利用函數(shù)UF_CURVE_create_line 創(chuàng)建出需要9 條邊線。最后利用函數(shù)UF_MODL_create_curve_mesh 創(chuàng)建平面。

      8)利用函數(shù)UF_MODL_create_sew 將創(chuàng)建的平面縫合起來,根據(jù)bodyType,生成片體或?qū)嶓w,完成一個(gè)花紋單元的創(chuàng)建。

      以同樣的方式完成所有花紋單元的創(chuàng)建。

      4 應(yīng)用驗(yàn)證與結(jié)果分析

      基于上述方法,完成異形四棱錐花紋的快速建模功能。調(diào)用該功能,彈出如圖6 所示的對(duì)話框。首先選擇創(chuàng)建花紋所需要的曲線曲面,所有曲線和曲面一次框選。在網(wǎng)格曲線中選擇一條與頂線走向相同的曲線確定頂線方向;在曲面上選擇一個(gè)點(diǎn),在該點(diǎn)處生成的箭頭即為花紋相對(duì)于曲面創(chuàng)建的方向,箭頭的方向可以通過反向改變。在參數(shù)欄中,設(shè)定好花紋的高度和頂線的長(zhǎng)度。設(shè)置生成花紋的體類型和建模公差。最后單擊對(duì)話框中的“確定”按鈕,生成如圖4 所示的異形四棱錐車燈花紋。

      經(jīng)過實(shí)際的對(duì)比發(fā)現(xiàn),一個(gè)熟練的造型工程師手工創(chuàng)建100 個(gè)花紋單元所需要的時(shí)間大約在200 min。采用異形四棱錐車燈花紋快速建模程序,只需框選所有元素,并按照需求設(shè)定參數(shù),即可完成所有花紋的創(chuàng)建,總耗時(shí)大約5 min。由此可見,該程序?qū)Ξ愋嗡睦忮F車燈花紋的建模效率有著顯著的提高。

      5 結(jié)束語

      為了縮短車燈的設(shè)計(jì)開發(fā)周期,針對(duì)車燈造型過程中重復(fù)性高、耗時(shí)長(zhǎng)、效率不高的車燈花紋手工建模步驟,利用NX10 提供的開發(fā)工具,完成了異形四棱錐車燈花紋快速建模的功能實(shí)現(xiàn)。使用NX 中集成的可視化人機(jī)交互界面定制模塊(Block UI Styler),定制出風(fēng)格統(tǒng)一的UI 對(duì)話框。首先開發(fā)了2 個(gè)對(duì)曲線網(wǎng)格的處理模塊;再利用應(yīng)用程序接口(NX Open API)函數(shù),結(jié)合異形四棱錐車燈花紋的手工建模思路,實(shí)現(xiàn)了異形四棱錐車燈花紋的快速建模。實(shí)踐證明,異形四棱錐車燈花紋快速建模系統(tǒng)可以提高建模效率,能有效縮短車燈的設(shè)計(jì)開發(fā)周期。

      猜你喜歡
      棱錐車燈異形
      創(chuàng)意無限的異形數(shù)獨(dú)(下)
      創(chuàng)意無限的異形數(shù)獨(dú)(中)
      棱錐的體積計(jì)算話思想
      南非的車燈會(huì)說話
      例說無交點(diǎn)線面角的求法
      一種異形平衡梁設(shè)計(jì)與應(yīng)用
      借助長(zhǎng)方體巧解棱錐的三視圖問題
      水晶異形卡可以定制的交通卡
      汽車與安全(2017年6期)2017-07-25 09:57:08
      車燈
      盤點(diǎn)以棱錐為背景的空間幾何題
      漳平市| 加查县| 周至县| 闽侯县| 平邑县| 滨海县| 蒙城县| 平泉县| 林西县| 无锡市| 齐齐哈尔市| 临夏市| 庆城县| 高雄县| 迁西县| 黔南| 太保市| 苍梧县| 化州市| 安福县| 浙江省| 郧西县| 泗洪县| 青岛市| 固镇县| 彩票| 邹平县| 宁海县| 荆门市| 崇礼县| 定远县| 灵璧县| 冀州市| 台前县| 拜泉县| 商河县| 湖口县| 博客| 乌拉特后旗| 乌海市| 鄂州市|