CN106564192B - 一种基于网格模型简化的3d打印方法 - Google Patents
一种基于网格模型简化的3d打印方法 Download PDFInfo
- Publication number
- CN106564192B CN106564192B CN201610832975.XA CN201610832975A CN106564192B CN 106564192 B CN106564192 B CN 106564192B CN 201610832975 A CN201610832975 A CN 201610832975A CN 106564192 B CN106564192 B CN 106564192B
- Authority
- CN
- China
- Prior art keywords
- vertex
- folding
- curvature
- point
- folded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000010146 3D printing Methods 0.000 title abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 230000008859 change Effects 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 41
- 238000005259 measurement Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims description 4
- 238000007639 printing Methods 0.000 claims description 4
- 239000000463 material Substances 0.000 abstract description 22
- 238000005457 optimization Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 7
- 241000264877 Hippospongia communis Species 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 240000007182 Ochroma pyramidale Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000006260 foam Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000008719 thickening Effects 0.000 description 2
- 239000013585 weight reducing agent Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
Abstract
本发明公开了一种基于网格模型简化的3D打印方法,在现有的二次误差度量网格模型简化算法的基础上,结合三维空间顶点凸凹性和曲率优化顶点的折叠代价,保证折叠顶点始终向模型实体内部简化;在尽可能不改变网格模型边界特征及刚性等物理特性的同时,减少三角面片的数量,降低模型体积,从而达到降低3D打印材料消耗的目的。最后利用模型简化前后体积变化验证了方法的有效性。
Description
技术领域
本发明涉及技术计算机应用领域,具体涉及一种基于网格模型简化的3D打印方法。
背景技术
3D打印技术是基于增材制造法原理的一种高新技术,是快速成型技术的延续与发展,其应用领域正在不断扩大和普及。目前,对3D打印方面的研究热点集中在3D打印机的原理和结构、3D打印自由成形工艺、3D打印材料、3D打印成本等方面。如何减少材料消耗来降低3D打印成本是其中重要的研究内容之一,而通过优化模型结构来减少材料的消耗是目前常用的方法。
近些年来,许多研究者提出了通过内部挖空、内部镶嵌网孔结构、蒙皮骨架结构以及优化支撑结构等模型结构优化方法来减少3D模型以及支撑结构的材料消耗。如Chen提出利用蜂窝六边形网孔结构填充内部挖空。Lin等人则利用Voronoi来镶嵌掏空部分。Wang等人提出一种基于Skin-Frame的轻质结构来降低材料消耗。Kindinger等人提出以减少重量为核心,开发泡沫、蜂窝、轻木等轻质结构等。Rosen等人利用“薄换厚”的思想将内部结构轻质化。Xu提出结合EOS和Von mises引力方法优化模型结构。Vanek等采取基于几何方法来减少支撑结构的材料消耗等。Chen提出利用蜂窝六边形网孔结构填充内部挖空。Lin等人在蜂窝状细胞结构的基础上提出了一个以优化强度和重量为主的掏空优化算法,利用voronoi图来计算镶嵌在模型内部的不规则蜂窝体积。Wang等人提出一种基于Skin-Frame的轻质结构来降低材料消耗。Kindinger等人提出以减少重量为核心,开发泡沫、蜂窝、轻木等轻质结构等。Rosen和Wang提出一种参数化建模方法,利用粒子群优化算法选择寻找设计方案,采用轻质结构来改善原有的模型结构的方法。Smith等人基于贪心算法,提出的一种新的系统用于模型结构优化。通过改变光束,目标函数以及相关的约束条件,从而产生新的结构来减少材料的用量。由于以上的算法能同时达到节省材料和维护物理稳定性以及形状不变的目标,还需要进一步对优化后的模型进行旋转、矫正来确定模型的重心位置,为了保证模型的稳定性,Stava等人在2012提出使用三种不同的校正模型的方法,分别是局部增厚,掏空,支撑添加来加强3D打印模型的结构强度方法。
这些算法能较好地降低3D打印材料消耗,但大多都是采用指定结构式如刚架,蜂窝等嵌入结构来承受模型对象的荷载受力计算。比如蒙皮骨架(Skin-Frame)结构方法是通过创建一个轻量级的框架结构将对象“空心化”,在内部空间制造大量的网状节点和薄的圆柱形支柱,这些框架也可以选择使用拓扑优化或者几何优化将支柱数量减至最少,因此,该方法在利用框架结构是一个典型的轻重量结构的优势来减轻模型重量的同时,保持了其强度和刚度,并且提供了足够的灵活性和多变性。Lin等人提出的算法在得到最大化强度与重力之比的同时释放了压力,减轻了模型内部的框架结构,从而降低了模型打印的材料成本。但是这几种方法不能很好的将结构的几何形状与模型实体的受力状态保持一致,因此其结构优化结果会受到所采用结构型式的限制。
发明内容
发明目的:为了避免受到结构型式对模型潜在的影响,本发明提供了一种基于网格模型表面简化的3D打印方法。本发明在现有的二次误差度量网格模型简化算法(quadricerror metric,QEM)的基础上,结合三维空间顶点凸凹性和曲率计算方法优化顶点的折叠代价,保证折叠顶点始终向模型实体内部简化;在减少三角面片的数量同时,尽可能不改变网格模型边界特征及其刚性等物理特性,从而达到降低3D打印材料消耗的目的。
本发明包括如下步骤:
步骤1,读取smf格式(smf格式即Standard MIDI File的缩略语,就是为了能实现互换性而设定的文件形式)的三维网格模型文件,设定所需要简化顶点数;
步骤2,遍历三维网格模型所有的顶点,通过二次误差度量算法计算得到每个顶点的二次误差其中i=1,2,3…m,并计算新顶点pi1的最优位置和边折叠代价
步骤3按照边折叠代价的大小从小到大进行排序,构造尚未折叠边的有序堆栈,栈顶元素为折叠代价最小的边,取折叠代价最小的栈顶边,进行半边折叠预处理。
步骤4,执行半边折叠得到折叠后的新顶点pi1,并存储折叠之后的新顶点pi1的相关信息、面表及边表信息(顶点相关信息指顶点的空间x,y,z轴坐标,面表信息包括一个三角面片三边编号信息及对应三点的点号,边表信息包括一条边两端对应的两个顶点点号及相邻的面号),而暂时不改变折叠前存储的所有顶点pi点表、面表和边表的相关信息;
步骤5,判断折叠顶点的凸凹性;
步骤6,计算折叠顶点在步骤4简化前的曲率值;
步骤7,计算折叠顶点在步骤4简化后相关变化的三角面片的曲率值;
步骤8,若折叠顶点为凸点,且简化后曲率增加,或者若折叠顶点为凹点,且简化后曲率减小,则不对该顶点进行折叠;若折叠顶点为凹点,且简化后曲率增加,或者若折叠顶点为凸点,且简化后曲率减小,则折叠该对顶点,并改变相应折叠顶点pi点表、面表和边表的相关信息;
步骤9,记录通过步骤8一次折叠一对顶点后的相关折叠代价
步骤10,将折叠代价进行排序,重复步骤2~步骤8,利用上述步骤改进后的二次误差度量算法对三维网格模型进行简化,直到要求简化到最后一对顶点结束为止;
步骤11,绘制简化后的三维网格模型;
步骤12,将简化后的新的三维网格模型数据记录在smf文件中,将smf文件转换为stl格式(.stl文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式);
步骤13,打印3D模型,得到简化前后模型体积,若体积减小则说明本方明降低了3D打印材料消耗。
其中,步骤5包括如下步骤:
步骤5-1,判断折叠顶点pi的任何三个邻接顶点所构成的平面的法向量方向是否指向多面体外面,如果满足转入步骤5-2,否则舍弃该折叠顶点;
步骤5-2,从折叠顶点pi的邻接点序列L中选出三个相邻顶点a1,b1,c1的坐标,得到向量a1b1,b1c1,并求出同时垂直于向量a1b1,b1c1的法向量N;
步骤5-3,由步骤5-2得到的三个相邻顶点a1,b1,c1构成如下平面方程:
a2x1+b2y1+c2z1+d=0,
其中a2,b2,c2为法向量N的值,x1,y1,z1是空间三维坐标,将折叠顶点pi的坐标带入平面方程中,得到参数d的值,若d<0,判定该折叠顶点为凹顶点;若d>0,判定该折叠顶点为凸顶点。
本发明步骤6包括如下步骤:
步骤6-1,取折叠顶点pi周围三角面片的各法向量的平均值作为三角网格曲面在折叠顶点pi处的法向量,记为n;
步骤6-2,过折叠顶点pi与n垂直的平面称为三角网格曲面在此点的切平面,pj为与点pi相邻的任意一顶点,计算折叠顶点pi处沿pipj方向的法曲率设tj为向量pipj在此三角网格曲面的切平面上的单位投影,过点pi,且在点pi有切向tj半径为r的圆,把三角网格曲面在点pi处沿pipj方向的法曲率取为此圆半径r的倒数,
通过如下公式求出半径r:
其中,p'i和p'j分别表示顶点pi的坐标和顶点pj的坐标,
通过下式计算三角网格曲面在点pi处沿pipj方向的法曲率
设bx,by为三角网格曲面上由法向量n确定的切平面上的一组基,取tj,x,tj,y分别表示向量tj关于基bx的坐标和基by的坐标,ex和ey分别表示主方向e1关于此基的横坐标和纵坐标,则有:
其中,i,j=1,2,3…m,m为点pi的度,k、k1和k2为三个中间参数,由此得到方程组Ax=b,其中A为向量tj关于基bx,by的坐标集合,b为法曲率集合,x为主曲率的集合:
其中,表示第m个法曲率;
步骤6-3,利用最小二乘法x=(ATA)-1AT y,其中x和y为两个变量,由此得到平均曲率和高斯曲率将平均曲率作为折叠顶点在步骤2简化前的曲率值。
本发明步骤7包括如下步骤:
步骤7-1,分别寻找并记录折叠后顶点pi1折叠前后相邻三角面片信息。
步骤7-2,得到折叠后的顶点在折叠前相邻三角面片,以及折叠后相关三角面片,判断发生变化的三角面片,取点pi1在折叠前后变化的相关三角面片的各法向量的平均值作为三角网格曲面在点pi1处的法向量,记为n',通过如下方式计算变化三角面片的平均曲率值:
过折叠后顶点pi1与n'垂直的平面称为三角网格曲面在此点的切平面,pj1为与点pi1相邻的任意一顶点,计算折叠后顶点pi1处沿pi1pj1方向的法曲率设tj1为向量pi1pj1在此三角网格曲面的切平面上的单位投影,过点pi1和pj1,且在点pi1有切向tj1半径为r1的圆,把三角网格曲面在点pi1处沿pi1pj1方向的法曲率取为此圆半径r1的倒数,
通过如下公式求出半径r1:
其中,p'i1和p'j1分别表示点pi1的坐标和点pj1的坐标,
通过下式计算三角网格曲面在点p'处沿p'pj1方向的法曲率
设bx3,by3为三角网格曲面上由n'确定的切平面上的一组基,取tj1,x3,tj1,y3分别表示向量tj1关于基bx3,by3的坐标,ex3、ey3分别表示主方向e2关于此基的横坐标和纵坐标,则有:
其中,i1,j1=1,2,3…m1,m1为点pi1的度,kk、k1'和k2'为三个中间参数,由此得到方程组A1x3=b3,其中A1为向量tj1关于基bx3,by3的坐标集合,x3为主曲率的集合:
其中,b3为法曲率集合,为第m1个法曲率;
利用最小二乘法其中x3和y3为两个变量,由此得到平均曲率和高斯曲率
步骤7-3,将得到平均曲率作为折叠顶点在步骤4简化后相关变化的三角面片的曲率值。
有益效果:本发明所采用的技术是通过优化后的二次误差算法简化模型从而降低材料消耗,该方法不仅保持了二次误差度量的快速,高效的特点,在大规模简化后,仍然保持了模型原有的重要几何特征,同时降低了模型的体积。与现有技术相比,本发明不同于目前掏空,镶嵌等内部结构优化方法,而是通过优化模型表面来达到降低材料的目的,因此不改变模型的刚性.材料本身等物理特性。
附图说明
图1a表示折叠顶点为凸。
图1b表示凸点曲率增大。
图1c表示折叠顶点为凹。
图1d表示凹点曲率减小。
图2为三角网格简化示意图。
图3为三角网格曲面在点pi处沿向量pipj的法曲率估算。图4a为原始顶点数时的模型。
图4b为简化点数2800时的模型。
图4c为简化点数1800时的模型。
图5是本发明实施例中降低3D打印材料消耗的流程图。
具体实施方式
在基于二次误差度量算法的简化误差中,边折叠的顺序和新点的位置是由二次误差测量决定的,因此在计算折叠下一轮折叠代价之前通过计算每个折叠顶点的曲率值,结合多面体顶点凸凹性判定方法来确定折叠顶点的凸凹性,对二次误差度量算法改进,判断顶点是否应该折叠。如图1a~图1d所示,图1a表示折叠顶点为凸,图1b表示曲率增大,若折叠顶点为凸点,且简化前后曲率增加,则该顶点不折叠;图1c表示折叠顶点为凹,图1d表示曲率减小,若为凹点,且简化前后曲率减小,则该顶点不折叠。保证折叠顶点始终朝模型内部简化,如图2所示为三角网格简化示意图。符合条件的折叠顶点再进行下一轮折叠代价的计算。如图5所示,基于改进的二次误差度量网格模型简化算法QEM来降低材料消耗的具体实现步骤如下:
1)读入三角网格模型数据,构造顶点表、边表和面表及各顶点关联面片等数据结构。
2)对组成三角网格模型的每个顶点所在的三角面片Qipi,其中i=1,2,…,m,pi=[pix,piy,piz,1]T m为三角网格上的数,则表示第i个平面,pi是折叠顶点号。定义每个顶点pi=[pix,piy,piz,1]T的误差为pi与其相关联平面集合p(pi)的距离和,这个误差测度可以写成如式(1)所示,
其中计算其二次误差 称为顶点pi二次误差测度矩阵。p是由方程ax+by+cz+d=0,(a2+b2+c2=1)定义的与p(pi)相关联三角形所在平面,Kp是平面p的基本误差二次型。
3)计算每个折叠顶点的误差矩阵其值为该顶点的所有关所有关联三角面片的二次误差之和。
4)初始化时,由于每个原始顶点都是其相关联三角面片的交点,因此原始顶点的初始误差当进行边折叠时新顶点pi1的最优位置和折叠代价分别如式(2),(3)所示,计算折叠后新顶点的二次误差,新顶点的二次误差为折叠前任意两顶点pi和pi'的二次误差Qi1与Qi2之和(Qi1,Qi2分别为pi,pi'相对应的二次误差测量矩阵),根据式(2)计算折叠后的二次误差矩阵
Δ(pi1)=pi1 T(Qi1+Qi2)pi1 (3)
5)计算各边按折叠代价,按照大小从小到大进行排序,构造尚未折叠边的有序堆栈,栈顶元素为折叠代价最小的边。取折叠代价最小的栈顶边,进行半边折叠预处理。
6)执行半边折叠记录面表,边表,存储折叠之后的顶点相关信息,及面表,边表信息(顶点相关信息指顶点的空间x,y,z轴坐标,面表信息包括一个三角面片三边编号信息及对应三点的点号,边表信息包括一条边两端对应的两个顶点点号及相邻的面号)。
7)分别读取记录的折叠顶点和折叠后顶点,根据前后不同的数据结构,分别得到折叠顶点的邻接点序列L与折叠后顶点的邻接点序列L',要求从多面体的外部观察,该序列呈逆时针方向排列。
8)根据排列组合分别从L和L'中各选取三个顶点,根据平面方程生成算法可得到平面方程P。
9)将折叠顶点与折叠后顶点的坐标值分别代入平面方程P,得到结果D,D<0,判断其为凹顶点,反之为凸顶点。
10)根据曲率值计算得到折叠顶点pi的曲率l以及折叠后顶点pi1相关变化面片的曲率l'对比,若折叠前顶点为凸,要求曲率值减小;若折叠前顶点为凹,要求曲率值增大。
11)结合凸凹性和曲率大小的判断重新计算符合折叠条件的顶点的误差矩阵Qjj。
12)若顶点为凸,曲率值在折叠前后增大,或顶点为凹,曲率值在折叠后减小,则不计算该折叠顶点的误差矩阵Qjj。
13)其他顶点转步4),计算得到新的折叠代价,按照大小进行排序,构造新的数据结构,执行半边折叠。
14)根据新的数据结构绘制网格模型。
算法伪代码:
识别模型的特征点:
for(网格模型的所有顶点)
{计算每个顶点的误差矩阵并且按大小排列
按折叠代价折叠每对顶点
按照存入折叠后的相关点,面信息}
for(按折叠代价大小排列所有顶点)
{判断每个顶点的凸凹性
计算折叠前每个顶点的曲率
计算折叠之后相关面片的曲率
}
If(当前折叠顶点满足以下条件:若折叠顶点为凸点,且简化前后曲率增加;若为凹点,且简化前后曲率减小)
{按照符合条件的顶点重新折叠并存入新的相关点,面信息}
end
end
end
{重新绘制网格模型}
曲率计算方法如下:
取点pi周围三角面片的各法向量的平均值作为三角网格曲面在点pi处的法向量,记为n。过点pi与n垂直的平面称为网格曲面在此点的切平面,设tj为向量pipj在此网格曲面的切平面上的单位投影,过点pi,pj,且在点pi有切向tj的圆,则把曲面在点pi处沿pipj方向的法曲率近似地取为此圆的半径n的倒数,
半径公式:
如图3所示,则曲面在点pi处沿pipj方向的法曲率
设bx,by为网格曲面上由n确定的切平面上的一组基,取tj,x,tj,y为向量tj关于基bx,by的坐标,ex,ey为主方向e1关于此基的坐标.则由欧拉定理,有
取i,k=1,2,3…m,m为pi的度,k,k1,k2为三个中间参数,由此得到方程组Ax=b:
利用最小二乘法x=(ATA)-1ATy,其中x,y为两个变量,由此得到平均曲率和高斯曲率若高斯曲率KG<0,表示折叠顶点pi是凸或着凹点,若高斯曲率KG>0,表示折叠顶点pi处曲面整体在切平面一侧。
实验结果:
如表1所示,实验结果举例说明本发明提出的方法能较好的降低3D打印材料消耗:
表1体积优化结果
如图4a~图4c所示,图4a为原始顶点数时的模型,图4b为简化点数2800时的模型,图4c为简化点数1800时的模型。
本发明从简化误差分析,解决了只减少面片不降低材料消耗的问题,降低了模型的体积,使得模型大规模简化后,在保持较低的误差水平同时,仍然能保持相当多的重要几何特征和较好的整体视觉效果。由于该发明不同于利用掏空等技术,而是对模型表面进行简化来降低3D打印模型材料消耗。因此,在避免受到结构型式对模型潜在的影响同时保持了模型原有的边界特征、物理性、强度等。由实验结果表明该发明能够在工艺品,日常模型,建筑等领域具有良好应用。
若将该发明与现有模型内部优化方法掏空等相结合,能够对降低3D打印材料消耗起到更好的作用。
本发明提供了一种基于网格模型简化的3D打印方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (4)
1.一种基于网格模型简化的3D打印方法,其特征在于,包括如下步骤:
步骤1,读取smf格式的三维网格模型文件,设定所需要简化的点数;
步骤2,遍历三维网格模型所有的顶点,通过二次误差度量算法计算得到每个顶点的二次误差其中i=1,2,3…m,并计算新顶点pi1的最优位置和边折叠代价
步骤3,按照边折叠代价的大小从小到大进行排序,构造尚未折叠边的有序堆栈,栈顶元素为折叠代价最小的边,取折叠代价最小的栈顶边,进行半边折叠预处理;
步骤4,执行半边折叠得到折叠后的新顶点,并存储折叠之后的新顶点的相关信息、面表及边表信息;
步骤5,判断折叠顶点的凸凹性;
步骤6,计算折叠顶点在步骤4简化前的曲率值;
步骤7,计算折叠顶点在步骤4简化后相关变化的三角面片的曲率值;
步骤8,判断折叠顶点是否参与简化:若折叠顶点为凸点,且简化后曲率增加,或者若折叠顶点为凹点,且简化后曲率减小,则不对该顶点进行折叠;若折叠顶点为凹点,且简化后曲率增加,或者若折叠顶点为凸点,且简化后曲率减小,则折叠该顶点,并改变相应折叠顶点pi点表、面表和边表的相关信息;
步骤9,记录通过步骤8一次折叠一对顶点后的相关折叠代价
步骤10,将折叠代价进行排序,重复步骤2~步骤8,利用上述步骤改进后的二次误差度量算法对三维网格模型进行简化,直到要求简化到最后一对顶点结束为止;
步骤11,绘制简化后的三维网格模型;
步骤12,将简化后的新的三维网格模型数据记录在smf文件中,将smf文件转换为stl格式;
步骤13,打印3D模型,得到简化前后模型体积。
2.如权利要求1所述的方法,其特征在于,步骤5包括如下步骤:
步骤5-1,判断折叠顶点pi的任何三个邻接顶点所构成的平面的法向量方向是否指向多面体外面,如果满足转入步骤5-2,否则舍弃该折叠顶点;
步骤5-2,从折叠顶点pi的邻接点序列L中选出三个相邻顶点a1,b1,c1的坐标,得到向量a1b1,b1c1,并求出同时垂直于向量a1b1,b1c1的法向量N;
步骤5-3,由步骤5-2得到的三个相邻顶点a1,b1,c1构成如下平面方程:
a2x1+b2y1+c2z1+d=0,
其中a2,b2,c2为法向量N的值,x1,y1,z1是空间三维坐标,将折叠顶点pi的坐标带入平面方程中,得到参数d的值,若d<0,判定该折叠顶点为凹顶点;若d>0,判定该折叠顶点为凸顶点。
3.如权利要求2所述的方法,其特征在于,步骤6包括如下步骤:
步骤6-1,取折叠顶点pi周围三角面片的各法向量的平均值作为三角网格曲面在折叠顶点pi处的法向量,记为n;
步骤6-2,过折叠顶点pi与n垂直的平面称为三角网格曲面在此点的切平面,pj为与点pi相邻的任意一顶点,计算折叠顶点pi处沿pipj方向的法曲率设tj为向量pipj在此三角网格曲面的切平面上的单位投影,过点pi,且在点pi有切向tj半径为r的圆,把三角网格曲面在点pi处沿pipj方向的法曲率取为此圆半径r的倒数,
通过如下公式求出半径r:
其中,p'i和p'j分别表示顶点pi的坐标和顶点pj的坐标,
通过下式计算三角网格曲面在点pi处沿pipj方向的法曲率
设bx,by为三角网格曲面上由法向量n确定的切平面上的一组基,取tj,x,tj,y分别表示向量tj关于基bx的坐标和基by的坐标,ex和ey分别表示主方向e1关于此基的横坐标和纵坐标,则有:
其中,i,j=1,2,3…m,m为点pi的度,k、k1和k2为三个中间参数,由此得到方程组Ax=b,其中A为向量tj关于基bx,by的坐标集合,b为法曲率集合,x为主曲率的集合:
其中,表示第m个法曲率;
步骤6-3,利用最小二乘法x=(ATA)-1ATy,其中x和y为两个变量,由此得到平均曲率和高斯曲率将平均曲率作为折叠顶点在步骤4简化前的曲率值。
4.如权利要求3所述的方法,其特征在于,步骤7包括如下步骤:
步骤7-1,分别寻找并记录折叠后顶点pi1在折叠前后相邻三角面片的信息;
步骤7-2,得到折叠后的顶点在折叠前相邻三角面片,以及折叠后相关三角面片,判断发生变化的三角面片,取点pi1在折叠前后变化的相关三角面片的各法向量的平均值作为三角网格曲面在点pi1处的法向量,记为n',通过如下方式计算变化三角面片的平均曲率值:
过折叠后顶点pi1与n'垂直的平面称为三角网格曲面在此点的切平面,pj1为与点pi1相邻的任意一顶点,计算折叠后顶点pi1处沿pi1pj1方向的法曲率设tj1为向量pi1pj1在此三角网格曲面的切平面上的单位投影,过点pi1和pj1,且在点pi1有切向tj1半径为r1的圆,把三角网格曲面在点pi1处沿pi1pj1方向的法曲率取为此圆半径r1的倒数,
通过如下公式求出半径r1:
其中,p'i1和p'j1分别表示点pi1的坐标和点pj1的坐标,
通过下式计算三角网格曲面在点p'处沿p'pj1方向的法曲率
设bx3,by3为三角网格曲面上由n'确定的切平面上的一组基,取tj1,x3,tj1,y3分别表示向量tj1关于基bx3,by3的坐标,ex3、ey3分别表示主方向e2关于此基的横坐标和纵坐标,则有:
其中,i1,j1=1,2,3…m1,m1为点pi1的度,kk、k1'和k2'为三个中间参数,由此得到方程组A1x3=b3,其中A1为向量tj1关于基bx3,by3的坐标集合,x3为主曲率的集合:
其中,b3为法曲率集合,为第m1个法曲率;
利用最小二乘法x3=(A1 TA1)-1A1 Ty3,其中x3和y3为两个变量,由此得到平均曲率和高斯曲率
步骤7-3,将得到平均曲率作为折叠顶点在步骤4简化后相关变化的三角面片的曲率值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610832975.XA CN106564192B (zh) | 2016-09-19 | 2016-09-19 | 一种基于网格模型简化的3d打印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610832975.XA CN106564192B (zh) | 2016-09-19 | 2016-09-19 | 一种基于网格模型简化的3d打印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106564192A CN106564192A (zh) | 2017-04-19 |
CN106564192B true CN106564192B (zh) | 2018-07-24 |
Family
ID=58531815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610832975.XA Active CN106564192B (zh) | 2016-09-19 | 2016-09-19 | 一种基于网格模型简化的3d打印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106564192B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109986162B (zh) * | 2018-01-03 | 2021-01-01 | 东莞市鼎之丰电业科技有限公司 | 一种镍铁合金镀层烙铁头 |
CN110001066B (zh) * | 2019-05-22 | 2020-02-14 | 浙江大学 | 一种三维打印最少分区填充方向确定方法 |
US20200401102A1 (en) * | 2019-06-21 | 2020-12-24 | Qiang Cui | Frame Structure Optimization Method Based on 3D Printing |
CN111590900A (zh) * | 2020-05-19 | 2020-08-28 | 厦门大学 | 一种基于粒子群优化的3d打印工艺参数优化方法 |
CN113274735B (zh) * | 2021-06-21 | 2022-07-22 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、电子设备及计算机可读存储介质 |
CN115964594B (zh) * | 2023-01-10 | 2023-11-21 | 广东科学技术职业学院 | 一种面向网格模型顶点曲率的快速获取的方法及系统 |
CN116776407A (zh) * | 2023-08-03 | 2023-09-19 | 武汉必盈生物科技有限公司 | 一种用于3d打印的网格模型优化曲线生成方法 |
CN118135170B (zh) * | 2024-05-09 | 2024-08-23 | 中科星图数字地球合肥有限公司 | 一种实景三维渲染大规模场景用三角面片模型简化方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6362820B1 (en) * | 1999-06-24 | 2002-03-26 | Microsoft Corporation | Quadric metric for simplifying meshes with appearance attributes |
US8386220B2 (en) * | 2009-12-16 | 2013-02-26 | Seiko Epson Corporation | Special treatment on circular ring part of the OLED bank structure with surface evolver |
CN102306394A (zh) * | 2011-08-30 | 2012-01-04 | 北京理工大学 | 基于外观保持的三维模型简化方法 |
CN102708591B (zh) * | 2012-04-28 | 2014-12-03 | 浙江大学 | 一种数字牙网格模型的孔洞修补方法 |
CN102881044B (zh) * | 2012-09-27 | 2015-07-01 | 重庆大学 | 一种基于三角形折叠的三维网格模型的简化方法 |
US9704262B2 (en) * | 2013-05-22 | 2017-07-11 | Siemens Aktiengesellschaft | Parameter estimation for mesh segmentation using random walks |
CN103295267A (zh) * | 2013-05-31 | 2013-09-11 | 东莞中山大学研究院 | 一种基于最小折叠代价的三维模型边折叠简化的方法 |
CN104183020B (zh) * | 2014-07-09 | 2017-06-06 | 浙江大学 | 基于带惩罚项的局部二次误差测量的地物网格化简方法 |
-
2016
- 2016-09-19 CN CN201610832975.XA patent/CN106564192B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106564192A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106564192B (zh) | 一种基于网格模型简化的3d打印方法 | |
Solomon et al. | Flexible developable surfaces | |
JP5432328B2 (ja) | ボリュメトリックグラフ・ラプラシアンを使用する大規模メッシュ変形 | |
Tachi | Freeform variations of origami | |
Teran et al. | Adaptive physics based tetrahedral mesh generation using level sets | |
CN106650085B (zh) | 基于有限元网格的实体模型生成镂空模型的方法 | |
CN103978690A (zh) | 一种面向3d打印的物体内部结构优化方法 | |
CN110223397A (zh) | 一种保持细节特征及纹理的网格模型简化方法 | |
Rabinovich et al. | Modeling curved folding with freeform deformations | |
CN107527384B (zh) | 一种基于运动特征的三维动态网格简化方法及其系统 | |
CN102096947B (zh) | 球面网格模型生成方法 | |
Isola et al. | Finite-volume solution of two-dimensional compressible flows over dynamic adaptive grids | |
Athanasiadis et al. | Feature-based 3D morphing based on geometrically constrained spherical parameterization | |
CN100555295C (zh) | 一种计算机自动开版的玩具设计制作方法 | |
WO2023173506A1 (zh) | 基于水弹折纸衍生结构拟合广义圆柱体曲面的建模方法 | |
CN108986020A (zh) | 一种三维曲面近似展开成平面的自适应方法 | |
Zhang et al. | Adaptive generation of hexahedral element mesh using an improved grid-based method | |
Loseille et al. | On 3D anisotropic local remeshing for surface, volume and boundary layers | |
CN111047684A (zh) | 一种基于三维模型特征的模型简化方法 | |
CN111274732B (zh) | 一种基于“连接关系-位置”迭代优化的网格修复方法 | |
CN109940894B (zh) | 一种基于有限支撑半径控制的卷积曲面混合建模方法 | |
CN117454502A (zh) | 基于Wolfe准则修正牛顿法的三维网格质量优化方法 | |
CN115659619A (zh) | 基于等几何拓扑优化与增材制造一体化方法 | |
Li et al. | Multi-resolution modeling of shapes in contact | |
Hu et al. | A parametric design method for engraving patterns on thin shells |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20170419 Assignee: Hubei Zhigan Space Information Technology Co.,Ltd. Assignor: CHINA THREE GORGES University Contract record no.: X2023980051109 Denomination of invention: A 3D printing method based on grid model simplification Granted publication date: 20180724 License type: Common License Record date: 20231213 |
|
OL01 | Intention to license declared |