一种基于abaqus的真实粗糙表面建模方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011569705.7
(22)申请日 2020.12.26
(71)申请人 北京工业大学
地址 100124 北京市朝阳区平乐园100号
(72)发明人 赵永胜 刘盼 刘志峰 李迎 
(74)专利代理机构 北京思海天达知识产权代理
有限公司 11203
代理人 沈波
(51)Int.Cl.
G06F  30/23(2020.01)
G06T  17/00(2006.01)
(54)发明名称
一种基于abaqus的真实粗糙表面建模方法
(57)摘要
本发明公开了一种基于abaqus的真实粗糙
表面建模方法,适用于三维真实粗糙表面在
abaqus软件中的快速建模。本方法通过三维形貌
仪获取真实粗糙表面的三维形貌数据,采用
matlab进行数据降噪处理,在abaqus中实现了三
维实体模型的建立。采用python语言编写程序,
生成点、线、面,生成真实粗糙表面壳体后并进行
实体化,最终得到真实粗糙表面的三维实体模
型。根据数据直接在有限元分析软件abaqus中进
行建模,可以有效避免将数据导入其他软件建好
模型之后再导入abaqus中繁琐步骤以及可能会
存在的模型失真的情况,并且在很大程度上提升
三维模型的准确性,也为后续进一步实现真实粗
糙表面接触特性的自动化分析打下良好的基础。权利要求书1页  说明书3页  附图4页CN 112613218 A 2021.04.06
C N  112613218
A
1.一种基于abaqus真实粗糙表面的建模方法,其特征在于,包含下述步骤:
1)使用三维形貌测量仪获取粗糙表面的三维形貌数据,通过三维表面形貌仪获取的点云数据为matlab软件直接进行提取的txt格式,其中第一列,第二列,第三列数据分别对应为每个采集点的x,y,z坐标;
2)根据去噪后的点云数据,在abaqus软件中基于python语言进行二次开发建立真实粗糙表面模型。
2.根据权利要求1所述的一种基于python语言进行二次开发的方法,其特征在于,具体包含下述步骤:
1)创建真实粗糙表面的一半三角化表面part ‑1,具体如下:
将含有去噪后点云数据的txt文件,使用open命令以只读的方式打开;
txt文件中一行数据即为一个点的坐标,使用readlines命令按每一行读取txt文件中的数据保存在命名为content的变量中,content变量以列表的形式保存了每一个坐标点,其中每一个坐标点都是字符串的形式;
字符串中含有x,y,z坐标,且含有空格和回车符;接下来使用for循环遍历content中每一个含有坐标数据的字符串,对获得的每一个字符串使用split命令进行分割去除空格和回车符,得到的每一个坐标点都以列表的形式存储,x,y,z坐标都是字符串形式;
最后,将每一个列表中字符串形式的x,y,z点转换为对应的浮点型数据,并生成基准点;
从第一个点开始,将点的标号为i与i+1,i与i+a,i+1与i+a连接成线,然后生成一个以这三条线为边界的面,使用while循环一直到生成粗糙表面的一半模型part ‑1;i是除了每一行最后一个点及最后一行点的标号;a为x坐标方向每一行点的个数;
2)创建真实粗糙表面的另一半三角化表面part ‑2,具体如下:
生成基准点之后,从最后一点开始,将点的标号为j与j ‑1,j与j ‑a,j ‑1与j ‑a连接成线,然后生成一个以这三条线为边界的面,使用while循环一直到生成粗糙表面的另一半模型part ‑2;j是除了每一行第一个点及第一行点的标号;
3)将part ‑1和part ‑2进行装配,并生成粗糙表面,具体如下:
进入abaqus装配模块中,将part ‑1和part ‑2导入,自动完成装配;
使用装配模块中的合并功能,选中两个几何实例进行合并,合并后生成part ‑3;
然后进入到部件模块,使用部件模块中的修复面功能,选中part ‑3中所有的面,得到一个去除三角边界的光顺的三维真实粗糙表面;
4)创建真实粗糙表面三维模型,具体如下:
创建四个基准点,这四个基准点的坐标分别是第一行和最后一行两个端点的坐标并将它们的z坐标改为c值;c为粗糙面模型底面在z方向上的坐标;
将这四个基准点与粗糙面上的基准点相互之间连接成线;
对要生成其它5个面的线分别创建五个线的集合set ‑1,set ‑2,set ‑3,set ‑4,set ‑5;设置一个集合生成一个面之后再设置下一个集合,最终生成五个面;
使用通过壳创建实体功能,选中生成的六个面,最终生成真实粗糙表面三维模型。
权 利 要 求 书1/1页CN 112613218 A
一种基于abaqus的真实粗糙表面建模方法
技术领域
[0001]本发明涉及真实粗糙表面的精确建模技术领域,尤其涉及一种基于abaqus二次开发真实粗糙表面的建模方法。
背景技术
[0002]实际工程中相互接触的零件表面,从宏观上看是非常光滑的,但是在接触表面的微观尺度上可以看到许多的凸峰和凹谷。当两个表面相互接触时,实际上发生接触的是两个表面上的微凸体,真实的接触面积只是名义接触面积的一部分。因此,真实粗糙表面的建模对粗糙表面间的接触特性分析有着重要意义。
[0003]目前对于使用表面测量仪数字化真实粗糙表面得到的数据,通常是使用三维建模软件进行建模,如PREO,SOLIDWORKS,UG,在这些三维软件中建立模型之后然后导入仿真软件中进行分析。但是,首先在三维软件中进行真实粗糙表面建模的精度不是很高,其次将建立好的三维模型导入有限元软件时还会存在模型数据丢失,失真等情况,而这些对于粗糙表面进行仿真分析的准确性是非常不利的。
[0004]针对以上不足,有必要基于abaqus二次开发对真实粗糙表面进行精确的建模,实现对真实粗糙表面建模和有限元分析都在abaqus中进行的目的。有效避免了将大量数据倒来倒去的麻烦,同时不用考虑将模型导入abaqus软件时可能会存在数据丢失的问题。
发明内容
[0005]本发明的目的在于提供一种基于abaqus二次开发粗糙表面的建模方法,利用abaqus有限元软件建立精确的真实粗糙表面模型。
[0006]为了实现上述目的,本发明采用如下技术方案:
[0007]步骤一,真实粗糙表面微观形貌数据的获取。
[0008]使用三维形貌测量仪获取粗糙表面的三维形貌数据,通过三维表面形貌仪获取的点云数据为matlab软件可直接进行提取的txt格式,其中第一列,第二列,第三列数据分别对应为每个采集点的x,y,z坐标。
[0009]步骤二,点云数据去噪处理。
[0010]在matlab软件中采用小波降噪的方法对点云数据进行处理,以达到数据滤波去噪的目的。将处理后的数据保存为有限元软件abaqus可以直接进行提取的txt格式。[0011]步骤三,根据去噪后的点云数据,使用python语言编写程序建立真实粗糙表面。具体包含以下步骤:
[0012]1)创建粗糙表面的一半模型part‑1。
[0013]  A.创建基准点。
[0014]使用python语言进行二次开发将预处理后的三维形貌数据导入,使用while循环在abaqus中生成基准点。
[0015]  B.由点生线,由线生面。
[0016]导入abaqus软件中生成每个点云数据对应坐标的基准点,是一种有序分布的点云数据形式,它的点云形状类似于矩阵,基准点的分布十分规律。首先,从第一个点开始,使得相邻的三个点生成线,使用这三条线生成一个三角面。然后,使用while循环命令,直到生成真实粗糙表面的一半三角化表面。
[0017]2)创建粗糙表面的另一半模型part‑2。
[0018]  A.同上面1)中的A步骤一样将含有去噪后点云数据的txt文件导入最终生成基准点。
[0019]  B.由点生线,由线生面。
[0020]根据生成的基准点,首先,从最后一个点开始,使得相邻的三个点生成线,使用这三条线生成一个三角面。然后,使用while循环命令,直到生成真实粗糙表面的另外一半三角化表面。
[0021]3)将part‑1和part‑2进行装配,并生成粗糙表面。
[0022]编写程序进入abaqus装配模块,将part‑1和part‑2两个部件导入完成装配,生成完整的真实粗糙表面part‑3,并对装配后的part‑3进行光顺处理。
[0023]4)创建粗糙表面模型的其余5个面。
[0024]通过创建其余五个平面,最终形成真实粗糙表面三维模型的壳体。
[0025]5)通过面生成体。
[0026]使用通过壳创建实体功能,框选中所有的壳生成实体,完成三维真实粗糙表面的创建。
[0027]本发明提出一种基于abaqus二次开发粗糙表面的建模方法。利用三维形貌仪采集到包含表面波纹度、表面形状误差、表面粗糙度等成分的三维表面形貌数据,将数据导入matlab进行数据预处理,最终基于abaqus二次开发建立三维真实粗糙表面模型。本发明减少了大量的数据倒来倒去的步骤,避免了三维模型导入abaqus中可能会出现失真的情况,有效保证了真实粗糙表面接触分析模型的准确性。并且后续要批量建立三维真实粗糙表面模型,只需要修改程序中的某些数值即可,避免了繁琐的操作步骤。
附图说明
[0028]图1三维形貌仪采集的0.38mmx0.35mm试件表面形貌。
[0029]图2滤波后将数据导入abaqus中生成基准点
[0030]图3生成三维粗糙表面的半模型part‑1
[0031]图4生成三维粗糙表面的另外一半模型part‑2
[0032]图5将part‑1和part‑2装配后生成的表面part‑3
[0033]图6对part‑3做光顺处理
[0034]图7生成真实粗糙表面模型壳
[0035]图8实体化后生成的真实粗糙表面
具体实施方式
[0036]以下结合图1至图8所示,及具体实例对本发明的具体实施步骤进行说明
[0037]1、真实粗糙表面三维形貌数据的获取
[0038]使用三维表面形貌仪获取三维形貌数据具体步骤如下:
[0039]首先,将待测工件放在酒精溶液中使用超声清洗10min,清洗完成后进行吹干,保证表面无杂质。
其次,选择合适量程的光学测量探头,进行采样区域大小和采样步长的设定,并对待测加工试样进行数据测量。本例中,X轴方向采样距离为0.38mm;Y轴方向采样距离为0.35mm;X方向采样间隔为20um,Y方向采样间隔为50um。所获得的数据如图1所示。[0040]2、将采集到的三维形貌数据导入matlab中进行降噪处理。对数据进行预处理之后,将数据保存为abaqus软件可以直接进行提取的txt格式。
[0041]3、创建真实粗糙表面的一半三角化表面part‑1具体步骤如下:
[0042]  A.将含有去噪后点云数据的txt文件,使用open命令以只读的方式打开。[0043]  B.txt文件中一行数据即为一个点的坐标,使用readlines命令按每一行读取txt 文件中的数据保存在content变量中,content变量以列表的形式保存了每一个坐标点,其中每一个坐标点都是字符串的形式。
[0044]  C.字符串中含有x,y,z坐标,且含有空格和回车符。接下来使用for循环遍历content中每一个含有坐标数据的字符串,对获得的每一个字符串使用split命令进行分割去除空格和回车符,得到的每一个坐标点都以列表的形式存储,x,y,z坐标都是字符串形式。
[0045]  D.最后,将每一个列表中字符串形式的x,y,z点转换为对应的浮点型数据,并生成基准点,如图2所示。
[0046]  E.从第一个点开始,将点的标号为i(i是除了每一行最后一个点及最后一行点的标号)与i+1,i与i+a(a为x坐标方向每一行点的个数),i+1与i+a连接成线,然后生成一个以这三条线为边界的面,使用while循环一直到生成粗糙表面的一半模型part‑1,如图3所示。[0047]4、创建真实粗糙表面的另一半三角化表面part‑2具体步骤如下:
[0048]  A.前几个步骤与步骤3中的A、B、C、D相同。
[0049]  B.生成基准点之后,从最后一点开始,将点的标号为j(j是除了每一行第一个点及第一行点的标号)与j‑1,j与j‑a,j‑1与j‑a连接成线,然后生成一个以这三条线为边界的面,使用while循环一直到生成粗糙表面的另一半模型part‑2,如图4所示。
[0050]5、将part‑1和part‑2进行装配,并生成粗糙表面,具体步骤如下:
[0051]  A.进入abaqus装配模块中,将part‑1和part‑2导入,自动完成装配,如图5所示。[0052]  B.使用装配模块中的合并功能,选中两个几何实例进行合并,合并后生成part‑3。[0053]  C.然后进入到部件模块,使用部件模块中的修复面功能,选中part‑3中所有的面,得到一个去除三角边界的光顺的三维真实粗糙表面,如图6所示。
[0054]6、创建真实粗糙表面三维模型,具体步骤如下:
[0055]  A.创建四个基准点,这四个基准点的坐标分别是第一行和最后一行点的坐标并将它们的z坐标改为c值(c为粗糙面模型底面在z方向上的坐标)。
[0056]  B.将这四个基准点与粗糙面上的基准点相互之间连接成线。
[0057]  C.对生成其它5个面的线别创建五个线的集合,set‑1,set‑2,set‑3,set‑4,set‑5。设置一个集合生成一个面后再设置下一个集合,最终生成五个面,如图7所示。
[0058]  D.使用通过壳创建实体功能,选中生成的六个面,最终生成真实粗糙表面三维模型,如图8所示。

本文发布于:2024-09-22 07:07:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/407287.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:表面   数据   进行   生成   使用   模型   导入
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议