一种PCB板的钻孔路径设定方法转让专利

申请号 : CN201580008272.9

文献号 : CN106662858B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 甘明辉余廷勋刘树高徐地华梅领亮刘海涛

申请人 : 广东正业科技股份有限公司昆山市正业电子有限公司

摘要 :

一种PCB板的钻孔路径设定方法,包括步骤:S1,获取PCB板上已经划分好的一个振镜格内的孔位图形,计算该振镜格内两两孔位间的距离,得到距离矩阵,设置起始孔位;S2,获取距离起始孔位最近的孔位并将该孔位作为第二孔位,起始孔位与第二孔位形成初始路径;S3,搜索剩余孔位,将剩余孔位逐个插入当前路径中;S4,计算当前插入孔位对应的增程路径;S5,选择最短增程路径,将最短增程路径所的对应孔位插入路径的相应位置,更新路径;S6,是否所有孔位都已经插入路径;S7,若是,则结束;若不是,则返回步骤S3;该方法能够获取较短的钻孔路径,提高工作效率。

权利要求 :

1.一种PCB板的钻孔路径设定方法,包括以下步骤:

S1,获取PCB板上已经划分好的一个振镜格内的孔位图形,计算该振镜格内两两孔位间的距离,得到距离矩阵,设置起始孔位;

S2,获取距离起始孔位最近的孔位并将该孔位作为第二孔位,起始孔位与第二孔位形成初始路径;

S3,搜索剩余孔位,将剩余孔位逐个插入当前路径中;

S4,计算当前插入孔位对应的增程路径;

S5,选择最短增程路径,将最短增程路径所的对应孔位插入路径的相应位置,更新路径;

S6,是否所有孔位都已经插入路径;

S7,若是,则结束;若不是,则返回步骤S3;

所述步骤S1中所述振镜格通过以下方法划分:

S11、读取PCB板上的图形,并设定分块尺寸以及图形起始位置点;

S12、将图形按照所述设定分块尺寸进行分块,并判断组成所述PCB板上图形的任意一个孔是否位于相邻振镜格的边界上,如果有,则调整该边界上各所述振镜格的尺寸,以使该孔位于其中一个所述振镜格的内部。

2.根据权利要求1所述的PCB板的钻孔路径设定方法,其特征在于,步骤S12中经图形按照所述设定分块尺寸进行分块后,还同时进行如下判断:如果判断连接图形超出振镜范围,对所述连接图形进行独立打断处理。

3.根据权利要求1所述的PCB板的钻孔路径设定方法,其特征在于,步骤S12之后,进行如下步骤:S13、计算所有所述振镜格内所包含的图形的质心位置,判断距离所述图形起始位置点最近的质心,以该质心所处的振镜格作为切割起始位置振镜格;并且获取各所述振镜格的质心之间的相对位置距离,进而得到第一距离矩阵,根据最短路径求取算法对各所述振镜格进行排序,作为各所述振镜格的切割顺序;所述质心为根据所述振镜格内部图形中孔的密度而定。

4.根据权利要求3所述的PCB板的钻孔路径设定方法,其特征在于,步骤S7中判断结果为是之后,结束之前还进行如下步骤:S8、按照步骤S13所形成的振镜格的切割顺序对下一所述振镜格内的图形进行路径设定,并将所有振镜格的切割路径形成总的切割路径。

5.根据权利要求3所述的PCB板的钻孔路径设定方法,其特征在于,所述步骤S11中还进一步设置有X方向权重参数Weights_x1、Y方向权重参数Weights_y1,所述质心之间的相对位置距离进一步根据所述Weights_x和Weights_y1计算获取。

6.根据权利要求1至5任一项所述的PCB板的钻孔路径设定方法,其特征在于,所述步骤S1之前还进一步设置有X方向权重参数Weights_x2、Y方向权重参数Weights_y2,所述步骤S1中,计算孔位之间的距离时,进一步根据所述Weights_x2和Weights_y2计算获取。

7.根据权利要求6所述的PCB板的钻孔路径设定方法,其特征在于,步骤S1中计算孔位之间的距离之前,判断电机的工作状态,如果电机处于联动工作状态,则孔位之间距离通过公式sqrt(dis_x*dis_x+dis_y*dis_y)计算;

如果电机处于单轴工作状态,则孔位之间距离通过公式abs(dis_x)+abs(dis_y)计算;

如果电机处于两轴动作等速工作状态,则孔位之间距离通过公式max(abs(dis_x),abs(dis_y))计算;

其中,dis_x=(xi-xj)*Weights_x2;

dis_y=(yi-yj)*Weights_y2;

(xi、yi)为孔位i的坐标值;(xj、yj)为距离i孔位最近的第二孔j的坐标值。

8.根据权利要求6所述的PCB板的钻孔路径设定方法,其特征在于,Weights_x2的取值范围为0-2;Weights_y2的取值范围为0-2。

说明书 :

一种PCB板的钻孔路径设定方法

技术领域

[0001] 本发明涉及一种钻孔路径设定方法,具体地说是一种PCB板上进行孔位钻取的路径设定方法。

背景技术

[0002] PCB板在加工制造的过程中,其中包含钻孔工序,即将PCB板放置在激光钻孔机上,利用设备对PCB板的相应位置进行钻孔,方便后续使用。现阶段,PCB板上,一个振镜格之内的图形按照图形读入、分割、编辑后的顺序进行切割,同时这些图形可能分成不同层,不同参数,不同焦点进行切割。所以切割这些孔位的顺序可能要重复几遍。一遍的顺序不够优化,整个振镜格图形多层反复切割,可能切割很大一部分时间耗费在了振镜空跳上。

发明内容

[0003] 本发明要解决的技术问题是提供一种PCB板的钻孔路径设定方法,能够获取较短的钻孔路径。
[0004] 为了解决上述技术问题,本发明采取以下技术方案:
[0005] 一种PCB板的钻孔路径设定方法,包括以下步骤:
[0006] S1,获取PCB板上已经划分好的一个振镜格内的孔位图形,计算该振镜格内两两孔位间的距离,得到距离矩阵,设置起始孔位;
[0007] S2,获取距离起始孔位最近的孔位并将该孔位作为第二孔位,起始孔位与第二孔位形成初始路径;
[0008] S3,搜索剩余孔位,将剩余孔位逐个插入当前路径中;
[0009] S4,计算当前插入孔位对应的增程路径;
[0010] S5,选择最短增程路径,将最短增程路径所的对应孔位插入路径的相应位置,更新路径;
[0011] S6,是否所有孔位都已经插入路径;
[0012] S7,若是,则结束;若不是,则返回步骤S3。
[0013] 所述步骤S1中所述振镜格通过以下方法划分:
[0014] S11、读取PCB板上的图形,并设定分块尺寸以及图形起始位置点;
[0015] S12、将图形按照所述设定分块尺寸进行分块,并判断组成所述PCB板上图形的任意一个孔是否位于相邻振镜格的边界上,如果有,则调整该边界上各所述振镜格的尺寸,以使该孔位于其中一个所述振镜格的内部。
[0016] 本发明有选择性的对振镜格内的孔位进行路径设定,得到较短的钻孔路径,配合设备钻孔,能够有效减少设备的操作时间,提高工作效率。
[0017] 可选的,步骤S12中经图形按照所述设定分块尺寸进行分块后,还同时进行如下判断:如果判断连接图形超出振镜范围,对所述连接图形进行独立打断处理。
[0018] 可选的,步骤S12之后,进行如下步骤:
[0019] S13、计算所有所述振镜格内所包含的图形的质心位置,判断距离所述图形起始位置点最近的质心,以该质心所处的振镜格作为切割起始位置振镜格;并且获取各所述振镜格的质心之间的相对位置距离,进而得到第一距离矩阵,根据最短路径求取算法对各所述振镜格进行排序,作为各所述振镜格的切割顺序;所述质心为根据所述振镜格内部图形中孔的密度而定。
[0020] 可选的,步骤S7中判断结果为是之后,结束之前还进行如下步骤:
[0021] S8、按照步骤S13所形成的振镜格的切割顺序对下一所述振镜格内的图形进行路径设定,并将所有振镜格的切割路径形成总的切割路径。
[0022] 可选的,所述步骤S11中还进一步设置有X方向权重参数Weights_x1、Y方向权重参数Weights_y1,所述质心之间的相对位置距离进一步根据所述Weights_x和Weights_y1计算获取。
[0023] 可选的,所述步骤S1之前还进一步设置有X方向权重参数Weights_x2、Y方向权重参数Weights_y2,所述步骤S1中,计算孔位之间的距离时,进一步根据所述Weights_x2和Weights_y2计算获取。
[0024] 可选的,步骤S1中计算孔位之间的距离之前,判断电机的工作状态,如果电机处于联动工作状态,则孔位之间距离通过公式sqrt(dis_x*dis_x+dis_y*dis_y)计算;
[0025] 如果电机处于单轴工作状态,则孔位之间距离通过公式abs(dis_x)+abs(dis_y)计算;
[0026] 如果电机处于两轴动作等速工作状态,则孔位之间距离通过公式max(abs(dis_x),abs(dis_y))计算;
[0027] 其中,dis_x=(xi-xj)*Weights_x2;
[0028] dis_y=(yi-yj)*Weights_y2。
[0029] 可选的,Weights_x2的取值范围为0-2;Weights_y2的取值范围为0-2。

附图说明

[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0031] 附图1为本发明原理流程示意图;
[0032] 附图2为任一PCB板的传统钻孔路径设定效果示意图;
[0033] 附图3为按照本发明设定后的钻孔路径效果示意图;
[0034] 图4为一种具体实施方式中通过现有技术方法设定PCB板上图形孔的路径效果图;
[0035] 图5为一种具体实施方式中通过本发明所提供的方法设定PCB板上图形孔的路径的效果图;
[0036] 图6一种具体实施方式中通过本发明所提供的方法设定PCB板上图形孔的路径的效果图的另一效果图;
[0037] 图7一种具体实施方式中通过本发明所提供的方法设定PCB板上图形孔的路径的效果图的另一效果图;
[0038] 图8为本发明所提供的PCB板上各振镜格的切割排序方法。

具体实施方式

[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述。
[0041] 本发明揭示了一种PCB板的钻孔路径设定方法,包括以下步骤:
[0042] S1,获取PCB板上已经划分好的一个振镜格内的孔位图形,计算该振镜格内两两孔位间的距离,得到距离矩阵,设置起始孔位。对一块已经将钻孔图形划分好振镜格的PCB板,即用分块(振镜格)将整个图形划分成多个区域,选取要第一个切割的振镜格,通常获取该振镜格内最中心的一个孔位作为起始孔位。可根据公式sqrt((xi-xj)*(xi-xj)+(yi-yj)*(yi-yj))来计算,将各个孔位间的距离计算出来,然后记录保存,后续用到时可以直接查询,xi、yi为相应孔位的坐标值。
[0043] S2,获取距离起始孔位最近的孔位并将该孔位作为第二孔位,起始孔位与第二孔位形成初始路径。
[0044] S3,搜索剩余孔位,将剩余孔位逐个插入当前路径中。当搜索到第三个孔位时,将该第三个孔位插入初始路径,由于初始路径只有两个孔位,则第三孔位的插入位置只有两种情况,一是插入起始孔位和第二孔位的中间,另一种是第三孔位插入第二孔位的后面。后面的其他孔位则依此插入。
[0045] S4,计算当前插入孔位对应的增程路径。将所有的剩余孔位插入同一个位置的对应的增程路径计算出来。
[0046] S5,选择最短增程路径,将最短增程路径所的对应孔位插入路径的相应位置,更新路径。从步骤S5的计算结果中,挑选出最短的增程路径,并且确定该增程路径所对应的孔位和所处路径的位置。当该孔位插入路径的相应位置后则更新当前路径。
[0047] S6,是否所有孔位都已经插入路径。
[0048] S7,若是,则完成路径的设定,结束;若不是,则返回步骤S3,继续搜索,并且按照步骤4和5进行处理。
[0049] 例如,选择的起始孔位为孔位i,距离该孔位i最近的为第二孔位j,则初始路径可标记为S={i,j},初始路径长度T=D(i,j),剩余孔位共有3个,分别为S、H和K。搜索剩余孔位时,先后分别搜索到孔位S、孔位H及孔位K,则先将该孔位S插入路径S={i,j}中,具有两个插入位置,分别为插在孔位i和孔位j之间,或者插在孔位j后,即分别是S={i,S,j},该对应的增程路径Dis=D(i,S)+D(S,j)-D(i,j);以及S=={i,j,S},对应的增程路径Dis=D(j,S),将计算结果记录保存。然后将孔位H插入路径S={i,j}中,具有两个插入位置,分别为插在孔位i和孔位j之间,或者插在孔位j后,即分别是S={i,H,j},该对应的增程路径Dih=D(i,H)+D(H,j)-D(i,j);以及S=={i,j,H},对应的增程路径Dih=D(j,H),将计算结果记录保存。再将孔位K插入路径S={i,j}中,具有两个插入位置,分别为插在孔位i和孔位j之间,或者插在孔位j后,即分别是S={i,K,j},该对应的增程路径Dik=D(i,K)+D(K,j)-D(i,j);以及S=={i,j,K},对应的增程路径Dik=D(j,K),将计算结果记录保存。根据上面的计算结果,挑选出最短的增程路径,然后将该孔位插入路径的相应位置,形成新的路径。
[0050] 假如上面第一次插入的孔位是S,最短的增程路径是将孔位S插在路径中间,即新的路径S={i,S,j}。此时还有孔位H和孔位K没有插入路径,则需要继续搜索,此时孔位H和K插入路径S={i,S,j}中,有三种插入方式,分别为在i和S之间、S和j之间及在j后,然后分别计算孔位H和孔位K在此三种情况的增程路径,从中选择最短的增程路径,并将相应的孔位插入相应位置。假设是孔位K插入j后的位置为最短增程路径,即路径更新为S={i,S,j,K}。此时就只有最后一个孔位H还没有插入,此时将该孔位H插入路径S{i,S,j,K}中,并且查看哪一个位置对应的增程路径最短,选择最短增程路径所对应的位置插入。完成整个孔位的路径插入,路径设定完成。
[0051] 当有其他数量的孔位时,则按照上述方式依此插入,从而得到一个最短的增程路径,确保操作时间较短。
[0052] 如附图2所示,为一块待钻孔的PCB板的传统钻孔路径设定示意图,此时路径总长度为29569.024445mm。按照本发明方法优化后的钻孔路径,如附图3所示,路径总长度缩短至12281.674882。
[0053] 一般地,振镜格划分时并非所有孔正好处于振镜格的内部,有部分孔处于相邻两个或几个振镜格的边界线上,这样对振镜格内部图形进行孔路径设定会产生偏差。故本文在上述方法的基础上,进一步对振镜格的划分进行了优化,详见以下描述。
[0054] 请参考图8,步骤S1中所述振镜格通过以下方法划分:
[0055] S11、读取PCB板上的图形,并设定分块尺寸以及图形起始位置点;
[0056] S12、将图形按照所述设定分块尺寸进行分块,并判断组成所述PCB板上图形的任意一个孔是否位于相邻振镜格的边界上,如果有,则调整该边界上各所述振镜格的尺寸,以使该孔位于其中一个所述振镜格的内部。
[0057] 通过以上方法,组成图形的孔或者小独立图形仅仅属于唯一的一个振镜格内部,提高了设定孔路径的精度。
[0058] 另外,对于PCB板上比较大的连接图形,进行如下操作:上述各实施例步骤S12中经图形按照所述设定分块尺寸进行分块后,还同时进行如下判断:如果判断连接图形超出振镜范围,对所述连接图形进行独立打断处理。
[0059] 目前对于所有振镜格的切割顺序是根据振镜格内图形的中心作为排序参考,然而对于振镜格内图形中孔分布非均匀情况而言,通过该计算方式所获取的路径并非最佳切割路径。故本文针对孔分布非均匀图形的振镜格切割排序进行了以下优化。
[0060] 在一种优选的实施例中,上述各实施例中步骤S12之后,还可以增加如下步骤:
[0061] S13、计算所有所述振镜格内所包含的图形的质心位置,判断距离所述图形起始位置点最近的质心,以该质心所处的振镜格作为切割起始位置振镜格;并且获取各所述振镜格的质心之间的相对位置距离,进而得到第一距离矩阵,根据最短路径求取算法对各所述振镜格进行排序,作为各所述振镜格的切割顺序;所述质心为根据所述振镜格内部图形中孔的密度而定,也就是说,质心靠近孔密度大的位置。这样完成对所有振镜格内图形的排序。
[0062] 进一步地,步骤S7中判断结果为是之后,结束之前还进行如下步骤:
[0063] S8、按照步骤S13所形成的振镜格的切割顺序对下一所述振镜格内的图形进行路径设定,并将所有振镜格的切割路径形成总的切割路径。
[0064] 这样,将所有振镜格中的图形进行切割路径排序,并形成总的切割路径。
[0065] 在实际钻孔平台上,因为工艺要求,密集图形可能要求X或Y方向优先,例如卷对卷打孔时,此时会要求尽量减少Y方向的来回拉扯,这就要求X方向优先打孔。故针对不同工艺要求,上述各实施例还可以进一步行进如下优化。
[0066] 上述各实施例中,步骤S11中还进一步设置有X方向权重参数Weights_x1、Y方向权重参数Weights_y1,所述质心之间的相对位置距离进一步根据所述Weights_x和Weights_y1计算获取。
[0067] 当然,所述步骤S1之前还进一步设置有X方向权重参数Weights_x2、Y方向权重参数Weights_y2,所述步骤S1中,计算孔位之间的距离时,进一步根据所述Weights_x2和Weights_y2计算获取。
[0068] 其中,Weights_x1与Weights_x2数值可以相同,也可以不同;同理Weights_y1与Weights_y2数值可以相同,也可以不同。Weights_x1、Weights_x2、Weights_y1、Weights_y2的取值范围为0-2,初始默认值可以设定为1。
[0069] 经试验证明,电机工作状态对路径优化也有一定的影响。
[0070] 步骤S1中计算孔位之间的距离之前,判断电机的工作状态,如果电机处于联动工作状态,则孔位之间距离通过公式D1=sqrt(dis_x*dis_x+dis_y*dis_y)计算;
[0071] 如果电机处于单轴工作状态,则孔位之间距离通过公式D2=abs(dis_x)+abs(dis_y)计算;
[0072] 如果电机处于两轴动作等速工作状态,则孔位之间距离通过公式D3=max(abs(dis_x),abs(dis_y))计算;
[0073] 其中,dis_x=(xi-xj)*Weights_x2;dis_y=(yi-yj)*Weights_y2。
[0074] 在一种具体PCB板的孔路径设定中,请参考图4至图7,图4为一种具体实施方式中通过现有技术方法设定PCB板上图形孔的路径效果图;图5为一种具体实施方式中通过本发明所提供的方法设定PCB板上图形孔的路径的效果图;其中,孔位间距通过D1公式计算,振镜格分块大小为35mm*35mm,Weights_x2和Weights_y2的数值均为1.0;图6为一种具体实施方式中通过本发明所提供的方法设定PCB板上图形孔的路径的另一效果图;其中,孔位间距通过D1公式计算,振镜格分块大小为25*25,Weights_x2和Weights_y2的数值分别为1.0和1.2;图7一种具体实施方式中通过本发明所提供的方法设定PCB板上图形孔的路径的效果图的另一效果图;其中,孔位间距通过D2公式计算,振镜格分块大小为25mm*25mm,Weights_x2和Weights_y2的数值分别为1.0和1.2。
[0075] 从图4中可以看出,原始图形有两层,每层有不同的切割参数,在实际切割中有些参数可以实时切换,有些参数必须一层切割完成后才能后切换。在这里设定的是每层参数独立,不能实时切换,所以整个切割面需要切割两遍。图1可以看出,原始数据直接导入后,顺序路径中大部分的路径都在空走,严重影响切割钻孔效率。
[0076] 然而,与现有技术相比,通过本发明中所提供的方法所获取的路径(图5、图6、图7)均被不同程度地优化。
[0077] 需要说明的是,本文中所述的“打印”为使用激光钻或其他方法去除材料的意思,即打印孔相当于切割孔,切割后的孔可以为通孔,也可以为盲孔,也就是说,本文中“打印”的含义与“切割”基本含义相同。
[0078] 以上对本发明所提供的一种PCB板上进行孔位钻取的路径设定方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。