掌桥专利:专业的专利平台
掌桥专利
首页

一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法和计算机设备

文献发布时间:2023-06-19 16:08:01



技术领域

本申请涉及齿轮仿真技术领域,尤其涉及一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法和计算机设备。

背景技术

直齿圆柱齿轮传动作为一种重要的机械传动形式,广泛应用于汽车、轨道车辆等交通运输工具、生产生活的机械设备等的动力传递。在齿轮转动过程中,齿轮之间会传递载荷。当转动速度较快,载荷较大时,齿轮上会留下印痕,甚至会发生齿轮磨损甚至断裂的情况。为了尽量减少这些齿轮受损现象,则需要对齿轮进行仿真分析,齿轮网格划分是必不可少的一步。

现有技术,在齿轮有限元分析中:一方面,齿轮网格划分需要先建立齿轮三维几何模型,再将三维模型导入有限元分析软件中,利用模型自身的形状大小等参数,再通过设置一系列的网格参数,生成网格节点,经过复杂的流程,才能得到齿轮网格模型。另一方面:现有的圆柱齿轮网格划分节点选取方法所得到的网格节点精度较低,在特定的位置需要重新取点,进行划分,这增加了后期网格处理的工作量。在进行有限元受力分析时,结构离散后的网格质量直接影响到求解时间和求解结果的正确性。网格稀疏,或网格不规则程度较大时,使得求解结果的准确性大大降低;网格密集时,巨大的网格数量,使得求解时间大大增加。

发明内容

本发明目的是为了解决现有方法所得到的网格节点精度较低和工作效率低的问题,提供了一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法和计算机设备。

本发明是通过以下技术方案实现的,本发明一方面,提供一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法,所述方法包括:

步骤1、以直齿圆柱齿轮中一个轮齿截面的对称轴为y轴,以过齿轮圆心且垂直于y轴的直线为x轴,建立直角坐标系;

步骤2、在所述直角坐标系下,获取半个轮齿的齿廓线,所述齿廓线以齿廓线与齿顶圆交点为起点,以齿根齿廓点为终点;

步骤3、根据所述齿廓线、齿轮内圆半径和轮齿交界线,建立半个轮齿框架;

步骤4、将所述半个轮齿框架分为上部区域、中部区域和下部区域,其中,所述上部区域对应轮齿部分,所述下部区域对应齿轮体部分,所述中部区域对应轮齿和齿轮体的过渡区域;

步骤5、分别对所述上部区域、所述中部区域和所述下部区域进行网格划分,获取半个轮齿截面的全部节点;

步骤6、根据所述半个轮齿截面的全部节点,获取单个轮齿截面的全部节点,并根据所述单个轮齿截面的全部节点,获取单个轮齿的全部节点;

步骤7、获取轮齿的数量,根据所述单个轮齿的全部节点,获取整个齿轮的全部节点;

步骤8、对所述整个齿轮的全部节点编写连接关系,获取齿轮网格模型。

进一步地,所述步骤4,具体包括:

步骤4.1、获取所述起点和所述终点的纵坐标之差;

步骤4.2、设置预设比例,根据所述纵坐标之差和所述预设比例的乘机,确定边界线纵坐标与终点的纵坐标差值;

步骤4.3、根据边界线纵坐标与终点的纵坐标差值,在所述终点的上下方位获取所述半个轮齿框架的边界线;

步骤4.4、根据所述边界线,将所述半个轮齿框架分为上部区域、中部区域和下部区域。

进一步地,所述步骤5,具体包括:

步骤5.1、针对所述上部区域,设置上部纵向份数参数和上部横向份数参数,并根据所述上部纵向份数参数和上部横向份数参数,对所述上部区域进行网格划分,获取上部区域全部节点,所述上部区域全部节点包括上部区域与中部区域之间的边界线上的节点;

步骤5.2、针对所述中部区域,设置中部纵向份数参数,根据所述中部纵向份数参数、所述上部横向份数参数和所述上部区域与中部区域之间的边界线上的节点,并利用二次贝塞尔曲线,对所述中部区域进行网格划分,获取中部区域全部节点,所述中部区域全部节点包括中部区域与下部区域之间的边界线上的节点;

步骤5.3、针对所述下部区域,设置下部纵向份数参数,根据所述下部纵向份数参数和所述中部区域与下部区域之间的边界线上的节点,对所述下部区域进行网格划分,获取下部区域全部节点;

步骤5.4、根据所述上部区域节点、所述中部区域节点和所述下部区域节点,获取半个轮齿截面的全部节点。

进一步地,所述步骤5.1,具体包括:

步骤5.1.1、根据所述上部纵向份数参数,对上部区域在y轴上的线段进行均匀取点,获取若干个第一上部纵向点,根据所述第一上部纵向点,在上部区域的齿廓线上进行插值取点,获取若干个第二上部纵向点,且第一上部纵向点的纵坐标与第二上部纵向点的纵坐标一一对应相等;

步骤5.1.2、根据所述上部横向份数参数,将纵坐标对应相等的第一上部纵向点和第二上部纵向点之间进行均分,获取上部区域横向节点,其中,所述上部区域横向节点包括上部区域与中部区域之间的边界线上的节点;

步骤5.1.3、根据所述第一上部纵向点、所述第二上部纵向点和所述上部区域横向节点,获取上部区域全部节点。

进一步地,所述步骤5.2,具体包括:

步骤5.2.1、根据所述中部纵向份数参数,对所述中部区域在y轴上的线段进行划分,获取若干个第一中部纵向点,且设所述第一中部纵向点为贝塞尔曲线的起始点;

步骤5.2.2、根据所述中部纵向份数参数,对所述中部区域的齿廓线进行划分,获取若干个第二中部纵向点,且设所述第二中部纵向点为贝塞尔曲线的终点;

步骤5.2.3、将所述第一中部纵向点和所述第二中部纵向点按照纵向顺序进行一一对应,将对应的第一中部纵向点和第二中部纵向点所在线段的法线相交,获取纵向点法线交点;

步骤5.2.4、根据所述第一中部纵向点、所述第二中部纵向点及所述纵向点法线交点,获取二次贝塞尔曲线,具体为:

x=(1-t)

y=(1-t)

其中,(x

步骤5.2.5、设置预设递增值,根据所述预设递增值,确定若干个t值,再根据所述若干个t值,选取所述二次贝塞尔曲线上的若干个点,将所述选取的二次贝塞尔曲线上的若干个点的间距进行累加,获取所述二次贝塞尔曲线的长度;

步骤5.2.6、根据所述上部横向份数参数和所述二次贝塞尔曲线的长度,对所述二次贝塞尔曲线进行划分,获取所述中部区域的内部节点;

根据所述上部区域与中部区域之间的边界线上的节点,对所述中部区域未取点的边界进行划分,获取所述中部区域未取点的边界的节点,其中,所述中部区域未取点的边界的节点包括所述中部区域与下部区域之间的边界线上的节点;

步骤5.2.7、根据所述第一中部纵向点、所述第二中部纵向点、所述中部区域的内部节点和所述中部区域未取点的边界的节点,获取所述中部区域全部节点。

进一步地,所述步骤5.3,具体包括:

步骤5.3.1、将下部区域在y轴上的线段的两个端点从下至上分别设为贝塞尔曲线的起点和终点,根据所述两个端点和所述下部纵向份数参数,获取贝塞尔曲线的控制点,所述控制点与下部区域在y轴上的线段的下端点的距离为:

L

其中,L

步骤5.3.2、根据所述两个端点和所述贝塞尔曲线的控制点,获取贝塞尔曲线;

步骤5.3.3、根据所述贝塞尔曲线,对下部区域在y轴上的线段进行取点,获取若干个第一下部纵向点;

步骤5.3.4、根据所述下部区域在y轴上的线段的节点,对下部区域的轮齿交界线进行取点,获取若干个第二下部纵向点,其中,所述第一下部纵向点的纵坐标与所述第二下部纵向点的纵坐标一一对应相等;

根据所述中部区域与下部区域之间的边界线上的节点,确定下部横向分数参数;

根据所述下部横向份数参数,将纵坐标对应相等的第一下部纵向点和第二下部纵向点之间进行均分,获取下部区域横向节点;

根据所述第一下部纵向点、第二下部纵向点和所述下部区域横向节点,获取所述下部区域全部节点。

进一步地,所述步骤6,具体包括:

步骤6.1、利用对称关系,根据所述半个轮齿截面的全部节点,获取单个轮齿截面的全部节点;

步骤6.2、去掉所述单个轮齿截面一侧的节点,获取去重复点的单个轮齿截面的全部节点;

步骤6.3、根据齿轮的厚度参数和齿轮在厚度方向上分成的份数,将所述去重复点的单个轮齿截面的全部节点进行拉伸,获取单个轮齿的全部节点。

进一步地,所述步骤7,具体包括:

步骤7.1、获取齿根齿廓点的坐标,设所述齿根齿廓点的坐标为(x,y),公式如下:

tanθ=x/y

θ为半个轮齿在整个齿轮上所占的弧度;

步骤7.2、根据所述半个轮齿在整个齿轮上所占的弧度,获取一个轮齿在整个齿轮上所占的弧度,即α=2θ;

步骤7.3、将α换为角度制,则β=2θ*180/π,β为旋转角度;

步骤7.4、根据所述旋转角度,获取齿轮上的齿数n;

步骤7.5、根据所述旋转角度和所述齿轮上的齿数,将所述单个轮齿的全部节点绕齿轮圆心轴进行旋转操作,直到得到n个轮齿,进而获取整个齿轮的全部节点。

进一步地,所述步骤8,具体包括:

步骤8.1、分别对所述整个齿轮的全部节点中单个轮齿的节点编写连接关系,获取初始齿轮;

步骤8.2、分别对所述初始齿轮中每个缝隙两侧的点编写连接关系,获取齿轮网格模型。

另一方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时执行如上文所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的步骤。

本发明的有益效果:

所以本发明中的节点选取算法,根据齿轮的结构特点,分区进行网格划分。有的区域由于其受到的载荷较大,需要提高求解结果的准确性,这一部位网格设置密集一些;反之,有的形状规则,受力分析无特殊要求的部位,网格密度正常选取,符合工程需求即可。

本发明根据圆柱齿轮的受力特点,选择了一种适用于圆柱齿轮进行受力仿真分析的圆柱直齿轮网格自动生成方法。现有技术中,齿轮网格划分需要先建立齿轮三维几何模型,再将三维模型导入有限元分析软件中,利用模型自身的形状大小等参数,再通过设置一系列的网格参数,生成网格节点,经过复杂的流程,才能得到齿轮网格模型,而本发明具有针对性,数据源只需要一组齿廓线上点的数据,通过本发明中的算法,可以快速采到合适的节点,并且是能够满足精度要求的节点。最终可以直接生成齿轮网格模型,免去了复杂的流程。首先,本发明根据轮廓线数据直接生成齿轮网格模型,避免了建立齿轮模型的过程以及齿轮数据分析的复杂过程,可以快速采到合适的节点,提升网格生成的效率;

其次,本发明中的取点算法,如线性插值、贝塞尔曲线、拉伸、旋转,计算复杂度低,且可以选出满足精度的节点,以实现对网格质量和网格生成速度的要求。

本发明适用于直齿圆柱齿轮有限元网格模型的自动生成。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的齿廓线数据示意图(a为齿廓线示意图,b为齿廓线上的选点示意图);

图2为本发明的轮齿划分区域示意图;

图3为本发明的上部区域纵向划分示意图;

图4为本发明的上部区域全部节点分布示意图;

图5为本发明的中部区域节点示意图(a为中部区域边界上节点分布示意图,b为中部区域内部节点选取示意图);

图6为本发明的中部区域全部节点分布示意图;

图7为本发明的下部区域边界上节点选取示意图;

图8为本发明的下部区域全部节点分布示意图;

图9为本发明的半个轮齿截面的全部节点分布示意图;

图10为本发明的单个轮齿截面的全部节点分布示意图;

图11为本发明的轮齿截面网格效果图;

图12为本发明的齿轮截面右侧节点示意图;

图13为本发明的齿轮截面左侧节点示意图;

图14为本发明的轮齿截面效果图;

图15为本发明的单个轮齿截面的全部节点拉伸示意图;

图16为本发明的半个轮齿在整个齿轮上所占的弧度示意图;

图17为本发明的整个齿轮的全部节点分布示意图;

图18为本发明的针对单个轮齿编写连接关系示意图(左右两幅图分布为不同角度的示意图);

图19为本发明的编写连接关系中六面体连接关系示意图;

图20为本发明的初始齿轮示意图;

图21为本发明的初始齿轮放大示意图;

图22为本发明的不同角度的齿轮网格模型示意图;

图23为本发明的实施例的方法流程示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

实施方式一、一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法,所述方法包括:

步骤1、以直齿圆柱齿轮中一个轮齿截面的对称轴为y轴,以过齿轮圆心且垂直于y轴的直线为x轴,建立直角坐标系;

步骤2、在所述直角坐标系下,获取半个轮齿的齿廓线,所述齿廓线以齿廓线与齿顶圆交点为起点,以齿根齿廓点为终点;

步骤3、根据所述齿廓线、齿轮内圆半径和轮齿交界线,建立半个轮齿框架;

步骤4、将所述半个轮齿框架分为上部区域、中部区域和下部区域,其中,所述上部区域对应轮齿部分,所述下部区域对应齿轮体部分,所述中部区域对应轮齿和齿轮体的过渡区域;

步骤5、分别对所述上部区域、所述中部区域和所述下部区域进行网格划分,获取半个轮齿截面的全部节点;

步骤6、根据所述半个轮齿截面的全部节点,获取单个轮齿截面的全部节点,并根据所述单个轮齿截面的全部节点,获取单个轮齿的全部节点;

步骤7、获取轮齿的数量,根据所述单个轮齿的全部节点,获取整个齿轮的全部节点;

步骤8、对所述整个齿轮的全部节点编写连接关系,获取齿轮网格模型。

需要说明的是,轮齿交界线是指轮齿和轮齿交界处的线。

本实施方式是基于已知的齿廓线数据,无需通过齿轮参数,仅通过一种网格划分方法,来选取网格节点,使得齿轮网格精度大大提高。虽然本专利所用的轮廓线也是由齿轮基本参数计算得到的,但是对于节点的选取并没有用到齿轮基本参数。使得本实施方式在面向对象编程过程中,无需用到这些齿轮基本参数,在选取分割边界点方面避开了复杂的数据分析。

本实施方式的方法主要基于齿廓线的数据,再由操作者输入网格密度等相关参数,实现采点并连接,最终生成可以用于齿轮网格模型可视化的vtk文件。

本实施方式可以通过面向对象的编程,在程序中,实现齿轮网格模型建立。

实施方式二,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤4,做了进一步限定,具体包括:

步骤4.1、获取所述起点和所述终点的纵坐标之差;

步骤4.2、设置预设比例,根据所述纵坐标之差和所述预设比例的乘机,确定边界线纵坐标与终点的纵坐标差值;

步骤4.3、根据边界线纵坐标与终点的纵坐标差值,在所述终点的上下方位获取所述半个轮齿框架的边界线;

步骤4.4、根据所述边界线,将所述半个轮齿框架分为上部区域、中部区域和下部区域。

本实施方式中,中部区域为齿根处,这一区域对节点精度,有一定的要求,所以划分边界线时,考虑到以齿槽的最低点即齿根齿廓点的坐标为边界线的选取依据,进行分区,使节点选取过程更加合理清楚。

实施方式三,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤5,做了进一步限定,具体包括:

步骤5.1、针对所述上部区域,设置上部纵向份数参数和上部横向份数参数,并根据所述上部纵向份数参数和上部横向份数参数,对所述上部区域进行网格划分,获取上部区域全部节点,所述上部区域全部节点包括上部区域与中部区域之间的边界线上的节点;

步骤5.2、针对所述中部区域,设置中部纵向份数参数,根据所述中部纵向份数参数、所述上部横向份数参数和所述上部区域与中部区域之间的边界线上的节点,并利用二次贝塞尔曲线,对所述中部区域进行网格划分,获取中部区域全部节点,所述中部区域全部节点包括中部区域与下部区域之间的边界线上的节点,不包括上部区域与中部区域之间的边界线上的节点;

步骤5.3、针对所述下部区域,设置下部纵向份数参数,根据所述下部纵向份数参数和所述中部区域与下部区域之间的边界线上的节点,对所述下部区域进行网格划分,获取下部区域全部节点,不包括中部区域与下部区域之间的边界线上的节点。

步骤5.4、根据所述上部区域节点、所述中部区域节点和所述下部区域节点,获取半个轮齿截面的全部节点。

本实施方式中,一个齿轮,包括轮齿和齿轮体,这里齿轮体是指齿轮上除去轮齿的整体。上部区域对应轮齿部分,下部区域对应齿轮体部分,而中部区域则对应轮齿和齿轮体的过渡区域。所以分为三个区域最为恰当,一定不能少于三个区域,且没有必要划分更多的区域,划分更多的区域,只会增加工作量,并不会进一步提高网格精度。

本实施方式中,上部区域和下部区域对于网格大小、节点精度要求不高,这两处的节点选取较为简单。中部区域为齿根处,这一区域对节点精度,有一定的要求。分区进行取点,使节点选取过程更加合理清楚,以提升网格精度。

实施方式四,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤5.1,做了进一步限定,具体包括:

步骤5.1.1、根据所述上部纵向份数参数,对上部区域在y轴上的线段进行均匀取点,获取若干个第一上部纵向点,根据所述第一上部纵向点,在上部区域的齿廓线上进行插值取点,获取若干个第二上部纵向点,且第一上部纵向点的纵坐标与第二上部纵向点的纵坐标一一对应相等;

步骤5.1.2、根据所述上部横向份数参数,将纵坐标对应相等的第一上部纵向点和第二上部纵向点之间进行均分,获取上部区域横向节点,其中,所述上部区域横向节点包括上部区域与中部区域之间的边界线上的节点;

步骤5.1.3、根据所述第一上部纵向点、所述第二上部纵向点和所述上部区域横向节点,获取上部区域全部节点。

本实施方式中,针对上部区域的特性,如网格大小、节点精度要求不高,采用了线性插值的方法对上部区域进行网格划分,即可以满足网格精度的需求,还可以减少数据分析的复杂度,进而提高网格划分的效率。

实施方式五,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤5.2,做了进一步限定,具体包括:

步骤5.2.1、根据所述中部纵向份数参数,对所述中部区域在y轴上的线段进行划分,获取若干个第一中部纵向点,且设所述第一中部纵向点为贝塞尔曲线的起始点;

步骤5.2.2、根据所述中部纵向份数参数,对所述中部区域的齿廓线进行划分,获取若干个第二中部纵向点,且设所述第二中部纵向点为贝塞尔曲线的终点;

步骤5.2.3、将所述第一中部纵向点和所述第二中部纵向点按照纵向顺序进行一一对应,将对应的第一中部纵向点和第二中部纵向点所在线段的法线相交,获取纵向点法线交点;

步骤5.2.4、根据所述第一中部纵向点、所述第二中部纵向点及所述纵向点法线交点,获取二次贝塞尔曲线,具体为:

x=(1-t)

y=(1-t)

其中,(x

步骤5.2.5、设置预设递增值,根据所述预设递增值,确定若干个t值,再根据所述若干个t值,选取所述二次贝塞尔曲线上的若干个点,将所述选取的二次贝塞尔曲线上的若干个点的间距进行累加,获取所述二次贝塞尔曲线的长度;

步骤5.2.6、根据所述上部横向份数参数和所述二次贝塞尔曲线的长度,对所述二次贝塞尔曲线进行划分,获取所述中部区域的内部节点;

根据所述上部区域与中部区域之间的边界线上的节点,对所述中部区域未取点的边界进行划分,获取所述中部区域未取点的边界的节点,其中,所述中部区域未取点的边界的节点包括所述中部区域与下部区域之间的边界线上的节点;

步骤5.2.7、根据所述第一中部纵向点、所述第二中部纵向点、所述中部区域的内部节点和所述中部区域未取点的边界的节点,获取所述中部区域全部节点。

需要说明的是,本实施方式中,可以将

设置预设值为0.005;

t=0开始,每次递增0.005,到t=1为止,得到所述二次贝塞尔曲线上的点。

t从0每次递增0.005至1,会得到一条由201个点模拟的贝塞尔曲线。t递增的数值越小,那么得到的点越多,则模拟的贝塞尔曲线越准确。t可以选择0.001,这样模拟的贝塞尔曲线会更准确,但是点太多时,会使程序的计算时间增加。本实施方式中,t=0.005,完全可以满足对模拟贝塞尔曲线准确度的要求。

本实施方式中,通过使用二次贝塞尔曲线,可以在中部区域内选取满足网格精度需求的点。

实施方式六,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤5.3,做了进一步限定,具体包括:

步骤5.3.1、将下部区域在y轴上的线段的两个端点从下至上分别设为贝塞尔曲线的起点和终点,根据所述两个端点和所述下部纵向份数参数,获取贝塞尔曲线的控制点,所述控制点与下部区域在y轴上的线段的下端点的距离为:

L

其中,L

步骤5.3.2、根据所述两个端点和所述贝塞尔曲线的控制点,获取贝塞尔曲线;

步骤5.3.3、根据所述贝塞尔曲线,对下部区域在y轴上的线段进行取点,获取若干个第一下部纵向点;

步骤5.3.4、根据所述下部区域在y轴上的线段的节点,对下部区域的轮齿交界线进行取点,获取若干个第二下部纵向点,其中,所述第一下部纵向点的纵坐标与所述第二下部纵向点的纵坐标一一对应相等;

根据所述中部区域与下部区域之间的边界线上的节点,确定下部横向分数参数;

根据所述下部横向份数参数,将纵坐标对应相等的第一下部纵向点和第二下部纵向点之间进行均分,获取下部区域横向节点;

根据所述第一下部纵向点、第二下部纵向点和所述下部区域横向节点,获取所述下部区域全部节点。

本实施方式中,二次贝塞尔曲线的应用与在中部区域的应用不同,这里选取合适的控制点,使得下部区域纵向划分不均匀。这样可以使得靠近齿根附近的网格较小,保证仿真结果的精确性。

需要说明的是贝塞尔曲线方程可以选择三次、四次以及多次,但计算繁琐,且与二次的结果区别不大。

实施方式七,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤6,做了进一步限定,具体包括:

步骤6.1、利用对称关系,根据所述半个轮齿截面的全部节点,获取单个轮齿截面的全部节点;

步骤6.2、去掉所述单个轮齿截面一侧的节点,获取去重复点的单个轮齿截面的全部节点;

步骤6.3、根据齿轮的厚度参数和齿轮在厚度方向上分成的份数,将所述去重复点的单个轮齿截面的全部节点进行拉伸,获取单个轮齿的全部节点。

本实施方式中,步骤6.1中得到的是单个轮齿的整个截面上的点,在后期旋转过程中一定会有点的重合,比如第一个轮齿的右边界和第二个轮齿的左边界重合,这种重复情况在网格划分过程中是不允许的,所以去点的操作不可缺少。

需要说明的是,去点操作可以去掉单个轮齿截面的左侧的节点,也可以去掉右侧的节点,都能实现将重合点去掉。

步骤6.3中的拉伸,可以根据轮齿平面的数据,获取轮齿的三维立体数据,具体为:

获取齿轮的厚度参数和齿轮在厚度方向上分成的份数;

所述整个齿轮的截面上每个点的坐标保持不变,根据齿轮的厚度参数和齿轮在厚度方向上分成的份数,改变每个点在厚度方向上的坐标值,实现拉伸。

实施方式八,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤7,做了进一步限定,具体包括:

步骤7.1、获取齿根齿廓点的坐标,设所述齿根齿廓点的坐标为(x,y),公式如下:

tanθ=x/y

θ为半个轮齿在整个齿轮上所占的弧度;

步骤7.2、根据所述半个轮齿在整个齿轮上所占的弧度,获取一个轮齿在整个齿轮上所占的弧度,即α=2θ;

步骤7.3、将α换为角度制,则β=2θ*180/π,β为旋转角度;

步骤7.4、根据所述旋转角度,获取齿轮上的齿数n;

步骤7.5、根据所述旋转角度和所述齿轮上的齿数,将所述单个轮齿的全部节点绕齿轮圆心轴进行旋转操作,直到得到n个轮齿,进而获取整个齿轮的全部节点。

本实施方式中,利用齿廓线终点坐标,来计算每个轮齿应该旋转的角度和齿轮的齿数,提升了网格划分的精度,还可以减少网格生成过程中参数的使用数量。

实施方式九,本实施方式是对实施方式一所述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的进一步限定,本实施方式中,对所述步骤8,做了进一步限定,具体包括:

步骤8.1、分别对所述整个齿轮的全部节点中单个轮齿的节点编写连接关系,获取初始齿轮;

步骤8.2、分别对所述初始齿轮中每个缝隙两侧的点编写连接关系,获取齿轮网格模型。

本实施方式中,首先实现了每个单独轮齿的连接关系,然后实现了轮齿和轮齿之间缝隙的连接关系。

实施方式十,本实施方式为基于上述的一种基于齿廓线的直齿圆柱齿轮有限元网格自动生成方法的具体实施例,如图23所示,具体为:

如图1所示,本实施例需要用到的数据来源,是基于轮齿一侧的一条齿廓线(图1a上加粗线)上点(图1b中的标记点)的坐标数据。

步骤一:在轮齿的半个横截面上采点

1)首先以轮齿截面对称轴为y轴,以过齿轮圆心且垂直于y轴的直线为x轴,建立直角坐标系,本实施例中涉及的坐标数据,都在此坐标系中。

2)读取齿廓线上点的坐标数据,并在程序中创建一个点类,将数据以点的形式储存到容器v1中。本实施例中用到的是齿廓线上一组离散点的数据,不是齿廓线的数据。如图1a所示,加粗线为齿廓线,一条齿廓线是以齿廓线与齿顶圆交点为起点,以齿槽最低点为终点,这两个点是必须得到的。起点和终点之间点的选取原则:10个点以上,不要太过分散即可。如图1b中,截取相同的横坐标0.3~0.5间距进行选取。

3)如图2所示,设h并计算,计算方法为:从上向下,齿廓线上起点的纵坐标减齿廓线上终点的纵坐标,在图1b中齿轮圆心坐标为(0,0),齿廓线起点坐标为(5,75.6375),终点坐标为(10,63.1375),计算可得h=12.5。以齿廓线上终点纵向坐标所在的直线为对称轴,上、下0.2h处,各取一条分界线,边界1(纵坐标为63.1375+0.2*12.5=65.6375)、边界2(纵坐标为63.1375-0.2*12.5=60.6375)。

这里需要说明的是,齿根部分在齿轮转动、啮合过程中,受到载荷较大,易出现破裂等问题。为了使得需要进行网格加密的齿根部分单独成一个区域,本实施例选取了齿廓线纵坐标上、下0.2h这两条边界线。0.2h只是一个合适的参数,不是固定的:这个参数太小时,会使得一部分齿根部分,划分不到中部区域,无法满足网格精度要求;太大时,使得一些不需要网格高精度划分的非齿根部分,进行高精度划分,这样会增加网格数量,从而增加求解时间。

再设置齿轮内圆半径,作为输入参数,本例中选择40(程序中也可以输入其他满足网格精度的参数),确定了轮齿最下端的边界3(使用内圆半径40,当作边界3的纵坐标)。图中这3条虚线,将半个轮齿截面分为上、中、下三个区域,以下在三个区域内,分别采点。上部区域是由齿顶直线、一段齿廓线、边界1以及轮齿截面对称线(y轴)的一段按顺时针所围成的。中部区域是由边界1、另一段齿廓线、一段轮齿交界线(轮齿交界线是指轮齿和轮齿交界处的线)、边界2、轮齿截面对称线(y轴)的一段按顺时针所围成的。下部区域是由边界2、一段轮齿交界线、边界3、轮齿截面对称线(y轴)的一段按顺时针所围成的。

4)在上部区域中,设置一个上部区域纵向份数参数UpperVer,作为输入参数,本实施例中选择4(程序中也可以输入其他满足网格精度的参数)。如图3所示,纵向分为4份,在y轴线段上均分取点(圆形点),在齿廓线上进行插值取点(三角形点),插值要实现的目标是使三角形点与圆形点一一对应,纵坐标相等。设置一个上部区域横向份数参数w,作为输入参数,本例中选择6(程序中也可以输入其他合适参数)。y轴上圆形点和齿廓线上三角形点之间按参数w进行均分。

至此,上部区域与边界1上的点,全部采出。包括上部区域内部的所有点,区域边界上的所有点(也包括边界1上的点)。得到图4所示为点的分布。

5)在中部区域,设置一个中部区域纵向份数参数MiddleVer,作为输入参数,本例中选择8(程序中也可以输入其他满足网格精度的参数)。如图5左所示,根据边界1上点的间距,在中部区域轮齿交界线小段斜线段上任意一端,截取出与边界1上点的间距长度相同的线段,截取后,再截取下一段,直到在该轮齿交界线小段斜线段上剩余一小段,这一小段不足以截取出与边界1上点的间距长度相同的线段。记下段数为n2,根据段数平分这一小段斜线段,采出方形点。设n1=w-n2(边界1上的段数等于边界2上的段数加轮齿交界线上的段数),n1为边界2上被分成的段数,采出边界2上的方形点。在本专利数据例子下计算出的参数n1=3,n2=3。如图5a所示,在y轴线段上均分取点(圆形点),在齿廓线上进行插值取点(三角形点),都分为8份。与上部区域在齿廓线上取点不同,此次不需要满足与y轴上点纵坐标对应相同,但需要满足能够按长度均分这一部分的齿廓线,采出三角形的点。在中部区域边界点的对应关系为:边界1上的圆形点(不包括两端的点)与边界2和轮齿交界线上的方形点(也不包括两端的点)一一相对应,中部区域y轴上的圆形点(包括两端的点)与中部区域齿廓曲线上三角形点(包括两端的点)一一对应。这时中部区域边界的点全部采出。

然后利用二次贝塞尔曲线,采出区域内部的点。具体操作如下:

如图5b所示。选取y轴上已经采到的某一点,坐标为(x

根据二次贝塞尔曲线方程

x=(1-t)

y=(1-t)

在程序中,t=0开始,每次递增0.005,到t=1为止,循环得到x、y,共得到201个点,这些点模拟了贝塞尔曲线,将这些点的间距累加,可以求得贝塞尔曲线P

至此,中部区域与边界2上的点全部采出,包括中部区域内部的所有点,区域边界上的部分点,这里部分点指的是区域边界上的所有点去掉边界1上的点,去除的点中还包括边界1与y轴和齿廓曲线的两个交点,因为去掉的这些点在上部区域内已经包含。得到图6所示为点的分布。

6)在下部区域,设置一个下部区域纵向份数参数LowerVer,作为输入参数,本例中选择5(程序中也可以输入其他满足网格精度的参数)。如图7所示,y轴线段上利用二次贝塞尔曲线实现不均匀分布取点(圆形点),使得靠近齿根附近的部分网格较小,保证仿真结果的精确性。y轴上且在边界3上的点为起始点P

至此,下部区域与边界3上的点全部采出。包括下部区域内部的所有点,区域边界上的部分点,这里部分点指的是区域边界上的所有点去掉边界2上的点,去除的点中还包括边界2与y轴和轮齿交界线的两个交点,因为去掉的这些点在中部区域内已经包含。得到图8所示为点的分布图。

7)在轮齿的半个横截面上的点已经全部采出,如图9所示。

步骤二:

利用对称关系,采出轮齿整个横截面上的点,且在y轴上的点不能重复采到,分布图如图10所示。

这样一来,后续就可以根据图10中的节点,编写连接关系,进而可以得到如图11所示的轮齿截面网格效果图。

步骤三:

为了保证轮齿和轮齿之间没有重复的点,需要将齿轮截面右或左边界的点去掉,以去掉右侧轮齿面交界线为例,即图12中标记出的点。那么左侧轮齿面交界线的点,即图13中标记的点,将作为两个轮齿之间共用的点。这样一来,将图12中点去掉后,会得到如图14所示的轮齿截面效果图。

步骤四:

根据实际的工程需求,设置齿轮的厚度参数t和齿轮在厚度方向上分成的份数m,t和m作为输入参数,本例中选择t=30,m=6(程序中也可以输入其他满足网格精度的参数)。在程序中保证截面上每个点的x、y坐标保持不变,引入齿轮厚度方向上的z坐标,根据t、m,改变每个点在z方向上的坐标值,实现拉伸,如图15所示。

步骤五:确定旋转的角度和齿数

为了实现旋转操作,首先应该确定旋转的角度。在本实施例的最初数据中,不包含齿数,所以无法根据齿数去计算轮齿绕圆心轴旋转的角度。本实施例中采取如下方法,由齿廓线的最后一个点(齿根处坐标为(10,63.1375))的横、纵坐标可以确定一个轮齿在整个齿轮上所占的弧度。具体过程如下:

设齿根处坐标为(x,y),有公式如下:

tanθ=x/y

如图16所示,θ为半个轮齿在整个齿轮上所占的弧度。

设α为一个轮齿在整个齿轮上所占的弧度,则有α=2θ。

将α换为角度制,则β=2θ*180/π。

所以,一个轮齿旋转β度,即可得到下一个齿轮。

设齿轮上的齿数为n,则有n=360°/β。由于计算误差的存在,这时的n可能不是一个整数,需要向上或向下取整,取离其最近的一个整数,得到最终齿数n,n为整数。在本实施例中,由齿廓线数据可以算出n=20(程序中,齿数不是固定的,可以通过改变输入的齿廓线上点的坐标数据,来改变齿数)。

步骤六:

利用步骤五中求得的旋转角度β,对步骤四中所求的点(图15)绕齿轮圆心轴,进行旋转操作。在步骤五中求得齿轮的齿数n,除了已经实现的一个齿,这个齿作为初始齿,围绕齿轮圆心轴旋转β度后,得到第二个轮齿。第二个轮齿继续绕圆心轴旋转β度,得到第三个轮齿…重复此操作,直到得到n个轮齿,至此整个齿轮上的点全部显示,如图17所示。

步骤七:编写连接关系:

首先给步骤六中生成的整个齿轮上的点中的每个轮齿的点分别编写连接关系,8个点连接成为一个六面体。本实施例中,最终的输出对象的文件类型为.vtk,可利用ParaView进行查看。根据vtk的文件类型,设置文件头,每8个相邻的点的编号组成一组数据,写入.vtk文件中,连接成一个小的六面体。这八个点在不同层,每层四个点,一起组成一个六面体。最后得到一个轮齿的三维形状,如图18所示(两个角度上的展示效果图)。

这里需要说明的是,1)点的顺序以编号形式呈现,如图19所示,取第一个六面体为例。我们需要得知每一层截面的点数为a,那么从前到后,第一层的点为0号点~(a-1)号点,第二层为a号点~(2a-1)号点。再得知以及齿顶部分的横向份数b,便可以准确描述出第一个六面体点编号的排列顺序。

2)第一个六面体顺序排列的点序号指的是:

8 0 b b+1 1 a b+a b+1+a 1+a

其中第一个数字“8”,指的是每个六面体单元有8个顶点。后面的8个数据,是指点的编号,表示为0号点—>b号点—>b+1号点—>1号点—>a号点—>b+a号点—>b+1+a号点—>1+a号点(“—>”表示连接),连接完成的六面体,如图19所示。

按照此规律,将图17中整个齿轮上的点都进行编号,通过程序算法,在vtk文件中输出连接关系。得到如图20所示的三维几何。

步骤八:

将图20放大可得图21,从图21中可以看出,每两个轮齿之间还有一个缝隙。这是由于步骤三中去点的操作造成的。(注:图20中已经包含了所有的节点和每个轮齿内部的连接关系,但还不包含轮齿和轮齿之间的连接关系)

所以这一步编写每个缝隙两侧的点之间的连接关系,使得形成一个完整的齿轮,如图22所示(不同角度)。

步骤九:

按照vtk文件格式,输出vtk文件。vtk文件可以用ParaView进行查看。

本实施中,步骤五中对齿数的求法。本实施例的数据来源并没有齿数,但在旋转操作时,齿数决定了旋转次数,不可缺少。可以利用齿廓线上最后一点的坐标数据和取整函数计算出齿数,为旋转提供次数。(相当于是由齿廓线上点的数据计算齿数这一齿轮基本参数,属于逆运算。)

本实施中,步骤七和八中先给每个单独轮齿进行连接关系编写,再连接轮齿和轮齿之间的缝隙。步骤七是将每一个轮齿都进行单独的连接关系编写,这样若干个图18中的轮齿会组成图20中有缝隙的齿轮,再进行步骤八操作,将齿轮缝隙两侧的点,即轮齿的左右边界,进行连接,即可得到整个齿轮,如图22所示。

还需要说明的是,本实施例中整体操作顺序是:步骤三中得到的截面点,先在步骤四中拉伸,然后求旋转角度和齿数,再进行旋转。可以将这种方法换为:先求旋转角度和齿数,然后旋转步骤三中的点,得到整个齿轮的一个截面,最后进行拉伸。

技术分类

06120114714264