基于UG二次开发的雨刮攻击角自动测量方法
2021-09-17刘宗健林学理李玉璋
刘宗健 林学理 李玉璋
摘 要:雨刮攻击角设计是雨刮系统设计最关键的步骤之一,而攻击角测量是校验自己设计是否合理的过程。攻击角的手动测量需要做多个辅助线进行多个点的测量,需要耗費大量的时间,非常影响开发效率。基于此,本文讨论基于UG二次开发进行雨刮攻击角的自动测量方法,一次性完成雨刮攻击角测量,提高开发人员的开发效率和企业的生产效益。
关键词:雨刮 汽车 雨刮攻击角 UG二次开发
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为用户二次开发提供了丰富的接口和开发环境,不仅支持C语言、C++、C#、VB、Python等常用编程语言进行开发,并且提供了大量的库函数供用户使用,友好的块UI样式编辑器,只需要简单的点击和设置参数,即可开发出跟UG风格一样的对话窗口,方便用户快速完成二次开发工作。通过UG二次开发,可以将应用程序无缝集成到UG软件里面,从而满足用户特定的需求。
随着新能源汽车的推广和智能汽车的发展,汽车产业的发展迎来了新的发展机遇,日益增加的新车项目,对于设计者的设计效率提出来了更高的要求。汽车雨刮需要根据每个汽车造型进行匹配,要进行很多的调整和分析测量工作,特别是攻击角的测量,手动测量占用了雨刮设计开发很大一部分时间。笔者对雨刮攻击角测量进行了深入研究,通过UG二次开发,使用C语言作为编程语言,实现自动测量攻击角的功能,从而提高设计效率和设计质量。
2 攻击角及测量
2.1 攻击角的定义:
雨刮刮片中心线与对应玻璃的法线之间的夹角,称为攻击角。攻击角表示了玻璃曲面与运动的雨刮刮片之间的相对位置及位置变化关系,见图1。从图中可以发现,雨刮刮片的位置变化后处在不同的玻璃位置,攻击角的方向和大小都会发生变化,而这个变化不是由于刮杆和雨刮刮片产生的,而是由于玻璃曲率的变化产生的。刮片的方向没有变化,初始位攻击角为负值,但随着玻璃曲率的变化,玻璃法线的方向发生变化,到极限位时攻击角变成了正极。
2.2 UG中攻击角测量:
测量连接器中心线与玻璃法线的夹角,再减去90°,即为攻击角,如图2所示。原因是连接器中心线与刮片中心线的夹角始终为90度,如果使用连接器中心线进行测量,需要减去90°才是攻击角的数值。将连接器中心线沿着刮臂旋转中心旋转到不同位置,再做相应的测量,即得到不同位置的攻击角。测量的过程先要画出连接器中心线和过连接器中心点的刮片中心线,然后求刮片中心线与前挡风玻璃的交点,作过交点的挡风玻璃法线,再求玻璃法线与连接器中心线的夹角。测量过程复杂,测量刮片转到不同位置时的点需要重复以上过程,需要花费很多的时间。
3 攻击角自动测量
第一步:使用UG自带的块UI样式编辑器制作对应框,以刮片垂线(即连接器旋转中心线)、挡风玻璃面、输出轴方向和输出轴旋转点、刮臂旋转角度、计算点数作为参数输入,代码生成为C++语言,系统自动生成.hpp,.cpp,.dlx三个文件。
第二步:编辑newmenu文件,将菜单增加到UG软件里。
第三步:在Visual Studio 2013中新建项目,选择NX11_Open_Wizard,删除已有的hpp和cpp文件,添加第一步生成的hpp和cpp文件到项目中。
第四步:在hpp文件里添加需要使用的头文件,在cpp文件的apply_cb函数添加操作代码。使用相关的函数创建连接器中心线垂直线,创建垂直线与挡风玻璃交点,创建交点处的玻璃法线,求法线与中心线夹角,即得到一个点的攻击角,其测量的过程与手动计算完全相同,不同点是这些辅助点和线的生成由人工生成改为软件自动生成。再通过for循环,将连接器中心线旋转到不同角度,分别执行计算,即可得到整个刮拭区域不同位置的攻击角。实现自动测量的关键是使用函数实现辅助点和线的生成,只要实现了第一个点的测量,即可通过循环实现所有点的测量。使用到的UPOPEN相关库函数:
UF_CURVE_ask_centroid(获取直线中点);
UF_MODL_ask_curve_props(獲取直线上的点,第二个参数为0和1即可得到两个端点);
UF_CURVE_create_line(创建直线);
UF_MODL_ask_face_props(获取法向);
UF_CURVE_intersect(创建交点);
UF_VEC3_angle_between(测量夹角)。
4 实例计算
某车型提供了前挡风玻璃、输出轴位置、连接器接头、刮刷角度,其中主刮刷角度85°,副刮刷角度87°,如图3。以主刮攻击角计算为例,通过软件界面进行选择连接器旋转中心线作为刮片垂线,选择挡风玻璃面作为第二个输入,选择输出轴方向和输出轴旋转点,然后输入刮臂旋转角度(85°)和计算点数(30),如图4,即可自动计算攻击角,得出的计算结果如图5。
通过UG二次开发,将计算程序集成到了UG软件里,使用时可以直接调用系统里的3D数据,无需对数据进行转换或转入转出,程序对话框与UG现有对话框风格一致。在设置好输入参数后,攻击角的计算可以一键完成,结果同步输出到excel表格里,方便对数据进行分析和处理,还能自动生成数据曲线,极大的提高了设计效率。如果要提高计算精度,还可以增加计算点数,使计算更加准确。
5 结语
通过UG二次开发,可以实现雨刮攻击角自动测量。设计中根据计算结果进行方案调整,再通过计算确认方案,这样多次对方案进行优化,可以很快找出最优的方案,从而提高设计效率。同时,攻击角自动测量的实现,也为进一步开发攻击角自动设计的软件奠定了基础。
参考文献:
[1]李晨蕊,郝博UG二次开发中C++、KF、GRIP203种语言的对比.成组技术与生产现代化,2017,34(03).
[2]张健,张亮亮,周龙,王微,朱新晴.基于UG/OPEN 的零件设计计算与模型库开发[J].航空精密制造技术,2015.
[3]董晨.VC++ 联合UG 二次开发在工业产品设计中的研究,山东工业设计.
[4]薛文风. 三维空间坐标的旋转算法.电脑编程技巧与维护 1995.
[5]黄橙,戴春祥,王俊杰,黄鹏.基于C++的NXOPEN和Journamation二次开发技术的研究和应用 计量与测试技术 2017.