基于飞秒激光的大尺寸3D微纳打印控制方法、模型切片方法及装置与流程

文档序号:17700672发布日期:2019-05-17 22:21阅读:102来源:国知局
本发明涉及3d微纳打印
技术领域
:,尤其涉及一种基于飞秒激光的大尺寸3d微纳打印控制方法、模型切片方法及装置。
背景技术
::双光子打印是一种新型的激光直写技术,学名是飞秒激光诱导双光子聚合。飞秒激光是一种脉冲激光,一般单脉冲持续时间在几十到几百飞秒量级;双光子聚合是一种光固化效应,某些材料分子在吸收两个相同或不同波长光子后会发生聚合效应,从液态转换为固态。双光子打印这是一种极具潜力的3d微纳打印技术,可以实现100nm级甚至更精细的精密结构加工,可以应用在许多高精尖领域,如:微纳光子学、微电子系统、微流控、生物医学以及微型器件等。一个典型的双光子打印系统由以下几个部分组成:(1)一台飞秒激光器,(2)一个扫描系统,(3)光学聚焦器件,(4)一个光强控制元件以及一个光开关,(5)一台安装有控制软件的电脑。激光束由飞秒激光器发出,经过光强控制元件和光开关,由光学聚焦器件聚焦到光刻胶内部,焦点处的光刻胶会发生双光子聚合效应从而由液态转变为固态,通过软件控制扫描系统使得激光焦点在光刻胶内部逐层扫描,实现3d打印。传统的双光子打印技术虽然打印精度很高,但受限于物镜的通光孔径大小,使得打印尺寸往往有限,一般如果要获得100nm级的打印精度往往需要使用高倍油镜,而高倍油镜的一个视野范围通常只有100um级别,因此很难实现mm级模型的打印。目前基于双光子打印进行mm级模型的打印有两种技术思路:一种是针对周期性结构,例如光栅,一块大光栅可以分解为n块相同小光栅的组合,这种周期性结构实现大尺寸打印比较简单,主要的技术问题在于控制算法的优化,即如何将多周期打印联动,从而最终实现一个由多个小结构组合拼接而成的大尺寸结构;另一种是针对非周期性结构,此类结构也可以通过小尺寸结构拼接而成,但每个小尺寸结构均不相同,这种结构实现难度大,技术问题除了上述的控制算法优化问题外,更主要在于模型切片算法。目前用于双光子打印的模型切片多采用开源算法,此类开源算法源自于宏观尺寸结构的3d打印,完全不具备分区域切片的能力,因此需要针对双光子打印特点,单独开发优化一套大尺寸双光子打印的模型切片算法,用于实现非周期性结构的mm级双光子打印。技术实现要素:本发明首先提供了一种基于飞秒激光的大尺寸3d微纳打印模型切片方法,对大尺寸模型进行分区,再对每个分区进行切片,可实现对mm级结构的双光子打印。具体技术方案如下:一种基于飞秒激光的大尺寸3d微纳打印模型切片方法,包括以下步骤:(i)将待切片的3d模型进行散点化处理,获得填充整个3d模型的离散点的坐标数据xyz_table_total数组;(ii)沿x方向将3d模型均分为nx个分区,沿y方向将3d模型均分为ny个分区,将整个3d模型分为nx·ny个打印分区;(iii)按照y坐标值的大小顺序对打印分区进行分行并对行排序;在每行打印分区中,按照x坐标值的大小顺序对打印分区进行排序;获得所有打印分区的排列顺序;(iv)按照打印分区的排列顺序,分别依次对每个打印分区进行切片,完成整个3d模型的切片。所述的3d模型可以使用3d绘图软件进行绘制,或者可从网上直接下载获得stl格式的3d模型。可使用现有开源软件对3d模型进行散点化处理,获得填充整个3d模型的离散点的坐标数据。步骤(iii)中,按照y坐标值的大小顺序对打印分区行进行排序时,可以按照y坐标值由小到大的顺序,也可以按照y坐标值由大到小的顺序。步骤(iii)中,在每行打印分区中,按照x坐标值的大小顺序对打印分区进行排序,包括:若y方向上,打印分区属于奇数行,则该行打印分区按照x坐标值由小到大排序;若y方向上,打印分区属于偶数行,则该行打印分区按照x坐标值由大到小排序。或者,若y方向上,打印分区属于奇数行,则该行打印分区按照x坐标值由大到小排序;若y方向上,打印分区属于偶数行,则该行打印分区按照x坐标值由小到大排序。即,所有打印分区的排列顺序呈“z”字形,这样大大简化了后续3d打印的路径,一定程度上提高了打印速度。步骤(iv)中,对每个打印分区进行切片包括以下步骤:(iv-1)提取当前打印分区的y方向起点ystart和y方向终点yend、x方向起点xstart和x方向终点xend;(iv-2)从所述的xyz_table_total数组中,提取y坐标值在[ystart,yend]区间内、x坐标值在[xstart,xend]区间内的离散点的坐标数据,获得xyz_table数组;(iv-3)按照离散点的z坐标值的大小顺序对当前打印分区中的离散点进行分层,获得每层离散点的坐标数据xy_table数组;(iv-4)按照离散点的y坐标值的大小顺序对每层离散点进行分行,获得每行离散点的坐标数据x_table数组;(iv-5)依次按照行、层的次序对离散点进行排序,获得当前打印分区中所有离散点坐标数据的序列;(iv-6)按照所述序列中各个离散点的顺序,依次判断各个离散点是否为连续线段的起点或终点;若为是,则标记该离散点为起点或终点;若为否,则将该离散点从所述序列中剔除;遍历当前打印分区中所有的离散点后,完成当前打印分区的模型切片。步骤(iv-1)中,在获取x方向起点xstart和x方向终点xend时,需要根据当前打印分区所属于的行的奇偶性进行判断,使得整个打印过程呈“z”字形进行。在xy_table数组中,各个离散点的z坐标值都相同;在x_table数组数组中,各个离散点的z坐标值都相同且y坐标值都相同。采用该技术方案进行切片时,仅保留连续线段的起点或终点,剔除了起点或终点之间的大量的连续点,从而剔除了大量不必要的信息,只保留必要数据,有效降低了输出文件的数据量,从而大大降低了后续打印控制算法的运算量,在保证打印精度的前提下大大提高了3d微纳打印的速度。步骤(iv-5)包括:(iv-5a)按照y坐标值的大小顺序对xy_table数组进行排序:当z坐标值为奇数时,按照y坐标值由小到大排序;当z坐标值为偶数时,按照y坐标值由大到小排序;(iv-5b)按照x坐标值的大小顺序对x_table数组进行排序:当y坐标值为奇数时,按照x坐标值由小到大排序;当y坐标值为偶数时,按照x坐标值由大到小排序。对于不同的层,若上一层按照y坐标值由小到大排列,则下一层按照y坐标值由大到小排列;对于同一层,若一行按照x坐标值由小到大排列,则下一行按照x坐标值由大到小排列。所有离散点经过排序后,在每一层上,离散点的排列顺序呈“z”字形;不同的层,上一层按照由上到下排序,下一层则按照由下到上排序,这样大大简化了后续3d打印的路径,一定程度上提高了打印速度。步骤(iv-6)中,判断各个离散点是否为连续线段的起点或终点包括:(iv-6a)若离散点为x_table数组的第一个点或最后一个点,则该离散点为起点或终点;(iv-6b)当|x_table(k)-x_table(k-1)|≠t且|x_table(k+1)-x_table(k)|=t时,则第k个离散点为起点;当|x_table(k)-x_table(k-1)|=t且|x_table(k+1)-x_table(k)|≠t时,则第k个离散点为终点;其中,x_table(k)为第k个离散点的x坐标值;x_table(k-1)为第k-1个离散点的x坐标值;x_table(k+1)为第k+1个离散点的x坐标值;t为连续线段上相邻两点之间的间距。t的大小由进行散点化软件的参数决定,一般开源散点化处理软件获得的相邻离散点之间的间距为1。由于经散点化处理后获得的离散点中,连续相邻的两个点的间距为t,当某点与其前一点的间距不为t,与其后一点的间距为t时,则说明该点为起点;当某点与其前一点的间距为t,与其后一点的间距不为t时,则说明该点为终点。通过此方法可以判断某离散点是否为起点或终点,若离散点为起点或终点,则标注该离散点为起点或终点。若离散点不为起点或终点,从序列中剔除即可,离散点序列中仅记录起点或终点,在后续3d打印中,根据需要补齐起点与终点之间的打印点即可,这样可以大大降低输出文件的数据量,也可以大大降低后续打印控制算法的运算量,从另一个方面提高3d打印速度。步骤(iv)中,完成整个3d模型的切片后,将剔除起点与终点之间的离散点的坐标点序列后,转化为类g-code一维字符串数组,得到模型切片后的数据文件。基于相同的发明构思,本发明还提供了一种基于飞秒激光的大尺寸3d微纳打印模型切片装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现所述高速3d微纳打印模型切片方法的步骤。所述的基于飞秒激光的大尺寸3d微纳打印模型切片装置可以为桌面型计算机、笔记本电脑、掌上电脑、微型计算机、远程服务器等计算机设备。飞秒激光3d微纳打印设备一般由飞秒激光器、光开关、振镜、物镜、z轴压电平移台、xy轴平移台组成,各个部件受控于电脑。激光束由飞秒激光器发出,经过光开关,由高倍物镜紧聚焦到光刻胶内部。光开关用于控制光路通断,根据需求,还可以在光开关之前添加光功率控制系统用于调节激光能量。振镜用于控制激光焦点在物镜焦平面上进行二维扫描。z轴压电平移台用于升降样品台,通过将振镜与z轴压电平移台联动控制可以实现小区域内3d模型的打印,xy轴平移台用于大尺寸平移打印区域,可实现大尺寸3d模型的打印。本发明还提供了一种基于飞秒激光的大尺寸3d微纳打印控制方法,包括以下步骤:(i)读取所述的高速3d微纳打印模型切片方法得到的数据文件,从所述数据文件中获取当前打印分区所包含的坐标点数据,并将其还原为离散点的坐标数据序列;(ii)将3d微纳打印设备中的数据采集卡设置为连续采用模式,初始化振镜位置并记录为当前位置,初始化z轴压电平移台的位置,打开光开关;(iii)从所述数据文件中获取首个打印分区所包含的坐标点数据,控制xy轴平移台移动到起点位置;(iv)从所述的坐标数据序列中依次读取离散点的坐标值数据和状态数据,将该离散点作为目标位置;判断目标位置与当前位置的z坐标是否一致;如果不一致,控制z轴压电平移台移动到相应位置;如果一致,z轴压电平移台不移动;根据该离散点的坐标值数据和状态数据生成当前位置与目标位置之间的打印波形图,将该打印波形图写入数据采集卡并同步输出控制振镜的移动,振镜移动到目标位置后,将该目标位置修改为当前位置;(v)重复步骤(iv),直至当前打印分区所有离散点读取打印完毕;(vi)从所述数据文件中获取下一打印分区所包含的坐标点数据,并将其还原为离散点的坐标数据序列,重复步骤(iii)~(v);(vii)重复步骤(vi),直至所有打印分区打印完毕,关闭光开关,结束打印。本发明的大尺寸3d微纳打印控制方法与所述的3d模型切片方法相互配套使用,该打印控制方法使用面向对象思路设计,将双光子打印系统分解成model(模型)与control(控制)两大类元件。model类元件负责实现该类元件的属性与方法,细分为pzt类、打印类和平移台类,每种类又分为hal(硬件抽象层)和终端层。hal用于定义在多种该类终端上执行的常用指令,终端层则定义或者重写具体的执行指令;pzt类用于定义z轴压电平移台的运动指令;打印类用于定义振镜以及光开关的控制指令;平移台类用于定义xy大尺寸平移台的运动指令。control类元件负责实现该类元件的ui界面以及各元件之间的通讯,细分为pzt控制类、打印控制类和平移台控制类。pzt控制类ui界面用于显示当前pzt的各种状态信息,包括温度、当前位置、连接状态等信息,同时可以在ui面板对pzt进行控制、输入指令;打印控制类ui界面用于显示当前打印位置、振镜状态、光开关状态等信息,同时可以控制振镜旋转、光开关打开/关闭以及读取打印路径文件;平移台控制类ui界面用于显示xy大尺寸平移台的当前位置、状态等信息,同时可以控制平移台移动、设置速度与加速度等功能。所有控制类元件都有一个“命令控制中心”功能,用于和其它控制类元件以及模型类元件进行通讯。此外,打印控制类元件是整个打印系统的中枢,负责操作打印控制算法进行打印。优选的,所述的步骤(iv)中,根据该离散点的坐标值数据和状态数据生成当前位置与目标位置之间的打印波形图,包括:根据离散点的状态数据判断该离散点为起点还是终点;若该离散点为起点,则关闭光开关,控制振镜直接移动到目标位置;若该离散点为终点,则根据当前位置与目标位置的坐标值数据生成打印波形图。所述的打印波形图以当前位置为起点,以目标位置为终点,波形图的横坐标轴为时间轴,纵坐标轴为x或y方向位置;波形图的采样率和采样数根据具体打印需求设定。生成打印波形图即为在当前位置与目标位置之间补充打印点,打印点之间的间隔与打印点的个数根据具体的打印需求设定。优选的,所述的步骤(i)之前还包括:设置周期性打印次数,获取3d模型x方向长度和y方向长度;所述的步骤(vii)之后还包括:(viii)控制xy轴平移台移动一个x方向长度或y方向长度,重复步骤(i)~(vii)进行下一周期的打印;(ix)重复步骤(viii),直至完成所有周期的打印。进一步优选的,周期性打印顺序的规则为:设置x方向上的周期性打印次数为mx次,y方向上的周期性打印次数为my次;(a)先按照x方向由小到大的顺序进行周期打印,每次将xy轴平移台向x轴正方向移动一个x方向长度;(b)完成x方向上的mx次周期性打印后,将xy轴平移台向y轴正方向移动一个y方向长度;(c)在按照x方向由大到小的顺序进行周期打印,每次将xy轴平移台向x轴负方向移动一个x方向长度;(d)重复步骤(a)~(c),直至完成所有的周期性打印。基于相同的发明构思,本发明还提供了一种基于飞秒激光的大尺寸3d微纳打印控制装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机处理器执行所述计算机程序时实现所述大尺寸3d微纳打印控制方法的步骤。所述的基于飞秒激光的大尺寸3d微纳打印控制装置可以为桌面型计算机、笔记本电脑、掌上电脑、微型计算机、远程服务器等计算机设备。与现有技术相比,本发明的有益效果为:(1)本发明的大尺寸3d微纳打印模型切片方法先对大尺寸模型进行分区,再对每个分区进行切片,可实现对mm级结构的双光子打印;(2)本发明的大尺寸3d微纳打印模型切片方法只记录了连续线段的起点和终点,剔除了所有不必要的信息,只保留必要数据,有效降低了输出文件的数据量,并大大降低了打印控制算法的运算量;(3)本发明的大尺寸3d微纳打印控制方法采用连续采样模式,坐标点数据写入数据采集卡缓存的同时输出数据到振镜,两者同时进行且相互独立,可以使打印效率最大化;(4)本发明的大尺寸3d微纳打印控制方法采用面向对象思路设计,振镜控制、z轴压电平移台控制、xy大尺寸平移台控制并行运算,彼此独立,有效提高程序执行效率。附图说明图1为本发明所使用的双光子打印系统的结构示意图;图2为模型切片方法的流程示意图;图3为双光子打印系统的元件分类图;图4为3d打印控制方法的流程示意图;图5为采用本发明的模型切片方法和3d打印控制方法打印出3d结构的电子显微镜图片,其中(a)为非周期性结构的飞机模型,(b)为周期性结构的光栅。具体实施方式下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。本发明所使用的双光子打印系统结构如图1所示。激光束由飞秒激光器发出,经过光开关,由高倍物镜紧聚焦到光刻胶内部。光开关用于控制光路通断,根据需求,还可以在光开关之前添加光功率控制系统用于调节激光能量。振镜用于控制激光焦点在物镜焦平面上进行二维扫描。z轴压电平移台用于升降样品台,通过将振镜与z轴压电平移台联动控制可以实现小区域内3d模型的打印,xy轴平移台用于大尺寸平移打印区域,可实现大尺寸3d模型的打印。为了实现3d大尺寸模型的打印,需要对光开关、振镜、z轴压电平移台以及xy轴平移台进行联动控制。使用面向对象思路的自研控制算法,可以分别对上述元件进行独立控制,各元件并行操作,相互之间只通过“消息”进行通讯,完美实现了对整个双光子打印系统的高效操控,且单一元件的错误不会影响整体系统的运行。本发明主要包括以下两个方面:(i)模型切片方法优化,(ii)3d打印控制方法优化。模型切片方法的流程如图2所示,具体步骤如下:(1)使用3d绘图软件绘制或者网上下载获得stl格式的3d模型;(2)使用开源软件对3d模型进行散点化处理,得到填充整个3d模型的离散点的坐标数组,定义为xyz_table_total;(3)通过x方向最大值xmax和最小值xmin,计算3d模型x方向长度dlx=xmax-xmin;同理通过y方向最大值ymax和最小值ymin,计算3d模型y方向长度dly=ymax-ymin;将3d模型x方向均分为nx个分区,将3d模型y方向均分为ny个分区,最终将3d模型均分为nx·ny个打印区域;(4)计算当前打印区域y方向起点ystart=ymin+dly/ny·(iy-1),终点yend=ymin+dly/ny·iy,其中iy表示当前打印区域为在y方向上的第iy个打印区域,iy=1,2,3…ny;将ystart记录为当前打印区域所有坐标点的y方向分区坐标ly;(5)计算当前打印区域x方向起点xstart=xmin+dlx/nx·(ix-1),终点xend=xmin+dlx/nx·ix;其中,ix表示当前打印区域为在x方向上的第ix个打印分区;将xstart记录为当前打印区域所有坐标点的x方向分区坐标lx;计算时,ix的取值需要根据该打印区域的iy的奇偶进行判断:若iy为奇数,则ix=1,2,3…nx;若iy为偶数,则ix=nx,nx-1,nx-2…1;(6)遍历xyz_table_total中的所有坐标点,提取出y坐标落在当前打印区域ystart到yend之间,x坐标落在当前打印区域xstart到xend之间的坐标点,取名为xyz_table数组;(7)对xyz_table数组,按照z坐标由小到大进行排序,同时获得一个只有z坐标组成的数组,剔除重复项,由小到大排序,取名为z_unique;(8)从xyz_table数组中提取满足z=z_unique(i),i=1,2,3…的数组,取名为xy_table;(9)按照y坐标对xy_table数组进行排序,当i(即z)取奇数时,y的排序方式为由小到大,当i(即z)取偶数时,y的排序方式为由大到小,同时获得一个只有y坐标组成的数组,剔除重复项,排序方式同上,取名为y_unique;(10)从xy_table数组中提取满足y=y_unique(j),j=1,2,3…的数组,取名为x_table;(11)按照x坐标对x_table数组进行排序,当j(即y)取奇数时,x的排序方式为由小到大,当j(即y)取偶数时,x的排序方式为由大到小;(12)判断x_table(k),k=1,2,3…是否为一条连续线段的起点或终点,判断方法是:若所判断坐标点为x_table的第一个点,则必为起点,若为最后一个点,则必为终点;其他点由于开源软件获得的离散点坐标相邻点间距为1,则当|x_table(k)-x_table(k-1)|=1且|x_table(k+1)-x_table(k)|≠1时,该坐标为终点;当|x_table(k)-x_table(k-1)|≠1且|x_table(k+1)-x_table(k)|=1时,该坐标为起点。引入状态量st,当该点为起点时,st=0;当该点为终点时,st=1。如果该点是起点或终点,则将该点坐标xyz及状态量st写入待输出数组,如果不是,舍弃该坐标点;(13)k=k+1,判断是否遍历x_table数组;如果为是,则执行步骤(14),如果为否,则执行步骤(12);(14)j=j+1,判断是否遍历xy_table数组;如果为是,则执行步骤(15),如果为否,则执行步骤(10);(15)i=i+1,判断是否遍历xyz_table数组;如果为是,则执行步骤(16),如果为否,则执行步骤(8);(16)ix=ix+1或ix-1(根据该打印分区iy的奇偶性进行选择),判断当前打印区域是否为x方向最后一个分区,即判断ix是否等于nx(当iy为奇数)或ix是否等于1(当iy为偶数);如果为是,则执行步骤(17),如果为否,则执行步骤(5);(17)iy=iy+1,判断当前打印区域是否为y方向最后一个分区,即判断iy是否等于ny;如果为是,则执行步骤(18),如果为否,则执行步骤(4);(18)将二维待输出数组转化为类似g-code的一维字符串数组,记录格式规定为“字母+数字”,将每一行与上一行比较,内容相同则不记录,内容变化则记录下来,需要记录的值有7个,分别为状态量st、点坐标量x/y/z、分区坐标变化量ldx/ldy、分区坐标点数no。其中,分区坐标变化量为每行分区坐标lx/ly与上一行分区坐标lx/ly比较后的差值,如差值为零不记录,否则记录。例如“st1x2.5y1.3z0.2ldx8.8ldy-10.5no3000”表示该坐标点为终点,其xyz坐标为(2.5,1.3,0.2),该打印分区x方向正向移动8.8,分区y方向反向移动10.5,该分区共有3000个坐标点;(19)将dlx、dly以及总分区数nx·ny三个数据作为第一行添加到输出的一维字符串数组中,取名为tpp_path.txt;(20)结束。上述模型切片方法中,对大尺寸模型先进行打印区域,再对每个打印分区进行切片,并且在对每个打印分区进行切片时只记录了一条线段的起点和终点,剔除了所有不必要的信息,只保留必要数据,有效降低了输出文件的数据量,并大大降低了打印控制算法的运算量。本发明与上述3d模型切片方法相配套的控制方法使用面向对象思路设计,将双光子打印系统分解成model(模型)与control(控制)两大类元件,具体分类如图3所示。model类元件负责实现该类元件的属性与方法,细分为pzt类、打印类和平移台类,每种类又分为hal(硬件抽象层)和终端层。hal用于定义在多种该类终端上执行的常用指令,终端层则定义或者重写具体的执行指令;pzt类用于定义z轴压电平移台的运动指令;打印类用于定义振镜以及光开关的控制指令;平移台类用于定义xy大尺寸平移台的运动指令。control类元件负责实现该类元件的ui界面以及各元件之间的通讯,细分为pzt控制类、打印控制类和平移台控制类。pzt控制类ui界面用于显示当前pzt的各种状态信息,包括温度、当前位置、连接状态等信息,同时可以在ui面板对pzt进行控制、输入指令;打印控制类ui界面用于显示当前打印位置、振镜状态、光开关状态等信息,同时可以控制振镜旋转、光开关打开/关闭以及读取打印路径文件;平移台控制类ui界面用于显示xy大尺寸平移台的当前位置、状态等信息,同时可以控制平移台移动、设置速度与加速度等功能。所有控制类元件都有一个“命令控制中心”功能,用于和其它控制类元件以及模型类元件进行通讯。此外,打印控制类元件是整个打印系统的中枢,负责操作打印控制算法进行打印。相配套的3d打印控制方法的流程如图4所示,具体步骤如下:(1)读取打印路径文件tpp_path.txt第一行,获得3d模型x方向长度dlx、y方向长度dly、分区数nx·ny三个数据,读取完成后删除路径文件第一行;(2)设置周期性打印次数,x方向周期打印mx次,y方向周期打印my次。周期性打印的规则是首先按照x方向由小到大进行,每次的移动量是dlx,完成mx次周期打印后按照y方向由小到大移动一次,移动量是dly,之后再按照x方向由大到小进行,每次的移动量是-dlx,完成mx次周期打印后再按照y方向由小到大移动一次,移动量dly,以此类推,直到mx·my个周期打印完成。基于这个规则,生成一个mx·my行2列的二维数组,每行表示xy轴平移台每次x/y方向的移动量。在实际打印中,dlx/dly可能会有一些偏差,可以在此处进行修正,dlx’=dlx+qx,dly’=dly+qy,qx/qy是修正量;(3)还原非周期性3d模型结构。读取新路径文件第一行,获得当前打印分区坐标点数no,根据no将当前分区的坐标点数据从路径文件中提取出来,将其还原为一个由状态量st、x/y/z坐标、分区坐标变化量ldx/ldy组成的二维数组,取名为xyz_path。提取完成后删除当前分区在路径文件中的部分;(4)设置数据采集卡为连续采样模式,初始化振镜位置并记录为当前位置,初始化z轴压电平移台位置,打开光开关;(5)读取xyz_path数组第一行,判断是否存在分区移动ldx/ldy命令,若存在,控制xy轴平移台移动到相应位置,若不存在,则执行步骤(6);(6)从xyz_path数组中读取第i个坐标(i=1,2,3…)的xyz坐标值,将其作为目标位置;(6-1)判断目标位置与当前位置的z坐标是否一致;如果不一致,控制z轴压电平移台移动到相应位置;如果一致,z轴压电平移台移动不移动;(6-2)读取第i个坐标的st状态量,判断st是否等于0;若为是,则关闭光开关,控制振镜直接移动到目标位置,并将该坐标位置记录为当前位置;若为否,则xy方向各自生成一个以当前位置为起点,目标位置为终点的波形,波形横坐标为时间,纵坐标为x/y方向位置,波形的采样率和采样数根据具体打印需求设定,将波形写入数据采集卡,输出控制振镜转动,振镜移动到目标位置后,将该目标位置的坐标位置修改为当前位置;(7)i=i+1,判断是否遍历xyz_path数组,如果为是,则执行步骤(8),如果为否,则执行步骤(6);(8)关闭光开关;(9)判断是否完成所有nx·ny个打印分区的打印,如果是,则执行步骤(10),如果为否,执行步骤(3);(10)判断是否完成mx·my个周期性结构打印,如果是,则执行步骤(11),如果为否,根据步骤(2)中生成的移动量数组控制xy机械平移台移动,进入下一打印周期,移动完成后,重新读取完整的打印路径文件tpp_path.txt,删除第一行后执行步骤(3);(12)结束。本发明只在打印开始与结束时对光开关进行了控制,也可以在打印过程中,当每条线段打印结束或每层打印结束时关闭光开关,换行或换层结束后再打开光开关。两种控制方式分别对应于快速打印和慢速打印,但使用的算法相同,应视为使用了相同的方案。本发明中平移台类/控制类可以增加对物镜在z方向上的控制,控制方式与xy平移台完全相同,是否增加物镜z方向的程序控制对算法复杂度没有任何影响,应视为使用了相同的方案。上述3d打印控制方法采用连续采样模式,坐标点数据写入数据采集卡缓存的同时输出数据到振镜,两者同时进行且相互独立,可以使打印效率最大化;再者,上述3d打印控制方法采用面向对象思路设计,振镜控制、z轴压电平移台控制、xy大尺寸平移台控制并行运算,彼此独立,有效提高程序执行效率。采用本发明的模型切片方法对尺寸为0.5mm×0.5mm的飞机模型进行切片,由4个不同结构的小尺寸区域拼接而成,并采用配套的3d打印控制方法进行打印,打印结果如图5(a)所示。采用本发明的模型切片方法对尺寸为1mm×1mm的周期性光栅结构进行切片,由2500个20um×20um的小尺寸光栅拼接而成,并采用配套的3d打印控制方法进行打印,打印结果如图5(b)所示。本发明的模型切片方法和3d打印控制方法配合使用,对大尺寸(毫米级)非周期性结构和周期性结构均具有良好的打印结果。以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1