3D打印的立体光固化快速成型扫描路径排序方法技术

技术编号:12018348 阅读:108 留言:0更新日期:2015-09-09 15:01
本发明专利技术公开了一种3D打印的立体光固化快速成型扫描路径排序方法,本发明专利技术是将所有扫描线段以最少跳转为原则进行分区,每一个区块包含尽量多的扫描线段,分块之后,再对所有区块排序,从而实现扫描线段的高效排序。本发明专利技术具有分区块的路径排序减少了跳转距离,提高了扫描效率;分区块的路径排序使得扫描路径整体化程度较高,打印连续程度高,有助于提高成型强度的特点。

【技术实现步骤摘要】
3D打印的立体光固化快速成型扫描路径排序方法
本专利技术涉及3D打印
,尤其是涉及一种能够有效提高扫描效率的3D打印的立体光固化快速成型扫描路径排序方法。
技术介绍
在3D打印(快速成型)
中,SLA(StereoLithographyApparatus)工艺是一种分层制造技术,计算机控制激光束对光敏树脂为原料的表面进行扫描,被扫描区域的树脂薄层产生光聚合反应而固化,形成零件的一个薄层。工作台下移一个层厚的距离,以便在固化好的树脂表面再敷上一层新的液态树脂,进行下一层的扫描加工,如此反复,直到整个原型制造完毕。SLA的工作主要是对光敏树脂材料进行扫描,扫描又分为对支撑结构的扫描,对模型轮廓的扫描和对模型实体的扫描,这其中对模型实体的扫描占据最大的工作量。实体扫描路径是以大量的独立分割的线段形式存在的,当模型形状较复杂时就必须对扫描路径进行合理排序,避免过多跳转。因此对模型实体扫描路径的排序对于SLA的工作效率至关重要。通常采用栅格扫描的方式获得扫描线段,在获得扫描线段之后,如果不对扫描线段进行有效合理的排序,则在打印过程中会出现较多跳转,导致扫描效率降低。中国专利授权公开号:CN104057611A,授权公开日2014年9月24日,公开了一种基于扫描线倾角优化的3D打印填充路径生成方法,包括如下步骤:步骤1、根据3D打印设备以及打印精度要求确定合适的填充路径间距和层厚,并根据层厚得到需加工实体的SLC文件;步骤2、以填充路径间距作为偏置距离生成轮廓偏置路径,并将最内层偏置路径进行偏置得到偏置多边形Ω;步骤3、根据加工效率和打印精度具体要求确定各层的扫描线倾角;步骤4、根据扫描线倾角以及扫描线与偏置多边形Ω的交点生成内部填充路径。该专利技术的不足之处是扫描效率低。
技术实现思路
本专利技术的专利技术目的是为了克服现有技术中的扫描路径生成方法的扫描效率低的不足,提供了一种能够有效提高扫描效率的3D打印的立体光固化快速成型扫描路径排序方法。为了实现上述目的,本专利技术采用以下技术方案:一种3D打印的立体光固化快速成型扫描路径排序方法,包括如下步骤:(1-1)建立各个扫描线段的二维数组:利用水平栅格切割,获得物体沿垂直方向依次排列的所有扫描线段,设定每个扫描线段的数据结构为SEGMENT,SEGMENT包括表征扫描线段左端点的属性Point,表征扫描线段右端点的属性OtherPoint,表征扫描线段所在区块索引的属性BIndex;设定扫描线段水平方向最大数目为M,垂直方向最大数目为N,则将位于垂直方向第n行的第m条扫描线段存储为数组Segments[n][m],n∈N,m∈M;(1-2)遍历所有扫描线段,根据扫描线段重叠率OverlapRatio和跳转距离TravelDistance,将所有扫描线段分为K个区块BLOCK:设定区块列表为Blocks[K],最大区块索引MaxBIndex的初始值为0,设定最小重叠率MinOverlapRatio和最大跳转距离MaxTravelDistance;(1-2-1)设定当前的扫描线段为Segments[n][m],当前行的下一行扫描线段为Segments[n-1][:],将当前扫描线段Segments[n][m]与下一行所有扫描线段分别进行匹配:Segments[n-1][:]中,n-1代表行号,冒号:代表列数不确定的含义,:可以是1至L,L为自然数。Segments[n][m]中n和m分别表征确定的数值,Segments[n][m]代表一个确定的扫描线段。假设Segments[n][m]为SegmentA,Segments[n-1][:]中任一条扫描线段为SegmentB,则计算SegmentA和SegmentB的重叠距离OverlapDistance,并利用下述公式计算重叠率OverlapRatio和跳转距离TravelDistance:OverlapRatio=OverlapDistance/|SegmentB.Point-SegmentB.OtherPoint|,TravelDistance=Min{|SegmentA.Point-SegmentB.Point|,|SegmentA.Point-SegmentB.OtherPoint|,|SegmentA.OtherPoint-SegmentB.Point|,|SegmentA.OtherPoint-SegmentB.OtherPoint|};设定参数MinOverlapRatio和MaxTravelDistance;重叠距离OverlapDistance为两条扫描线段重合的长度,SegmentA.Point和SegmentA.OtherPoint分别表示SegmentA的左端点和右端点;SegmentB.Point和SegmentB.OtherPoint分别表示SegmentB的左端点和右端点;对Segments[n-1][:]中L条扫描线段顺次计算与Segments[n][m]的OverlapRatio和TravelDistance,若OverlapRatio>MinOverlapRatio,则判定为匹配;若OverlapRatio≤MinOverlapRatio并且TravelDistance<MaxTravelDistance,则判定为匹配;若OverlapRatio≤MinOverlapRatio并且TravelDistance≥MaxTravelDistance,判定为不匹配;当判定结果为匹配时,则将Segments[n][m]的BIndex设置为上一行的所有扫描线段中对应的那条扫描线段的Bindex,表明属于同一区块,同时结束对Segments[n][m]的匹配判断;当判定结果为不匹配时,则使Segments[n][m]的BIndex增加1,表明这是一个新的区块,同时使MaxBIndex增加1;当所有扫描线段遍历完成之后,按照每条扫描线段的BIndex将扫描线段分配进区块列表Block[K]中;(1-3)根据区块距离BlockDistance对各个区块排序:建立用于描述区块特征的数据结构BLOCK,BLOCK包括表征区块的开始扫描线段的属性StartSegment,表征区块的结束扫描线段的属性EndSegment,表征是否翻转的属性IsFlip,选定区块列表Blocks[K]中任意一个区块作为初始区块BlockCur;(1-3-1)将初始区块BlockCur存入排序区块列表SortBlocks[K]中,分别计算区块列表Blocks[K]中的各个区块与BlockCur的区块距离BlockDistance,将最小BlockDistacne所对应的区块作为最近邻区块BlockNearest;(1-3-2)将BlockNearest存入SortBlocks[K],并且从区块列表Blocks[K]中移除BlockCur,将BlockNearest作为新的BlockCurt;(1-3-3)重复步骤(1-3-1)至(1-3-2)直至区块列表Blocks[K]中只有一项;(1-4)按照区块存入SortBlocks[K]的顺序依次提取各个区块内部的扫描线段,至此,完成了所有扫描线段的排序。3D打印通常采本文档来自技高网
...
3D打印的立体光固化快速成型扫描路径排序方法

【技术保护点】
一种3D打印的立体光固化快速成型扫描路径排序方法,其特征是,包括如下步骤:(1‑1)建立各个扫描线段的二维数组:利用水平栅格切割获得物体的沿垂直方向依次排列的所有扫描线段,设定每个扫描线段的数据结构为SEGMENT,SEGMENT包括表征扫描线段左端点的属性Point,表征扫描线段右端点的属性OtherPoint,表征扫描线段所在区块索引的属性BIndex;设定扫描线段水平方向最大数目为M,垂直方向最大数目为N,则将位于垂直方向第n行的第m条扫描线段存储为数组Segments[n][m],n∈N,m∈M;(1‑2)遍历所有扫描线段,根据扫描线段重叠率OverlapRatio和跳转距离TravelDistance,将所有扫描线段分为K个区块BLOCK:设定区块列表为Blocks[K],最大区块索引MaxBIndex的初始值为0,设定最小重叠率MihOverlapRatio和最大跳转距离MaxTravelDistance;(1‑2‑1)设定当前的扫描线段为Segments[n][m],当前行的下一行扫描线段为Segments[n‑1][:],将当前扫描线段Segments[n][m]与下一行所有扫描线段分别进行匹配:假设Segments[n][m]为SegmentA,Segments[n‑1][:]中任一条扫描线段为SegmentB,则计算SegmentA和SegmentB的重叠距离OverlapDistance,并利用下述公式计算重叠率OverlapRatio和跳转距离TravelDistance:OverlapRatio=OverlapDistance/|SegmentB.Point‑SegmentB.OtherPoint|,TravelDistance=Min{|SegmentA.Point‑SegmentB.Point|,|SegmentA.Point‑SegmentB.OtherPoint|,|SegmentA.OtherPoint‑SegmentB.Point|,|SegmentA.OtherPoint‑SegmentB.OtherPoint|};设定参数MihOverlapRatio和MaxTravelDistance;对Segments[n‑1][:]中L条扫描线段顺次计算与Segments[n][m]的OverlapRatio和TravelDistance,若OverlapRatio>MihOverlapRatio,则判定为匹配;若OverlapRatio≤MihOverlapRatio并且TravelDistance<MaxTravelDistance,则判定为匹配;若OverlapRatio≤MihOverlapRatio并且TravelDistance≥MaxTravelDistance,判定为不匹配;当判定结果为匹配时,则将Segments[n][m]的BIndex设置为上一行的所有扫描线段中对应的那条扫描线段的Bindex,表明属于同一区块,同时结束对Segments[n][m]的匹配判断;当判定结果为不匹配时,则使Segments[n][m]的BIndex增加1,表明这是一个新的区块,同时使MaxBIndex增加1;当所有扫描线段遍历完成之后,按照每条扫描线段的BIndex将扫描线段分配进区块列表Block[K]中;(1‑3)根据区块距离BlockDistance对各个区块排序:建立用于描述区块特征的数据结构BLOCK,BLOCK包括表征区块的开始扫描线段的属性StartSegment,表征区块的结束扫描线段的属性EndSegment,表征是否翻转的属性IsFlip,选定区块列表Blocks[K]中任意一个区块作为初始区块BlockCur;(1‑3‑1)将初始区块BlockCur存入排序区块列表SortBlocks[K]中,分别计算区块列表Blocks[K]中的各个区块与BlockCur的区块距离BlockDistance,将最小BlockDistacne所对应的区块作为最近邻区块BlockNearest;(1‑3‑2)将BlockNearest存入SortBlocks[K],并且从区块列表Blocks[K]中移除BlockCur,将BlockNearest作为新的BlockCurt;(1‑3‑3)重复步骤(1‑3‑1)至(1‑3‑2)直至区块列表Blocks[K]中只有一项;(1‑4)按照区块存入SortBlocks[K]的顺序依次提取各个区块内部的扫描线段,至此,完成了所有扫描线段的排序。...

【技术特征摘要】
1.一种3D打印的立体光固化快速成型扫描路径排序方法,其特征是,包括如下步骤:(1-1)建立各个扫描线段的二维数组:利用水平栅格切割,获得物体沿垂直方向依次排列的所有扫描线段,设定每个扫描线段的数据结构为SEGMENT,SEGMENT包括表征扫描线段左端点的属性Point,表征扫描线段右端点的属性OtherPoint,表征扫描线段所在区块索引的属性BIndex;设定扫描线段水平方向最大数目为M,垂直方向最大数目为N,则将位于垂直方向第n行的第m条扫描线段存储为数组Segments[n][m],n∈N,m∈M;(1-2)遍历所有扫描线段,根据扫描线段重叠率OverlapRatio和跳转距离TravelDistance,将所有扫描线段分为K个区块BLOCK:设定区块列表为Blocks[K],最大区块索引MaxBIndex的初始值为0,设定最小重叠率MinOverlapRatio和最大跳转距离MaxTravelDistance;(1-2-1)设定当前的扫描线段为Segments[n][m],当前行的下一行扫描线段为Segments[n-1][:],将当前扫描线段Segments[n][m]与下一行所有扫描线段分别进行匹配:假设Segments[n][m]为SegmentA,Segments[n-1][:]中任一条扫描线段为SegmentB,则计算SegmentA和SegmentB的重叠距离OverlapDistance,并利用下述公式计算重叠率OverlapRatio和跳转距离TravelDistance:OverlapRatio=OverlapDistance/|SegmentB.Point-SegmentB.OtherPoint|,TravelDistance=Min{|SegmentA.Point-SegmentB.Point|,|SegmentA.Point-SegmentB.OtherPoint|,|SegmentA.OtherPoint-SegmentB.Point|,|SegmentA.OtherPoint-SegmentB.OtherPoint|};其中,SegmentA.Point表示线段SegmentA的左端点,SegmentA.OtherPoint表示线段SegmentA的右端点,SegmentB.Point表示线段SegmentB的左端点,SegmentB.OtherPoint表示线段SegmentB的右端点;设定参数MinOverlapRatio和MaxTravelDistance;对Segments[n-1][:]中L条扫描线段顺次计算与Segments[n][m]的OverlapRatio和TravelDistance,若OverlapRatio>MinOverlapRatio,则判定为匹配;若OverlapRatio≤MinOverlapRatio并且TravelDistance<MaxTravelDistance,则判定为匹配;若OverlapRatio≤MinOverlapRatio并且TravelDistance≥MaxTravelDistance,判定为不匹配;当判定结果为匹配时,则将Segments[n][m]的BIndex设置为上一行的所有扫描线段中对应的那条扫描线段的Bindex,表明属于同一区块,同时结束对Segments[n][m]的匹配判断;当判定结果为不匹配时,则使Segments[n][m]的BIndex增加1,表明这是一个新的区块,同时使MaxBIndex增加1;当所有扫描线段遍历完成之后,按照每条扫描线段的BIndex将扫描线段分配进区块列表Block[K]中;(1-3)根据区块距离BlockDistance对各个区块排序:建立用于描述区块特征的数据结构BLOCK,BLOCK包括表征区块的开始扫描线段的属性StartSegment,表征区块的结束扫描线段的属性EndSegment,表征是否翻转的属性IsFlip,选定区块列表Blocks[K]中任意一个区块作为初始区块BlockCur;(1-3-1)将初始区块BlockCur存入排序区块列表SortBlocks[K]中,分别计算区块列表Blocks[K]中的各个区块与BlockCur的区块距离BlockDistance,将最小BlockDistacne所对应的区块作为最近邻区块BlockNearest;(1-3-2)将BlockNearest存入SortBlocks[K],并且从区块列表B...

【专利技术属性】
技术研发人员:唐庭阁赵晓波
申请(专利权)人:杭州先临三维科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1