3D打印启发下的模型实例化优化研究综述

3D打印动态
2017
03/15
11:56
分享
评论
本帖最后由 小软熊 于 2017-3-15 11:53 编辑

近些年来, 3D打印产业发展迅猛, 新型打印技术和设备层出不穷. 3D打印技术被认为将会为个性化产品的设计及生产带来革新. 同时, 3D打印技术的发展也给数字几何处理带来了新的挑战. 研究人员从探索并优化3D打印这一实例化模型的过程出发, 结合三维模型的几何特性开展一系列的研究, 并受到越来越多的重视和关注.  
timg (4).jpg

在传统的建模过程中, 研究人员更多考虑的是三维模型与实体的几何相似性. 而随着3D打印机的日益普及, 对模型进行实例化制造也变得越发便捷, 这使得研究人员开始了对于优化这一过程方式的探索, 即希望能通过更加快速、廉价的方式打印出可以实现某些特定功能的实例化模型.   由于3D打印技术的发展历史以及研究现状并非本文的重点, 本文将不对其进行详细介绍, 具体请参见这方面的相关综述. 本文将着重介绍在3D打印启发下对模型实例化这一过程进行优化方面的研究工作, 并分别从模型设计和打印过程2个阶段进行阐述. 值得注意的是, 不同于之前工作中对于相关几何计算问题基于自身特点的分类, 接下来我们侧重分析问题提出的背景以及其在整个实例化过程中所起到的作用, 从而希望能够对想要寻找新的研究问题的读者有所启发.  

1  模型设计优化  
3D打印技术的广泛适用性, 使得通过传统方式建模得到的三维模型理论上都可以直接通过3D打印机得到实体. 但是, 由于在模型设计过程中并没有考虑模型自重、受力等因素, 打印完成的实体可能极易断裂或者无法实现如平稳站立等特殊的功能性要求. 因此, 研究人员通过对现有模型进行改造的方式优化静态三维模型的设计. 另外, 3D打印的发展同时也为动态模型的制造提供了极大的便利; 相应地, 可打印的动态模型设计方面的研究也成为了热点.   
timg (2).jpg

1.1  静态模型  
对静态的实例化模型最基本的要求是其结构的稳定性, 即打印过程中以及完成后的实物不易断裂或破损. 为了保证模型的这一特性, 研究人员对模型进行了可打印性(printability)分析.   Telea等根据经验得出模型中过细的部分是影响可打印性的关键, 并制定出了多个相应的判定准则, 进而给出了第一个自动分析模型可打印性的算法; 但是他们并没有给出完善模型可打印性的方案. 此后, Nelaturi等在分析精确度上对其进行了改进, 并提出了局部加粗的修正方法. Stava等则依靠分析模型的自重以及模型被拿起时可能的受力点来检测出薄弱结构, 然后通过增加支柱、局部加粗以及内部挖洞等方式, 在尽可能小地改变模型外形情况下来增强模型的可打印性.

以图1a所示打印完成的卡通香蕉模型为例, 通过加粗腿部结构以及在后背加上支柱, 模型得以 完整打印并且不会因为自重破裂. 另外, Umetani等通过分析给定方向切面上的受力信息来对结构强度进行分析. 上述对可打印性以及结构稳定性分析的方法, 都依赖于对模型所受外力以及自身重力的物理结构分析, 但是对外力的预估往往并不是十分准确, 因此他们分析结果的真实性和可靠性相对减弱. 针对上述问题, Zhou等在不对模型受力情况进行假设的前提下, 单纯从模型的几何形态及其组成材料对最容易断裂或者破损的部分进行分析检测, 其中技术关键则是模态分析(modal analysis). 但也正是由于他们假设的限制性, 所提出的算法只初步考虑了材料的线性弹性, 并未对材料的各种属性进行充分的分析.  
QQ截图20170315104347.png
功能性静态模型    平衡性是对静态模型的另一个常规要求, 但是如果将给定模型直接打印, 则可能会由于重心不稳定的原因无法使其保持平衡. Prévost等提出了一个交互式对模型体进行改变的方式, 使得模型能够以指定的方式稳定站立或者悬挂; 其中允许的改变包括对模型表面进行形变以及在模型内部挖洞. 类似地, 为了能够让模型像陀螺或者悠悠球一样旋转, Bächer等通过在模型体内挖洞来改变质量分布的方式, 使模型在旋转过程中保持稳定状态. Yamanaka等则通过改变模型内部结构使其质量分布满足预定的期望.

图1b和图1c中分别展示了3D打印出来的可以稳定站立和旋转的模型. 这方面的研究通常是先分析出模型为满足所研究的某一功能性要求的理想密度分布, 然后通过改变模型内部材料分布, 以及对模型外形进行轻微形变来达到要求.   除了通过对现有模型进行改造得到满足特定要求的模型外, 新的以3D打印为目的的建模方式也应运而生, 如合理的家具模型设计、几何装饰品设计以及平板拼装模型的设计等. 此外, 由于通常情况下设计和生产需要经过多次反复测试才能最终得到理想的模型和实物, 快速打印出近似的模型设计来查看当前存在问题, 可以有效地加快设计修改的进度.

1.2  动态模型  
关节模型是较为常见的一种动态模型, 且在计算机动画领域应用广泛. 然而, 传统的关节模型通常不能直接作为3D打印机的输入进行制造, 因此如何在已有数据基础上设计出可直接打印的关节模型成为一个关键问题.   以包含表面几何信息以及内部骨骼信息的蒙皮网格为输入, Bächer等将其自动转化成单个可以直接打印的关节模型, 图2a显示了同一个关节模型的不同姿势. Calì等则将重点放在不同类型关节结构的设计上, 对于给定的一个普通静态网格, 他们通过用户交互的方式构造出相似的关节模型. 同样, 这里的关节模型也是可以直接打印的整体, 不需要拼装. 图2b显示了一个3D打印得到的手关节模型. 这一类研究工作的重点主要在于关节结构的设计, 以及如何在输入模型中分布这些关节, 以使得最终模型能够自如活动.  
QQ截图20170315104355.png
关节模型    通过对关节的控制, 可以将关节模型摆出不同的姿势, 而机械模型(mechanical model)则能进一步通过控制齿轮运动得到模型的动画. 机械玩具 、机械人  及机械卡通  等设计相继得以实 现, 并通过3D打印技术得以快速制造, 如图3所示. 机械模型的设计依赖于初始输入对最终动画的要求, 从预先生成的部件库中选取并组装合适的部件, 使得最终的模型能够完成输入的动画要求.  

QQ截图20170315104401.png
机械动态模型    此外, 3D打印技术的发展还激发了其他一些有趣动态模型的创造. Zhou等在将一个给定模  型体素化(voxelization)之后, 通过优化相邻体素之间的关节类型分布以及折叠路径的设置, 最终使得体素化后的模型能够折叠成方块. Megaro等则提供了一个交互工具用来设计类似于皮影戏中人偶的动态模型.  
timg (3).jpg

2  打印过程优化
设计完成的三维模型将作为3D打印机的输入用于实例化制造. 通常, 模型是以三维表面网格的形式表示, 但是3D打印出来的是实体模型, 所以第一步需要先将表面网格转化为体表达. 接着, 在确定出打印方向之后, 实体模型需要被切割成垂直于打印方向的层结构, 最终通过逐层堆叠积累的方式打印出完整模型. 以下将就打印不同阶段所遇到的优化问题分别对相应研究进行简介.   

2.1  容量限制 每一款3D打印机都有可打印容量的限制, 所以在打印开始前可能出现的情况是现有的打印机无法容纳下需要打印的模型.   就这一问题, 将输入模型自动切割并分别打印之后再组装回原模型的算法相继被提出. 这些算法都采用平面切割, 并且都在切割面上设计并分布了连接器(connector), 以使得部件间可以灵活组装. 相比之前的工作, Luo等在切割过程中更多地考虑了可打印性、结构稳定性、拼装简易性、美学特征等信息, 分割块数也更少. 图4a显示了采用该算法得到的对椅子模型的分割结果以及打印后拼装成的实体模型. 通过限制用平面对模型切割, 从而便于在其上增加连接器, 并将这一模型分割问题转化为寻找最优BSP树的问题, 再通过束搜索(beam search)算法对其进行求解.
QQ截图20170315104407.png
针对连接器在有些情况下不能给部件之间提供充分的结构性保证, 而且在运输或者装配过程中容易损坏的问题, Song等提出了将三维模型切割成互锁的(interlocking)部件来避免使用连接器,如图4b所示. 通过这种互锁的方式, 拼装之后的模型具备了较高的稳定性, 又保证了每一块分割模型的表面的光滑性. 但是, 这一方式的分割又无法同时达到拼装简易性、具有美学特征等方面的  要求.

2.2  打印实体
在对模型进行可打印性分析以及在为实现其他功能特性对模型进行改造时, 一般都会假设对最终得到的网格进行实心打印(除了改造过程中已挖空的部分). 然而, 为了节省打印材料以及打印时间, 通常3D打印机都会对模型体内用相对于表面较为松散的结构进行稀疏填充. 但是, 一般自带软件的稀疏填充功能在材料以及时间上的节省度往往达不到用户期望, 所以不少研究者提出了不同的从三维表面网格到可打印实体的转化方式.   Wang等将模型表达成如图5a所示一个很薄的蒙皮以及内部的刚架结构, 使得表达后的物体体积最小, 且打印物体能够满足所要求的物理强度、受力稳定性、自平衡性及可打印性等要求. Lu等则用图5b所示蜂窝结构作为模型的内部结构, 在减少材料损耗的同时保证了模型的强度.

这2项工作的主要贡献在于对自稳定结构的探索并将其成功引入到3D打印过程中来. 用自稳定结构对模型进行近似, 使得其在打印过程中的材料消耗大大降低的同时保证了结构的稳定性. 为了在结构优化过程中实现结构几何形状与对象受力传递路径保持一致, 徐文鹏等通过逐步删除无效或者低利用率的内部材料来最小化打印体积. Vanek等则并未从自稳定结构出发, 且减弱了对模型稳定性的考虑, 更侧重于材料和时间的节省. 他们直接用图5c所示表面的薄层来表示模型, 并且将表面薄层分割堆叠后再一起进行打印, 从而达到进一步节省打印时间和材料的目的.  

QQ截图20170315104413.png
2.3  分层方式
一般的3D打印过程中, 都是沿着选定的打印方向对模型体根据打印精度进行均匀分层, 即每一层具有相同厚度. 事实上, 由于模型在不同部位的精细程度不一样, 所以最合适的层厚度也会有 所差异. 而分层方式的优化, 可以在一定程度上提高打印效率.   对于CAD模型进行自适应分层的相关工作可参见综述文献, 这一类工作主要侧重点在于打印得到的模型与输入模型在几何上的近似程度. Wang等则在通过选取合适的打印方向之后, 提出了在保模型显著特征的前提下进行自适应分层的算法, 即根据特征在不同区域选用不同厚度的层结构. 其中的关键技术是将这一保显著特征的自适应分层算法转化为带约束的稀疏优化问题进行求解. 为了进一步减少打印时间, 还可以根据显著性特征的分析对模型进行分块, 再对每一块分别进行自适应分层.   

2.4  打印材料
虽然目前大多数低端的3D打印机都只有一个喷头, 且仅支持单种材料; 而更多实物是由多种材料构成的, 因此支持多种材料的3D打印机是硬件发展的必然趋势, 现已有少数产品正式上市.   对于需要多种材料进行打印的模型, 相比直接给出材料的组合方式, 更自然的方式则是让用户给出这个模型想要得到的材质和外观效果. 相应地, 如何将多种不同的基本材料进行组合得到期望的效果, 是针对多材料3D打印机的研究热点. Bickel等通过优化不同种材料之间层次叠加的组合方式使得最终打印的模型能够达到给定的受到外力时的形变效果. Hašan则希望通过组合基本材料的方式来得到理想的表面散射效果. 为了将上述操作进行整合, Chen等基于新的描述材料空间以及优化过程的数据结构, 提出了一个统一处理不同目标下多种材料合成问题的算法框架Spec2Fab. Vidimče则提出了另一个可编程流水线系统OpenFab来解决多种材料合成问题. 不同于Spec2Fab, 他们能够让用户直接准确地给出对于最终打印模型几何以及材料上的特性要求. 此外, 还有针对较普及的低端带两喷头的3D打印机方面的研究工作, 例如减少2种材料之间的相互渗  透以及在模型表面打印出给定的纹理图像.  
timg.jpg

2.5  支撑结构  
通常, 上述研究工作都适用于各种类型的3D打印机. 熔融沉积式(fused deposition modeling, FDM)3D打印机由于价格低廉、操作简单, 深受个人用户以及教育机构欢迎, 其普及程度较高. 因此,有不少研究工作都是针对这类3D打印机开展的. 这类打印机的最大缺点是在打印时对于那些悬空的结构需要打印额外的支撑结构, 使之得以附着. 而这些支撑结构所带来的弊端, 一方面是造成了材料和时间的浪费, 另一方面是在打印完成后需要手动将这些支撑材料从模型上去除. 更严重的是, 由于它们之间的附着较为紧密, 很难去除, 使得在去除过程中可能会损坏打印的模型.

因此, 减少支撑材料成为优化此类打印技术的关键,现有研究所采用的方式大致可以分为2类:

第1类方式是保持原模型不变而改变支撑结构, 使支撑结构本身的材料使用量减少. 目前, 3D打印机自带软件所生成的支撑结构通常是垂直连接悬空部分和其下最接近的实体部分, 如图6a所示的3D打印机MakerBot® ReplicatorTM自带软件生成的支撑结构. 可以看到, 这一类支撑结构并非最优结构, 支撑材料的消耗将远大于模型真实所需. 为了改善支撑结构, Wang等通过先检测出悬空点, 再用类似于棍状结构来连接悬空点和离得最近的网格上或者地面上的点. 在自动寻找并添加支撑结构杆的同时, 陈岩等还对支撑杆的具体结构进行了调整, 使其稳定性更强并易于  去除. Vanek等则提出了自动生成类似于AUTODESK® MeshmixerTM所生成的树状支撑结构的算法, 如图6b所示. 这一支撑结构在材料和时间节省量上有更大的优势. 此外, Dumas等  提 出了一种桥形结构作为支撑, 如图6c所示; 相对于树状结构, 桥形支撑结构具有更大的强度, 也更为稳定.  
QQ截图20170315104425.png
第2类方式是对模型进行形变或者在对其进行切割后分块打印, 以降低其对支撑结构的需求. 在给定打印方向的前提下, Hu等提出了一个对模型体做少量形变, 从而最大限度地减少支撑材料使用的算法. 在限制了切割方向只能垂直于打印方向之后, Nakajima等提出了一个同时优化打印方向和相应的切割位置的算法. Hu等则在不对打印方向和切割方向做任何假设的情况下,  提出了三维模型的金字塔分割问题, 并将其转化为集合精确覆盖问题进行近似求解. 其中金字塔分割问题是将给定的三维模型分割成最少块金字塔形状, 而金字塔形状沿着其对应的正方向是自支撑的, 所以打印时不需要任何支撑材料. 图7显示了直接打印得到的CCTV大楼模型, 以及对其进行近似金字塔分割后打印的结果. 将给定的三维模型进行近似金字塔分割, 并对分割块分别以其对应的正方向进行打印后再拼装回原模型, Hu等的算法大大减少了对支撑材料的需求. 尽管金字塔形状在打印时不需要任何支撑材料, 但是三维模型不一定必须是金字塔形才能使得其对支撑材料的需求为零. 在实际打印过程中, 当三维模型表面只有小幅度的倾斜角度时, 它可以不需要支撑材料而直接打印, 因此对模型进行金字塔分割并不能保证在最小化分割块数以及最大化材料节省2方面都达到最优状态.  
QQ截图20170315104420.png
3  总结
3D打印的发展使得从模型设计到生产的时间周期明显缩短, 进而在设计过程中可以充分地考虑打印相关的因素并进行处理, 因此设计出的模型将更有实用价值. 另一方面, 对于打印过程进行进一步优化的研究工作也促进了3D打印技术的快速发展. 对于在3D打印启发下对模型实例化进行优化的工作, 本文从模型设计和打印2个阶段对现有研究进行了简述.在模型设计阶段, 基于对最终实例化模型的不同功能性要求, 之前的研究工作对给定的数字化三维模型进行不同方式的分析和处理, 使得其满足给定的要求. 然而, 现实生活中存在着各种各样具有不同功能的物体, 目前已经被研究过的功能特性、能够直接打印的功能性物体只是这其中极小一部分。
QQ截图20170315112621.png
由于3D打印使得模型的制造变得非常便利, 相对于模型的几何形态, 研究者可以更注重对模型功能性的探索和分析, 以辅助设计出能够直接打印的、具有特定复杂功能的物体.   在实体打印阶段, 为了能够使得打印顺利完成, 或者进一步节省打印时间和材料, 亦或者使得模型外观在打印完成后达到某一特定的效果, 研究人员在各个打印步骤进行了优化. 但是, 往往每一项工作都会为了优化某一特定目标, 而忽略其他重要特性. 例如, 为了节省打印材料和时间而对给定模型进行分割, 却造成了模型结构上的不稳定性; 在优化支撑结构的同时并未考虑模型的实体结构, 而是假设其进行实心打印. 因此, 全面分析打印各步骤可能的优化方式, 并结合模型所应具备的各种功能特性给出一个完善的模型实例化系统, 将会是一个巨大贡献.   随着3D打印技术的不断发展, 我们相信将会有更多有趣的、值得研究和探索的几何处理问题不断涌现, 而这些问题的解决又将进一步促进3D打印技术的发展.
timg (1).jpg
作者:胡瑞珍,黄  惠 (中国科学院深圳先进技术研究院可视计算研究中心)



上一篇:3DTALK 手机APP 3D打印远程控制系统
下一篇:西班牙BQ发布安卓驱动3D打印机,手机操控时代即将到来?
回复

使用道具 举报

推动3D打印

关注南极熊

通知

联系QQ/微信9:00-16:00

392908259

南极熊3D打印网

致力于推动3D打印产业发展

Copyright © 2024 南极熊 By 3D打印 ( 京ICP备14042416号-1 ) 京公网安备11010802043351
快速回复 返回列表 返回顶部