一种立体成像(STL)输入和计算机数字图像处理的研究进展 用于入门级三维打印机的控制(CNC)输入算法外文翻译资料

 2022-03-10 22:07:25

DEVELOPMENT OF A STEREOLITHOGRAPHY (STL) INPUT AND COMPUTER NUMERICAL

CONTROL (CNC) OUTPUT ALGORITHM FOR AN ENTRY-LEVEL 3-D PRINTER[1]

A.C. Brown1[2], D. de Beer2 amp; P. Conradie3

1,3Vaal University of Technology South Africa

1andrewb@vut.ac.za, 3pieterc@vut.ac.za

2North West University

South Africa

Deon.DeBeer@nwu.ac.za,

ABSTRACT

This paper presents a prototype Stereolithography (STL) file format slicing and tool-path generation algorithm, which serves as a data front-end for a Rapid Prototyping (RP) entrylevel three-dimensional (3-D) printer. Used mainly in Additive Manufacturing (AM), 3-D printers are devices that apply plastic, ceramic, and metal, layer by layer, in all three dimensions on a flat surface (X, Y, and Z axis). 3-D printers, unfortunately, cannot print an object without a special algorithm that is required to create the Computer Numerical Control (CNC) instructions for printing. An STL algorithm therefore forms a critical component for Layered Manufacturing (LM), also referred to as RP. The purpose of this study was to develop an algorithm that is capable of processing and slicing an STL file or multiple files, resulting in a tool-path, and finally compiling a CNC file for an entry-level 3D printer. The prototype algorithm was implemented for an entry-level 3-D printer that utilises the Fused Deposition Modelling (FDM) process or Solid Freeform Fabrication (SFF) process; an AM technology. Following an experimental method, the full data flow path for the prototype algorithm was developed, starting with STL data files, and then processing the STL data file into a G-code file format by slicing the model and creating a tool-path. This layering method is used by most 3-D printers to turn a 2-D object into a 3-D object. The STL algorithm developed in this study presents innovative opportunities for LM, since it allows engineers and architects to transform their ideas easily into a solid model in a fast, simple, and cheap way. This is accomplished by allowing STL models to be sliced rapidly, effectively, and without error, and finally to be processed and prepared into a G-code print file.

OPSOMMING

lsquo;n Prototipe stereolitografie (STL) dokument ontvou en instrumenttrajek generasie algoritme vir lsquo;n intreevlak driedimensionele drukker word in dieacute; studie bekendgestel. Driedimensionele drukkers word hoofsaaklik in toevoegingsvervaardiging gebruik deur lae plastiek, keramiek of metaal in al drie rigtings (x, y en z) op lsquo;n plat oppervlak te deponeer. Rekenaar numeriese beheer word egter benodig om die driedimensionele drukker te begelei. Die STL algoritme vorm dus lsquo;n integrale deel vir laag-op-laag vervaardiging. Die doel van hierdie studie is om lsquo;n algoritme te ontwikkel wat die vermoeuml; het om een of meer STL dokumente te prosesseer en te ontvou en lsquo;n gepaste instrumenttrajek te formuleer en daaruit beheerinstruksies vir die drukker te genereer. Die STL lecirc;er is geprosesseer tot lsquo;n Gkode lecirc;er deur middel van die algoritme. Die ontwikkelde algoritme hou innoverende geleenthede in vir laag-op-laag vervaardiging, aangesien dit aan ingenieurs en argitekte toelaat om vinnig en maklik hul idees in driedimensionele soliede voorwerpe te omskep. Dit is moontlik deur die STL modelle vinnig en sonder foute te ontvou en te prosesseer tot lsquo;n Gkode beheerlecirc;er.

INTRODUCTION

In recent years, three-dimensional (3-D) printing, also known as Additive Manufacturing (AM), Solid Freeform Fabrication (SFF), Layered Manufacturing (LM), or Rapid Prototyping (RP), has been identified as an innovative manufacturing technology of functional parts that involves slicing a 3-D model into two-dimensional (2-D) layers, which are then reproduced physically, layer-by-layer, to create the prototype. The 3-D model is first modelled in a Computer-Aided-Design (CAD) system, producing a Stereolithography (STL) file – a tessellated (triangulated) surface model. STL is synonymous to the tessellated standard triangular language model. Even though many other formats have been created for RP, none has been universally adopted in the same way as STL by the various makers of CAD packages [1]. The STL file is then processed by a slicing procedure that results in the creation of a tool-path from the slicersquo;s information. The information produced by the slicing process is saved as Computer Numerical Control (CNC) instructions that are used by a 3-D printer to produce the prototype. G-code is the term used to describe a text file that contains commands to run a CNC machine.

The issue of slicing plays a crucial role in the AM process. Several researchers have developed and presented papers that focus on slicing algorithms. Tata et al. [8] discussed an adaptive slicing algorithm that can vary the slice thickness depending on the geometry of the object to be prototyped, in an attempt to minimise layering error and improve surface quality.

Jin et al. [2] developed an adaptive tool-path generation algorithm that aimed to optimise both the surface quality and fabrication efficiency in RP systems. The algorithm can generate contour tool-paths for the boundary of each RP sliced layer to reduce the surface errors of the model, and zigzag tool-paths for the internal area of the layer to speed up the fabrication process.

The objectives of this research are:

  • Read the STL file/s and determine their orientation.
  • Slicing. This is the process of transferring an STL file to a series of layers. The result of the slicing process is the tool-path, also known as machine path.
  • Tool-path generation. The tool-path is the

    全文共26716字,剩余内容已隐藏,支付完成后下载完整资料


    一种立体成像(STL)输入和计算机数字图像处理的研究进展

    用于入门级三维打印机的控制(CNC)输入算法

    摘要

    本论文介绍了STL文件格式分割和刀具路径生成算法,该算法可用作快速原型(RP)入门级三维(3-D)打印机的数据前端。 3D打印机主要用于增材制造(AM),是在平面(X,Y和Z轴)上以三维方式逐层应用塑料,陶瓷和金属的设备。不幸的是,3-D打印机不能在没有创建用于打印的计算机数字控制(CNC)指令所需的特殊算法的情况下打印对象。 STL算法因此成为分层制造(LM)(也称为RP)的关键组件。本研究的目的是开发一种能够处理和分割STL文件或多个文件的算法,从而生成工具路径,并最终为入门级3D打印机编译CNC文件。该原型算法是针对使用熔融沉积建模(FDM)工艺或固体自由形成(SFF)工艺的入门级3D打印机实施的; AM技术。遵循实验方法,开发了原型算法的完整数据流路径,从STL数据文件开始,然后通过切片模型和创建工具路径将STL数据文件处理为G代码文件格式。这种分层方法被大多数3D打印机用来将2D对象变成3D对象。本研究中开发的STL算法为LM提供了创新机会,因为它允许工程师和架构师以快速,简单和便宜的方式将他们的想法轻松转换为实体模型。这是通过允许STL模型快速,有效且没有错误地切片并最终被处理并准备成G代码打印文件来实现的。

    1引言

    近年来,三维(3D)印刷,也被称为增材制造(AM),固态自由成形制造(SFF),分层制造(LM)或快速成型(RP),已被确定为创新制造技术的功能部分,涉及到将三维模型分割成二维(2-D)层,然后逐层复制物理层以创建原型。 3D模型首先在计算机辅助设计(CAD)系统中建模,生成Stereolithography(STL)文件 - 曲面细分(三角形)曲面模型。 STL与棋盘格标准三角语言模型同义。尽管已经为RP创建了许多其他格式,但是各种CAD软件包制造商都没有像STL那样普遍采用这种格式[1]。然后通过切片过程处理STL文件,从而导致从切片信息创建工具路径。由切片过程产生的信息被保存为计算机数字控制(CNC)指令,三维打印机使用该指令来生成原型。 G代码是用于描述包含运行CNC机器的命令的文本文件的术语。

    切片问题在AM过程中起着至关重要的作用。几位研究人员已经开发并发表了专注于切片算法的论文。Tata等人。文献[8]讨论了一种自适应切片算法,该算法可以根据待制作对象的几何形状改变切片厚度,以尽量减少分层误差并提高表面质量。

    Jin等人[2]开发了一种自适应刀具路径生成算法,旨在优化RP系统的表面质量和制造效率。该算法可以为每个RP切片图层的边界生成轮廓刀具路径,以减少模型的表面误差,并为该层的内部区域生成曲折的刀具路径,从而加速制造过程。

    这项研究的目标是:

    bull;读取STL文件并确定其方向。

    bull;切片。这是将STL文件传输到一系列图层的过程。切片过程的结果是刀具路径,也称为机器路径。

    bull;刀具路径生成。工具路径是在打印过程中三维打印机挤出喷嘴头的移动,以填充每层的内部(填充)。

    bull;G代码文件。这是包含所有切片和刀具路径信息的CNC文件。它也是输入文件,包含入门级3-D打印机的所有命令。

    本研究的重点是为入门级3D打印机开发STL切片和刀具路径生成算法。 RP过程中的主要技术挑战是切片方法和刀具路径生成技术。

    本文的组织结构如下:第2节对文中提出的切片和刀具路径生成算法的结构进行了文献综述,并总结了其他研究人员以前的工作。第3节描述了实验的研究方法,并讨论了所采用算法的各个部分。第四部分介绍了从研究实验中获得的初步研究结果。第6节的结论讨论了对研究和实践的影响。

    2相关工作

    2011年,Vaal技术大学(VUT)技术转让与创新(TTI)中心和董事会执行主任Deon De Beer教授开发并推出了第一个南非IDEA 2 PRODUCT(i2p)实验室,其目标是授权客户(学生,员工和更广泛的社区)将他们的想法发展成实体原型。 i2p实验室具有双重目的,从最初想法的生成,改进和改进开始,到物理原型的结束。因此,客户将在最初的想法和相关技能提升方面体验到增值服务。

    i2p实验室仍处于最初的设计阶段,但它已经由20个AM平台组成。这些打印机由RAPMAN,BFB 3000以及称为UP!的相当新的3D打印机组成。这些3D打印机有两个共同点:FDM技术,以及输入3D模型和制作原型的能力。

    STL文件格式是RP行业中最广泛接受的文件格式。其流行的原因是其简单性和文件生成的简易性,而不涉及非常复杂的CAD软件[3]。 CAD模型的不同构建方向将影响表面质量,构建时间,支撑结构的复杂性以及切片层的总数。建立方向通常基于STL模型的高度和表面质量要求来确定[2]。

    切片过程在LM中非常重要。它极大地影响表面粗糙度形式,错误准备时间和实际机器制造时间。切片是将STL文件传输到一系列图层的过程。对于使用LM技术的FDM机器,此过程涉及通过在特定高度处交叉XY平面以创建模型层(切片)来生成矢量。切片过程的结果是刀具路径,也称为机器路径。目前,开发的切片过程可分为均匀切片和自适应切片。在均匀切片中,两个连续图层之间的距离相同,而在自适应切片中,两个图层之间的距离根据CAD模型的曲面变化而变化。大多数RP系统使用统一切片,而研究仍在探索自适应切片[2]。 Pandey等人[6]提出了基于沉积层的实时边缘轮廓的熔融沉积建模的切片过程。

    Chang [4]的工作借助一个特殊的宏将PowerSHARE中设计的三维模型切分为N个部分。每个Z级的结果部分由诸如直线,圆锥弧和贝塞尔跨度等曲线组成。然后将这些形成轮廓的实体编码并保存到一个自定义的预定义文件中,以便通过使用由同一家公司PowerSHARE [5]提供的计算机辅助制造软件生成工具路径。

    刀具路径创建过程需要切片方法的信息来生成G代码文件所需的信息。通常这个过程是通过读取计算机内存的整个面来进行的;然后切面并对生成的向量进行排序。这种方法需要大量的计算机内存,并且在处理非常大且复杂的STL文件时遇到困难,从而影响最终物理模型的质量和构建时间。 Hayasi和Asiabanpour [5]提出了一种新的工具路径生成算法,该算法解决了超大型STL文件的工具路径生成中的计算机瓶颈问题。塔塔等。 [8]表明,通过升级切片软件可以显着提高LM流程的生产率。

    已经开发了各种类型的刀具路径模式和算法。这些包括轮廓,之字形(也称为十字交叉),螺旋和分区模式,它们对RP原型的构建时间,表面质量,翘曲,成本,刚度和强度有不同的考虑。

    3方法论

    本文介绍的研究已经在OpenGL CASCADE平台上使用C 编程语言实现。 OpenGL平台是一个开源的CAD内核系统,包括用于3D表面和实体建模,可视化以及快速应用程序开发的C 组件。 OpenGL库可以返回填充的多边形或面向多边形的边界轮廓,这些是3D打印和FDM的合适输入。 OpenGL函数用于访问STL文件并用于显示目的。用户界面形式有助于数据输入(例如,层厚度,填充距离,切割平面,3D打印机的最小和最大X,Y和Z速度,挤出速率和筏板选项)。图1显示了用户界面表单。 Fast Light Toolkit(FLTK)也是一个开放源代码的跨平台图形用户界面库,用C 编写,用于创建算法的用户界面,以实现多操作系统的灵活性。

    图1:切割(切片)平面上的小面相交

    该算法的目标是为AM入门级3D打印机创建G代码文件。 该算法的G代码部分使用标准的G代码指令(表1中给出),但它不仅限于这些变量; 可以添加更多的G代码变量。 因为控制3D打印机的代码行以G1,G21等G命令开始,所以称为“G代码”。每个命令都具有不同的功能。 CNC也由控制机器其他方面的M代码和控制3D打印机挤出速度的F代码组成。

    表1:用于G代码文件的CNC变量

    CNC变量

    描述

    G0

    快速定位

    G1

    线性插补

    G21

    将单位设置为毫米

    G28

    返回原位(0,0,0)

    G90

    绝对坐标

    G92

    位置寄存器

    X

    X轴的绝对位置或增量位置

    Y

    Y轴的绝对位置或增量位置

    Z

    Z轴的绝对位置或增量位置

    F

    定义进给速率

    M101

    挤出机打开

    M103

    挤出机关闭

    M104 S

    设定挤出机温度

    以下是G代码如何由算法生成的简要说明。第一步是读取STL文件或多个STL文件。 STL模型由离散三角形组成。该算法使用三角形的方向来确定三角形的哪一侧表示要创建的对象的内部以及哪一侧与空白空间相交。这种#39;顶点顺序指示#39;的概念很重要,并且贯穿整个算法。当切片在某个高度(Z步进值)下进行时,该算法检查STL模型中的每个三角形以验证它与切割平面相交。如果三角形与切割平面相交,则三角形的两个矢量的一端将位于切割平面的上方,另一端位于下方。该算法简单地计算那些矢量与平面相交的位置,并且这些顶点成为输出的一部分作为多边形。由于两个顶点来自同一个三角形,因此它们是相连的。

    如果切面与切割平面相交,则切面中的两个顶点的一端将位于切割平面之上,另一端位于切割平面之下(参见图1)。切割平面和相应刻面之间的这种特定定位关系表示为:

    ((V1 gt; Z) amp; ((V2 lt; Z) amp; (V3 lt; Z))

    还有其他方面的交点。 根据切割面的Z轴值Z,切割平面与相应刻面(F)之间有十种不同的位置关系,如图2所示,并列出如下:

    图2:小平面和切割平面位置关系

    1. (V1 gt; Z) amp; ((V2 lt; Z) amp; (V3 lt;Z))
    2. (V1 lt; Z) amp; ((V2 gt; Z) amp; (V3 gt; Z))
    3. V1 = Z amp; ((V2 lt; Z) amp; (V3 gt; Z))
    4. V1 = Z amp; ((V2 gt; Z) amp; (V3 gt; Z))
    5. V1 = Z amp; ((V2 lt; Z) amp; (V3 lt; Z))
    6. ((V1 = Z) amp; (V2 = Z)) amp; (V3 gt; Z)
    7. ((V1 = Z) amp; (V2 = Z)) amp; (V3 lt; Z)
    8. ((V1 gt; Z) amp; (V2 gt; Z) amp; (V3 gt; Z))
    9. ((V1 lt; Z) amp; (V2 lt; Z) amp; (V3 lt; Z))
    10. ((V1 = Z) amp; (V2 = Z) amp; (V3 = Z))

    在情况I中,小平面的顶点(F)都不接触切割平面,但其中一个顶点(v1)在从y轴或x轴观察时位于切割平面的相反侧。这会创建两个交点,即点1(p1)和点2(p2),如图1所示。这些顶点的点成为输出的一部分,形成一个闭合环的多边形或线组,这表示一层STL模型。两个向量的点积,也称为标量乘积,是通过对矢量分量执行特定程序获得的数字。点积需要计算与切割平面相交的两个矢量之间的角度,从而确定小平面与切割平面的交点位置。

    案例二与案例一相同;唯一的区别是F顶点的位置,但是同样的概念是适用的。在情况III中,F的顶点之一接触切割平面。另一个交点必须使用一条直线的公式来确定,也称为“斜截式”:

    y = mx c (1)

    这称为斜截式,因为#39;m#39;是斜率,#39;c#39;是y轴截距。同样在情况III中,记录交点的z值。该编码使算法能够在代码的其他部分识别获取的线数据。在情况四中,F在一个点上与切割平面接触,导致代码的其余部分不必要的信息。同样的情况也适用于情况V,由于F也仅在一个点触及切割平面,这也导致了冗余信息。

    在情况VII中,F与其两个顶点直接接触切割平面,并且这两个点是交点位置。记录的信息是这些顶点的值和另一个顶点的z值,用于确定是保留还是删除数据。

    在情况VIII和情况IX中,F不与切割平面相交,所以算法忽略这些方面并且继续到z轴上的切割平面的下一个值。在情况X中,F平行于基点或顶点,并且不需要计算交点,因为F的所有顶点都表

    全文共8606字,剩余内容已隐藏,支付完成后下载完整资料


    资料编号:[16879],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。