• 
    

    
    

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

      基于OpenGL的立銑刀螺旋槽參數(shù)化建模系統(tǒng)研究*

      2018-04-20 07:58:14婁志超趙先鋒史紅艷姜雪婷
      關(guān)鍵詞:立銑刀單元體關(guān)鍵點

      婁志超,趙先鋒,史紅艷,姜雪婷

      (貴州大學(xué) 機(jī)械工程學(xué)院,貴陽 550025)

      0 引言

      立銑刀作為一種高性能的自由曲面加工刀具,具有良好的切削加工性能和加工表面質(zhì)量,在航空航天、汽車、模具等行業(yè)廣泛使用。但是由于立銑刀結(jié)構(gòu)復(fù)雜,規(guī)格繁多,螺旋槽復(fù)雜曲面的設(shè)計算法復(fù)雜,人工計算工作效率較低,因此可利用CAD技術(shù)對刀具設(shè)計進(jìn)行參數(shù)化的開發(fā)。近些年,隨著國內(nèi)外眾多優(yōu)秀的商業(yè)化三維建模軟件的發(fā)展和廣泛應(yīng)用(達(dá)索公司的CATIA和SolidWorks、西門子公司的UG以及PTC公司的Pro/Enginee等),為復(fù)雜刀具的建模系統(tǒng)的實現(xiàn)提供了新的平臺,國內(nèi)相應(yīng)的展開了針對復(fù)雜刀具三維建模技術(shù)的研究工作。米蓉[1]基于CATIA和UG二次開發(fā)技術(shù)建立了基于加工過程的整體式立銑刀三維模型;趙鑫[2]通過UG/Open二次開發(fā)工具實現(xiàn)了錐度球頭銑刀的設(shè)計;熊烽[3]基于Matlab軟件,進(jìn)行數(shù)學(xué)建模,繪制設(shè)計圖形一種等螺旋角、等前角圓錐球頭立銑刀;李宏德[4]基于PRO/E軟件,對立銑刀螺旋容屑槽的法向截形參數(shù)與立銑刀螺旋角與截面旋轉(zhuǎn)角的關(guān)系進(jìn)行分析,實現(xiàn)立銑刀實體建模;趙先鋒[5-6]利用包絡(luò)原理在SolidWorks的基礎(chǔ)上進(jìn)行二次開發(fā),建立了立銑刀的三維模型,其螺旋槽截面圖形和Walter的截面圖形完全一致;然而上述研究大多通過商業(yè)軟件繪圖軟件進(jìn)行二次開發(fā),依賴于國外軟件的圖形系統(tǒng),沒有自主知識產(chǎn)權(quán),具有很大的應(yīng)用局限性。

      OpenGL是個基層圖形庫,如商業(yè)軟件中CAD、UG等三維建模軟件都是以O(shè)penGL圖形庫進(jìn)行開發(fā),通過OpenGL構(gòu)建三維曲面[8],將三維圖形劃分為點云,再進(jìn)行點云的相互點之間的連接形成三角網(wǎng)格,將模型網(wǎng)格進(jìn)行OpenGL渲染,以此實現(xiàn)立銑刀螺旋槽的建模[9];并且OpenGL是個與硬件無關(guān)的軟件接口,可以在不同的平臺如Windows 7、Unix、Linux等之間進(jìn)行移植。具有很好的移植性,可以獲得非常廣泛的應(yīng)用。基于OpenGL的程序框架構(gòu)造好后,用戶只需要在對應(yīng)的函數(shù)中添加程序代碼即可,擴(kuò)展性好,由于OpenGL是圖形的底層圖形庫,不需要依賴于其他繪圖軟件的技術(shù),具有獨立性。

      因此,本文在Visual Studio 2015平臺下基于OpenGL研究開發(fā)立銑刀三維參數(shù)化建模軟件,省略將商業(yè)建模軟件作為搭建建模系統(tǒng)的中介,而直接由OpenGL底層圖形庫,采用點云進(jìn)行三維曲繪制方法進(jìn)行開發(fā),并提出了以關(guān)鍵點進(jìn)行數(shù)學(xué)建模的思想,通過改變關(guān)鍵點的位置實現(xiàn)立銑刀的三維建模;由于是從底層實現(xiàn)繪圖,建模精確精度大大提高,建模效率也有提升。該軟件以CAD工程圖作為參考進(jìn)行模型的繪制,可直接以CAD工程圖進(jìn)行參數(shù)的輸入,方便快捷,具有較好的實用性;直接通過OpenGL進(jìn)行建模,具有獨立的技術(shù)體系和自主知識產(chǎn)權(quán),具有廣闊的市場應(yīng)用前景。

      立銑刀螺旋槽三維模型生成方式,如圖1所示。

      圖1 立銑刀螺旋槽模型生成流程

      1 OpenGL建模環(huán)境的搭建

      由于OpenGL是個狀態(tài)機(jī)的概念,需要通過創(chuàng)建OpenGL的渲染設(shè)備,并依次將其所需狀態(tài)進(jìn)行設(shè)置,使得OpenGL具有這些狀態(tài)功能,從而在OpenGL環(huán)境下進(jìn)行立銑刀建模系統(tǒng)的開發(fā),由于OpenGL環(huán)境搭建文獻(xiàn)與教程有很多,而且搭建OpenGL流程已成固定化,本文不再進(jìn)行重述(參見文獻(xiàn)[9-13]),而以視口方面進(jìn)行闡述OpenGL的搭建過程。

      1.1 OpenGL 視口的搭建

      在OpenGL中包含倆個矩陣:projection和model view,其中又包含3個坐標(biāo)系:世界坐標(biāo)系、視口坐標(biāo)系、屏幕坐標(biāo)系;要使圖形顯示,就需要對坐標(biāo)系進(jìn)行一系列的矩陣變化,才能顯示到屏幕上被觀測到,如圖2所示模型處理流程圖。首先圖形的建模是在世界坐標(biāo)系下完成,由于計算機(jī)屏幕上只能表現(xiàn)二維平面,所以要使得立銑刀建模系統(tǒng)顯示三維圖形,需要在投影矩陣(projection)作用下把所繪制三維物體轉(zhuǎn)到二維平面圖像間的變換,投影矩陣會把所有的3D信息投影到2D屏幕上,此時,模型在視口坐標(biāo)下,再通過模型視口矩陣(model view)對模型進(jìn)行作用,從而轉(zhuǎn)換到屏幕坐標(biāo)系下,然后把模型投影到屏幕的范圍內(nèi),才能使圖形顯示到屏幕上,其中投影的操作如同攝像機(jī)的原理,需要在攝像機(jī)拍攝范圍內(nèi),鏡頭畫面才有模型的顯示。如此,所建模的立銑刀螺旋槽三維圖形便可在屏幕中顯示。

      參考代碼:

      //設(shè)置矩陣

      glMatrixMode(GL_PROJECTION);//告訴gpu顯卡對投影矩陣進(jìn)行操作;并進(jìn)行投影矩陣設(shè)置

      gluPerspective(50.0f, 800.0f/600.0f, 0.1f, 1000.0f);//對投影矩陣進(jìn)行操作

      glMatrixMode(GL_MODELVIEW);//設(shè)置模型視口矩陣

      //模型的繪制代碼

      ........

      圖2 模型處理流程

      2 立銑刀螺旋槽截面建模

      立銑刀螺旋槽參數(shù)如表1所示,首先以螺旋槽截面中心設(shè)為原點,搭建xy正交坐標(biāo)系,如圖3所示,通過計算與截面參數(shù)相關(guān)的所有關(guān)鍵點坐標(biāo),并將關(guān)鍵點進(jìn)行依次連接實現(xiàn)螺旋槽截面建模。

      分析螺旋槽截面形狀及特征,將螺旋槽截面劃分為幾個關(guān)鍵點構(gòu)成的線段或曲線。可知螺旋槽截面由關(guān)鍵點B、A、C、E、F、G、H共7點,如圖3、圖4所示,將關(guān)鍵點相互連接,形成線段或曲線再進(jìn)行旋轉(zhuǎn)即可得到完整的螺旋槽截面圖形。

      表1 立銑刀螺旋槽面截面相關(guān)參數(shù)

      圖3 立銑刀螺旋槽截面

      圖4 螺旋槽截面局部放大圖

      將銑刀截面中心設(shè)定在坐標(biāo)原點,并把O2點設(shè)定為小圓弧AB的圓心,由此可知點C坐標(biāo)為(0,L1/2),分別作輔助線CO,O2A,O2O,AO2,其中與坐標(biāo)軸交于點D,如圖3、圖4所示,通過表1螺旋槽參數(shù)可求得:

      L(BO)=L1-L4

      (1)

      ∠(CDA)=90°-c

      (2)

      設(shè)線段DC為y值,線段CA為x值,那么在ΔACD中x與y的關(guān)系為x/y=cos(c),而且通過ΔOO2D的關(guān)系,可知:

      L(O2D)=y·sin(c)

      (3)

      L(O1D)=L1/(2-y)

      (4)

      L(OO2)=L/2-L4+L6

      (5)

      應(yīng)用三角形余弦定理,構(gòu)造一元二次方程,從而解出y與x的值。

      A=sin2(c)

      (6)

      B=L1-L1·sin2(c)

      (7)

      (8)

      通過式(6)~式(8)聯(lián)立可得:

      (9)

      x=y·cos(c)

      (10)

      由此可知點A、C、D的坐標(biāo),點C坐標(biāo):(0,L1/2);

      點D坐標(biāo):(0,L1/2-y);

      而點A坐標(biāo)可通過旋轉(zhuǎn)法求得,在y軸取一點A1,A1C的長度為AC,則點A1坐標(biāo)為(0,L1/2-x),將點A1以C為圓心AC長度為半徑逆時針旋轉(zhuǎn)∠DCA(∠DCA=c)到AC所在直線上即可得到A點坐標(biāo)。

      B點坐標(biāo)則可仍使用旋轉(zhuǎn)法求解,先求出點O2的坐標(biāo),再由點A繞圓心O2以槽底圓弧L6順時針旋轉(zhuǎn)∠AO2B,由此可得點B坐標(biāo)。

      點B坐標(biāo)具體解法:作輔助線O2M垂直于y軸,如圖4所示,由式(9)、式(10)求得CA和DC長度,通過簡單三角函數(shù)可推得∠(O2OC)=c,通過旋轉(zhuǎn)法,從y軸選取點OO2長度,繞原點繞逆時針旋轉(zhuǎn)c角,可得槽底圓弧AB的圓心O2點坐標(biāo),并由式(11)~式(13)推得式(14),再由式(14)推出式(15)、式(16),即槽底圓弧起點A與終點B的角度∠sa與∠ea角度,通過∠sa與∠ea的差值,可得∠AO2B,由于已知小圓弧AB半徑為槽底圓弧長度L6,逆時針旋轉(zhuǎn)∠AO2B可得B點坐標(biāo)。

      a1=L6-y·sin(c)

      (11)

      b1=L6+L1/2-L4

      (12)

      c1=L1/2-y

      (13)

      通過式(11)~式(13)可得

      (14)

      通過式(14)可推出起始角度sa

      sa=c-ap

      (15)

      ea=c

      (16)

      現(xiàn)已求得關(guān)鍵點坐標(biāo)B、A、C,而點E、F、G可通過作輔助線EN,F(xiàn)P分別垂直于y軸,構(gòu)建直角三角形ΔECN與ΔEUF,如圖4所示,根據(jù)所給參數(shù):螺旋槽第一后角寬度L2、螺旋槽第二后角寬度L3、螺旋槽第一后角a、螺旋槽第二后角b、刻背深度L5;直接利用直角三角形三角函數(shù)便可依次求得點E、F、G;而點H可將點B以O(shè)B長度為半徑繞軸心順時針旋轉(zhuǎn)120°可得。

      至此,單齒的螺旋槽截面關(guān)鍵點B、A、C、E、F、G、H坐標(biāo)已全部計算完畢,將所有關(guān)鍵點繞原點旋轉(zhuǎn)復(fù)制120°、240°可得螺旋槽截面所有關(guān)鍵坐標(biāo)點;將關(guān)鍵點之間的線段,將截出的每個線段倆個端點,將這些端點以及所求出的關(guān)鍵點形成點云,點越多,模型繪制越精密,但是運行速度回會大幅度減慢,本文則直接將關(guān)鍵點進(jìn)行連接,而其中如AB與GH不是直線段的圓弧段,需要采用微積分方法,將其圓弧分成若干個直線段,通過圓心、旋轉(zhuǎn)角度和半徑的信息,可依次求得圓弧中每一線段中的端點信息,進(jìn)而求出AB與GH圓弧的點信息,由此可得到整個螺旋槽截面的點云信息。

      3 立銑刀螺旋槽建模

      通過已建模的螺旋槽截面,根據(jù)螺旋運動的特點,可知立銑刀螺旋槽建模是由螺旋槽截面進(jìn)行拉伸與旋轉(zhuǎn)運動所形成,將立銑刀螺旋槽由平行于螺旋槽截面的平面進(jìn)行切分,可知每一被平面截出的分段都都與切割平面呈螺旋角d的夾角,運用微積分方法,沿軸線把螺旋槽切分成無數(shù)個微小單元體,其各相鄰單元體繞軸線都旋轉(zhuǎn)固定角度,將這些單元體疊加起來的,即可完成螺旋槽的三維建模。

      基于上述理論,需要求得每一單元體所旋轉(zhuǎn)的角度,如圖5所示為螺旋槽刃線分析視圖,選取刀立銑刀刀頭B1位置為螺旋線的起點位置,通過螺旋角d延A1B1螺旋刃線旋轉(zhuǎn)到A1點螺旋槽終點位置,那么將螺旋槽展開成矩形,通過式(17)求得由B1點到A1點螺旋截面繞刀具軸線所旋轉(zhuǎn)轉(zhuǎn)的總角度v。

      v=2L7·tan(u)/L1

      (17)

      再通過微積分的方法可以求出每個單元體所轉(zhuǎn)的角度v1,將其每一單元體結(jié)合,便獲取到整個螺旋槽所需要的點云信息。

      圖5 螺旋槽展開

      4 構(gòu)建三角網(wǎng)格

      由于在OpenGL中模型的繪制都是以三角面片為基本圖元進(jìn)行搭建的,所以需要將所求得的螺旋槽關(guān)鍵點以三角面片進(jìn)行相連,其中如圖3的螺旋槽截面,可將所有的關(guān)鍵點與截面中心點O1進(jìn)行連接直接構(gòu)建出螺旋槽截面的三角網(wǎng)格;在螺旋槽網(wǎng)格化中,由于螺旋槽是柱狀形體,可將螺旋槽簡化為圓柱體,把螺旋槽的每個分段以圓柱體的分段連接作為參考,然而在螺旋槽的建模中,需要考慮到每個單元體都是在上一個單元體的基礎(chǔ)上經(jīng)過一定的角度旋轉(zhuǎn)后得到,那么在螺旋槽的關(guān)鍵點連接中,由式(17)得到旋轉(zhuǎn)的總角度,則每個單元體都在上個單元體基礎(chǔ)上旋轉(zhuǎn)了v1,則相鄰倆個單元體的連接,如圖6所示,T1是T2的上一個單元體,ω為旋轉(zhuǎn)方向,通過關(guān)鍵點的索引信息構(gòu)建三角形,即倆個三角形Δ0′1′1,Δ1′12模板,將所有的相鄰單元體關(guān)鍵點按照索引Δ0′1′1,Δ1′12模板進(jìn)行連接,即可完成螺旋槽部分網(wǎng)格建模如圖7所示。

      圖6 相鄰單元體連接

      圖7 螺旋槽網(wǎng)格建模

      5 立銑刀參數(shù)化建模系統(tǒng)的應(yīng)用

      利用vs2015可視化編程工具進(jìn)行OpenGL繪制,將所得螺旋槽三角網(wǎng)格進(jìn)行OpenGL渲染,添加光照、材質(zhì)等渲染參數(shù)。

      并通過MFC設(shè)計合理的參數(shù)輸入、參數(shù)顯示以及繪制的操作界面,構(gòu)建完整的參數(shù)化建模系統(tǒng),以某型號硬質(zhì)合金圓柱立銑刀進(jìn)行參數(shù)化建模,其參數(shù)如表2所示。

      表2 立銑刀螺旋槽面截面相關(guān)參數(shù)與數(shù)值

      依次設(shè)置參數(shù)完畢后,如圖8所示,點擊“計算模型”生成立銑刀螺旋槽的三維模型,如圖9所示。

      圖8 系統(tǒng)參數(shù)輸入

      圖9 系統(tǒng)運行結(jié)果

      不同螺旋槽槽深(1.8mm,2.4mm)的模型如圖10所示。

      (a)1.8mm螺旋槽截面 (b)2.4mm螺旋槽截面圖10 螺旋槽截面對比

      6 結(jié)束語

      本文通過詳細(xì)分析立銑刀螺旋槽的結(jié)構(gòu)特點,以面向立銑刀工程圖進(jìn)行立銑刀螺旋槽特征設(shè)計,研究商業(yè)建模軟件的建模原理,提出了關(guān)鍵點建模的方法,建立了立銑刀螺旋槽的數(shù)學(xué)模型,并完成模型的三角網(wǎng)格化,在Visual Studio2015平臺上,將模型網(wǎng)格進(jìn)行OpenGL渲染,搭建出立銑刀螺旋槽三維參數(shù)化建模系統(tǒng)。建模實例證明該系統(tǒng)能夠精確的完成立銑刀螺旋槽的三維參數(shù)化建模,系統(tǒng)運行穩(wěn)定可靠,操作方便快捷,并具有獨立的技術(shù)體系,可以實現(xiàn)刀具的設(shè)計與制造的市場推廣與相關(guān)的研究擴(kuò)展,并為類似的機(jī)械設(shè)計建模提供了參考。

      [參考文獻(xiàn)]

      [1] 米蓉. 立銑刀三維參數(shù)化設(shè)計系統(tǒng)研發(fā)[D]. 成都:西南交通大學(xué),2011.

      [2] 趙鑫,卓勇,展慧嫻,等.整體硬質(zhì)合金刀具參數(shù)化直接建模的研究與實現(xiàn)[J].機(jī)電工程,2014,31(6):725-728.

      [3] 熊烽,賓鴻贊.復(fù)雜形狀刀具設(shè)計的三維可視化[J].工具技術(shù),2002(4):18-21.

      [4] 李宏德.立銑刀優(yōu)化設(shè)計[J].制造技術(shù)與機(jī)床,2007(5):25-27.

      [5] 夏文勝,趙先鋒,高飛,等.錐度球頭立銑刀磨削加工數(shù)學(xué)模型研究[J].組合機(jī)床與自動化加工技術(shù),2016(1):122-126.

      [6] 趙先鋒.立銑刀螺旋槽數(shù)學(xué)模型及刀具切削性能仿真分析[D]. 貴州:貴州大學(xué), 2013.

      [7] 董元平,璩柏青,張潔,等. 運用逆向工程方法與OpenGL創(chuàng)建三維曲面[J]. 計算機(jī)仿真, 2007,24(9):168-171.

      [8] 晏海平, 吳祿慎, 陳華偉. 基于VC和OpenGL的三維點云處理軟件系統(tǒng)設(shè)計[J]. 計算機(jī)應(yīng)用與軟件, 2014, 31(6):177-180.

      [9] 王蘭美, 趙繼成, 秦華東. OpenGL及其在VC++下的開發(fā)應(yīng)用[C]. 中國工程圖學(xué)學(xué)會2006年計算機(jī)圖學(xué)、理論圖學(xué)等專委會綜合學(xué)術(shù)會議, 2006.

      [10] 王蘭美, 趙繼成, 秦華東. OpenGL及其在VC++下的開發(fā)應(yīng)用[J]. 武漢大學(xué)學(xué)報(工學(xué)版), 2006, 39(4):62-65.

      [11] 劉建寧,李占鋒,李大鵬.整體立銑刀參數(shù)化建模分析與研究[J].現(xiàn)代制造工程,2015(1):90-93.

      [12] Tandon P, rajik K M.Three dimensional modeling and finiteelement simulation of a generic End mill [J].Computer aided design, 2009,41 (2):106-114.

      [13] Kim, J H, park J W, Ko t j.End mill design and machiningvia cutting simulation [J].Computer aided design, 2008,40 (3):324-333.

      猜你喜歡
      立銑刀單元體關(guān)鍵點
      超高層單元體吊裝技術(shù)及安裝施工方法研究
      建筑與裝飾(2024年1期)2024-01-25 08:47:56
      聚焦金屬關(guān)鍵點
      肉兔育肥抓好七個關(guān)鍵點
      高速鋼立銑刀崩刃斷裂分析
      球墨鑄鐵復(fù)合仿生耦合單元體結(jié)構(gòu)參數(shù)變化對摩擦應(yīng)力的影響模擬研究
      某渦軸發(fā)動機(jī)單元體設(shè)計分析
      FANUC窗口功能在加工中心立銑刀崩刀檢測中的應(yīng)用
      一種整體式立銑刀刀體間隙的磨削軌跡算法
      泰珂洛:Meister硬質(zhì)合金立銑刀
      典型民用航空發(fā)動機(jī)單元體劃分淺析
      子长县| 山阳县| 葵青区| 海原县| 佛学| 西昌市| 阳原县| 历史| 兰州市| 绥滨县| 疏附县| 房山区| 阜新| 东平县| 佛学| 鲁山县| 舞钢市| 沙坪坝区| 徐闻县| 锡林郭勒盟| 井陉县| 新巴尔虎右旗| 全椒县| 介休市| 如东县| 亚东县| 庄河市| 博白县| 滨海县| 民丰县| 前郭尔| 连江县| 聊城市| 长葛市| 金昌市| 奎屯市| 衡山县| 游戏| 泗水县| 凤山市| 上杭县|