本发明属于pcb设计技术领域,具体涉及一种pcb设计中走线分割的方法及系统。
背景技术:
pcb,是printedcircuitboard的简称,印刷电路板。
目前在市场上有多款pcb设计软件,cadence作为业界应用最广泛的软件,不仅是它拥有强大的功能和多款相关软件做支撑,还因为它提供了开放式的二次开发接口和较为完善的开发语言库,用户可根据自身的需要进行二次开发。skill语言是cadence软件内置的一种基于c语言和lisp语言的高级编程语言,cadence为skill语言提供了丰富的交互式函数,研究skill语言继而编写工具,投入应用可以大大提高工作效率。
在pcb设计中有时需要把一个区域内的走线切掉,而现有的方式都是一根一根手动断开走线,此种方式效率低,而且在断开处不整齐;现有手动断开都是通过断开线段,断开的线段往往比实际大,如图5中i所示,我们想从线段a的a点,线段b的b点,线段c的c点,线段d的d点断开,而实际中的操作是如图5中ii所示,框内为手动断开的区域,断开线段a、线段b、线段c、线段d,断开后的区域比实际的区域大。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种pcb设计中走线分割的方法及系统,是非常有必要的。
技术实现要素:
针对现有技术的上述pcb设计中需要切掉区域内的走线,通过人工手动断开效率低下,且断开的线段比实际大的缺陷,本发明提供一种pcb设计中走线分割的方法及系统,以解决上述技术问题。
第一方面,本发明提供一种pcb设计中走线分割的方法,包括如下步骤:
s1.生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
s2.在pcb设计工具中启动走线自动分割模块;
s3.配置走线自动分割模块获取待切割区域;
s4.配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分。
进一步地,待切割区域为矩形;
步骤s3中,获取矩形待切割区域的左下角及右上角坐标点。矩形待切割区域,已知左下角及右上角坐标点,即可知矩形四个点的坐标点。
进一步地,步骤s4具体步骤如下:
s41.配置走线自动分割模块获取待切割区域经过的已有布线;
s42.配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;
若是,进入步骤s43;
s43.配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分。重画已有布线在待切割区域外的部分,保证了切割精度,避免了实际切割区域大于待切割区域。
进一步地,步骤s42中,若待切割区域经过的已有布线与待切割区域没有交点,进入步骤s44;
s44.配置走线自动分割模块将已有布线进行删除。待切割区域经过的已有布线与待切割区域没有交点,则确定该已有布线在待切割区域内部,完全删除即可。
进一步地,步骤s42具体步骤如下:
s421.配置自动分割模块获取待切割区域经过的已有布线的起点和终点坐标,并生成坐标点数列;
s422.配置走线自动分割模块获取矩形待切割区域的左下角及右上角坐标点;
s423.配置走线自动分割模块遍历坐标点数列,判断各已有布线的起点及终点是否在待切割区域内部;
当某个已有布线的起点及终点均在待切割区域内部,则判定该已有布线与待切割区域无交点,进入步骤s44;
否则,进入步骤s43。通过遍历所有已有布线的坐标点数列,根据坐标数点数值可准确判断在待切割区域内部的已有布线。
进一步地,步骤s43具体步骤如下:
s431.当某个已有布线的起点或终点之一在待切割区域内部,则判定该已有布线与待切割区域有一个交点;进入步骤s432;
当某个已有布线的起点及终点均在待切割区域外部,则判定该已有布线与待切割区域有两个交点;进入步骤s433;
s432.配置走线自动分割模块获取该已有布线与待切割区域的交点坐标,删除该已有布线,并连接该已有布线在待切割区域外的起点或终点与交点,进行重新布线;
s433.配置走线自动分割模块获取该已有布线与待切割区域的两个交点坐标,删除该已有布线,并连接该已有布线在待切割区域外的起点同侧的交点与起点,以及连接该已有布线在待切割区域外的终点同侧的交点与终点,进行重新布线。当已有布线的起点或终点之一在待切割区域内部,则另一个端点必定在待切割区域外部,此种已有布线可分成内外两部分,整个已有布线删除后,重画该已有布线在待切割区域外部的部分;当已有布线的起点和终点均在待切割区域外部,则该已有布线穿过待切割区域,及该已有布线与待切割区域有两个交点,此种已有布线可分成外-内-外三部分,整个已有布线删除后,重画该已有布线在待切割区域外部的两部分。
进一步地,pcb设计工具采用cadencepcb设计工具。
进一步地,通过命令窗口建立走线自动分割模块与pcb设计工具的接口。
第二方面,本发明提供一种pcb设计中走线分割的系统,包括:
自动分割模块生成单元,用于生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
自动分割模块启动单元,用于在pcb设计工具中启动走线自动分割模块;
待切割区域获取单元,用于配置走线自动分割模块获取待切割区域;
重新布线单元,用于配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分。
进一步地,重新布线单元包括:
已有布线获取子单元,用于配置走线自动分割模块获取待切割区域经过的已有布线;
交点判断子单元,用于配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;
重新布线子单元,用于当已有布线与待切割区域有交点时,配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分;
已有布线删除子单元,用于当已有布线与待切割区域无交点时,删除该已有布线。
本发明的有益效果在于,
本发明提供的一种pcb设计中走线分割的方法及系统,能够快速准确的将待切割区域的已有布线自动进行分割,避免了手动一根一根断开走线效率低,也避免了手动断开总线比实际需求的大,本发明不仅效率高,而且精度高。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的流程示意图一;
图2是本发明的流程示意图二;
图3是本发明的流程示意图三;
图4是本发明的系统示意图;
图5是本发明现有pcb断开线段的示意图;
图6是本发明实施例中待切割区域的已有布线示意图;
图中,1-自动分割模块生成单元;2-自动分割模块启动单元;3-待切割区域获取单元;4-重新布线单元;4.1-已有布线获取子单元;4.2-交点判断子单元;4.3-重新布线子单元;4.4-已有布线删除子单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种pcb设计中走线分割的方法,包括如下步骤:
s1.生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;pcb设计工具采用cadencepcb设计工具;通过命令窗口建立走线自动分割模块与pcb设计工具的接口;
s2.在pcb设计工具中启动走线自动分割模块;
s3.配置走线自动分割模块获取待切割区域;待切割区域为矩形;
s4.配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分。
实施例2:
如图2所示,本发明提供一种pcb设计中走线分割的方法,包括如下步骤:
s1.生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;pcb设计工具采用cadencepcb设计工具;通过命令窗口建立走线自动分割模块与pcb设计工具的接口;
s2.在pcb设计工具中启动走线自动分割模块;
s3.配置走线自动分割模块获取待切割区域;待切割区域为矩形;
s4.配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分;具体步骤如下:
s41.配置走线自动分割模块获取待切割区域经过的已有布线;
s42.配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;
若是,进入步骤s43;
若否,进入步骤s44;
s43.配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分;结束;
s44.配置走线自动分割模块将已有布线进行删除。
实施例3:
如图3所示,一种pcb设计中走线分割的方法,包括如下步骤:
s1.生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
s2.在pcb设计工具中启动走线自动分割模块;
s3.配置走线自动分割模块获取矩形待切割区域及矩形待切割区域的左下角及右上角坐标点;
s4.配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分;具体步骤如下:
s41.配置走线自动分割模块获取待切割区域经过的已有布线;
s42.配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;具体步骤如下:
s421.配置自动分割模块获取待切割区域经过的已有布线的起点和终点坐标,并生成坐标点数列;
s422.配置走线自动分割模块获取矩形待切割区域的左下角及右上角坐标点;
s423.配置走线自动分割模块遍历坐标点数列,判断各已有布线的起点及终点是否在待切割区域内部;
当某个已有布线的起点及终点均在待切割区域内部,则判定该已有布线与待切割区域无交点,进入步骤s44;
否则,进入步骤s43;
s43.配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分;具体步骤如下:
s431.当某个已有布线的起点或终点之一在待切割区域内部,则判定该已有布线与待切割区域有一个交点;进入步骤s432;
当某个已有布线的起点及终点均在待切割区域外部,则判定该已有布线待切割区域有两个交点;进入步骤s433;
s432.配置走线自动分割模块获取该已有布线与待切割区域的交点坐标,删除该已有布线,并连接该已有布线在待切割区域外的起点或终点与交点,进行重新布线;结束;
s433.配置走线自动分割模块获取该已有布线与待切割区域的两个交点坐标,删除该已有布线,并连接该已有布线在待切割区域外的起点同侧的交点与起点,以及连接该已有布线在待切割区域外的终点同侧的交点与终点,进行重新布线;结束;
s44.配置走线自动分割模块将已有布线进行删除。
实施例4:
一种pcb设计中走线分割的方法,包括如下步骤:
s1.生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
s2.在pcb设计工具中启动走线自动分割模块;
s3.配置走线自动分割模块获取如图6所示的矩形待切割区域及矩形待切割区域的左下角及右上角坐标点;
s4.配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分;具体步骤如下:
s41.配置走线自动分割模块获取待切割区域经过的已有布线如图6所示,为线段①、线段②、线段③、线段④以及线段⑤;
s42.配置走线自动分割模块判断待切割区域经过的已有布线线段①、线段②、线段③、线段④以及线段⑤与待切割区域是否有交点;具体步骤如下:
s421.配置自动分割模块获取待切割区域经过的已有布线的起点和终点坐标,并生成坐标点数列lista=(((x11y11)(x12y12))((x21y21)(x22y22))……);
s422.配置走线自动分割模块获取矩形待切割区域的左下角及右上角坐标点;
s423.配置走线自动分割模块遍历坐标点数列,判断各已有布线的线段①、线段②、线段③、线段④以及线段⑤的起点及终点是否在待切割区域内部;
当某个已有布线的起点及终点均在待切割区域内部,则判定该已有布线与待切割区域无交点,如线段②,进入步骤s44;
否则,进入步骤s43;
s43.配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分;具体步骤如下:
s431.当某个已有布线的起点或终点之一在待切割区域内部,如线段③、线段④以及线段⑤,则判定该已有布线与待切割区域有一个交点;进入步骤s432;
当某个已有布线的起点及终点均在待切割区域外部,如线段①则判定该已有布线待切割区域有两个交点;进入步骤s433;
s432.配置走线自动分割模块获取该已有布线线段③、线段④以及线段⑤与待切割区域的交点坐标,删除该已有布线线段③、线段④以及线段⑤,并连接该已有布线线段③、线段④以及线段⑤在待切割区域外的起点或终点与交点,进行重新布线;结束;
s433.配置走线自动分割模块获取该已有布线线段①与待切割区域的两个交点坐标,删除该已有布线线段①,并连接该已有布线线段①在待切割区域外的起点同侧的交点与起点,以及连接该已有布线线段①在待切割区域外的终点同侧的交点与终点,进行重新布线;结束;
s44.配置走线自动分割模块将已有布线如线段②进行删除。
实施例5:
如图4所示,本发明提供一种pcb设计中走线分割的系统,包括:
自动分割模块生成单元1,用于生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
自动分割模块启动单元2,用于在pcb设计工具中启动走线自动分割模块;
待切割区域获取单元3,用于配置走线自动分割模块获取待切割区域;
重新布线单元4,用于配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分;重新布线单元4包括:
已有布线获取子单元4.1,用于配置走线自动分割模块获取待切割区域经过的已有布线;
交点判断子单元4.2,用于配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;
重新布线子单元4.3,用于当已有布线与待切割区域有交点时,配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分;
已有布线删除子单元4.4,用于当已有布线与待切割区域无交点时,删除该已有布线。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
1.一种pcb设计中走线分割的方法,其特征在于,包括如下步骤:
s1.生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
s2.在pcb设计工具中启动走线自动分割模块;
s3.配置走线自动分割模块获取待切割区域;
s4.配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分。
2.如权利要求1所述的pcb设计中走线分割的方法,其特征在于,待切割区域为矩形;
步骤s3中,获取矩形待切割区域的左下角及右上角坐标点。
3.如权利要求2所述的pcb设计中走线分割的方法,其特征在于,步骤s4具体步骤如下:
s41.配置走线自动分割模块获取待切割区域经过的已有布线;
s42.配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;
若是,进入步骤s43;
s43.配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分。
4.如权利要求3所述的pcb设计中走线分割的方法,其特征在于,步骤s42中,若待切割区域经过的已有布线与待切割区域没有交点,进入步骤s44;
s44.配置走线自动分割模块将已有布线进行删除。
5.如权利要求4所述的pcb设计中走线分割的方法,其特征在于,步骤s42具体步骤如下:
s421.配置自动分割模块获取待切割区域经过的已有布线的起点和终点坐标,并生成坐标点数列;
s422.配置走线自动分割模块获取矩形待切割区域的左下角及右上角坐标点;
s423.配置走线自动分割模块遍历坐标点数列,判断各已有布线的起点及终点是否在待切割区域内部;
当某个已有布线的起点及终点均在待切割区域内部,则判定该已有布线与待切割区域无交点,进入步骤s44;
否则,进入步骤s43。
6.如权利要求3所述的pcb设计中走线分割的方法,其特征在于,步骤s43具体步骤如下:
s431.当某个已有布线的起点或终点之一在待切割区域内部,则判定该已有布线与待切割区域有一个交点;进入步骤s432;
当某个已有布线的起点及终点均在待切割区域外部,则判定该已有布线与待切割区域有两个交点;进入步骤s433;
s432.配置走线自动分割模块获取该已有布线与待切割区域的交点坐标,删除该已有布线,并连接该已有布线在待切割区域外的起点或终点与交点,进行重新布线;结束;
s433.配置走线自动分割模块获取该已有布线与待切割区域的两个交点坐标,删除该已有布线,并连接该已有布线在待切割区域外的起点同侧的交点与起点,以及连接该已有布线在待切割区域外的终点同侧的交点与终点,进行重新布线。
7.如权利要求1所述的pcb设计中走线分割的方法,其特征在于,pcb设计工具采用cadencepcb设计工具。
8.如权利要求1所述的pcb设计中走线分割的方法,其特征在于,通过命令窗口建立走线自动分割模块与pcb设计工具的接口。
9.一种pcb设计中走线分割的系统,其特征在于,包括:
自动分割模块生成单元(1),用于生成走线自动分割模块,并建立走线自动分割模块与pcb设计工具的接口;
自动分割模块启动单元(2),用于在pcb设计工具中启动走线自动分割模块;
待切割区域获取单元(3),用于配置走线自动分割模块获取待切割区域;
重新布线单元(4),用于配置走线自动分割模块获取待切割区域与已有布线的交点,将已有布线删除,再重画已有布线在待切割区域外的部分。
10.如权利要求9所述的pcb设计中走线分割的系统,其特征在于,重新布线单元(4)包括:
已有布线获取子单元(4.1),用于配置走线自动分割模块获取待切割区域经过的已有布线;
交点判断子单元(4.2),用于配置走线自动分割模块判断待切割区域经过的已有布线与待切割区域是否有交点;
重新布线子单元(4.3),用于当已有布线与待切割区域有交点时,配置走线自动分割模块根据待切割区域经过的已有布线与待切割区域交点的个数,重画已有布线在待切割区域外的部分;
已有布线删除子单元(4.4),用于当已有布线与待切割区域无交点时,删除该已有布线。
技术总结