劉宗健 林學(xué)理 李玉璋
摘 要:雨刮攻擊角設(shè)計(jì)是雨刮系統(tǒng)設(shè)計(jì)最關(guān)鍵的步驟之一,而攻擊角測量是校驗(yàn)自己設(shè)計(jì)是否合理的過程。攻擊角的手動(dòng)測量需要做多個(gè)輔助線進(jìn)行多個(gè)點(diǎn)的測量,需要耗費(fèi)大量的時(shí)間,非常影響開發(fā)效率。基于此,本文討論基于UG二次開發(fā)進(jìn)行雨刮攻擊角的自動(dòng)測量方法,一次性完成雨刮攻擊角測量,提高開發(fā)人員的開發(fā)效率和企業(yè)的生產(chǎn)效益。
關(guān)鍵詞:雨刮 汽車 雨刮攻擊角 UG二次開發(fā)
Automatic Measurement Method of Wiper Attack Angle based on Secondary Development of UG
Liu Zongjian Lin Xueli Li Yuzhang
Abstract:Wiper attack angle design is one of the most critical steps in wiper system design, and attack angle measurement is a process of verifying whether your design is reasonable. Manual measurement of the angle of attack requires multiple auxiliary lines to measure multiple points, which takes a lot of time and greatly affects development efficiency. Based on this, this article discusses the automatic measurement method of the wiper attack angle based on the secondary development of UG, and completes the wiper attack angle measurement at one time, which improves the development efficiency of developers and the production efficiency of enterprises.
Key words:wiper, car, wiper attack angle, UG secondary development
1 引言
UG為用戶二次開發(fā)提供了豐富的接口和開發(fā)環(huán)境,不僅支持C語言、C++、C#、VB、Python等常用編程語言進(jìn)行開發(fā),并且提供了大量的庫函數(shù)供用戶使用,友好的塊UI樣式編輯器,只需要簡單的點(diǎn)擊和設(shè)置參數(shù),即可開發(fā)出跟UG風(fēng)格一樣的對話窗口,方便用戶快速完成二次開發(fā)工作。通過UG二次開發(fā),可以將應(yīng)用程序無縫集成到UG軟件里面,從而滿足用戶特定的需求。
隨著新能源汽車的推廣和智能汽車的發(fā)展,汽車產(chǎn)業(yè)的發(fā)展迎來了新的發(fā)展機(jī)遇,日益增加的新車項(xiàng)目,對于設(shè)計(jì)者的設(shè)計(jì)效率提出來了更高的要求。汽車雨刮需要根據(jù)每個(gè)汽車造型進(jìn)行匹配,要進(jìn)行很多的調(diào)整和分析測量工作,特別是攻擊角的測量,手動(dòng)測量占用了雨刮設(shè)計(jì)開發(fā)很大一部分時(shí)間。筆者對雨刮攻擊角測量進(jìn)行了深入研究,通過UG二次開發(fā),使用C語言作為編程語言,實(shí)現(xiàn)自動(dòng)測量攻擊角的功能,從而提高設(shè)計(jì)效率和設(shè)計(jì)質(zhì)量。
2 攻擊角及測量
2.1 攻擊角的定義:
雨刮刮片中心線與對應(yīng)玻璃的法線之間的夾角,稱為攻擊角。攻擊角表示了玻璃曲面與運(yùn)動(dòng)的雨刮刮片之間的相對位置及位置變化關(guān)系,見圖1。從圖中可以發(fā)現(xiàn),雨刮刮片的位置變化后處在不同的玻璃位置,攻擊角的方向和大小都會發(fā)生變化,而這個(gè)變化不是由于刮桿和雨刮刮片產(chǎn)生的,而是由于玻璃曲率的變化產(chǎn)生的。刮片的方向沒有變化,初始位攻擊角為負(fù)值,但隨著玻璃曲率的變化,玻璃法線的方向發(fā)生變化,到極限位時(shí)攻擊角變成了正極。
2.2 UG中攻擊角測量:
測量連接器中心線與玻璃法線的夾角,再減去90°,即為攻擊角,如圖2所示。原因是連接器中心線與刮片中心線的夾角始終為90度,如果使用連接器中心線進(jìn)行測量,需要減去90°才是攻擊角的數(shù)值。將連接器中心線沿著刮臂旋轉(zhuǎn)中心旋轉(zhuǎn)到不同位置,再做相應(yīng)的測量,即得到不同位置的攻擊角。測量的過程先要畫出連接器中心線和過連接器中心點(diǎn)的刮片中心線,然后求刮片中心線與前擋風(fēng)玻璃的交點(diǎn),作過交點(diǎn)的擋風(fēng)玻璃法線,再求玻璃法線與連接器中心線的夾角。測量過程復(fù)雜,測量刮片轉(zhuǎn)到不同位置時(shí)的點(diǎn)需要重復(fù)以上過程,需要花費(fèi)很多的時(shí)間。
3 攻擊角自動(dòng)測量
第一步:使用UG自帶的塊UI樣式編輯器制作對應(yīng)框,以刮片垂線(即連接器旋轉(zhuǎn)中心線)、擋風(fēng)玻璃面、輸出軸方向和輸出軸旋轉(zhuǎn)點(diǎn)、刮臂旋轉(zhuǎn)角度、計(jì)算點(diǎn)數(shù)作為參數(shù)輸入,代碼生成為C++語言,系統(tǒng)自動(dòng)生成.hpp,.cpp,.dlx三個(gè)文件。
第二步:編輯newmenu文件,將菜單增加到UG軟件里。
第三步:在Visual Studio 2013中新建項(xiàng)目,選擇NX11_Open_Wizard,刪除已有的hpp和cpp文件,添加第一步生成的hpp和cpp文件到項(xiàng)目中。
第四步:在hpp文件里添加需要使用的頭文件,在cpp文件的apply_cb函數(shù)添加操作代碼。使用相關(guān)的函數(shù)創(chuàng)建連接器中心線垂直線,創(chuàng)建垂直線與擋風(fēng)玻璃交點(diǎn),創(chuàng)建交點(diǎn)處的玻璃法線,求法線與中心線夾角,即得到一個(gè)點(diǎn)的攻擊角,其測量的過程與手動(dòng)計(jì)算完全相同,不同點(diǎn)是這些輔助點(diǎn)和線的生成由人工生成改為軟件自動(dòng)生成。再通過for循環(huán),將連接器中心線旋轉(zhuǎn)到不同角度,分別執(zhí)行計(jì)算,即可得到整個(gè)刮拭區(qū)域不同位置的攻擊角。實(shí)現(xiàn)自動(dòng)測量的關(guān)鍵是使用函數(shù)實(shí)現(xiàn)輔助點(diǎn)和線的生成,只要實(shí)現(xiàn)了第一個(gè)點(diǎn)的測量,即可通過循環(huán)實(shí)現(xiàn)所有點(diǎn)的測量。使用到的UPOPEN相關(guān)庫函數(shù):
UF_CURVE_ask_centroid(獲取直線中點(diǎn));
UF_MODL_ask_curve_props(獲取直線上的點(diǎn),第二個(gè)參數(shù)為0和1即可得到兩個(gè)端點(diǎn));
UF_CURVE_create_line(創(chuàng)建直線);
UF_MODL_ask_face_props(獲取法向);
UF_CURVE_intersect(創(chuàng)建交點(diǎn));
UF_VEC3_angle_between(測量夾角)。
4 實(shí)例計(jì)算
某車型提供了前擋風(fēng)玻璃、輸出軸位置、連接器接頭、刮刷角度,其中主刮刷角度85°,副刮刷角度87°,如圖3。以主刮攻擊角計(jì)算為例,通過軟件界面進(jìn)行選擇連接器旋轉(zhuǎn)中心線作為刮片垂線,選擇擋風(fēng)玻璃面作為第二個(gè)輸入,選擇輸出軸方向和輸出軸旋轉(zhuǎn)點(diǎn),然后輸入刮臂旋轉(zhuǎn)角度(85°)和計(jì)算點(diǎn)數(shù)(30),如圖4,即可自動(dòng)計(jì)算攻擊角,得出的計(jì)算結(jié)果如圖5。
通過UG二次開發(fā),將計(jì)算程序集成到了UG軟件里,使用時(shí)可以直接調(diào)用系統(tǒng)里的3D數(shù)據(jù),無需對數(shù)據(jù)進(jìn)行轉(zhuǎn)換或轉(zhuǎn)入轉(zhuǎn)出,程序?qū)υ捒蚺cUG現(xiàn)有對話框風(fēng)格一致。在設(shè)置好輸入?yún)?shù)后,攻擊角的計(jì)算可以一鍵完成,結(jié)果同步輸出到excel表格里,方便對數(shù)據(jù)進(jìn)行分析和處理,還能自動(dòng)生成數(shù)據(jù)曲線,極大的提高了設(shè)計(jì)效率。如果要提高計(jì)算精度,還可以增加計(jì)算點(diǎn)數(shù),使計(jì)算更加準(zhǔn)確。
5 結(jié)語
通過UG二次開發(fā),可以實(shí)現(xiàn)雨刮攻擊角自動(dòng)測量。設(shè)計(jì)中根據(jù)計(jì)算結(jié)果進(jìn)行方案調(diào)整,再通過計(jì)算確認(rèn)方案,這樣多次對方案進(jìn)行優(yōu)化,可以很快找出最優(yōu)的方案,從而提高設(shè)計(jì)效率。同時(shí),攻擊角自動(dòng)測量的實(shí)現(xiàn),也為進(jìn)一步開發(fā)攻擊角自動(dòng)設(shè)計(jì)的軟件奠定了基礎(chǔ)。
參考文獻(xiàn):
[1]李晨蕊,郝博UG二次開發(fā)中C++、KF、GRIP203種語言的對比.成組技術(shù)與生產(chǎn)現(xiàn)代化,2017,34(03).
[2]張健,張亮亮,周龍,王微,朱新晴.基于UG/OPEN 的零件設(shè)計(jì)計(jì)算與模型庫開發(fā)[J].航空精密制造技術(shù),2015.
[3]董晨.VC++ 聯(lián)合UG 二次開發(fā)在工業(yè)產(chǎn)品設(shè)計(jì)中的研究,山東工業(yè)設(shè)計(jì).
[4]薛文風(fēng). 三維空間坐標(biāo)的旋轉(zhuǎn)算法.電腦編程技巧與維護(hù) 1995.
[5]黃橙,戴春祥,王俊杰,黃鵬.基于C++的NXOPEN和Journamation二次開發(fā)技術(shù)的研究和應(yīng)用 計(jì)量與測試技術(shù) 2017.