基于非均匀有理B样条的多尺度三维建模研究

2022-05-10 20:24胡学军李嘉诚
软件工程 2022年5期
关键词:三维建模

胡学军 李嘉诚

摘  要:机械加工零件时,由于加工误差的存在导致模型表面不够光滑。传统计算机辅助设计方法在构建机械零件模型时,无法对零件表面进行表达,因此提出一种随机生成点的算法来模拟零件表面因粗糙度导致波峰、波谷的出现。为了保证生成的点在零件粗糙度范围内,将某一范围作为约束得到所需要点的坐标,然后将点插入利用非均匀有理B样条表达的模型,使建模能够更接近真实零件。最终得到的模型实现了宏观尺度上模型结构的表达和微观尺度上模型表面质量的表达。该算法实现点的随机生成,生成数据有60%符合要求,可用于体参数化建模,实现模型宏观结构与微观波峰、波谷的表达。

关键词:多尺度;非均匀有理B样条;三维建模

中图分类号:TP391.4     文献标识码:A

Research on 3D Modeling of Multi-scale based on Non-uniform Rational B-spline

HU Xuejun1, LI Jiacheng2

(1.School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China;2.Energy and Mechanical Engineering, Shanghai University of Electric Power, Shanghai 200240, China)

Abstract: When machining parts, model surface is not smooth enough due to processing errors. Traditional computer-aided design method cannot express part surface when constructing the mechanical part model. Therefore, this paper proposes an algorithm of randomly generating points to simulate the appearance of the peaks and valleys caused by the roughness of part surface. In order to ensure that the generated points are within the roughness range of the part, a certain range is used as a constraint to obtain the coordinates of the required points, and then the points are inserted into the model expressed by non-uniform rational B-spline so that the modeling can be closer to the real part. The final model can realize the expression of the model structure on the macroscale and the expression of the surface quality of the model on the microscale. The algorithm realizes random generation of points, and 60% of the generated data meets the requirements and can be used for volume parametric modeling, realizing the expression of peaks and valleys of the model on both the macroscopic and microscopic structure.

Keywords: multi-scale; non-uniform rational B-spline; 3D modeling

1   引言(Introduction)

為了实现对机械零件的三维表达,依据不同的体参数化建模方式可以将其划分为重建式和创建式[1-2]。重建式建模主要依据已有的参数信息完成模型的构建;创建式则是实现从无到有的建模方式,完成三维模型的构建。传统三维建模方式一直将模型视为理想模型,只从宏观角度对模型进行研究,忽略了模型表面粗糙度。这种方式虽然能够大大减少建模工作量,但是模型的微观结构却难以体现[3],因此对于一些微观上的行为也就无从考证。

然而在机械加工过程中,由于机床加工精度的影响[4],刀具经常会在零件的表面留下凹凸不平的痕迹。大部分痕迹粗加工后可以直接观察到,精加工之后的零件可以利用显微镜等工具观察到。为了对模型有更深入的研究,有学者提出了多尺度的概念,即宏观尺度和微观尺度。目前,国内外大多数学者主要将多尺度建模方法利用到复合材料上或用于有限元计算模型分析中。雷友锋[5]建立了细观复合材料模型,分析其对于宏观模型性能的影响;郝宝坤[6]从多尺度出发,宏观角度实现结构设计,微观角度实现材料设计;陆新征等人[3]采用有限元多尺度计算方法,将微观有限元模型更加自然地植入宏观模型之中。

因此,本文通过将多尺度的概念与模型重建相结合,利用体参数化的方式实现三维模型宏观结构以及微观粗糙度表达。

2   基础理论(Theoretical basis)

2.1   三维几何模型及映射关系

三维几何模型构建包含多种方法,其中体参数化模型适用于等几何分析,在建模的过程中就完成模型的网格划分,二维曲面模型的网格是四边形,三维曲面模型的网格为六面体。体参数化得到的模型可以直接用于分析,对于CAD、CAE的集成具有推动意义。对于零亏格模型来说,体参数化的意义在于先创建二维模型和三维模型T,建模之前需要先建立T与正四边形和正立方体之间的一一映射关系。对于多亏格模型,则需要先对其进行域分割,划分成多个零亏格的子域,然后再建立映射关系[7],如图1所示。图1中,①②③分别表示物理域到参数域,物理域单元体到参数域单元体和参数域到物理域的映射。

2.2   B样条基础理论

B样条的性质包括:(1)仿射不变性:经过变换的B样条仍为B样条,且保持其性质不发生改变。(2)局部修改性:对于任意控制点P的坐标,当P发生改变的时候,只对其对应的节点矢量集有效。(3)连续、可微性:B样条函数的基函数在节点矢量集合之中无限次可微。(4)曲线次数越低,B样条曲线就越接近控制多边形等[8]。

3  点随机生成算法(Points random generation algorithm)

为了模拟机械零件表面由于加工误差导致凹凸不平的现象,本文提出一种通过修改控制点实现NURBS曲面形状修改的方法。因为控制点容易修改,易于编程实现,对曲面整体影响比较小,所以基于粗糙度的原理限定模型表面控制点在一定范围内进行变化。改变控制点得到加工曲面,其仿真效果如图3所示。图3(a)是没有修改的NURBS曲面,图3(b)是修改其中间控制点的坐标后得到的NURBS曲面,在不改变原模型边界的情况下模拟机械零件表面的凹凸不平。

基于上述NURBS曲面的性质,本文提出根据时间种子随机生成控制点的算法。根据模型表面微观几何形状表面波峰与波谷间μ的大小,假设波峰、波谷与理想平面的距离相等,可以获得零件加工表面最大尺寸和最小尺寸之差A;通过搜索需要修改模型表面控制点的NURBS面片,得到需要修改的控制点,记为P。为了模拟模型表面不同尺寸的随机性,利用srand((int)time(NULL))和rand()%200-100,通过系统时钟生成不同的随机数种子X。判断X的绝对值是否在A/2之内,将不符合条件的舍去。若符合要求的则z方向上坐标值与A之和重新赋值给原控制点P,即可得到一个随机的控制点。算法流程图如图4所示。

4  多尺度体参数化建模(Multi-scale volume parametric modeling)

4.1   体参数化建模

机械零件一般在几何形状上都是比较复杂的,涉及诸多尺寸,因此采用体参数化方式表达能够实现一变多变的效果。通过设定动态的参数,可以驱动其他尺寸发生变化,实现模型的重新生成。由于大多数机械零件具有对称性,因此构建部分模型之后,可以通过旋转、拉伸、放样等基本几何变换得到完整的机械零件,这种方法能够更好地提高建模效率。

体参数化建模有一个重要前提就是其必须为零亏格模型,但大多数机械零件是非零亏格模型。因此在建模之前需要将模型划分成多个零亏格的四边形或者六面体模型,如图5所示为二维体参数化模型的划分。通过将二维模型或三维模型划分成四边形或者六面体网格,再设定相对应的控制点,即可按照上述方法完成模型的建立。

为了能够更好地研究机械零件表面粗糙度但又能观察到零件几何外形,首先建立宏观模型,能够直接观察模型的几何外形。对于分析而言,施加约束和力就更加方便了,不容易出错。提取宏观模型的部分区域,放大之后进行微观尺度上的表达,展现零件表面的不平整或者波峰、波谷分布不均性。

4.2   宏观尺度模型表达

机械零件的设计是一个复杂的过程,为了能够表达模型表面一些圆孔等特征,需要从宏观尺度进行零件的结构设计。如图6所示为一片圆孔板,板子上存在三个圆孔,所以该零件为多亏格模型。为了实现该模型表达,需要先对圆孔板进行域分割,连接外轮廓线以及三个圆孔线即可将模型划分成连通区域。确定模型的尺寸、NURBS曲线的次数、节点矢量之后,即可完成模型结构表达。

4.3   微观尺度模型表达

选取宏观模型的局部区域进行微观建模。由于通过随机生成控制点算法给定波峰、波谷间大小A=10(单位为μm)之后,生成的数值需要在A/2之内,因此筛选随机生成的数字X判断点是否在此范围内。若在此范围内,则保留并赋予需要改变NURBS面上的中心控制点P;若不在此范围内则删除,如表1所示。

得到上述随机生成的数据后,通过X|≤A/2筛选符合要求的控制点,将符合条件的数值进行重新排序,再赋值给要求改变的控制点。通过算法生成的数据中共有16 组数据符合要求,取满足要求的前12 组数据带入三维模型得到如表2所示的新控制点在z方向上的坐标大小。

然后,通过体参数化建模得到如图7所示的局部微观尺度模型的表面。通过从u、v两个方向对模型表面进行观察,可以看到模型表面模拟出机械零件表面凹凸不平的情况。通过将该方法拓展到整个模型表面,在理论上即可得到存在粗糙度的零件模型。

5   结论(Conclusion)

本文利用体参数化建模的方法,站在多尺度的角度,从整体和局部两个方面对模型进行表达。模拟机械加工零件表面粗糙度,给出了数值随机生成算法,然后将其重新赋予需要改变的控制点。在给定A=10的情况下,求解得到16 组数据,最终筛选得到12 組符合在给定A的情况下的随机生成点,通过将这12 组生成点分别重新插入体参数化模型,得到微观粗糙度模型表达。该方法对于三维建模来说具有一定的意义,能够从微观尺度上对机械零件进行研究。但是想要将微观尺度的模型完全转换为宏观模型是需要大量的数据支持的,因此本方法在今后的计算机辅助设计建模研究中具有一定的启发意义。

参考文献(References)

[1] AKHRAS H A, ELGUEDJ T, GRAVOUIL A, et al. Isogeometric analysis-suitable trivariate NURBS models from standard B-Rep models[J]. Computer Methods in Applied Mechanics and Engineering, 2016, 307(1):256-274.

[2] LIU L, ZHANG Y J, HUGHES T J R, et al. Volumetric t-spline construction using boolean operations[J]. Engineering with Computers, 2014, 30(4):425-439.

[3] 陆新征,林旭川,叶列平.多尺度有限元建模方法及其应用[J].华中科技大学学报(城市科学版),2008(04):76-80.

[4] 曹毅杰.机械加工误差产生原因及工艺措施分析[J].科技创业家,2012(16):101,103.

[5] 雷友锋.纤维增强金属基复合材料宏-细观统一本构模型及应用研究[D].南京:南京航空航天大学,2002.

[6] 郝宝坤.基于NURBS的复合材料构件多尺度建模技术研究[D].哈尔滨:哈尔滨工业大学,2018.

[7] 陈龙,刘玉生,徐岗.体参数化模型离散调和映射生成[J].中国图象图形学报,2015(04):568-575.

[8] 朱秉铎.基于NURBS的复合材料构件多尺度设计与制造一体化技术研究[D].哈尔滨:哈尔滨工业大学,2019.

作者简介:

胡学军(1997-),男,硕士生.研究领域:结构拓扑优化.

李嘉诚(1999-),男,硕士生.研究领域:CAD图形学.

猜你喜欢
三维建模
PDMS软件在锅炉三维建模中的应用分析
仿人工蛋饼加工机的设计与参数分析
基于地基激光雷达的建筑物三维建模
基于计算机虚拟技术的室内色彩设计研究
地面三维激光扫描技术在文物测绘中的应用
变速比限滑差速器端曲面齿轮副三维建模研究
基于无人机倾斜摄影测量技术的三维建模
SharpGL三维建模技术实现
基于AutoCAD三维建模的机械设计基础教学方法研究
五轴机床的三维建模和运动仿真