APP下载

面向产品造型的人机交互系统开发

2016-11-14

食品与机械 2016年9期
关键词:渐开线二次开发控件

赵 静

(西京学院机械工程学院,陕西 西安 710123)



面向产品造型的人机交互系统开发

赵 静

(西京学院机械工程学院,陕西 西安 710123)

考虑到用户的设计体验和定制化需求,将人机交互技术应用于工业产品设计与系统开发。以渐开线直齿圆柱齿轮为研究实例,利用CREO工具的特征建模、参数化功能及二次开发技术,在Visual Studio编译环境下开发了齿轮产品的参数化交互设计界面,不仅方便、快捷地实现了齿轮几何模型的编辑、修改与重建,而且有效改进了齿轮产品的设计效率及可塑性。通过探索齿轮产品人机交互运行模式的实现流程,验证了基于CREO平台的二次开发关键技术,为工业产品交互设计提供了重要的技术参考与支持。

交互界面;产品设计;编译;二次开发;关键技术;造型

在工业产品设计过程中,良好的人机交互系统会大大提高用户的满意度和舒适度。界面友好、实用性强的交互设计系统对于提高产品的设计效率和质量至关重要[1],通过人机交互技术,用户可以方便、快捷地实现自己的设计或使用意图,从而有效提升用户体验、增强产品设计的可塑性。

齿轮是食品机械中最常见的运动和动力传动件,大多数食品制造机械和输送装置都涉及到齿轮传动,如锥形搅拌器、食品加工自动化流水线等[2-3]。齿轮产品种类和型号多样,除了标准齿轮外,在很多食品机械装备中往往还需要一些非标齿轮传动,这对齿轮产品的设计可塑性与定制化生产提出了更高要求。本研究拟以三维CAD设计工具CREO为平台,通过参数化设计与二次开发技术,开发以结构功能为主的齿轮产品交互设计系统,旨在为食品机械装备中的齿轮选型和定制化设计,以及一般工业产品的人机交互设计提供借鉴和技术支持。

1 基本思路

1.1 开发平台

随着现代CAD技术的快速发展,以用户需求为导向的产品可视化开发和交互设计技术已经日益成熟[4]。当前,市场上有多款享誉业界的主流三维CAD设计工具,如CREO、SolidWorks、CATIA及UG等,其中,CREO是美国PTC公司最新推出的新型CAD设计软件包,不同于其他CAD解决方案,CREO旨在解决目前CAD系统难用及数据共享等重大问题[4],如基本的易用性、互操作性及装配管理等。

CREO不仅具有强大的产品设计与系统开发功能,同时还具有多种二次开发技术,如Program、UDF、VB API、ProToolkit及J-Link等,其中ProToolkit 是 CREO系统基于C语言的二次开发工具,它提供了大量的C语言库函数和可集成的外部应用程序,利用 ProToolkit 进行二次开发的过程最为复杂,但也是实现功能最多的一种开发技术。

1.2 实现流程

相对于以往的设计理念与技术手段,交互设计能够更好地表现设计人员和用户的意愿。基于CAD平台的产品交互设计系统开发流程见图1。首先需要确定工业产品概念造型,然后通过三维实体软件(如CREO、SOLIDWORKS、UG等)设计其CAD几何模型,在此基础上实现产品结构的参数化设计,最后综合利用二次开发技术和第三方编程语言进行程序编译(如VC++、JAVA、.NET等),开发出用户所需的人机交互设计系统界面。

图1 产品交互设计系统开发流程

2 产品设计实例

2.1 三维CAD模型

在Creo/Parametric环境下设计直齿圆柱齿轮的三维几何模型见图2。首先在草绘模式下创建一个工字型封闭截面,然后利用旋转特征命令使其绕齿轮中心轴线转动360o形成基体圆柱,在此基础上设计齿轮轮廓形状,并通过圆周阵列使齿廓在圆柱体表面均匀分布。

图2 齿轮CAD几何建模

2.2 渐开线设计

直齿圆柱齿轮多采用渐开线齿廓,在Creo/Parametric环境下定义渐开线齿廓方程(见图3),渐开线方程采用笛卡尔直角坐标系[5],其中y向坐标设置为0,故系统在xoz平面内生成一条渐开线,并通过镜像命令创建另一侧的对称齿廓。两条相交的渐开线由齿顶圆截去一部分,剩下的便为渐开线齿廓廓线,最后通过阵列特征创建直齿圆柱齿轮的其余表面齿廓(见图4)。

3 参数化设计

实际当中,齿轮的型式、规格及参数多样,不利于用户方便、快捷地设计和选用齿轮。相对于以往不可逆的齿轮结构设计模式,现代CAD参数化建模技术在很大程度上提高了齿轮设计的效率及质量,对于实现齿轮产品的标准化、系列化及互换性具有重要意义[6]。Creo具有强大的参数化设计功能,它提供了以单一数据库为支撑的数据传递平台,使参数化设计技术的实现更为方便和快捷,大大提高了产品的设计效率及质量。

图3 定义渐开线方程

图4 创建渐开线齿廓

以直齿圆柱齿轮结构参数为设计变量,在“参数”对话框中设置各参数的初始值(见图5),然后根据机械原理相关知识,通过“关系”选项定义齿轮结构各参数之间的关系式(见图6)。实现齿轮结构的参数化设计,不仅有利于齿轮产品的市场转型和系列化设计,而且为其用户化定制设计及二次开发提供了重要的基础平台。

4 二次开发实现

4.1 Visual Studio编译平台

Visual Studio(简称VS)是美国微软公司推出的开发工具包系列产品,也是目前最流行的Windows平台应用程序集成开发环境[7]。VS包括了整个软件生命周期中所需的大部分开发工具,如UML工具、代码管控工具、集成开发环境(IDE)等。Visual Studio系统初始化界面如图7所示,在VS平台上编译的目标代码适用于微软支持的所有平台,并且可以开发多种基于Windows的软件项目,包括Windows应用程序与服务、Web服务、动态链接库(DLL)、网页开发、Office集成开发、数据库项目开发等。

图5 定义设计参数

图6 定义约束关系

图7 Visual Studio初始界面

4.2 关键技术

4.2.1 设置开发环境 以Visual Studio 2010为编译环境,通过动态链接模式对渐开线直齿齿轮进行交互设计系统开发,其中很关键的一个环节是设置Creo/Parametric平台的开发环境[8]。首先新建一个DLL项目类型,并通过共享MFC DLL模板指定DLL规则,然后在“工具”菜单的“选项”中配置VC++目录,并添加二次开发所需的头文件。

另外,还需要设置项目属性和设置库文件(见图8),通过Pro/Toolkit属性页对话框中的“链接器”节点输入“附加依赖项”,即二次开发环境所需的一系列库文件,如netapi32.lib、wsock32.lib、mpr.lib、psapi.lib及protk_dllmd.lib等。

4.2.2 定义关键函数 为了实现CREO的应用程序开发和菜单管理,Pro/TOOLKIT提供了一系列菜单操作函数。user_initialize()是Pro/TOOLKIT应用程序二次开发过程中的初始化函数,主要用来对同步模式下的函数进行初始化,CREO系统中加载的任何同步模式下的应用程序都必须包含该函数[8],其定义格式为:

extern "C" int user initialize ()

{

ProError status;

//用户添加的接口程序部分

……

return status;

}

为了终止同步模式下的Pro/TOOLKIT应用程序, CREO系统在二次开发过程中还需调用结束函数user_terminate(),该函数由用户根据具体情况进行定义,其格式为:

extern "C" void user_terminate ()

{

//用户添加的终止代码

}

图8 设置项目属性与库文件

4.2.3 菜单栏开发 通过菜单栏开发可以将齿轮产品的交互设计功能集成至CREO/Parametric系统,见图9。齿轮设计系统的菜单按钮及其调用由Pro/TOOLKIT函数和相应的消息文件(Message File)共同完成,其中,消息文件主要是用来定义菜单项和相关提示等信息。

图9 菜单栏开发

不同于以往功能独立的产品交互设计系统,利用操作菜单能够在CREO环境下方便、快捷地对齿轮结构进行编辑与修改,实现了齿轮CAD模型数据的无缝集成与传递,同时有效提高了齿轮产品交互设计系统的稳定性与可靠性,这也是本系统的创新及优势所在。

5 交互系统界面

采用同步链接模式开发齿轮的交互设计系统界面。将齿轮结构参数以控件形式添加到对话框界面上,如图像控件、静态文本控件、编辑控件及人机交互所需的相关命令按钮等,如图10所示的齿轮模数m的控件设置,首先定义m的变量类型(int)和取值范围(1~10 mm),由于m为标准值,故还需要在数据属性栏中添加齿轮模数的国标值,以方便用户选定所需参数来创建标准齿轮。

图10 设置控件属性

依次定义和设计齿轮其它变量参数的控件,如齿数、压力角等,并通过编译和数据链接使这些控件与齿轮参数化CAD模型相关联,这样就可借助控件来实现齿轮结构参数的调用、输入与编辑,如图11所示的齿轮产品人机交互设计系统界面。通过人机交互设计系统,用户可根据实际需求对齿轮结构进行快速修改和编辑,用户设计齿轮时只要输入想要的变量参数(如齿数、模数、压力角等),系统就会自动对齿轮参数化模型进行重建与更新,直至生成新的齿轮三维CAD模型。实践运行表明,这种基于CREO后台的人机交互系统,不仅使齿轮产品的设计更为灵活,而且运行过程稳定、响应速度快,有效增强了用户的设计体验和定制化需求。

图11 齿轮产品交互设计系统界面

6 结语

利用人机交互设计系统,用户可方便、快捷地实现产品CAD模型的修改与重建。通过CAD环境下的人机交互设计系统开发,验证了齿轮产品交互设计系统开发的技术流程和可行性,有利于提高食品机械用齿轮的设计效率和可塑性,为实现食品机械装备中的齿轮产品系列化、互换性及定制化设计提供了重要技术支持与参考。

[1] 刘亚明. 关于人机交互设计界面问题探究[J]. 电子制作, 2015(2): 66.

[2] 张力, 刘玉德, 王辉. 食品机械用新型复合材料齿轮的研究[J]. 食品科技, 2009, 34(1): 108-110.

[3] 王娟, 李同杰, 姚智华. 行星齿轮减速器均载性能动态的优化设计[J]. 食品与机械, 2016, 32(2): 71-74.

[4] 王书贤, 汪云, 邓利军, 等. 基于UG的渐开线斜齿圆柱齿轮参数化设计[J]. 机械传动, 2011, 35(5): 36-38.

[5] 张培彦, 张凯. 基于Creo2.0的余弦齿轮参数化建模研究[J]. CAD/CAM与制造业信息化, 2013(10): 52-54.

[6] 王哲, 王红. Creo二次开发参数化设计技术的应用研究[J]. 制造业信息化, 2014, 27(5): 183-186.

[7] 袁万选, 陈玲, 罗新华. CAD/CAM中的Creo软件快速用户化定制[J]. 机电工程技术, 2014, 43(7): 85-88.

[8] 程相文, 邢树雪. 基于Pro/Toolkit的Creo 2.0二次开发过程研究[J]. 机械工程与自动化, 2015(5): 70-71.

Development of man-machine interaction system for product modeling

ZHAO Jing

(College of Mechanical Engineering, XIJING University, Xi’an, Shannxi 710123, China)

In view of designing experience and customization demand for the consumer, the man-machine interaction technology is applied in industrial product design and system development. With involute spur gears as a research example, parametric interaction design interface of gear product is developed which utilizing feature modeling, parametric function and secondary development technique of CREO tool. In the Visual Studio compile environment, can not only realized the editing, modification and reconstruction of the gear’s geometry model conveniently and quickly, but also improve the design efficiency and plasticity of the gear product. Through implement process exploring of the gear product’s operational mode of man-machine interaction, the key technology of secondary development on CREO platform is proved, thus then some important reference and support are provided for interaction design of industrial product.

interaction interface; product design; compile; secondary development; key technology; modeling

赵静(1979-),女,西京学院讲师,硕士。

E-mail:79814832@qq.com

2016—03—01

猜你喜欢

渐开线二次开发控件
基于NURBS理论的渐开线齿轮齿面修复
基于Pro/E的渐开线内花键安装盘参数化设计
浅谈基于Revit平台的二次开发
用修正渐开线投影法螺旋铣球面宏程序的编制
浅谈Mastercam后处理器的二次开发
关于.net控件数组的探讨
西门子Easy Screen对倒棱机床界面二次开发
渐开线齿廓链轮梳齿刀的设计
ASP.NET服务器端验证控件的使用
基于Pro/E二次开发的推土铲参数化模块开发