一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种汽车车身零部件模型的圆角编辑方法

2022-09-14 23:47:14 来源:中国专利 TAG:


1.本发明涉及计算机辅助设计制造及车身零部件设计领域,尤其涉及一种汽车车身零部件模型的圆角编辑方法。


背景技术:

2.修改汽车车身零部件模型中圆角的半径,是改善冲压过程中成形误差,改善零件的有限元分析结果,提高力学性能的一种有效手段。l
ü
等(l
ü
,liu wujing,gao honglan,journal of plasticity engineering,2021,28,211-217)研究了汽车纵弧棱u型梁的冲压成形回弹特性,实验结果表明纵弧棱u型梁截面圆角半径越大,成形回弹量越大;刘等(刘国磊锻造与冲压,2021,(20),55-58)研究了圆角半径对车门外板水切处冲压冲击痕的影响,实验结果表明适当增加车门上模圆角的半径,冲击痕有减轻趋势。
3.汽车车身零部件模型中圆角面的数量占很大的比例,并且这些圆角面通常是多个圆角连接、交汇形成的复杂圆角链,面和面之间存在着复杂的连接关系,通过人工手动修改圆角半径的方式,不仅要求操作人员具备丰富的模型设计经验,还需要消耗大量的人力成本执行重复的复杂建模操作。
4.复杂圆角的编辑必然经历如下过程:
5.①
在输入模型中选择要编辑的圆角面;
6.②
在编辑圆角半径时,为了避免在编辑圆角过程中对相邻的曲面产生破坏,需要通过几何方法对编辑圆角的范围进行限制;
7.③
在减小圆角半径时,为了满足减小圆角半径的需求,需要对生成圆角的曲面进行放大,使其能够连接更小半径的圆角面;
8.④
为维持圆角面与相邻曲面之间的连续性,需要在编辑半径后的圆角面和与其相邻的曲面之间创建过渡曲面。


技术实现要素:

9.本发明提供了一种汽车车身零部件模型的圆角编辑方法,根据圆角和与其相邻的曲面及其曲线之间的依赖关系,提供一种能由计算机实现的自动选择圆角链包含的曲面并对圆角半径进行修改的通用解决方案,从而实现圆角的自动化编辑,提高车身零部件设计的效率。
10.本发明的技术方案(如图1所示):一种汽车车身零部件模型的圆角编辑方法,包含以下步骤:
11.步骤1,输入原始曲面模型和目标圆角半径rn,选择圆角链起始和结束位置的轮廓曲线,获取圆角链包含的曲面;
12.步骤1.1,在圆角链的起始和结束位置分别选择轮廓曲线e1、e2;
13.步骤1.2,获取与起始轮廓曲线e1相连的全部曲面;
14.步骤1.3,定义线性路径集合tc,用于保存获取到的圆角链的路径,路径中存储曲
面和轮廓曲线组合的数据;
15.步骤1.4,使用步骤1.2获取的每一个曲面和起始轮廓曲线e1组合,分别创建不同的路径,并将每一个路径添加到线性路径集合tc;
16.步骤1.5,循环执行如下步骤,直至找到目标路径:
17.步骤1.5.1,从线性路径集合tc的头部获取一个路径tf,并将路径tf从线性路径集合tc中删除;
18.步骤1.5.2,获取路径tf中的最后一个曲面fb和最后一个轮廓曲线eb;
19.步骤1.5.3,定义存储曲面fb的全部轮廓曲线集合e_o;
20.步骤1.5.4,当集合e_o中包含结束轮廓曲线e2,执行步骤1.5.5;否则,执行步骤1.5.6;
21.步骤1.5.5,集合e_o中包含结束轮廓曲线e2的步骤如下:
22.步骤1.5.5.1,当集合e_o中曲线数量等于3,则路径tf包含圆角链的全部曲面,结束步骤1.5;
23.步骤1.5.5.2,当集合e_o中曲线数量大于3,并且结束轮廓曲线e2不与轮廓曲线eb相连,则路径tf包含圆角链的全部曲面,结束步骤1.5;
24.步骤1.5.6,集合e_o中不包含曲线e2的步骤如下:
25.步骤1.5.6.1,当集合e_o中曲线数量等于3,遍历集合e_o中曲线边eb相连的曲线eo,获取通过曲线eo与曲面fb相连的曲面fo,复制路径tf为新的路径tn,将曲面fo和曲线eo组合后追加到路径tn的尾部,将新的路径tn追加到路径集合tc的尾部;
26.步骤1.5.6.2,当集合e_o中曲线数量大于3,遍历集合e_o中不与曲线eb相连的曲线e
o’,获取通过曲线e
o’与曲面fb相连的曲面f
o’,复制路径tf为新的路径t
n’,将曲面f
o’和曲线e
o’组合后追加到路新的径t
n’的尾部,将路径t
n’追加到路径集合tc的尾部;
27.步骤1.6,获取步骤1.5得到的路径中包含的全部曲面。
28.步骤2,对圆角链依赖的曲面和曲面的轮廓曲线进行编码,记录曲面和轮廓曲线之间的几何信息,并复制圆角链宽度方向依赖的曲面;
29.步骤2.1,定义限制圆角链长度的曲线集合ed_lim和限制圆角链宽度的曲线集合ed_side;
30.步骤2.2,识别圆角链的轮廓曲线,并将圆角链长度方向的轮廓曲线加入集合ed_lim,圆角链宽度方向的轮廓曲线加入集合ed_side;
31.步骤2.3,定义圆角链宽度方向依赖的曲面集合fa_base,获取通过集合ed_side中曲线的端点与圆角链相连的曲面,加入集合fa_base;
32.步骤2.4,定义圆角链长度方向依赖的曲面集合fa_lim,获取通过集合ed_lim中曲线与圆角链相连的曲面,加入集合fa_lim;
33.步骤2.5,定义曲线集合ed_extra,获取集合fa_lim中曲面的边曲线,并将其中与集合ed_lim中曲线相连的曲线,加入合集ed_extra;
34.步骤2.6,定义复制曲面集合fa_base’,复制集合fa_base中的曲面,加入集合fa_base’;
35.步骤2.7,将集合fa_base’中的曲面,聚合成位于圆角两侧的两个曲面s
l
、sr。
36.步骤3,比较原始曲面模型中圆角链的半径与目标圆角半径的大小,当目标圆角半
径大于原始曲面模型中圆角链的半径,执行步骤4增加圆角链的圆角半径;当目标圆角半径小于原始曲面模型中圆角链的半径,执行步骤5减小圆角链的圆角半径;
37.步骤4,增加圆角半径;
38.步骤4.1,创建垂直于圆角链长度方向的平面;
39.步骤4.2,使用步骤4.1创建的平面,对步骤2复制的圆角链宽度方向依赖的曲面进行修剪;
40.步骤4.3,在步骤4.2修剪后的曲面间以目标圆角半径创建圆角;
41.步骤4.4,删除曲面集合fa_base’中的全部曲面;
42.步骤4.5,使用步骤4.2创建的圆角修剪原始曲面模型;
43.步骤4.6,将步骤4.2创建的圆角与原始曲面模型聚合为一个曲面模型。
44.步骤5,减小圆角半径;
45.步骤5.1,获取曲面集合fa_base’中曲面上与曲线集合ed_extra、ed_side中曲线相重合的轮廓曲线;
46.步骤5.2,对步骤2.7聚合的曲面,在步骤5.1获取的曲线处进行延伸;
47.步骤5.3,在步骤5.2延伸后的曲面上创建修剪曲线;
48.步骤5.4,使用步骤5.3创建的修剪曲线,修剪经步骤5.2延伸的曲面;
49.步骤5.5,删除曲面集合fa_base中的曲面,删除步骤1获取的圆角链包含的全部曲面;
50.步骤5.6,将步骤5.4修剪后的曲面与原始曲面模型聚合为一个曲面模型;
51.步骤5.7,在步骤5.5修剪后的曲面上以目标圆角半径创建圆角;
52.步骤5.8,将步骤5.7创建的圆角与原始曲面模型聚合为一个曲面模型。
53.步骤6,在步骤4、步骤5新建的圆角面和与其相邻的曲面之间创建g1级连续的四边域过渡曲面;
54.步骤6.1,在步骤4.3或步骤5.7新建的圆角和在圆角长度方向与其相邻的曲面上选取限定步骤6.16将要创建过渡曲面的长度范围的起始位置和结束位置;
55.步骤6.2,在步骤6.1中选取的位置,创建圆形有界平面;
56.步骤6.3,创建柱状曲面,与步骤6.2创建的平面组合成封闭的包络区域;
57.步骤6.4,使用步骤6.3创建的包络区域,对原始曲面模型进行修剪;
58.步骤6.5,获取被包络区域修剪的曲面;
59.步骤6.6,复制步骤6.5获取的曲面;
60.步骤6.7,将步骤6.5复制的曲面聚合成位于圆角链两侧的两个曲面并进行放大;
61.步骤6.8,获取步骤4.3或步骤5.7新建的圆角上被包络区域修剪的轮廓曲线;
62.步骤6.9,获取步骤4.3或步骤5.7新建的圆角长度方向相邻的曲面上被包络区域修剪的轮廓曲线;
63.步骤6.10,在步骤6.8和步骤6.9获取的轮廓曲线之间,创建g1级连续的过渡曲线,并投影到步骤6.7复制并放大的曲面上;
64.步骤6.11,获取步骤6.5获取的被修剪的曲面的轮廓曲线;
65.步骤6.12,获取步骤6.4使用包络区域修剪原始曲面模型时新产生的轮廓曲线;
66.步骤6.13,从步骤6.11中获取的曲线中剔除步骤6.12获取的曲线;
67.步骤6.14,使用步骤6.11获取的曲线和步骤6.10创建的投影曲线,修剪步骤6.7复制并放大的曲面;
68.步骤6.15,从原始曲面模型中删除步骤6.5获取的曲面,将步骤6.14修剪后的曲面和原始曲面模型聚合成一个曲面模型;
69.步骤6.16,经过上述过程生成新的四边域,在四边域内创建g1级连续的过渡曲面。
70.步骤7,将步骤6创建的过渡曲面和原始曲面模型聚合成一个曲面模型,作为最终输出。
71.本发明的有益效果:
72.(1)本发明通过圆角链起始位置和结束位置的轮廓曲线,自动识别圆角链包含的曲面,降低了手动选择曲面的工作量,提高了选择圆角曲面的效率。
73.(2)本发明以复杂的圆角模型为对象,通过曲面与边界曲线之间的依赖关系,提出了一种汽车车身零部件模型的圆角编辑方法,可以通过计算机自动实现的编辑圆角半径,降低了修改圆角半径对经验的依赖和编辑过程的复杂度。
附图说明
74.图1是本发明提供的一种汽车车身零部件模型的圆角编辑方法的流程示意图;
75.图2是圆角链起始位置和结束位置的轮廓曲线示意图;
76.图3是圆角链依赖的曲面和曲面的轮廓曲线的编码示意图;
77.图4是复制并聚合曲面的示意图;
78.图5是创建修剪平面的示意图;
79.图6是修剪聚合后的曲面的示意图;
80.图7是实施例中步骤3.3以目标圆角半径创建圆角的示意图;
81.图8是使用目标圆角修剪输入模型的示意图;
82.图9是延伸聚合曲面的示意图;
83.图10是修剪聚合曲面的示意图;
84.图11是实施例中步骤4.7以目标半径创建圆角的示意图;
85.图12是实施例中步骤5.2创建包络区域的示意图;
86.图13是实施例中步骤5.3创建包络区域的示意图;
87.图14是使用包络区域修剪输入模型的示意图;
88.图15是放大被修剪的曲面及创建投影曲线的示意图;
89.图16是使用修剪方法后的曲面的示意图;
90.图17是创建过渡曲面的示意图。
具体实施方式
91.为了使本发明的目的和具体步骤更加清楚明白,以下结合附图及实施案例,对本发明进行进一步详细说明。以下所描述的各个实施方式仅用于解释本发明,并不用于限定本发明。
92.步骤1,具体包含以下步骤:
93.步骤1.1,请参阅图2,在输入模型中,选择待编辑圆角链的起始位置的曲线e1和结
束位置的曲线e2;
94.步骤1.2,定义曲面集合fs_int,获取与起始曲线e1相连的全部曲面并加入曲面集合fs_int;
95.步骤1.3,定义线性路径集合tc,用于保存获取到的圆角链的路径;
96.步骤1.4,遍历集合fs_int中的曲面fi,定义路径ti,ti中存储曲面和曲线组合的数据,将曲面fi和起始曲线e1组合后追加到路径ti的尾端,将路径ti追加到集合tc的尾端;
97.步骤1.5,循环执行如下步骤,直到找到目标路径:
98.步骤1.5.1,从线性路径集合tc的头部获取一个路径tf,并将路径tf从线性路径集合tc中删除;
99.步骤1.5.2,获取路径tf中的最后一个曲面fb和最后一个轮廓曲线eb;
100.步骤1.5.3,定义曲线集合e_o,获取曲面fb的全部轮廓曲线并加入集合e_o;
101.步骤1.5.4,判断曲线集合e_o中是否包含终点曲线e2,如果集合e_o中包含曲线e2,执行步骤1.5.5,如果集合e_o中不包含曲线e2,执行步骤1.5.6;
102.步骤1.5.5,集合e_o中包含曲线e2的步骤:
103.步骤1.5.5.1,如果集合e_o中曲线数量等于3,则路径ti是由起始曲线e1和终点曲线e2所限定的圆角链,结束步骤1.5;
104.步骤1.5.5.2,如果集合e_o中曲线数量大于3,并且曲线e2不与曲线eb相连,则路径ti中包含圆角链的全部曲面,结束步骤1.5;
105.步骤1.5.6,集合e_o中不包含曲线e2的步骤:
106.步骤1.5.6.1,如果集合e_o中曲线数量等于3,遍历集合e_o中与曲线eb相连的曲线eo,获取通过曲线eo与曲面fb相连的曲面fo,复制路径ti为新的路径tn,将曲面fo和曲线eo追加到路径tn的尾部,将路径tn追加到路径集合tc的尾部;
107.步骤1.5.6.2,如果集合e_o中曲线数量大于3,遍历集合e_o中不与曲线eb相连的曲线eo,获取通过曲线eo与曲面fb相连的曲面fo,复制路径ti为新的路径tn,将曲面fo和曲线eo追加到路径tn的尾部,将路径tn追加到路径集合tc的尾部;
108.步骤1.6,定义圆角曲面的集合fa_blend,将步骤1.5获取的路径ti中的曲面加入集合fa_blend;
109.步骤2,具体包含以下步骤:
110.步骤2.1,定义限制圆角链长度的曲线集合ed_lim和限制圆角链宽度的曲线集合ed_side;
111.步骤2.2,识别圆角链的边曲线,并将圆角链长度方向的曲线加入集合ed_lim,圆角链宽度方向的边曲线加入集合ed_side;
112.步骤2.3,定义曲面集合fa_base,获取通过集合ed_side中曲线的端点与圆角链相连的曲面,加入集合fa_base;
113.步骤2.4,定义集合fa_lim,获取通过集合ed_lim中曲线与圆角链相连的曲面,加入集合fa_lim;
114.步骤2.5,定义曲线集合ed_extra,获取集合fa_lim中曲面的边曲线,并将其中与集合ed_lim中曲线相连的曲线,加入合集ed_extra;
115.步骤2.6,定义曲面集合fa_base’,复制集合fa_base中的曲面,加入集合fa_
base’;
116.步骤2.7,请参阅图4,将集合fa_base’中的曲面,聚合成位于圆角两侧的两个曲面s
l
、sr;
117.步骤3,比较原始曲面模型中圆角链的半径与目标圆角半径的大小,当目标圆角半径大于原始曲面模型中圆角链的半径,执行步骤4增加圆角链的圆角半径;当目标圆角半径小于原始曲面模型中圆角链的半径,执行步骤5减小圆角链的圆角半径;
118.步骤4,具体包含以下步骤:
119.步骤4.1,参阅图5,在集合ed_lim中的曲线处,创建垂直于圆角链长度方向的平面dp1、dp2;
120.步骤4.2,参阅图6,使用dp1、dp2对sl、sr进行修剪;
121.步骤4.3,参阅图7,在修剪后的sl、sr上以目标圆角半径rd创建圆角fa_blend_n;
122.步骤4.4,删除集合fa_base’中的曲面;
123.步骤4.5,请参阅图8,使用圆角fa_blend_n对输入模型进行修剪;
124.步骤4.6,将圆角fa_blend_n与修剪后的输入模型聚合为一个片体。
125.步骤5,具体包含以下步骤:
126.步骤5.1,定义曲线集合ed_map’,获取集合ed_extra、ed_side中的曲线在片体sl、sr中映射的曲线,加入集合ed_map’;
127.步骤5.2,在集合ed_map’中的曲线处,对片体sl、sr进行延伸,直到满足以目标半径rd创建圆角;
128.步骤5.3,参阅图9,定义曲线集合cr_pro,将集合ed_lim中的曲线,投影到延伸后的sl、sr上,加入集合cr_pro;
129.步骤5.4,参阅图10,使用集合cr_pro、ed_extra中的曲线对延伸后的sl、sr进行修剪;
130.步骤5.5,删除集合fa_base、fa_blend中的曲面;
131.步骤5.6,将sl、sr与输入模型聚合为一个片体;
132.步骤5.7,请参阅图11,在sl、sr上以目标半径rd创建圆角fa_blend_n;
133.步骤5.8,将圆角fa_blend_n与输入模型聚合为一个曲面模型。
134.步骤6,具体包含以下步骤:
135.步骤6.1,在fa_blend_n和fa_lim中的曲面上选取恰当的位置p1、p2;
136.步骤6.2,参阅图12,在p1、p2处创建垂直于圆角走向的圆形有界平面f
r1
、f
r2

137.步骤6.3,参阅图13,在f
r1
、f
r2
的边界曲线之间创建柱状曲面fc,使f
r1
、f
r2
、fc形成封闭的包络区域;
138.步骤6.4,参阅图14,使用步骤6.3创建的包络区域,对输入模型进行修剪,删除包络区域内包含的部分;
139.步骤6.5,定义曲面合集fa_trimed,将集合fa_base或集合fa_base’中被包络区域修剪的曲面,加入集合fa_trimed;
140.步骤6.6,定义曲面集合fa_trimed’,复制集合fa_trimed中的曲面,加入集合fa_trimed’;
141.步骤6.7,参阅图15,将集合fa_trimed’中的曲面聚合成一个片体并进行放大;
142.步骤6.8,定义曲线集合ed_cut1,获取集合ed_extra中被包络区域修剪的曲线,加入集合ed_cut1;
143.步骤6.9,定义曲线集合ed_cut2,获取集合ed_side中被包络区域修剪的曲线,加入集合ed_cut2;
144.步骤6.10,定义曲线集合cr_bri,在集合ed_cut1和ed_cut2中位于圆角同侧曲线之间,创建g1级连续的过渡曲线,并投影到fa_trimed’中的曲面上,将投影曲线加入集合cr_bri;
145.步骤6.11,定义曲线集合ed_out,获取集合fa_trimed中曲面的轮廓曲线,加入集合ed_out;
146.步骤6.12,定义曲线集合ed_in,获取集合ed_out中在包络区域上的曲线,加入集合ed_in;
147.步骤6.13,定义曲线合集ed_tool,将包含在集合ed_out中但不包含集合ed_in中的曲线加入集合ed_tool,即ed_tool=ed_out-ed_in;
148.步骤6.14,使用集合ed_out、cr_bri中的曲线,修剪步骤6.7放大的曲面;
149.步骤6.15,请参阅图16,删除集合fa_trimed中的曲面,将步骤6.14修剪后的曲面和输入模型聚合成一个曲面模型;
150.步骤6.16,请参阅图17,通过上述过程将生成新的四边域,在四边域内创建g1级连续的过渡曲面。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献