3D打印数据格式_第1页
3D打印数据格式_第2页
3D打印数据格式_第3页
3D打印数据格式_第4页
3D打印数据格式_第5页
已阅读5页,还剩179页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3D打印数据格式目录TOC\h\h第1章绪论\h1.13D打印概述\h1.23D打印工艺分类\h1.33D打印技术优势\h1.43D打印发展趋势\h1.53D打印的未来\h1.5.14D打印技术\h1.5.25D打印技术\h第2章3D打印的数学模型\h2.13D打印的本质\h2.2实体建模方法\h2.3传统3D打印\h2.3.1传统3D打印处理过程\h2.3.2传统3D模型来源\h2.3.3相关格式体系\h2.4现代3D打印\h2.4.1现代3D打印主要内容\h2.4.2统一数字化表达模型\h2.4.3相关格式体系\h第3章3D打印中三维实体建模数据格式\h3.1STL格式\h3.1.1STL概述\h3.1.2STL组织构成\h3.1.3STL格式分析\h3.2AMF格式\h3.2.1AMF概述\h3.2.2AMF组织构成\h3.2.3AMF格式分析\h3.2.4AMF对彩色信息的支持详解\h3.2.5AMF对曲面三角形的支持详解\h3.2.6AMF对微结构的支持详解\h3.33MF格式\h3.3.13MF概述\h3.3.23MF文档组织\h3.3.33MF格式分析\h3.4IGES格式\h3.4.1IGES概述\h3.4.2IGES文件组织构成\h3.4.3IGES格式实例分析\h3.4.4IGES格式分析\h3.5SAT格式\h3.5.1SAT概述\h3.5.2SAT组织构成\h3.5.3SAT格式分析\h3.6STEP格式\h3.6.1STEP概述\h3.6.2STEP组织构成\h3.6.3STEP格式分析\h3.7PLY格式\h3.7.1PLY概述\h3.7.2PLY组织构成\h3.7.3PLY格式分析\h3.8OBJ格式\h3.8.1OBJ概述\h3.8.2OBJ/MTL组织构成\h3.8.3OBJ/MTL文件分析\h3.9VRML/X3D格式\h3.9.1VRML概述\h3.9.2X3D概述\h3.9.3VRML组织构成\h3.9.4VRML格式分析\h3.10FBX格式\h3.10.1FBX概述\h3.10.2FBX组织构成\h3.10.3FBX格式分析\h3.11DICOM格式\h3.11.1DICOM格式概述\h3.11.2DICOM格式标准概述\h3.11.3DICOM格式文件的三层模型\h3.12PCD格式\h3.12.1点云表达方法介绍\h3.12.2PCD格式概述\h3.12.3PCD组织构成\h3.12.4PCD格式分析\h第4章3D打印中二维层面数据格式\h4.1SLC格式\h4.1.1SLC概述\h4.1.2SLC组织构成\h4.1.3SLC格式分析\h4.2CLI格式\h4.2.1CLI概述\h4.2.2CLI组织构成\h4.2.3CLI格式分析\h4.3ZIF格式\h4.3.1ZIF概述\h4.3.2ZIF组织构成\h4.3.3ZIF格式分析\h4.4BMP格式\h4.4.1BMP概述\h4.4.2BMP组织构成\h4.5PNG格式\h4.5.1PNG概述\h4.5.2PNG文件结构\h4.5.3PNG格式特点\h4.5.4BMP/PNG格式对比\h4.6HPGL格式\h4.6.1HPGL概述\h4.6.2HPGL组织构成\h4.6.3HPGL格式分析\h第5章3D打印中加工层次数据格式\h5.1GCode语言\h5.1.1GCode概述\h5.1.2GCode结构分析\h5.2ST语言\h5.2.1ST概述\h5.2.2ST组织构成\h5.2.3ST语言分析第1章绪论1.13D打印概述3D打印(3Dprinting)技术,又称为增材制造(additivemanufacturing,AM)技术,是以数字模型为基础,将材料逐层堆积制造出实体的一种先进制造技术,体现了信息技术、先进材料技术与数字制造技术的交叉融合。相对于传统的减材制造(材料去除,如切削加工)技术,3D打印是一种“自下而上”进行材料累加的制造方法。3D打印技术自20世纪80年代末诞生以来不断发展,期间也被称为“材料累加制造”(materia1increasemanufacturing)、“快速原型”(rapidprototyping)、“分层制造”(1ayeredmanufacturing)、“实体自由制造”(so1idfreeformfabrication)等技术。名称各异的叫法分别从不同侧面表达了该制造技术的特点。3D打印作为一个术语,有多个层次的含义。美国材料与试验协会(ASTM)F42国际委员会对增材制造和3D打印两个词汇有明确的概念定义。增材制造是依据三维CAD数据将材料连接制作物体的过程,相对于减材制造它通常是一种逐层累加的制造过程。狭义层次上的3D打印是指采用打印头、喷嘴或其他打印技术沉积材料来制造物体的技术,在特指设备时,3D打印通常指相对价格或总体功能低端的增材制造设备;广义层次上的3D打印也常用来表示增材制造技术,在本书中,取其广义含义。3D打印技术不需要传统的刀具、夹具及多道加工工序,利用三维设计数据在一台设备上可快速而精确地制造出任意复杂形状的零件,从而实现“自由制造”,解决许多过去难以制造的复杂结构零件的成形问题,并大大减少了加工工序,缩短了加工周期。而且对于结构越复杂的产品,采用3D打印技术制造的优势越显著。近30年来,3D打印技术取得了快速的发展,在各个领域都取得了广泛的应用,如在消费电子产品、汽车、航空航天、医疗、军工、地理信息、艺术设计等领域。3D打印最显著的特点是特别适合单件或小批量的快速制造,这一技术特点决定了3D打印在产品创新中具有显著的作用。同时,美国惠普公司的多射流熔融(mu1tijetfusion)与惠普金属喷射(HPmeta1jet)技术,美国Carbon3D公司的连续液面生产(continuous1iquidinterfaceproduction)等新型3D打印技术则有望在批量制造(万件甚至更高)中获得与传统注塑机及加工中心基本一致的生产效率,而加工的形状可以非常复杂,每一件产品都可以具备个性化的设计,有可能颠覆未来的制造业。美国《时代》周刊将3D打印列为“美国十大增长最快的工业”之一。英国《经济学人》杂志于2012年4月发表《第三次工业革命:制造业与创新》的专题报道,其中将3D打印技术与前两次工业革命技术(蒸汽机技术、电力技术)进行类比,并定义了以3D打印技术为代表的第三次工业革命。该报道认为该技术改变了未来的生产与生活模式,实现社会化制造,每个人都可以成为一个工厂,它将改变制造商品的方式,并改变世界的经济格局,进而改变人类的生活方式。例如,日后的制造业,原材料的形式有可能是粉体或液体材料,每个家庭都可以成为一个工厂,企业可能只生产一些控制部件,外壳之类的部件完全可以自己打印。这一方面节约了成本,另外也能满足个性化的需求。设计师也有可能不再隶属于某个企业,而是成为一个“创客”,他们的设计可直接放在云计算平台上,顾客看到漂亮的设计图可以直接购买、下载、打印。1.23D打印工艺分类自20世纪80年代美国出现第一台商用3D打印设备(光固化成形机)后,3D打印技术在至今30多年时间内得到了快速发展,各种风格迥异的3D打印工艺层出不穷。但它们都是基于离散降维思想的材料累加制造,即将具备复杂形貌乃至多材料、多尺度结构特征的三维零件分解为一系列二维离散层面(可以为平面或者曲面)或者连续的一维加工路径,由此以一种统一的、简单的方式实现零件的逐点逐域成形。ASTM在3D打印工艺层面将当前主流的3D打印技术分为以下七类:材料挤压(materia1extrusion)、光固化(vatphotopo1ymerization)、粉末床融化(powderbedfusion)、黏合剂喷射(binderjetting)、材料喷射(materia1jetting)、层积(sheet1amination)、定向能量沉积(directedenergydeposition)。(1)材料挤压工艺,所用的材料为塑料丝材或者泥浆(建筑打印领域)等,通过加热在挤出头以液态的形式挤出,逐层打印最终在成形台面形成3D实体制件,如图1—1(a)所示。该工艺设备价格低廉,系统构造原理和操作简单,支撑去除简单,无须化学清洗,可用于桌面打印办公环境,且打印出来的制件结构性能较高。在市场上应用此工艺的典型技术有:FDM(fuseddepositionmode1ing)等。(2)光固化工艺,所用的材料主要是光敏树脂,利用光敏树脂在激光、紫外线或者投影的照射下发生固化反应,凝固成产品的形状,如图1—1(b)所示。该工艺成形过程自动化程度高,成形制件具有较高的尺寸精度和表面质量。在市场上应用此工艺的典型技术有:SLA(stereo1ithographyapparatus),DLP(digita11ightprocessing)、FFF(fusedfi1amentfabrication)等。(3)粉末床融化工艺,所用的材料主要是塑料、金属粉末、陶瓷粉末、砂等,通过每一层有选择性地融化粉末床材料,逐层打印最终成形制件实体,如图1—1(c)所示。该工艺所用材料广泛,打印的过程不需要考虑支撑情况,制作工艺比较简单。在市场上应用此工艺的典型技术有:SLS(se1ective1asersintering)、SLM(se1ective1aserme1ting)、EBM(e1ectronbeamme1ting)、MJF(mu1tijetfusion)、DMLS(directmeta11asersintering)等。图1—1ASTM划分的七种3D打印工艺(4)黏合剂喷射工艺,所用的材料主要是塑料粉末、金属粉末、陶瓷粉末等,通过喷射黏合剂逐层挤入到材料粉末床上,最终成形制件实体,如图1—1(d)所示。该工艺所用材料广泛且支持全彩打印,粉末在成形过程中起支撑作用,且成形结束后比较容易去除。在市场上应用此工艺的典型技术有:3DP(3Dprinting)等。(5)材料喷射工艺,所用的材料主要是树脂、蜡等,将材料一层一层地铺放,并通过化学树脂、热熔材料成形制件,如图1—1(e)所示。该工艺可以打印出高质量、细节清晰的3D模型,可以成形全彩制件以及同时含有多种材料的制件。在市场上应用此工艺的典型技术有:Po1yJet、SCP(smoothcurvaturesprinting)、MJM(mu1tijetmode1)等。(6)层积工艺,所用的材料主要是纸张、塑料以及金属铂等,将片状材料利用黏胶化学方法或者超声焊接、钎焊的方式压合在一起,多余的部分被层层切割,并在最终制件成形后剥离取出,如图1—1(f)所示。该工艺打印成本较低。在市场上应用此工艺的典型技术有:LOM(1aminatedobjectmanufacture)、SDL(se1ectivedeposition1amination)、UAM(u1trasonicadditivemanufacturing)等。(7)定向能量沉积工艺,所用的材料主要是金属粉末、金属丝材、陶瓷等,利用激光或者电子束将金属粉末或者金属丝材等材料在制件表面上熔融固化,如图1—1(g)所示。此工艺容易实现大尺寸制件加工,且配合机械手加工自由度较高,可以在同一种制件上采用多种材料进行加工处理。在市场上应用此工艺的典型技术有:LMD(1asermeta1deposition)、LENS(1aserengineerednetshaping)、DMD(directmeta1deposition)等。1.33D打印技术优势3D打印技术将三维实体加工变为若干二维平面的堆积成形,规避了刀具干涉效应,因而不需要考虑传统的刀具和夹具以及多道加工工序,在一台设备上可快速精密地制造出任意复杂形状的制件,大大降低了制造复杂度,从而实现了零件"自由制造"。而且产品结构越复杂,其优势就越显著。基于逐点逐域成形原理,现代多材料3D打印技术可以实现在一个零件的不同部分选用不同的材料、微结构乃至调节微观组织结构,实现传统加工技术难以实现的材料结构一体化加工。概括地说,3D打印技术正在逐步突破以下四个方面的制造技术复杂性瓶颈。.形状复杂性:3D打印几乎可以制造任意复杂程度的形状和结构。.材料复杂性:3D打印既可以制造单一材料的产品,又能够实现异质材料乃至梯度功能材料零件的直接制造。.层次复杂性:3D打印允许跨越多个尺度(从微观结构到零件级的宏观结构)的模型设计与整体制造。.功能复杂性:3D打印可以在一次加工过程中完成功能和结构的一体化制造,从而简化甚至省略装配过程。1.43D打印发展趋势纵观当前3D打印技术发展现状,3D打印技术应用领域已经涵盖社会生产生活的方方面面。传统3D打印技术可以轻易突破形状复杂性,即克服传统制造技术在形状复杂性方面的技术瓶颈,快速制造出传统工艺难以加工甚至无法加工的复杂形状及结构特征。随着3D打印技术的不断发展,现代3D打印技术已经超越传统3D打印的单材均质加工技术的限制,向突破其余的三个复杂性发展。即在材料复杂性层面实现多材料、梯度功能材料、多色及真彩色表面纹理贴图零件的直接制造;在层次复杂性层面可实现跨越多个尺度(从微观结构到零件级的宏观结构)直接制造;在功能复杂性层面可以在一次加工过程中完成功能和结构的一体化制造,从而简化甚至省略装配过程。3D打印技术的发展趋势具体表现为以下几个方面。1.向日常消费品制造方向发展3D打印技术可直接将计算机中的三维图形输出为三维的彩色物体,在科学教育、工业造型、产品创意、工艺美术等方面有着广泛的应用前景和巨大的商业价值。其发展方向是提高精度、降低成本、发展高性能材料。2.向功能零件制造发展采用激光或电子束直接熔化金属粉,逐层堆积金属,形成金属直接成形技术。该技术可以直接制造复杂结构金属功能零件,制件力学性能可以达到锻件性能指标,其发展方向是进一步提高精度和性能,同时向陶瓷零件的3D打印技术和复合材料的3D打印技术发展。3.向智能化装备发展目前3D打印设备在软件功能和后处理方面还有许多问题需要优化。例如,成形过程中需要加支撑,软件智能化和自动化需要进一步提高;制造过程、工艺参数与材料的匹配性需要智能化;加工完成后的粉料或支撑的去除等问题。这些问题直接影响设备的使用和推广,设备智能化是3D打印技术走向普及的保证。4.向组织与结构一体化制造发展实现从微观组织到宏观结构的可控制造。例如,在制造复合材料零件时,将复合材料组织设计制造与外形结构设计制造同步完成,从微观到宏观尺度上实现同步制造,实现结构体的“设计-材料-制造”一体化。支撑生物组织制造,复合材料、功能材料、智能材料等的复杂结构零件的制造,给制造技术带来革命性发展。5.向极端尺寸制造发展实现微观尺寸、大型尺寸结构的复杂制造。例如,3D打印向极小尺寸发展,在医药、生物组织及原子器件等领域,可以在微观层面进行加工处理,甚至可以在分子层面进行3D打印。其次3D打印向极大尺寸发展,在航空航天等领域,3D打印可以一次成形复杂结构大尺寸制件。6.向多种工艺协作复合成形方向发展多工艺协作复合成形加工方式的优点是集成多种工艺自身的优势,并可以克服单一工艺与生俱来的工艺缺陷,最终能够加工高质量的成形制件。例如,在金属激光3D打印成形技术中,由于激光逐层加工金属粉末材料固有的球化效应及台阶效应,即使采用目前精度最高的SLM技术,其3D打印制件在表面精度、表面粗糙度等指标上距离直接应用还存在较大差距。解决上述问题的最佳方法是将激光3D打印技术(增材制造)与传统的机加工技术(减材制造)在加工过程中结合起来,在逐层叠加成形的过程中即进行逐层的铣削或磨削加工,这样可以避免刀具干涉效应,对几乎任意复杂的零件都可实现机加工级别的精度,成形件加工完成后无须后处理即可直接投入使用,是目前复杂金属模具制造的发展趋势。1.53D打印的未来2016年9月,中国工程院卢秉恒院士在第十八届中国科协年会上做《智能制造与增材制造》报告指出,3D打印技术的未来发展将从3D打印走向4D打印,甚至从4D打印走向5D打印,或者可以赋予打印“基体”生命特征。1.5.14D打印技术4D打印技术最早是Sky1arTibbits提出来的(“4Dprintingisthefutureof3Dprintingandit’sa1readyhere.”WebProNews,2013)。4D打印技术一般指的是智能材料的3D打印,比3D打印增加了一个时间的维度。4D打印的物体不再是一个静态的制件,而是智能的,在外界环境激励(如电磁场、温度场、湿度、光、pH值等)下可实现自身的结构变化。4D打印零件集传感、控制和驱动三种功能于一身,具有模仿生物的自增性、自修复性、自诊断性、自学习性和环境适应性等智能特征。1.5.25D打印技术5D打印技术目前还处于概念提出阶段。4D打印技术是在3D打印技术的基础上增添一个时间维度,5D打印技术则是在4D打印的基础上增加另一个维度,这种新添加的维度目前还没有确切定义,也可能是赋予打印的“基体”以生命特征的维度。5D打印的相关研究进展目前还处于初级阶段。来自苏黎世联邦理工学院(ETHZurich)的复杂材料研究人员DimitriKokkinis、Manue1Schaffner等,在2015年开发出了一种3D打印方法来开发设计具有精美微结构特征的复合材料。在此之前,这种结构特征只在自然生长的生物材料中见到过,利用这种“多材料磁力辅助3D打印系统(MM3Dprinting)”,研究者们设计了“一种可以在5D设计空间编程并制造合成微结构的增材制造方法”。所谓的5D设计空间,指的是除了3D成形能力之外,还包括了合成物的本地控制(1D)和颗粒方向(另外1D)。该5D打印材料可以用于创建类似人体肌腱或者肌肉的机械连接系统,或者制造软机器人的选择性拾取放置系统等。利用仿生设计原理,通过3D打印技术达到更广泛的应用,将有可能加速开发新一代的智能复合材料,使其具有无与伦比的性能和功能、更多的生物相容性,丰富环境友好型资源。5D打印技术或者后续的发展可以实现复制打印出人体的任何器官,甚至可以打印出一个一模一样的人,人体的任何器官坏死或病变,都可以简单切除,并装上同样的打印出来的器官。第2章3D打印的数学模型2.13D打印的本质3D打印技术的本质特征是“降维制造”思想,主要可以抽象为两阶段“降维离散”过程:第一阶段降维离散过程是将三维层面的实体加工信息降维到二维层面的切片信息,实现由3D向2D信息的离散降维加工过渡;第二阶段降维离散过程是以二维层面的切片加工信息降维到一维的加工路径及相关工艺信息,实现由2D向1D信息的离散降维加工过渡。3D打印的过程则是上述“降维制造”思想的逆向过程,即由点到线、线到面、面到体的增材制造过程。现代3D打印的数据处理流程如图2—1所示,即满足在3D打印领域中装备与工艺信息交换的全维度数据模型。图2—13D打印全维度数据模型该全维度数据模型具有以下特点。(1)在3D实体模型层面。用空间域函数方法表达规则分布的梯度材料、梯度结构等信息,与传统的STL等格式相比,可显著降低多材料、多结构模型的文件尺寸;用体素表达不规则的单胞点阵结构,理论上可描述任意复杂的点阵结构单元信息,且其空间重复性分布信息仍然采用空间域函数及细分网格布尔运算描述,显著降低了模型切片过程的时间复杂度与空间复杂度,这使得大型多重梯度、多材料零件的设计与制造成为可能。(2)在2D切片层面。用样条曲线表达实体外围高精度轮廓的几何信息,用光栅网格模型存储实体内部的材料组分、结构、物理属性信息,可获得基本信息无损的多材料、多结构切片。(3)在1D路径层面。采用运动指令和光栅指令统一表述高能束成形、阵列式喷射成形和基于面曝光技术的光固化制造工艺;将坐标系与加工指令分离,可统一支持直角坐标系三维平台、关节臂式的多自由度平台及其与三维动态聚焦振镜扫描系统、辅助轴等复合而成的多种创新设备结构;提出多道指令的概念,实现了多通道并行加工、多材料同步配比输送、多能场复合调控等复杂功能的统一描述,用其表达预热、多组分材料制备与输送、多激光并行加工等复杂的加工细节信息。该全维度数据模型与已有的STL/AMF/3MF(3D)、SLC/CLI(2D)、GCode(1D)等数据格式相比,具备统一表达多材料、多尺度结构3D打印信息处理全过程且信息基本无损,可描述几乎任意复杂的多重梯度结构/材料与点阵信息,支持多种风格迥异的加工方式及其衍生的复合加工方式等优势。上述全维度数据模型可支持几乎所有主流3D打印工艺并覆盖其从3D模型解析、支撑/点阵结构生成、切片、路径规划到加工制造完整的全系列功能;支持几乎任意复杂的点阵结构的自动生成、多重梯度结构/材料的解析与制造;支持复杂能场同步调控、多材料输送、多激光并行制造等先进装备的高级功能。2.2实体建模方法如前所述,现代3D打印发展的重点是多材料、多尺度结构模型的一体化打印制造,这就需要将合适的材料、合适的多尺度结构(从宏观几何结构到微观组织结构)放在模型的对应的空间位置,从而确保最终打印零件达到最优的性能。因此,模型不仅需要表达零件的几何信息,还需要表达零件模型内部不同区域的材料、结构以及其他物理和工艺的信息。实体建模方法是其中最为重要的技术。实体建模是一个构造对象的过程,该对象具有一个实际实体的所有属性。典型的实体建模方法主要有:边界表示(boundaryrepresentation,BRep)法、构造实体几何(constructiveso1idgeometry,CSG)法、参数化造型(parametericmode11ing)法、扫掠(sweep)法、分割表示(decompositionpresentation)法、单元分解(ce11decomposition)法、空间枚举(spatia1occupancyenumeration)法、基于特征的造型(featurebasedmode11ing)法等。其中最常用的表示法是BRep法和CSG法,下面重点介绍这两种建模方法。1.BRep法BRep法是一种以物体的边界表面为基础,定义和描述几何形体的方法。它能给出物体完整的、显式的边界描述。BRep法的理论基础:物体的边界是有限个单元面的并集,而每一个单元面都必须是有界的。BRep法必须具备如下条件:封闭、有向、不自交、有限、互相连接、能区分实体边界内外和边界上的点。BRep法其实就是将物体拆成各种有边界的面来表示,并使它们按拓扑结构的信息来连接,因此BRep法的核心信息是实体的平面,因为边总是附属于某一个平面。BRep法的优点是含有较多的有关面、边、点及其相互关系的信息,即实体外表的细节。BRep法详细记录了构成物体的所有几何信息和拓扑信息,将面、边、顶点的信息分层记录,建立层与层之间的联系,如图2—2所示。这些信息对于工程图绘制以及图形显示都是十分重要的,且非常易于同二维绘图软件衔接以及与曲面建模软件综合应用。通常在某些情况下,曲面模型可以用小平面模型来近似表示和描述。图2—2BRep实体构造原理2.CSG法CSG法是一种通过布尔运算将简单的基本体元拼合成复杂实体的描述方法。最简单的实体表示称为体元,通常是形状简单的物体,如立方体、圆柱体、棱柱、棱锥、球体、圆锥等。CSG法的核心思想是将体元根据集合论的布尔逻辑组合在一起,包括并集、交集以及补集。CSG法对物体模型的描述与该物体的生成顺序密切相关,即存储的主要是物体的生成过程。如图2—3所示,同一个物体完全可以通过定义不同的基本体素,经过不同的集合运算加以构造。CSG法的优点是方法简洁,生成速度快,处理方便,无冗余信息,而且能够详细地记录构成实体的原始特征参数,甚至在必要时也可修改体素参数或附加体素进行重新拼合。与BRep法相比,CSG法的数据量只有BRep法的1;10,CSG法强调的是实体构造的过程,BRep法强调的是实体构造的结果。图2—3CSG实体构造原理上述两种造型方法都有各自的特点和不足,很难相互替代。CSG法以体元为基础,它不具备面、边、点的拓扑结构关系。尽管数据量很小,但局部修改困难,显示速度慢,曲面表示困难。从CAD;CAM的发展看,CSG法不能转换为线框模型,也不能直接显示工程图,因此有很大局限性。而BRep法虽然能表示曲面,有完整的拓扑信息,已经在3D打印领域获得广泛应用,但它难以表达实体内部各区域的材料、结构信息,且数据量极其庞大。在现代3D打印领域,为描述复杂的局部结构特征,通常采用混合模式进行实体构造,综合多种表达方法表达不同尺度、层次的特征。例如,用BRep法表达模型的几何边界,用CSG法表达内部的规则结构信息。此外,分割表示法又称空间单元表示法、(立方体)体素表达法,因为可以给每个体素赋予特定的材料、颜色等属性,在现代3D打印中呈现出越来越重要的地位,未来将广泛用于复杂点阵结构的单胞表达,以及复杂多材料3D打印领域。2.3传统3D打印2.3.1传统3D打印处理过程传统3D打印技术仅仅解决了“形状复杂性”问题,从成形原理层面突破了传统加工中的成形方法(如锻压、冲压、拉伸、铸造、注塑加工等)和切削加工的工艺方法。该阶段的3D打印技术最大的特征是最终打印的零件只能是单材均质,而不能够解决前文所述的“材料复杂性”“层次复杂性”“功能复杂性”问题。传统3D打印技术的一般处理流程如图2—4所示。图2—4传统3D打印技术的一般处理流程STL是用于表示三角形网格的一种文件格式,并非最初专门针对3D打印技术提出的文件格式,而是主要应用于计算机图形学系统中的文件格式。STL文件格式构造的简单、便捷性,使其迅速成为一种事实标准的3D打印领域通用格式。随着STL作为3D打印领域中的主要模型文件格式,针对STL文件格式的模型处理积累了大量的成熟算法,如高效STL切片算法、STL容错切片算法、STL纠错处理方法等。对STL模型离散切片处理后,常用CLI文件格式与SLC文件格式保存离散后的切片数据,如3D打印路径规划后的加工信息等。针对不同的工艺设备,往往采用标准的控制命令语言或者专用的控制命令规范。基于FDM工艺的设备一般采用标准GCode指令,其他的3D打印设备采用自行开发的控制命令规范。在传统的3D打印发展过程中,针对传统STL文件格式中的一些问题,逐渐出现了对STL文件格式的扩展格式规范。随着3D打印技术的发展,传统STL文件格式逐渐不能满足对应的模型需求。后续针对STL文件格式进行了不同方面的扩展更新。CSTL(colorSTL)文件格式是在STL格式的基础上增加了颜色信息扩展,并与STL文件格式保持兼容。CSTL文件格式结构与STL文件格式相同,只是利用了每个三角形的描述数据中的两个保留字节构成的颜色描述字来表示每个三角形平面的颜色信息,即颜色字节的最高位始终是0,其余的字节每5位一组,分别表示各个三角形颜色的Red、Green和Blue信息。目前,CSTL格式还没有一个官方的统一标准,尽管使用的方法相同,但是颜色描述字中的排列和定义会有略微不同,因此相互之间也存在兼容问题。目前CSTL还不能表达纹理特征信息,而纹理贴图则用于表达实际物体的重要特征。ESTL(enhancedSTL)文件格式在STL格式的基础上添加了特征与属性代码信息,采用了四面体结构扩展方式,提高了STL模型表达的精度特征。与二进制STL格式相比,ESTL文件的大小没有发生变化,且可以提供更高的模型表达精度,以及更多的模型的组装加工信息。CS(compressedSTL)文件格式克服了STL文件格式包含大量冗余信息从而导致STL文件过于庞大的缺点,CS文件格式通过移除冗余信息、比特压缩技术等方式,将CS文件大小压缩到STL文件的1/4。CS文件格式可以保证与STL文件格式间的信息无损转换,并且可以快速进行模型拓扑信息的重构处理。在3D打印数据处理中,对3D模型进行切片离散化处理主要包括两个部分:工艺规划和数控加工。在3D打印基本的通用处理流程中传输的数据均为2.5维的层面信息,即实体模型和实体支撑的切片轮廓及其填充路径的数据。传统标准的二维层面数据格式有CLI格式和SLC格式。为了克服快速成形中原有的数据文件格式(CLI和SLC)存储信息不完备、存取效率不高且不具备扩展性的缺点,华中科技大学研究学者张李超等提出了一种新型的快速成形层面数据文件格式ZIF格式。ZIF格式基于树状信息块结构,能够存储快速成形加工过程中所需要的全部数据与工艺参数信息,并且具备实时随机检索文件中任意一层的层面数据的能力,该格式能够内嵌STL文件信息来满足加工过程中通过浏览实体模型优化工艺参数的需要,并通过自定义参数的方式来传输特定工艺专有的加工参数。此外,ZIF格式还可以不断扩展新的信息块来满足未来的新要求。此外,在数控加工中,往往采用最为广泛使用的数控(numericalcontrol)编程语言,即标准的GCode指令规范,或者不同的3D打印设备厂商采用自行开发的专用的控制指令规范。2.3.2传统3D模型来源针对传统的3D打印领域中的STL模型来源,基本上可以将其划分为以下三类:正向设计、逆向设计及正逆向混合设计。1.正向设计正向设计的方法是利用相关的CAD建模软件,通过将概念设计在建模软件中处理为CAD模型,最后将设计好的CAD模型导出为3D打印通用的STL格式。这也是早期设计师在进行产品造型设计阶段主要采用的方法。一般的CAD建模软件还可以提供数控编程、数控加工等过程处理功能。正向设计一般遵循以下的流程:产品功能需求采集产品的概念设计针对模型绘制详细图纸添加处理工艺产品模型加工处理。对于传统的正向设计方法,当需要处理复杂的模型产品时,一般存在产品设计难度大,从而导致产品周期长、产品研制成本高的问题。这样在产品的开发过程中添加了许多不确定性因素。当前典型的可以用于CAD建模的软件有Pro/E、UG、CATIA、Solidworks等。在不同的CAD/CAM系统之间进行数据交换往往存在不同格式数据的交换,目前在该领域已经提出多个通用数据交换接口标准,如用于中间数据转换的格式IGES和STEP。也有相关学者提出将这些中间数据转换格式直接转换为STL格式用于3D打印,如王刘记等在此方面做了相关研究,提出一种将IGES格式转换为STL格式的算法,其核心是保证面与面结合处的三角化的正确性。2.逆向设计逆向设计的方法是利用相关的三维扫描等工具,对产品实物的表面进行数字化处理,即实物模型表面信息相关数据的采集与处理,根据目前较为成熟的逆向三维模型重构算法,实现并获取实物的三维CAD模型。目前已有相关的逆向工程(reverseengineering,RE)设备将上述过程进行完美集成。逆向设计通常是应用于产品外观表面的设计。产品造型的逆向设计由于有起点低、成本低、周期短、易创新等特性,自出现以来便受到了现代工业设计师的关注。逆向设计一般的处理流程是:产品样件数据采集数据处理CAD/CAE/CAM系统模型重构制造系统新产品。在逆向工程中通过三维测量仪器得到的产品外观表面信息的点数据集合格式称为点云格式。一般来说,每个扫描仪制造商和每个点云数据处理软件制造商都有各自特定的二进制文件,如三维扫描仪设备制造商Leica的COE文件格式、RIEGL的3DD文件格式等,点云数据处理软件制造商PoLyWorks的PIF格式、Sp1itFX的FX文件格式O在逆向设计的应用软件中比较知名的有美国ImageWare公司的imageware、英国Renishaw公司的TRACE、法国MDTV公司的StrimandSurfaceReconstruction、英国DelCAM公司的CopyCAD和美国RAINDROP公司的Geomagic等。2.3.3相关格式体系传统3D打印相关的文件格式体系如图2—5所示。图2—5传统3D打印相关的文件格式体系2.4现代3D打印2.4.1现代3D打印主要内容现代3D打印技术正在超越传统单材均质加工技术的限制,逐渐突破三个复杂性:材料复杂性,可以实现多材料、梯度功能材料、多色以及真彩色表面纹理贴图零件的直接快速制造;层次复杂性,匀速跨越多个尺度,能够轻松实现从组织微观结构到宏观零件结构的直接快速制造;功能复杂性,可以在一次加工过程中直接完成不同用途性质的模块的一体化制造,从而简化甚至是省略整个功能件的装配过程。现代3D打印最主要的特征是材料/结构一体化制造。采用面向增材制造设计(designforaddictivemanufacturing,DFAM)来实现承载结构和系列功能组件特征的整体化构造与一体化布局。DFAM设计方法与拓扑优化技术相结合可以实现结构系统的紧凑性和轻量化设计,大幅度提高制件性能。现代3D打印技术的主要理论表现在以下几个方面:(1)建立三维模型的微观结构设计与宏观性能分析一体化理论;(2)多能场交互作用成形理论,如分析材料成形过程中面临的问题,如离散性、各向异性、模糊性、力和温度(梯度)影响,并指导制件加工过程中实现几何形状和微观组织形态的精确控制;(3)多工艺复合成形理论,如增减材复合制造理论。传统3D打印技术的数据模型已经无法满足现代3D打印发展的需求,需要有新的数据处理模型来满足新一代复杂形状建模、复杂材料建模和复杂层次建模的需求。2.4.2统一数字化表达模型传统的表面模型(STL模型)已经不再适用于多色、多材料、多尺度工艺结构的3D打印,而新一代模型格式诸如AMF、3MF等能够表述实体内部材料、工艺结构特征信息,从而满足3D打印后续发展的严格需求。与此对应,传统3D打印技术的数据处理过程也将发生大幅度的更改,以往STL文件数据处理最核心的环节是离散分层切片,其切片结果为用连续小线段组成的一系列轮廓环来指示实体的边界。该结果为连续小线段,其缺点是损失了轮廓精度,且无内部实体材料与工艺结构信息。因此,现代3D打印数据处理流程中的2D层面数据将逐步转换为采用样条曲线轮廓+光栅网格的混合数据结构。构造样条曲线轮廓无损描述曲面三角形的离散化切片轮廓,且各个曲线节点不仅存储几何信息,还存储包括色彩在内的表面工艺信息,由此实现高精度、无信息损失的外轮廓数据表达;采用光栅网格表达模型内部的材料及结构信息,将基于区域(region)模型、基于空间域函数描述梯度材料及微工艺结构信息离散化到光栅网格的每个节点上。由此,该层面数据可统一描述3D打印所需的全部工艺信息,包括多材料、多色、多尺度工艺结构。在控制技术方面,多色、多材料、多尺度工艺结构3D打印的主要转变是,更倾向于采用阵列式喷头实现多种材料(或色彩)的同步喷出,以往主流的基于高能束(激光或电子束)成形的3D打印技术相对难以实现多材料、多色的高效率打印,因此基于光栅扫描的控制方式将在未来3D打印技术中占据更加重要的地位。由于各种3D打印技术基本原理均基于由面到体的增材制造方式,其工艺处理流程虽然千差万别,但内部的数据流程均可抽象为3D模型到2D层面数据,再到1D(或光栅结构)加工路径(指令)的逐步降维的解构过程与反向加工过程。且各类3D打印装备的驱动控制基本可抽象为三种运动:直角坐标系运动(含各种串并联机构运动与激光振镜扫描或两者的复合)、光栅扫描(含面曝光技术和阵列喷射成形),以及多自由度关节臂运动。基于上述内容,可以将多色、多材料、多尺度工艺结构3D打印加工指令统一为下述三种指令集合。(1)运动指令,描述材料输送系统或能量束的几何运动轨迹。(2)光栅指令,适应于阵列喷射成形、面曝光SLA等小平面整体成形的加工工艺。(3)针对多激光并行加工和各个辅助轴、材料配比系统及温控系统的需要,引入多指令流的概念:各个指令流可并发同步执行,在同步、延迟、解除同步指令的控制下,可统一描述预热、多组分材料制备与输送、多激光并行加工等复杂的加工细节。基于上述二维层面数据结构与控制指令即可有效地满足多色、多材料、多尺度工艺结构3D打印技术的要求。2.4.3相关格式体系综上所述,现代3D打印领域的数据格式体系如图2—6所示。图2—6现代3D打印领域的数据格式体系第3章3D打印中三维实体建模数据格式在三维实体建模领域,大量的文件格式相继被提出并采用。本章将总结三维实体建模领域中的数据格式在3D打印领域中的应用情况,并且将对相关的数据格式进行对比分析。从图3—1可以看出在3D打印领域中,这些三维实体建模数据格式基本上分为两大类,其中一类是常规的3D打印数据格式,另一类则是新一代3D打印数据格式。图3—13D打印中三维实体建模数据格式当前3D打印数据格式,一般按照文件格式的特点以及应用情况进行分类。其中,单材均质模型常使用的STL文件格式,一直以来作为事实标准的一种3D打印数据格式被广泛使用;其他类型的文件格式则可以从图3—1中看出。需要说明的是,其他格式往往是其他领域的文件格式在3D打印领域中的应用,通常作为设备支持的文件格式被直接进行切片处理,或者通过"标准中间转换接口,,处理,转化为STL文件继而执行STL切片处理。彩色3D打印支持的文件格式主要集中在PLY、OBJ、VRML等格式上。通常这些文件格式提出的初衷并非为3D打印的专用彩色格式,但在历史环境中还没有出现诸如AMF和3MF的专用3D打印数据格式,因此这些彩色文件格式在3D打印领域也有一定的推广。而IGES作为CAD行业的标准接口文件格式,也被多数3D打印软件间接支持(通常会转换为STL)。SAT作为ACIS3D建模引擎支持的三维模型文件格式,也作为可支持3D打印的文件格式。STEP则是作为IGES的进化版用于3D打印领域。FBX作为现代化3D/4D模型文件格式,支持彩色纹理、动画等诸多信息,甚至可为未来的4D打印提供一定的数据格式支持。DICOM作为医疗领域通行的点云数据文件格式,也被多数3D打印软件间接支持(通常会转换为STL)。PCD作为反求领域常见的点云数据文件格式,在3D打印领域也有相关应用。新一代3D打印格式主要由AMF和3MF文件格式构成,这两种文件格式是被作为3D打印领域的专用格式而提出的。AMF文件格式支持多材料、梯度材料、微结构、全彩色、贴图等最新特征,然而后续文件格式的版本规范则更新较少,业界采用并不广泛。3MF文件格式于AMF格式之后提出,3MF文件格式由微软牵头推广,并获得众多企业支持。此外,3MF文件格式还发布了对切片信息以及加工工艺的支持规范。需要注意的是,由于新一代的3D打印文件格式(如3MF)往往在其使用规范中明确说明了对切片数据的扩展支持,因此该类文件格式可以直接作为3D打印设备的读取文件,或者通过传统切片处理转化为2D层面数据格式后再进行后续处理,这可以在3D打印领域数据格式体系(见图2—6)中看出。3.1STL格式3.1.1STL概述STL(stereolithography)文件格式是美国3DSystems公司提出的一种CAD与3D打印系统之间的数据交换格式,最初应用于3DSystems公司发明的一种3D打印工艺SLA(stereolithographyapparatus,立体光造型),这也是该文件名称的缘由。由于STL格式简单,对三维模型建模方法无特定要求,因此所有的3D打印系统都能接受STL文件进行加工制造,而几乎所有的CAD系统也都能把CAD模型由自己专有的文件格式导出为STL文件。STL文件成为3D打印领域中事实标准的数据输入格式,在逆向工程、有限元分析、医学成像系统、文物保护等方面有广泛的应用。STL文件格式中的“标准三角语言(standardtrianglelanguage)”“标准曲面细分语言(standardtessellationlanguage)”和“立体光刻语言(stereolithographylanguage)”等,其称谓从各个不同侧面表达了该文件格式描述的信息与用途。STL文件是若干空间小三角形面片的集合,每个三角形面片用三角形的三个顶点和指向模型外部的法向量表达。这种文件格式类似于有限元的网格划分,即将物体表面划分为很多个小三角形,用很多个三角形面片去逼近CAD实体模型。它所描述的是一种空间封闭的、有界的、正则的、唯一表达物体的模型,它包含点、线、面的几何信息,能够完整表达实体表面信息。如图3—2所示,STL模型的精度直接取决于离散化时三角形的数目。一般而言,在CAD系统中输出STL文件时,设置的精度越高,STL模型的三角形数目越多,文件体积越大。图3—2三维模型及其三角化表示STL模型是以三角形集合来表示物体外轮廓形状的几何模型。在实际应用中对STL模型数据是有要求的,尤其是在STL模型广泛应用的3D打印领域,STL模型数据均需要经过检验才能使用。这种检验主要包括两方面的内容:STL模型数据的有效性检查和STL模型的封闭性检查。有效性检查包括检查模型是否存在裂隙、孤立边等几何缺陷;封闭性检查则要求所有STL三角形围成一个内外封闭的几何体。由于STL模型仅仅记录了物体表面的几何位置信息,没有任何表达几何体之间关系的拓扑信息,因此在重建实体模型中,凭借位置信息重建拓扑信息是十分关键的步骤。另一方面,实际应用中的产品零件(结构件)绝大多数是由规则几何形体(如多面体、圆柱、过渡圆弧)经过拓扑运算得到的,因此对于结构件模型的重构来讲,拓扑关系重建显得尤为重要。STL文件格式的特征如下。.STL文件非常简单,它存储的是一个个离散的三角形面片的三个顶点坐标和指向实体外方向的单位法向矢量,这些三角形面片由CAD模型表面三角化所得,并且其存储是无序的(即任意的)。.STL文件仅描述三维物体的表面几何形状,没有颜色、材质贴图和其他常见三维模型的属性。.STL格式有文本和二进制两种格式。文本格式具备较好的人机友好性(人类可阅读性),二进制格式则因为存储空间仅为同等信息的文本格式的1/3而广泛用于大型模型的描述。.STL文档描述原始非结构化三角分区时用三维三角形笛卡儿坐标系。STL坐标没有尺度信息,即计量单位为任意的,现实中通常为毫米(mm)或英寸(in)。STL文件最重要的特点是它的简单性,它不依赖于任何一种三维建模方式,它只存放拟合CAD模型表面的离散的三角形面片信息,这些三角形面片的存储顺序是任意的。但是STL模型中隐含着以下的逻辑规则。.三角形面片的法向矢量指向实体的外部,即其三个顶点的排序与法向矢量的关系符合右手法则。.相邻的两个三角形面片之间有且只有一条公共边(即共享两个顶点),并且这两个三角形面片在这条公共边上的走向是相反的。.每一条边必须只被两个三角形面片共用。这些规则被称为STL文件的一致性规则,符合这些逻辑规则的STL模型就是正确的模型,同时这些规则也是检测模型是否正确的主要依据。3.1.2STL组织构成STL文件有两种格式,即二进制和ASCII格式。二进制STL文件将模型数据(三角形面片的三个顶点坐标(x,y,z)和外法矢(lx,ly,lz))均以32比特的单精度浮点数(IEEE754标准)存储,每个面片只占用50字节的存储空间。而ASCllSTL文件则将数据以数字字符串的形式存储,并且中间用关键词分隔开来,平均一个面片需要150字节的存储空间,是二进制STL文件的三倍。但是,ASCIISTL文件具有很强的人机友好性:它可以通过任何普通的文本编辑器直接观察和修改。ASCIISTL文件格式如图3—3所示。图3—3ASCIISTL文件格式二进制STL文件格式如图3—4所示。图3—4二进制STL文件格式一个简单的ASCIISTL文件格式举例如图3—5所示。图3—5ASCIISTL文件格式举例由上述两种格式可看出,二进制和ASCII格式的STL文件存储的信息基本上是完全相同的,只是在二进制STL文件中为每个面片保留了一个16位整型数属性字,一般规定为0,没有特别含义,而ASCIISTL文件则可以描述实体名称(solid<partname>),但一般3D打印系统均忽略该信息。ASCIISTL格式主要是为了满足人机友好性的要求,它可以让用户通过任何一种文本编辑器来阅读和修改模型数据,但在STL模型动辄包含数十万个三角形面片的今天,已经没有什么实际意义,显示和编辑STL文件通过专门的三维可视化STL工具软件会更加合适。ASCIISTL格式的另一个优点是它的跨平台性能很好,二进制文件在表达多字节数据时在不同的平台上有潜在的字节顺序问题,但只要STL处理软件严格地遵循STL文件规范,完全可以避免这个问题的发生。由于二进制STL文件只有相应ASCIISTL文件大小的1/3,因此现在主要应用的是二进制STL文件。3.1.3STL格式分析1.STL文件的一致性规则及错误STL文件是一些离散的三角形网格描述,它的正确性依赖于其内部隐含的拓扑关系。按照3DSystems公司的STL文件格式规范,正确的数据模型必须满足如下一致性规则:.相邻两个三角形面片之间只有一条公共边,即相邻三角形必须共享两个顶点;.每一条组成三角形的边有且只有两个三角形面片与之相连;.三角形面片的法向矢量要求指向实体的外部,其三顶点排列顺序与外法矢之间的关系要符合右手法则。由于三角形网格拟合实体表面算法本身固有的复杂性,一般CAD造型系统输出复杂STL文件时都有可能出现或多或少的错误(即不满足上述一致性规则),出错的STL文件的比例可高达1/7。STL文件的错误种类很多,比较常见的错误有出现无效法矢、重叠三角形面片、裂缝、非正则形体、漏洞等,如图3—6所示。对无效法矢、重叠三角形面片等简单错误已经有成熟的处理方法,比较容易识别和纠正,当前STL文件中难以修复的错误主要可分为如下两类。(1)裂缝、漏洞。STL文件的绝大多数错误均属于出现裂缝、漏洞,该类错误源于两种情况:一种是由于构成边界表示(BRep)模型的几块表面之间会有边界拼接误差,表现在三角形网格上就是裂缝;另一种情况是CAD系统在划分表面三角形网格时,由于遍历算法不完善,在某一区域丢失了一个或相邻的一组三角形,从而形成漏洞。裂缝在表现形式上与漏洞一样,即在STL模型上漏洞(裂缝)边界轮廓所包括的边均只有一个三角形面片与之相连,违反了STL文件的一致性规则。图3—6典型的STL文件错误对于某些基于表面造型的CAD系统(如Catia)而言,设计人员在造型时有时并没有把模型的几块表面精确地拼接在一起,而是留有一个微小的缝隙,或者是两块表面之间有一个微小的重叠区域,这些情况用肉眼在显示器上往往无法观察出来,甚至能够符合数控加工的要求,但一旦输出成STL文件,就会形成贯穿全局的裂缝,如图3—7所示的飞机底部的细长深色区域。由于在Catia中精确拼合几块曲面非常困难,需要耗费设计人员很长的时间去调整,因此Catia生成的复杂STL模型一般都含有大量贯穿全局的裂缝错误。图3—7Catia生成的飞机STL模型(2)出现非正则形体。与上一种情况相反,在划分三角形网格时,有时一条公共边上也会有多于2个的三角形与之相连,这种情况称为多重邻接边。如图3—8所示,造型系统(Pro/E)在分别生成模型的部件1和部件2的三角形网格时,其网格划分都是符合STL文件一致性规则的,但造型系统并没有意识到部件1和部件2在粗白线处是相切的,而粗白线处恰好同时是部件1和部件2的三角形公共边,故在粗白线处将会出现4个三角形共用一条边的情况,即多重邻接边。从几何造型学的角度来说,合法的STL文件所表示的三维形体都应该是正则形体,即形体上的任意一点的足够小的邻域在拓扑上应是一个等价的封闭圆,围绕该点的形体邻域在二维空间中可构成一个单连通域。含有多重邻接边的STL文件所表示的形体为非正则形体。图3—8多重邻接边示例非正则形体的生成有一定的普遍性,特别是Pro/E这类基于特征建模的CAD系统,在输出含有相切特征的模型的STL文件时,一般都会出现这种STL文件局部正确、整体不符合一致性规则的错误。2.STL文件的错误处理方法对于STL模型的显示而言,小的局部漏洞、裂缝并不影响视觉效果,多重邻接边也不会导致视觉外观的任何变化。但快速成形系统的基本任务是将STL模型离散为一层层的二维轮廓切片,再以各种方式填充这些轮廓,生成加工扫描路径。若不能正确处理这些STL错误,在切片时就会出现轮廓错误、混乱等异常情况,甚至会导致系统崩溃。图3—9所示为Pro/E生成的STL文件的常规切片实例。图3—9含多处漏洞的常规切片输出实例目前业界已经推出了一系列STL文件修复程序,多数通用3D打印和CAD软件,如Magics、PowerShape等也具有强大的STL纠错功能。但由于技术上的限制,目前的多数STL纠错程序并不能将STL文件所描述的三维拓扑信息还原出一个整体、全局意义上的实体信息模型,也不具有对物理实体领域相关的完备知识和经验,因而纠错只能停留在比较简单的层次上,无法对复杂错误(如上文所述的由于操作人员在Catia中未能连接几个表面而造成的人为错误)进行自动纠错,或者虽然能将有错误的STL文件修复纠正成一个“文法”上正确的STL文件,但其描述的三维模型与原始模型大相径庭。对复杂的模型一般只有采用人工交互式的纠错方法,该方法一般在三角形级别进行手工的添加、删除或者修改,这是一个冗长、烦琐的过程,失去了快速成形的意义。华中科技大学研发的PowerRP系列软件使用了另外一种思路,它采用降维的思想,基本避开在复杂三维层次上的纠错,但在模型拓扑重构过程中对复杂的STL文件错误(如裂缝、漏洞及非正则形体等)建模,再对STL模型直接切片,利用已建立的错误模型信息可在最大程度上恢复原始正确模型的切片轮廓信息,对切出来的仍然包含错误的切片轮廓,则在二维层次上进行修复,由于二维轮廓信息十分简单,并有闭合性、不相交性等简单的约束条件,特别是对于一般机械零件实体模型而言,其切片轮廓均由简单的直线、圆弧、低次曲线组合而成,因而能很容易地在二维轮廓信息层次上发现错误,并依照以上多种条件、信息及经验进行去除多余轮廓、在轮廓断点处进行插补等操作,从而得到最终的正确(或接近正确)切片轮廓。该容错切片算法在实践中得到检验,能在无人干预的情况下处理90%以上的有错STL文件。对于一般STL纠错软件难以处理的漏洞、裂缝、非正则形体等错误,该算法效果非常明显,由于一般STL文件中错误不多,为进行高强度测试,将若干个不同类型的STL模型随机删除了20%的三角形面片之后,再进行容错切片,切片结果相比原始切片观察不出区别。如图3—10所示,模型Superman原包括约6万个三角形面片,随机删除20%的三角形面片之后,形成5000多个漏洞(漏洞已经用深色线标识出来),其中3000多个为简单的单三角形漏洞,被自动更正,还剩下约2000个一般漏洞(漏洞包含3~12条边)和162个复杂漏洞(漏洞包含12条以上的边,极难被一般纠错软件处理),此时切片算法仍能正常进行切片操作,并且结果与原始切片轮廓基本保持一致。图3—10容错切片算法切片实例容错切片最大的优点是它无须人为干预,操作人员甚至不需要知道他所加工的STL文件是包含错误的,更不需要启动一个STL纠错软件进行各种复杂的纠错操作,这大大降低了操作人员的劳动强度和对CAD领域知识的要求。从实际切片效果来看,容错切片输出的实体切片轮廓一般没有失真,和正确STL文件切片输出的结果是一致的,该算法在华中科技大学推出的HRP系列3D打印设备上得到了长期应用,经受住了实践的考验。3.STL格式的缺陷及其改进STL格式的优缺点分析STL文件能成为3D打印领域事实标准格式的原因主要在于它具有如下优点。(1)格式简单。STL文件仅仅只存放CAD模型表面的离散三角形面片信息,并且对这些三角形面片的存储顺序不作要求,从“语法”的角度来看,STL文件只有一种构成元素,那就是三角形面片,三角形面片由其三个顶点和外法矢构成,不涉及复杂的数据结构,表述上也没有二义性,因而STL文件的读写都非常简单。(2)与CAD建模方法无关。在当前的商用CAD造型系统中,主要存在特征表示法、构造实体几何法等主要形体表示方法,以及参量表示法、单元表示法等辅助形体表示方法。当前的商用CAD软件系统一般根据应用的要求和计算机技术条件采用上述几种方式混合表示,其模型的内部表示格式都非常复杂,但无论CAD系统采用何种表示方法及何种内部数据结构,它表达的三维模型表面都可以离散成三角形面片并输出STL文件。但STL文件的缺点也是很明显的,主要有如下几点。(1)数据冗余,文件庞大。高精度的STL文件比原始CAD数据文件大许多倍,大量数据冗余,网络传输效率很低。(2)使用小三角形平面来近似三维曲面,存在曲面误差。由于各系统网格化算法不同,误差产生的原因与趋势也各不一样,要想减少误差一般只能采用增大STL文件精度等级的方法,这导致文件长度增加,结构更加庞大。(3)缺乏拓扑信息,容易产生错误,切片算法复杂。由于各种CAD系统的STL转换器不尽相同,在生成STL文件时,容易产生多种错误,诊断规则复杂,并且修复非常困难,增加了快速成形加工的技术难度与制造成本。由于STL文件本身并不显示包含三维模型的拓扑信息,因此3D打印软件在处理STL文件时需要花费很长时间来重构模型拓扑结构,然后才能进行离散分层制造。处理超大型STL文件对系统时间和空间资源都提出了非常高的要求,增加了软件开发的技术难度与成本。总的来说,STL文件的缺点主要集中在文件尺寸大和缺乏拓扑信息上,3D打印领域中的模型精度问题可以通过增加STL文件三角形面片数目(即增加文件尺寸)的方法来解决。现在已经出现了多种可以替代STL文件的接口格式,如IGES、AMF和3MF等,但这些格式中目前并没有一种能在3D打印领域得到广泛应用。STL能成为3D打印领域事实标准,除了历史原因外,其格式简单性和CAD建模方法无关性也是非常重要的关键因素。如果要开发一种新的快速成形数据接口格式,不能不考虑STL的优点和影响力,且格式必须符合以下条件。.与STL文件“兼容”。由于新的接口格式不可能立刻被广大CAD和3D打印系统所接受,因此新的格式最好能与STL格式具有双向互换性,即能在不损失信息的基础上实现新的格式与STL文件格式的互相转换。.与STL文件相比,能显著减小文件尺寸,并且具有一定的模型拓扑信息,易于3D打印软件重构模型拓扑结构。.格式比较简单,否则很难得到广泛应用。.支持彩色及多材料等信息,以适应具备彩色及多材料3D打印设备的需求。4.压缩STL格式华中科技大学推出的PowerRP软件提出一种改进的STL格式CS,它较好地满足了上述条件,其文件尺寸只有相应二进制STL文件的1/4以下,并且具有一定的拓扑结构信息,易于重构模型的拓扑结构。最重要的一点是它完全满足上述的“兼容性”要求,能和STL文件进行信息无损的双向转换,能够在3D打印领域得到一定程度的利用。CS格式实现最大限度的存储空间压缩及保留部分拓扑信息的核心主要在于如下两方面的改进。1)删除冗余顶点坐标的思想STL文件是一些离散的三角形网格描述,它的正确性依赖于其内部隐含的拓扑关系,正确的数据模型必须满足如下一致性规则:.相邻两个三角形之间只有一条公共边,即相邻三角形必须共享两个顶点.每一条组成三角形的边有且只有两个三角形面片与之相连。因此E=3/2F(3-1)式中:E为模型的边数;F为模型的三角形面片数。由欧拉公式可得V-E+F≈0(3-2)式中:V为模型的顶点数。由式(3-1)、式(3-2)可推导出V≈F/2(3-3)然而在STL文件中,实际存储的顶点坐标个数为VSTL=3F(3-4)由此可以得出,平均STL模型的每个顶点坐标大约被存储了VSTL/V≈6次,这是一个极大的数据冗余。为了节省存储空间,减少信息冗余,本书提出一种新的模型数据存储方式:.存储模型每个顶点的坐标,顶点按其存储顺序依次分配ID号0,1,2,3,…,n-1;.存储模型中每个三角形面片三个顶点相应的ID号。这样,模型的顶点坐标不会被重复存储,而三角形面片仍然可以通过顶点ID号找到相应的坐标值。2)比特压缩技术一般三维模型所包含的三角形面片数在数千到一百万之间,由式(3-3)可知顶点数的数量级也大致相当,因此顶点ID值一般用10~20位二进制数即可表示出来(1024~1048576)。若存储该ID值仍用传统的32位整数来表示仍然会有较大的数据冗余:所有ID值的高位永远是零,它们占用了大量存储空间而不表示任何信息。故我们提出比特流的思想:在存储这类只用n位(n《32)二进制数即可表示的整数序列时,不再使用32位(4字节)整数存储,而是直接将所有信息的n位以一位接一位的方式连续存储,这种思路的实质是把传统的字节流文件系统转换为比特流文件系统(见图3—-11),可显著减少存储空间。图3—-11使用比特流来存储数据(假定数据为14位二进制数)(1)CS格式介绍。根据以上思想和技术,我们提出具体的文件存储格式如下。.第一部分,文件头(64字节),以下数据项1~5均为32位整数,以小尾数方式存储(即低位字节存储在低地址处):①十六进制数0x43414554,CS文件的标识符;②CS文件格式版本号,目前为3;③模型顶点(存储在第二部分)个数;④顶点ID比特流(存储在第三部分)中每个顶点ID所占用的位数;⑤模型三角形面片个数;⑤无定义,44字节,保留给未来CS文件版本使用。.第二部分,模型顶点坐标数组,以下所有数据均以IEEE754标准32位单精度浮点数格式存储:0.顶点0的坐标:x,y,z;1.顶点1的坐标:x,y,z;…n-1.顶点n-1的坐标:x,y,z;(n为第一部分中的数据③)。.第三部分,模型三角形面片的3个顶点ID的数组,使用前文所述的比特流技术存储:0.面片0的三顶点ID:ID0,ID1,ID2;1.面片1的三顶点ID:ID0,ID1,ID2;…m-1.面片m-1的三顶点ID:ID0,ID1,ID2;(m为第一部分中的数据⑤)。注:比特流(存储在第三部分)中每个顶点ID占用的位数为第一部分中的数据④,它可按式(3-5)计算(其中V为模型顶点数):B=[log2V]+1(3-5)为节省空间,在CS文件中不再存储三角形面片的外单位法向矢量,这个数据是冗余的,与STL文件一样,CS文件也要求三角形面片外法向矢量与三顶点的排列顺序必须符合右手法则,由此通过三顶点坐标即可计算出外单位法向矢量(其中P1,P2,P3分别为三角形面片的三顶点坐标):在比特流存储中,为方便各种软件平台存取,比特流的长度规定为4的整数倍字节,多出的空余位补0。(2)CS文件与STL文件的兼容性。CS文件包含了STL文件的全部模型信息,只是去掉了其中的数据冗余,因此它们之间可以自由地相互转换,而不会丢失任何信息。①将STL文件转换为CS文件。a.从STL文件中读入所有面片三顶点坐标数据;b.将各个重复顶点归并为一个点,并以ID号(0,1,…,n-1)标识,由此所有三角形面片的顶点都可用ID号来表示;c.将以上数据按CS格式规范存储。②将CS文件转换为STL文件。a.从CS文件中读入所有顶点坐标到内存数组;b.从CS文件中依次读入每个三角形的三顶点ID号,并由顶点坐标数组转换为顶点坐标,再按式(3-6)计算外法向矢量,将这些三角形面片信息按STL文件规范存储。(3)CS文件所包含的模型拓扑结构信息。虽然STL文件不包含模型的任何拓扑结构信息,但CS文件在剔除冗余信息的同时,还显式地描述出一部分关于模型的拓扑信息,这些信息对快速成形系统处理模型数据是很有帮助的:在CS文件中,三角形面片顶点描述已经由STL文件中的浮点数矢量转换成整数标量。这样,可以非常容易地找到哪些三角形面片是共享一个顶点的,其中不需要任何比较运算。在我们开发的新一代快速成形软件系统中,已经成功地实现对STL文件、CS文件的统一支持,并且实测表明:CS文件的读入及拓扑重构的时间大约为相应二进制STL文件的1/2。(4)CS文件的存储效率分析。假设一个模型包含F个三角形面片,由式(3-3)可知顶点数V≈F/2,每个顶点坐标需要3个4字节浮点数来存储,则CS文件中的顶点坐标数组将占用空间:每个三角形面片需要3个顶点ID号来表示,每个顶点ID号需B位比特宽度,则由式(3-5)可知,顶点ID号数组占用空间:则CS文件的总长度(忽略文件头尺寸,下同)为当F为100000时,S=12.375F字节;当F为1000000时,S=13.5F字节。若不使用比特压缩技术,则每个顶点ID号所需比特宽度B固定为32(4X8)位,由式(3-7)可知文件尺寸S=18F,比使用比特压缩技术的CS文件尺寸大约增加了50%。STL文件则要大得多:①二进制STL文件尺寸S=50F,大约是对应CS文件的4倍;②ASCIISTL文件尺寸S≈150F,大约是对应CS文件的12倍。(5)压缩文件的性能比较。通过因特网或软盘传输数据时,一般不会直接传输原始文件,而是将其通过压缩程序压缩后再传输。标准的压缩格式是ZIP,而目前通用压缩程序中压缩比最高的是ACE。为了检验CS和STL文件的压缩性能,我们选取了一个典型的STL模型EarthBig(见图3—12),它包含327968个三角形面片,将它分别存储为二进制、ASCIISTL文件及CS文件,并压缩为ZIP格式,其结果如表3-1(表中效率为原始尺寸的比值,值越大说明效率越高)所示。图3—12模型EarthBig由表3-1可见:CS文件具有最小的文件尺寸,甚至比压缩后的ASCII、二进制STL文件还要小得多。此外,CS文件的压缩量很小,ZIP压缩后的文件尺寸大约是原始文件的77%而ASCII、二进制STL文件的压缩比分别约为12%和46%,由此可见,CS文件的确只具有非常少的存储冗余,而ASCIISTL文件则具有大量的冗余成分。如果比较所有模型文件压缩后的最小尺寸,则CS大约为ASCIISTL的30%,二进制STL的50%以下,仍然在尺寸方面具有极强的优势。(6)结论。由上述分析可知,CS文件具有如下优点:.比相应STL文件小得多(1/4~1/12)的尺寸,在压缩后仍可至少小一半.易于实现与RP领域事实标准格式STL文件的双向互换.含有一定的模型拓扑信息,在读入文件及重构模型拓扑结构过程中比STL文件要快得多。CS文件也具有如下缺点:.它是一种新的文件格式,尚未得到已有CAD系统的支持(但我们已经开发了STL、CS双向转换程序,可作为因特网文件传输时的一种高效压缩格式使用).存取比特流文件系统在软件实现上需要一定技巧(不过我们已经写好了相应的例程代码供开发者使用)。总的来说,CS是一种适用于RP系统的高效接口文件格式,在因特网传输及网络制造方面,与STL文件相比,有巨大的优势。5.彩色STL格式CSTL格式是在STL格式的基础上增加颜色信息得到的,并且与STL格式兼容。CSTL文件的结构与STL文件的结构相同,只是利用了每个三角形面片的描述数据中的两个保留字节构成的颜色描述字来表示每个三角形面片的颜色。颜色描述字的最高位始终是0,其余的15位每5位一组,分别表示构成三角形面片颜色的Red、Green和Blue三种基色的亮度(RGB555格式),如表3-2所示。其中,每种基色共有32个不同的亮度等级,三种基色组合起来可表示32768种不同的色调。目前,CSTL格式还没有一个统一的标准,尽管所用的方法相同,但颜色描述字中各位的排列和定义会略有不同,也还存在一定的兼容问题。CSTL继承了STL格式在描述实体几何外形方面简单与后续处理容易的优点,用CSTL格式表示的CAD模型的后续处理相对简单和快速。尽管CSTL格式具有表达实体表面颜色的能力,但很显然它还不能表达表面纹理特征,而纹理是实际物体的一个重要特征,若要表达这些属性,还需要进一步扩展STL格式的定义。3.2AMF格式3.2.1AMF概述AMF(additivemanufacturingfileformat)文件格式是由美国材料与试验协会提出的新一代3D打印交换文件格式。它可以表示模型的颜色、表面纹理、材料等信息,采用空间域函数来表述梯度功能材料和微观工艺结构,且支持曲面三角形等高精度的模型描述方法,能以一种低冗余、高效率的方式组织模型的几何数据。该文件格式目前已被国际标准ISO收

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论