CN113486624B - 实现pcb走线自动等间距的方法、装置及电子设备 - Google Patents

实现pcb走线自动等间距的方法、装置及电子设备 Download PDF

Info

Publication number
CN113486624B
CN113486624B CN202110747979.9A CN202110747979A CN113486624B CN 113486624 B CN113486624 B CN 113486624B CN 202110747979 A CN202110747979 A CN 202110747979A CN 113486624 B CN113486624 B CN 113486624B
Authority
CN
China
Prior art keywords
line segment
segment group
target
segments
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110747979.9A
Other languages
English (en)
Other versions
CN113486624A (zh
Inventor
江桂东
陈志列
庞观士
陈向阳
黄炳依
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yanxiang Smart Iot Technology Co ltd
Original Assignee
Yanxiang Smart Iot Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yanxiang Smart Iot Technology Co ltd filed Critical Yanxiang Smart Iot Technology Co ltd
Priority to CN202110747979.9A priority Critical patent/CN113486624B/zh
Publication of CN113486624A publication Critical patent/CN113486624A/zh
Application granted granted Critical
Publication of CN113486624B publication Critical patent/CN113486624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3953Routing detailed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种实现PCB走线自动等间距的方法、装置及电子设备。所述方法包括:根据框选指令选中目标线段组,目标线段组包括彼此平行但间距不等的属性为走线的多条线段;识别目标线段组的最边沿的两条线段,作为两条基准线段;计算两条基准线段之间的总间距;根据总间距和目标线段组的线段数,计算各条线段之间的平均间距;根据平均间距调整两条基准线段之间的各条中间线段,使目标线段组的间距相等。本发明能够实现PCB走线自动等间距,提高布线效率和准确性。

Description

实现PCB走线自动等间距的方法、装置及电子设备
技术领域
本发明涉及电路设计技术领域,尤其涉及一种实现PCB走线自动等间距的方法、装置及电子设备。
背景技术
PCB设计中,常常出现多条走线方向一致的情况。当出现此种情况,工程师为了美观与节省板内空间,时常需要将多条走线调整到一起,以相等的间距成组走线。但是目前的设计软件无自动等间距走线调整功能,若要求进行严格的等间距走线,需要手动计算多条走线的坐标值与修正值,再使用调整走线命令进行走线修正。此法效率低而且不够准确。
发明内容
为解决上述问题,本发明提供了一种实现PCB走线自动等间距的方法、装置及电子设备,能够实现PCB走线自动等间距,提高布线效率和准确性。
一方面,本发明提供一种实现PCB走线自动等间距的方法,包括:
根据框选指令选中目标线段组,所述目标线段组包括彼此平行但间距不等的属性为走线的多条线段;
识别所述目标线段组的最边沿的两条线段,作为两条基准线段;
计算所述两条基准线段之间的总间距;
根据所述总间距和所述目标线段组的线段数,计算各条线段之间的平均间距;
根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等。
可选地,其中识别所述目标线段组的最边沿的两条线段,作为两条基准线段包括:
依次获取所述目标线段组中各条线段的起点坐标和终点坐标;
根据各条线段的起点坐标和终点坐标判断所述目标线段组的类型,若各条线段的起点和终点横坐标相同,则所述目标线段组为竖直线段组,若各条线段的起点和终点纵坐标相同,则所述目标线段组为水平线段组,若各条线段的起点和终点横坐标、纵坐标均不相同,则所述目标线段组为斜线段组;
若所述目标线段组为竖直线段组,确定起点横坐标最小的线段和起点横坐标最大的线段作为两条基准线段;若所述目标线段组为水平线段组,确定起点纵坐标最小的线段和起点纵坐标最大的线段作为两条基准线段;若所述目标线段组为斜线段组,确定与坐标原点距离最小的线段和与坐标原点距离最大的线段作为两条基准线段。
可选地,其中计算所述两条基准线段之间的总间距包括:
若所述目标线段组为竖直线段组,计算两条基准线段的起点横坐标的差值,作为总间距;
若所述目标线段组为水平线段组,计算两条基准线段的起点纵坐标的差值,作为总间距;
若所述目标线段组为斜线段组,根据两条基准线段各自的起点坐标和终点坐标计算总间距,具体如下式:
d=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)/((1+((y11-y12)/(x11-x12)))1/2),
其中d表示总间距,(x11,y11)、(x12,y12)表示一条基准线段的起点坐标和终点坐标,(x21,y21)、(x22,y22)表示另一条基准线段的起点坐标和终点坐标。
可选地,其中根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等包括:
对各条中间线段,依次执行以下操作:
根据所述平均间距计算所述中间线段的新起点坐标和新终点坐标,在所述新起点坐标和所述新终点坐标之间生成新线段;
识别与所述中间线段的原线段相连接的两侧线段;
将所述两侧线段与所述新线段连接;
删除所述中间线段的原线段以及所述两侧线段与所述新线段连接后位于连接点以外的多余线段。
另一方面,本发明提供一种实现PCB走线自动等间距的装置,包括:
框选模块,用于根据框选指令选中目标线段组,所述目标线段组包括彼此平行但间距不等的属性为走线的多条线段;
基准线识别模块,用于识别所述目标线段组的最边沿的两条线段,作为两条基准线段;
第一计算模块,用于计算所述两条基准线段之间的总间距;
第二计算模块,用于根据所述总间距和所述目标线段组的线段数,计算各条线段之间的平均间距;
调整模块,用于根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等。
可选地,所述基准线识别模块,包括:
坐标获取单元,用于依次获取所述目标线段组中各条线段的起点坐标和终点坐标;
类型判断单元,用于根据各条线段的起点坐标和终点坐标判断所述目标线段组的类型,若各条线段的起点和终点横坐标相同,则所述目标线段组为竖直线段组,若各条线段的起点和终点纵坐标相同,则所述目标线段组为水平线段组,若各条线段的起点和终点横坐标、纵坐标均不相同,则所述目标线段组为斜线段组;
确定单元,用于若所述目标线段组为竖直线段组,确定起点横坐标最小的线段和起点横坐标最大的线段作为两条基准线段;若所述目标线段组为水平线段组,确定起点纵坐标最小的线段和起点纵坐标最大的线段作为两条基准线段;若所述目标线段组为斜线段组,确定与坐标原点距离最小的线段和与坐标原点距离最大的线段作为两条基准线段。
可选地,所述第一计算模块,用于若所述目标线段组为竖直线段组,计算两条基准线段的起点横坐标的差值,作为总间距;
若所述目标线段组为水平线段组,计算两条基准线段的起点纵坐标的差值,作为总间距;
若所述目标线段组为斜线段组,根据两条基准线段各自的起点坐标和终点坐标计算总间距,具体如下式:
d=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)/((1+((y11-y12)/(x11-x12)))1/2),
其中d表示总间距,(x11,y11)、(x12,y12)表示一条基准线段的起点坐标和终点坐标,(x21,y21)、(x22,y22)表示另一条基准线段的起点坐标和终点坐标。
可选地,所述调整模块,包括:
生成单元,用于对各条中间线段,根据所述平均间距计算所述中间线段的新起点坐标和新终点坐标,在所述新起点坐标和所述新终点坐标之间生成新线段;
识别单元,用于识别与所述中间线段的原线段相连接的两侧线段;
连接单元,用于将所述两侧线段与所述新线段连接;
删除单元,用于删除所述中间线段的原线段以及所述两侧线段与所述新线段连接后位于连接点以外的多余线段。
另一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实现PCB走线自动等间距的方法。
另一方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实现PCB走线自动等间距的方法。
另一方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述实现PCB走线自动等间距的方法。
本发明提供的实现PCB走线自动等间距的方法、装置及电子设备,在用户框选走线组后,走线组即会以最边沿两条走线为边界,在边界区域内将每条走线调整为等间距的状态。与现有技术相比,能够实现PCB走线自动等间距,提高布线效率和准确性。
附图说明
图1为本发明一实施例提供的一种实现PCB走线自动等间距的方法的流程示意图;
图2为本发明一实施例提供的一种实现PCB走线自动等间距的装置的结构示意图;
图3为本发明一实施例提供的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
Cadence Allegro软件拥有便于用户二次开发的接口与较完善的开发语言库,用户可再次基础上根据需求进行二次开发。
Skill语言是Cadence Allegro内置的一种基于C语言与LISP语言的高级编程语言,可以很好地利用Cadence Allegro丰富的交互性函数。利用Skill语言作为编写工具编写的辅助工具可大大提高工作效率。
基于此,本文提出一种可以快速进行自动等间距的方法。
图1示出了本发明实施例提供的一种实现PCB走线自动等间距的方法的流程示意图。如图1所示,该方法包括步骤S101~S105。
在步骤S101,根据框选指令选中目标线段组,目标线段组包括彼此平行但间距不等的属性为走线的多条线段。
在用户进行框选操作后,得到一个框选区域,获取框选区域的四个顶点坐标,作为边界阈值。读取出框选区域内属性为走线的所有线段作为目标线段组。由于在走线规则中设置了走线角度,可以保证目标线段组中的各条线段都是平行的,但无法保证间距相等。
在步骤S102,识别目标线段组的最边沿的两条线段,作为两条基准线段。
具体方法如下:
依次获取目标线段组中各条线段的起点坐标和终点坐标;
根据各条线段的起点坐标和终点坐标判断目标线段组的类型,若各条线段的起点和终点横坐标相同,则目标线段组为竖直线段组,若各条线段的起点和终点纵坐标相同,则目标线段组为水平线段组,若各条线段的起点和终点横坐标、纵坐标均不相同,则目标线段组为斜线段组;
若目标线段组为竖直线段组,确定起点横坐标最小的线段和起点横坐标最大的线段作为两条基准线段;若目标线段组为水平线段组,确定起点纵坐标最小的线段和起点纵坐标最大的线段作为两条基准线段;若目标线段组为斜线段组,确定与坐标原点距离最小的线段和与坐标原点距离最大的线段作为两条基准线段。
具体地,对于直线组,分别拾取到框选的每条线段的起点坐标与终点坐标。并以冒泡法得出水平线段的最大起点纵坐标,最小起点纵坐标;得出竖直线段的最大起点横坐标,最小起点横坐标,即可得到两条基准线。
对于斜线组,通过几何算法计算出最边沿的两条线段作为基准线段。以一条斜线段为例,提取起点坐标(x1,y1),终点坐标(x2,y2),求出该线段斜率:
k=(y2-y1)/(x2-x1)
计算该线段到坐标原点的垂直距离t,表达式为:
t=(|y1-k*x1|)/(k2+1)1/2
找到与坐标原点距离最小的线段和与坐标原点距离最大的线段,即可得到两条基准线。
在步骤S103,计算两条基准线段之间的总间距。
具体方法如下:
若所述目标线段组为竖直线段组,计算两条基准线段的起点横坐标的差值,作为总间距;
若所述目标线段组为水平线段组,计算两条基准线段的起点纵坐标的差值,作为总间距;
若所述目标线段组为斜线段组,根据两条基准线段各自的起点坐标和终点坐标计算总间距,具体如下式:
d=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)/((1+((y11-y12)/(x11-x12)))1/2),
其中d表示总间距,(x11,y11)、(x12,y12)表示一条基准线段的起点坐标和终点坐标,(x21,y21)、(x22,y22)表示另一条基准线段的起点坐标和终点坐标。
对于斜线段组,首先获得基准线段1的起点与终点坐标:(x11,y11),(x12,y12),再获得基准线段2的起点与终点坐标:(x21,y21),(x22,y22),再通过以下公式即可计算得出两条平行斜线的相对距离d:
a=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)
d=a/((1+((y11-y12)/(x11-x12)))1/2)
在步骤S104,根据总间距和目标线段组的线段数,计算各条线段之间的平均间距。
假设线段数为N,总间距d除以(N-1),即可得到各条线段之间的平均间距。
在步骤S105,根据平均间距调整两条基准线段之间的各条中间线段,使目标线段组的间距相等。
具体方法如下:
对各条中间线段,依次执行以下操作:
1、根据平均间距计算中间线段的新起点坐标和新终点坐标,在新起点坐标和新终点坐标之间生成新线段。
新线段与原有的中间线段是等长的。同样分为三种情况:
对于竖直线段组,假设两条基准线段的起点纵坐标之差为D,两条基准线段之间的线段数为T。第一条需要移动的中间线段与最左侧的基准线段的距离为:D/(T+1),假设基准线段最小起点横坐标为X1,则X1+D/(T+1)即可得到第一条需生成的中间线起点横坐标,X1+2D/(T+1)即可得到第二条需生成的中间线起点横坐标,以此类推,一共得到T条中间线。
对于水平线段组,假设两条基准线段的起点纵坐标之差为D,两条基准线段之间的线段数为T。第一条需要移动的中间线段与最下方的基准线段的距离为:D/(T+1),假设基准线段最小起点纵坐标为Y1,则Y1+D/(T+1)即可得到第一条需生成的中间线起点纵坐标,Y1+2D/(T+1)即可得到第二条需生成的中间线起点纵坐标,以此类推,一共得到T条中间线的起点和终点。
对于斜线段组,两条基准线段的起点坐标分别记为(x1,y1),(x2,y2),两条基准线段之间的线段数为T。
先求出横坐标差与纵坐标差:xd=|x1-x2|,yd=|y1-y2|。
再求出第一条中间线与靠左基准线的距离:xdt=|x1-x2|/(T+1),ydt
=|y1-y2|/(T+1)。
则第一条中间线上各点的新坐标为:(x+xdt,y+ydt),(x,y)为原坐标;
第二条中间线上各点的新坐标为:(x+2xdt,y+2ydt),(x,y)为原坐标;
以此类推,一共得到T条中间线的起点和终点。
2、识别与中间线段的原线段相连接的两侧线段。
3、将两侧线段与新线段连接。
中间线段的原线段左侧线段记为线段a,中间线段的原线段右侧线段记为b。将新线段的起点与线段a相连接,将新线段的终点与线段b相连接。由于布线规则里设置只能走线为45°、90°、135°、180°,因此新线段只会以竖直、水平、45°、135°与线段a、b连接。
这里又分为两种情况:
若生成的新线段在原线段下方,则延长线段a、b直到与新线段相交。
若生成的新线段在原线段上方,则延长新线段直到与线段a、b相交。
4、删除中间线段的原线段以及两侧线段与新线段连接后位于连接点以外的多余线段。
本发明实施例提供的一种实现PCB走线自动等间距的方法,在用户框选走线组后,走线组即会以最边沿两条走线为边界,在边界区域内将每条走线调整为等间距的状态。与现有技术相比,可以带来如下效果:
本方案针对的对象为所框选的线段,并非框选的信号,等间距的效果只在一段很短的线段中有效,不会影响到未被框选的信号。
本方案只需要进入命令,框选所需选取的信号线段,就可以自动执行命令并达到所需达到的效果,效率获得提升。
本方案以边沿线段限定区域,无需打过孔,命令运行成功率大大提高,可用性也得到巨大提升。
另外说明,本发明实施例是根据PCB工程师对走线美观、信号顺畅的要求设计的一种基于skill程序编写的走线组自动等间距的方法,并植入Allegro内形成命令。在实际操作中,包括步骤:
(一)编写skill程序;
skill程序中需要设置程序调用入口快捷键,便于Allegro调用。
(二)使用接口文件调用对应skill程序;
将skill程序编写完成后,需要改写系统的接口文件调用skill程序才能在Allegro内使用。以下为找到并改写skill程序的方法:
将程序封装为.il文件。
查看计算机的环境变量值,并找到变量值指向的文件夹。
将实现本功能的.il程序文件放入环境变量值指向的文件夹内。
在该文件内找到allegro.ilinit文件,allegro.ilinit文件即为接口文件
使用Notepad打开allegro.ilinit文件。
使用load函数根据环境变量指向的文件夹路径调用该.il程序文件。
(三)激活skill程序。
1、完成上述步骤后,重新启动Allegro
2、在命令框内输入设置好的程序调用入口快捷键,并按回车键结束,即可激活skill程序。
3、使用鼠标在Allegro内框选需要自动等间距的走线组,走线组即会以最边沿两条走线为边界,在边界区域内将每条走线调整为与其他走线间距相等的状态。
图2示出了本发明实施例提供的一种实现PCB走线自动等间距的装置的结构示意图。如图2所示,该装置包括:框选模块201、基准线识别模块202、第一计算模块203、第二计算模块204和调整模块205,其中,
框选模块201,用于根据框选指令选中目标线段组,所述目标线段组包括彼此平行但间距不等的属性为走线的多条线段;
基准线识别模块202,用于识别所述目标线段组的最边沿的两条线段,作为两条基准线段;
第一计算模块203,用于计算所述两条基准线段之间的总间距;
第二计算模块204,用于根据所述总间距和所述目标线段组的线段数,计算各条线段之间的平均间距;
调整模块205,用于根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等。
进一步地,基准线识别模块202,包括:
坐标获取单元,用于依次获取所述目标线段组中各条线段的起点坐标和终点坐标;
类型判断单元,用于根据各条线段的起点坐标和终点坐标判断所述目标线段组的类型,若各条线段的起点和终点横坐标相同,则所述目标线段组为竖直线段组,若各条线段的起点和终点纵坐标相同,则所述目标线段组为水平线段组,若各条线段的起点和终点横坐标、纵坐标均不相同,则所述目标线段组为斜线段组;
确定单元,用于若所述目标线段组为竖直线段组,确定起点横坐标最小的线段和起点横坐标最大的线段作为两条基准线段;若所述目标线段组为水平线段组,确定起点纵坐标最小的线段和起点纵坐标最大的线段作为两条基准线段;若所述目标线段组为斜线段组,确定与坐标原点距离最小的线段和与坐标原点距离最大的线段作为两条基准线段。
进一步地,第一计算模块203,用于若所述目标线段组为竖直线段组,计算两条基准线段的起点横坐标的差值,作为总间距;
若所述目标线段组为水平线段组,计算两条基准线段的起点纵坐标的差值,作为总间距;
若所述目标线段组为斜线段组,根据两条基准线段各自的起点坐标和终点坐标计算总间距,具体如下式:
d=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)/((1+((y11-y12)/(x11-x12)))1/2),
其中d表示总间距,(x11,y11)、(x12,y12)表示一条基准线段的起点坐标和终点坐标,(x21,y21)、(x22,y22)表示另一条基准线段的起点坐标和终点坐标。
进一步地,调整模块205,包括:
生成单元,用于对各条中间线段,根据所述平均间距计算所述中间线段的新起点坐标和新终点坐标,在所述新起点坐标和所述新终点坐标之间生成新线段;
识别单元,用于识别与所述中间线段的原线段相连接的两侧线段;
连接单元,用于将所述两侧线段与所述新线段连接;
删除单元,用于删除所述中间线段的原线段以及所述两侧线段与所述新线段连接后位于连接点以外的多余线段。
本发明实施例提供的实现PCB走线自动等间距的装置是用于执行上述方法实施例的,其具体流程和详细内容请参照上述实施例,此处不再赘述。
图3为本发明实施例提供的电子设备结构示意图。如图3所示,该电子设备可以包括:处理器(processor)301、存储器(memory)302和通信总线303,其中,处理器301和存储器302通过通信总线303完成相互间的通信。处理器301可以执行存储器302中的程序指令,以实现上述方法实施例。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例。
另一方面,本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法实施例。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种实现PCB走线自动等间距的方法,其特征在于,所述方法通过Allegro软件中调用的skill程序实现,所述方法包括:
根据框选指令选中目标线段组,所述目标线段组包括彼此平行但间距不等的属性为走线的多条线段;
判断所述目标线段组的类型,所述目标线段组的类型为竖直线段组、水平线段组和斜线段组中的一种,并根据所述目标线段组的类型识别所述目标线段组的最边沿的两条线段,作为两条基准线段;
计算所述两条基准线段之间的总间距;
根据所述总间距和所述目标线段组的线段数,计算各条线段之间的平均间距;
根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等;
其中根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等包括:
对各条中间线段,依次执行以下操作:
根据所述平均间距计算所述中间线段的新起点坐标和新终点坐标,在所述新起点坐标和所述新终点坐标之间生成新线段;
识别与所述中间线段的原线段相连接的两侧线段;
将所述两侧线段与所述新线段连接;
删除所述中间线段的原线段以及所述两侧线段与所述新线段连接后位于连接点以外的多余线段。
2.根据权利要求1所述的方法,其特征在于,其中判断所述目标线段组的类型,所述目标线段组的类型为竖直线段组、水平线段组和斜线段组中的一种,并根据所述目标线段组的类型识别所述目标线段组的最边沿的两条线段,作为两条基准线段包括:
依次获取所述目标线段组中各条线段的起点坐标和终点坐标;
根据各条线段的起点坐标和终点坐标判断所述目标线段组的类型,若各条线段的起点和终点横坐标相同,则所述目标线段组为竖直线段组,若各条线段的起点和终点纵坐标相同,则所述目标线段组为水平线段组,若各条线段的起点和终点横坐标、纵坐标均不相同,则所述目标线段组为斜线段组;
若所述目标线段组为竖直线段组,确定起点横坐标最小的线段和起点横坐标最大的线段作为两条基准线段;若所述目标线段组为水平线段组,确定起点纵坐标最小的线段和起点纵坐标最大的线段作为两条基准线段;若所述目标线段组为斜线段组,确定与坐标原点距离最小的线段和与坐标原点距离最大的线段作为两条基准线段。
3.根据权利要求2所述的方法,其特征在于,其中计算所述两条基准线段之间的总间距包括:
若所述目标线段组为竖直线段组,计算两条基准线段的起点横坐标的差值,作为总间距;
若所述目标线段组为水平线段组,计算两条基准线段的起点纵坐标的差值,作为总间距;
若所述目标线段组为斜线段组,根据两条基准线段各自的起点坐标和终点坐标计算总间距,具体如下式:
d=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)/((1+((y11-y12)/(x11-x12)))1/2),
其中d表示总间距,(x11,y11)、(x12,y12)表示一条基准线段的起点坐标和终点坐标,(x21,y21)、(x22,y22)表示另一条基准线段的起点坐标和终点坐标。
4.一种实现PCB走线自动等间距的装置,其特征在于,包括:
框选模块,用于根据框选指令选中目标线段组,所述目标线段组包括彼此平行但间距不等的属性为走线的多条线段;
基准线识别模块,用于判断所述目标线段组的类型,所述目标线段组的类型为竖直线段组、水平线段组和斜线段组中的一种,并根据所述目标线段组的类型识别所述目标线段组的最边沿的两条线段,作为两条基准线段;
第一计算模块,用于计算所述两条基准线段之间的总间距;
第二计算模块,用于根据所述总间距和所述目标线段组的线段数,计算各条线段之间的平均间距;
调整模块,用于根据所述平均间距调整所述两条基准线段之间的各条中间线段,使所述目标线段组的间距相等;
其中所述调整模块,包括:
生成单元,用于对各条中间线段,根据所述平均间距计算所述中间线段的新起点坐标和新终点坐标,在所述新起点坐标和所述新终点坐标之间生成新线段;
识别单元,用于识别与所述中间线段的原线段相连接的两侧线段;
连接单元,用于将所述两侧线段与所述新线段连接;
删除单元,用于删除所述中间线段的原线段以及所述两侧线段与所述新线段连接后位于连接点以外的多余线段。
5.根据权利要求4所述的装置,其特征在于,所述基准线识别模块,包括:
坐标获取单元,用于依次获取所述目标线段组中各条线段的起点坐标和终点坐标;
类型判断单元,用于根据各条线段的起点坐标和终点坐标判断所述目标线段组的类型,若各条线段的起点和终点横坐标相同,则所述目标线段组为竖直线段组,若各条线段的起点和终点纵坐标相同,则所述目标线段组为水平线段组,若各条线段的起点和终点横坐标、纵坐标均不相同,则所述目标线段组为斜线段组;
确定单元,用于若所述目标线段组为竖直线段组,确定起点横坐标最小的线段和起点横坐标最大的线段作为两条基准线段;若所述目标线段组为水平线段组,确定起点纵坐标最小的线段和起点纵坐标最大的线段作为两条基准线段;若所述目标线段组为斜线段组,确定与坐标原点距离最小的线段和与坐标原点距离最大的线段作为两条基准线段。
6.根据权利要求5所述的装置,其特征在于,所述第一计算模块,用于若所述目标线段组为竖直线段组,计算两条基准线段的起点横坐标的差值,作为总间距;
若所述目标线段组为水平线段组,计算两条基准线段的起点纵坐标的差值,作为总间距;
若所述目标线段组为斜线段组,根据两条基准线段各自的起点坐标和终点坐标计算总间距,具体如下式:
d=(|(y12-(x12/(x11-x12)*(y11-y12)))-(y22-(x22/(x21-x22))*(y21-y22)))|)/((1+((y11-y12)/(x11-x12)))1/2),
其中d表示总间距,(x11,y11)、(x12,y12)表示一条基准线段的起点坐标和终点坐标,(x21,y21)、(x22,y22)表示另一条基准线段的起点坐标和终点坐标。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述的方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至3任一项所述的方法。
CN202110747979.9A 2021-07-01 2021-07-01 实现pcb走线自动等间距的方法、装置及电子设备 Active CN113486624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110747979.9A CN113486624B (zh) 2021-07-01 2021-07-01 实现pcb走线自动等间距的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110747979.9A CN113486624B (zh) 2021-07-01 2021-07-01 实现pcb走线自动等间距的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113486624A CN113486624A (zh) 2021-10-08
CN113486624B true CN113486624B (zh) 2024-01-12

Family

ID=77940173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110747979.9A Active CN113486624B (zh) 2021-07-01 2021-07-01 实现pcb走线自动等间距的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113486624B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1520565A (zh) * 2000-12-07 2004-08-11 凯登斯设计系统有限公司 布线方法和装置
CN104503464A (zh) * 2014-12-30 2015-04-08 中南大学 基于计算机的凸多边形农田无人机喷洒作业航迹规划方法
CN108984912A (zh) * 2018-07-19 2018-12-11 郑州云海信息技术有限公司 一种pcb设计自动调整线段间距的方法及系统
CN112669410A (zh) * 2020-12-30 2021-04-16 广东三维家信息科技有限公司 线宽调整方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4587878B2 (ja) * 2005-06-02 2010-11-24 Okiセミコンダクタ株式会社 半導体装置の自動設計方法および自動設計装置
US10579765B2 (en) * 2018-07-26 2020-03-03 Ncku Research And Development Foundation Chip and power planning method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1520565A (zh) * 2000-12-07 2004-08-11 凯登斯设计系统有限公司 布线方法和装置
CN104503464A (zh) * 2014-12-30 2015-04-08 中南大学 基于计算机的凸多边形农田无人机喷洒作业航迹规划方法
CN108984912A (zh) * 2018-07-19 2018-12-11 郑州云海信息技术有限公司 一种pcb设计自动调整线段间距的方法及系统
CN112669410A (zh) * 2020-12-30 2021-04-16 广东三维家信息科技有限公司 线宽调整方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朝向目标的线探索法――用小型计算机实现自动布线;杨瑞元;计算机学报(04);第273-282页 *

Also Published As

Publication number Publication date
CN113486624A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
EP3761230A1 (en) Image processing method, device, storage medium and computer program product
JP6713141B1 (ja) レイアウト解析方法、読書補助装置、回路及び媒体
US20200363946A1 (en) Systems and methods for interactive image caricaturing by an electronic device
KR102363501B1 (ko) 3차원 포인트 클라우드 데이터로부터 지표면 데이터를 생성하는 방법, 장치 및 컴퓨터프로그램
CN110309236B (zh) 地图中寻路的方法、装置、计算机设备和存储介质
EP3822858A2 (en) Method and apparatus for identifying key point locations in an image, and computer readable medium
CN107748639A (zh) 一种曲线的编辑方法、装置、设备和存储介质
US20070266307A1 (en) Auto-layout of shapes
CN106294686B (zh) 一种应用于计算机技术领域思维导图中快速更新树结点位置坐标的方法
CN113486624B (zh) 实现pcb走线自动等间距的方法、装置及电子设备
US20150363512A1 (en) System and method for optimizing connector design
CN111144060B (zh) 一种pcb差分高速信号线的走线方法、装置及设备
CN114444431A (zh) 差动阻抗线自动挑选方法、装置和存储介质
CN110544284A (zh) 一种自动规划最优布局流程图的方法
CN112950647B (zh) 图像分割方法、装置、设备及存储介质
CN107679219A (zh) 匹配方法及装置、交互智能平板及存储介质
JP2013543337A (ja) ページ内の隙間を消去するための方法及び装置
JP7164008B2 (ja) データ生成方法、データ生成装置及びプログラム
JP5509952B2 (ja) シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体
CN116523941B (zh) 含孔洞多边形的简化方法、装置
CN112070829B (zh) 任务图像中任务节点位置的确定方法、装置及电子设备
CN111090968B (zh) 一种基于pcb的bmp图像处理方法、装置以及设备
US20230229380A1 (en) Input display control device, input display control method, and input display system
JP5187217B2 (ja) 半導体レイアウトシステム、方法、及び、プログラム
CN118643567A (zh) 门洞生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20230705

Address after: 518057 1701, Yanxiang science and technology building, 31 Gaoxin middle Fourth Road, Maling community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Yanxiang smart IOT Technology Co.,Ltd.

Address before: No.1, Yanxiang Zhigu chuangxiangdi, No.11, Gaoxin Road, Guangming New District, Shenzhen, Guangdong 518107

Applicant before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant