删除PCB设计图中背钻孔的方法、装置、设备和存储介质
技术领域
本申请涉及PCB设计技术领域,特别是涉及一种删除PCB设计图中背钻孔的方法、装置、设备和存储介质。
背景技术
目前,采用Cadence Allegro软件设计的PCB(Printed Circuit Board,印制电路板)图,在导出DXF(Drawing Exchange File,图形交换文件)时通常要删除图上的接地过孔和背钻孔,方便结构工程师制作散热齿或散热底座。
在实现过程中,发明人发现传统技术中至少存在如下问题:由于Cadence Allegro软件中,删除背钻孔(backdrill)需要通过多个步骤及繁锁的操作来完成,效率低下且容易出现漏删的情况。
发明内容
基于此,有必要针对传统删除背钻孔的技术存在步骤繁琐且效率低的问题,提供一种删除PCB设计图中背钻孔的方法、装置、设备和存储介质。
为了实现上述目的,一方面,本申请实施例提供了一种删除PCB设计图中背钻孔的方法,包括:
从PCB设计图中获取各待检测过孔的参数;参数包括背钻状态参数。
根据背钻状态参数,从各待检测过孔中筛选得到背钻孔。
从PCB设计图中删除背钻孔。
在其中一个实施例中,根据背钻状态参数,从各待检测过孔中筛选得到背钻孔的步骤包括:
遍历各待检测过孔,根据当前待检测过孔的背钻状态参数,判断当前待检测过孔是否满足背钻孔条件:
若是,则确认当前待检测过孔为背钻孔,将当前待检测过孔存储到背钻孔列表中,并对下一个待检测过孔进行判断。
若否,则将当前待检测过孔确认为已检测过孔,并对下一个待检测过孔进行判断。
从PCB设计图中删除背钻孔的步骤包括:
根据背钻孔列表记录的待检测过孔,从PCB设计图中删除对应的过孔。
在其中一个实施例中,背钻状态参数包括status。背钻孔条件为当前待检测过孔的status的属性值为真。
在其中一个实施例中,从PCB设计图中获取各待检测过孔的参数的步骤包括:
通过接口函数axlGetSelSet和axlAddSelectAll进行待检测过孔的选择,并将得到的待检测过孔存放到过孔变量中。
通过接口函数axlBackDrill依次获取过孔变量中、各待检测过孔的背钻状态参数。
从PCB设计图中删除对应的过孔的步骤包括:
通过接口函数axlDeleteObject删除对应的过孔。
在其中一个实施例中,通过接口函数axlDeleteObject删除对应的过孔的步骤之前,还包括步骤:
在对应的过孔为保护状态时,通过函数axlDBDeleteProp解除对应的过孔的保护状态。
在其中一个实施例中,背钻状态参数还包括toLayer、remainStub、lengthStub、depthDrill、maxStub和minPth。
在其中一个实施例中,过孔的参数还包括所在图层和中心坐标。
从PCB设计图中删除背钻孔的步骤包括:
根据所在图层和中心坐标,确认背钻孔的位置并进行删除。
保存PCB设计图到指定的位置。
在其中一个实施例中,方法还包括步骤:
若PCB设计图中过孔的数量为零,则生成第一提示信息以进行提示。
若筛选得到背钻孔的数量为零时,则生成第二提示信息以进行提示。
另一方面,本申请实施例还提供了一种删除PCB设计图中背钻孔的装置,包括:
过孔参数获取模块,用于从PCB设计图中获取各待检测过孔的参数;参数包括背钻状态参数。
背钻孔筛选模块,用于根据背钻状态参数,从各待检测过孔中筛选得到背钻孔。
背钻孔删除模块,用于从PCB设计图中删除背钻孔。
在其中一个实施例中,提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的删除PCB设计图中背钻孔的方法。
在其中一个实施例中,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的删除PCB设计图中背钻孔的方法。
上述技术方案中的一个技术方案具有如下优点和有益效果:
从PCB设计图中获取各待检测过孔的参数;并根据参数中的背钻状态参数,从各待检测过孔中筛选得到背钻孔;进而从PCB设计图中删除背钻孔。基于此,可解决传统技术无法直接选择背钻孔的问题,无需手动查找和选择背钻孔,避免繁锁的筛选和查找操作,快速删除背钻孔,提高效率且避免背钻孔漏删,减少后续产品开发的隐患及制作散热齿或散热底座的成本,提高PCB产品开发效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为一个实施例中方法的第一示意性流程图;
图2为一个实施例中方法的第二示意性流程图;
图3为一个实施例中方法的第三示意性流程图;
图4为一个实施例中方法的第四示意性流程图;
图5为一个实施例中加载脚本文件的第一示意图;
图6为一个实施例中加载脚本文件的第二示意图;
图7为一个实施例中脚本文件的注册的示意图;
图8为一个实施例中运行脚本命令的示意图;
图9为一个实施例中可选项的示意图;
图10为一个实施例中告警提示的第一示意图;
图11为一个实施例中告警提示的第二示意图;
图12为一个实施例中的保存提示的示意图;
图13为一个实施例中装置的结构示意图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的首选实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容更加透彻全面。
需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件并与之结合为一体,或者可能同时存在居中元件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
目前,PCB设计通常是在多层PCB板上布局,为了增加PCB板上可以用于布线的面积,多层PCB板用上了更多单面或双面的布线板。例如,用一块双面布线板作内层、两块单面布线板作外层,或者,两块双面布线板作内层、两块单面布线板作外层的印刷线路板,通过定位系统及绝缘粘接材料交替在一起,且导电图像按设计要求进行互连,进而形成为四层、或六层印刷电路板,也称为多层印刷线路板。而多层中层与层之间的信号走线是通过过孔(Pin)和过孔(Via)来连通的。其中,过孔(pin)可用于连接器件的管脚,过孔(via)可用于导通不同层的布线。这些过孔因为制作印刷电路板成本的原因,会制作成通孔,即从顶层钻到底层的电镀孔。背钻的作用是钻掉没有起任何连接或者传输作用的过孔段,避免造成高速信号传输的反射、散射、延迟等,给信号带来“失真”。背钻孔的另外一个用途是在制作结构散热齿或散热底座时可以不用避让这些过孔,紧贴住印制板,减少制作结构散热齿或散热底座的成本,同时也增加散热的作用。
传统技术中,由于Cadence Allegro软件中没有比较直接筛选出背钻孔的方法,要删除背钻孔需要通过多步骤且繁锁的操作才能完成,效率低下且容易漏删。尤其是对于复杂的PCB设计图,容易给后续的产品的开发带来隐患,会严重影响PCB的产品开发效率。本申请实施例实现了解决删除背钻孔步骤繁锁且效率低下的问题,提高PCB产品开发效率。
在一个实施例中,提供了一种删除PCB设计图中背钻孔的方法,如图1所示,包括:
步骤S110,从PCB设计图中获取各待检测过孔的参数;参数包括背钻状态参数。
步骤S120,根据背钻状态参数,从各待检测过孔中筛选得到背钻孔。
步骤S130,从PCB设计图中删除背钻孔。
具体而言,在获取到PCB设计图后,从该PCB设计图中选择出所有过孔作为待检测过孔;获取各个待检测过孔的参数,包括背钻状态参数等。进而可根据背钻状态参数,检查对应的待检测过孔是否为背钻孔;若确认待检测过孔是背钻孔,则从PCB设计图中删除对应的待检测过孔。应该注意的是,本申请实施例可在获取到一个待检测过孔的参数时,即判断该待检测过孔是否为背钻孔;同时,也可在获取到所有待检测过孔的参数后,进行逐个判断,从各待检测过孔中筛选出背钻孔。可选地,本申请实施例可在各待检测过孔中筛选得到一个背钻孔时,即在PCB设计图中进行删除,通过逐一筛选并删除的方式,删除PCB设计图中所有的背钻孔;也可在各待检测过孔中筛选得到所有的背钻孔后,再统一在PCB设计图中对进行所有的背钻孔删除,通过统一筛选再删除的方式,删除PCB设计图中所有的背钻孔。
需要说明的是,本申请实施例可由计算机设备或处理器等执行,具体地,可应用于PCB绘图、PCB设计图转换或PCB设计图输出等PCB设计程序,例如Cadence Allegro等。本申请实施例提及的PCB设计图为相关软件的设计图文档,具体地,该PCB设计图可用于展示PCB的设计图像,包含设计图中各元素的设计参数和/或属性参数;其中,元素至少包括层数、过孔和布线等。待检测过孔可为PCB设计图中的所有孔,或为从印制表层往里层打的过孔,不包括埋孔等表层看不到的孔。由于实际设计中既有从顶层做背钻,也有可能从底层做背钻的情况,因此,可选地,待检测过孔可包括顶层和底层的过孔。在PCB设计图中,所有过孔可配置有对应的属性值、标识或特征值;本申请实施例可基于上述参数,从PCB设计图中识别各待检测过孔,此处不做具体限定。
在识别到各待检测过孔后,可相应获取待检测过孔的参数,该参数至少包括待检测过孔的背钻状态参数;背钻状态参数用于标识过孔是否为背钻孔。应该注意的是,对于不同的设计软件或不同的软件版本,背钻状态参数的变量命名、类型和表示方式等可不相同,例如,采用0/1、T/F、或Y/N等方式表示背钻状态参数是否为真,此处不做具体限定。本申请实施例可利用设计软件中提供的背钻状态参数,直接判断待检测过孔是否背钻孔。此外,待检测过孔的参数还可包括位置、属性和尺寸等参数,便于在PCB设计图中定位到相应的过孔,提高背钻孔的删除效率。
本申请实施例从PCB设计图中获取过孔的参数;并根据过孔的参数,判断其是否为背钻孔;进而可从PCB设计图中删除符合背钻孔条件的的过孔。由于Cadence Allegro等软件中没有比较直接筛选出背钻孔的方法;要删除背钻孔需要通过多个步骤及繁锁的操作才能完成,效率低下且容易出现漏删的情况,尤其在复杂的PCB设计图中,往往会给后续的产品的开发带来隐患,会严重影响PCB的产品开发效率。本申请实施例解决删除背钻孔的繁锁且效率低下的问题;删除背钻孔的PCB设计图纸导出的图形文件中(例如DXF文件)已不包含背钻孔;查看图形文件时,背钻孔已不存了,在制作散热齿或散热底座时不用再去考虑避让、铣槽等,实现了快速删除背钻孔、提高PCB产品开发效率的效果。
在一个实施例中,如图2所示,根据背钻状态参数,从各待检测过孔中筛选得到背钻孔的步骤包括:
步骤S122,遍历各待检测过孔,根据当前待检测过孔的背钻状态参数,判断当前待检测过孔是否满足背钻孔条件:
若是,则确认当前待检测过孔为背钻孔,将当前待检测过孔存储到背钻孔列表中,并对下一个待检测过孔进行判断。
若否,则将当前待检测过孔确认为已检测过孔,并对下一个待检测过孔进行判断。
具体而言,在根据背钻状态参数,从各待检测过孔中筛选得到背钻孔的步骤中,可通过遍历各个待检测过孔,依次判断各待检测过孔的背钻状态参数是否满足背钻孔条件,将满足背钻孔条件的待检测过孔筛选出来,直至完成对所有待检测过孔的判断。在待检测过孔的背钻状态参数满足背钻孔条件时,将该待检测过孔确认为背钻孔并存储到背钻孔列表中,以便进一步的处理。需要说明的是,背钻孔条件可为过孔的背钻状态参数为真,具体地,可根据背钻状态参数的命名、类型和表现方式等进行设定,此处不在具体限定。
本申请实施例可采用遍历所有待检测过孔、并判断是否符合背钻孔条件的方式来筛选得到背钻孔,并将确认为背钻孔的过孔存储到背钻孔列表中。基于此,采用遍历与条件式判定配合的方式,能够提高筛选的精度和效率,避免背钻孔漏筛;同时,将确认的背钻孔存储到列表中,便于后续的处理,可降低删除过程中的出错率,避免背钻孔漏删。
在一个实施例中,如图2所示,从PCB设计图中删除背钻孔的步骤包括:
根据背钻孔列表记录的待检测过孔,从PCB设计图中删除对应的过孔。
具体而言,可依次根据背钻孔列表中记录的过孔,在PCB设计图中进行定位并删除。
在一个实施例中,背钻状态参数包括status。背钻孔条件为当前待检测过孔的status的属性值为真。
具体而言,本申请实施例可应用于Cadence Allegro软件;基于Cadence Allegro,背钻状态参数可包括status。在当前待检测过孔的status的属性值为真时,确认当前待检测过孔为背钻孔。基于此,本申请实施例可直接采用设计软件中的属性值来判断过孔是否为背钻孔,能够减少操作步骤,提高筛选效率。
在一个实施例中,如图3所示,从PCB设计图中获取各待检测过孔的参数的步骤包括:
步骤S112,通过接口函数axlGetSelSet和axlAddSelectAll进行待检测过孔的选择,并将得到的待检测过孔存放到过孔变量中。
步骤S114,通过接口函数axlBackDrill依次获取过孔变量中、各待检测过孔的背钻状态参数。
具体而言,本申请实施例可先选择所有表层的过孔,把表层的过孔显示出来;具体地,可通过PCB设计软件提供的接口函数axlGetSelSet和axlAddSelectAll进行待检测过孔的查找与选择,并将选择得到的待检测过孔存放到过孔变量中,以便进一步的调用。需要说明的是,选择所待检测的过孔的过程不限于上述方法,只需获取到过孔的dbid即可进一步实现。基于过孔变量,通过接口函数axlBackDrill、逐一获取过孔变量中每个待检测过孔的背钻状态(status),若status为真值t,则可确认该待检测过孔为背钻孔。需要说明的是,本申请实施例提及的接口函数均可为软件本身提供,可直接使用,提高过孔的查找、选择及参数获取效率,且提高判断的正确认性,简化脚本代码。
在一个实施例中,如图3所示,从PCB设计图中删除对应的过孔的步骤包括:
步骤S136,通过接口函数axlDeleteObject删除对应的过孔。
具体而言,对于筛选出来的背钻孔,可通过PCB设计软件的接口函数axlDeleteObject来进行删除,进一步提高背钻孔删除的效率。
在一个实施例中,如图3所示,通过接口函数axlDeleteObject删除对应的过孔的步骤之前,还包括步骤:
步骤S134,在对应的过孔为保护状态时,通过函数axlDBDeleteProp解除对应的过孔的保护状态。
具体而言,当待删除的背钻孔被设计为保护状态时,可先通过函数axlDBDeleteProp来对被保护的背钻孔进行保护状态解除,然后在进行删除。基于此,对于设计过程中被设置为保护状态的背钻孔,本申请实施例可自动解除其保护状态并进一步删除背钻孔,提高整个方案的效率并避免背钻孔漏删,降低PCB产品的开发成本。
应该注意的是,由于Allegro PCB设计软件具有非常丰富而强大的功能,该软件使用独有的数据形式存储设计文件,并且每份设计文件都有相应的独立数据库支撑。其中,数据库主要有两类信息:物理信息和逻辑信息。Allegro PCB设计软件的各种功能操作,都是对该数据库的编辑和操作。基于Allegro PCB设计软件开放的数据库访问功能,可得到一个PCB设计文件中所有的过孔(pin)和过孔(via)的相关参数。具体地,可通过axl接口函数axlDBGetDesign(),导出一个过孔(pin)和过孔(via)的列表,保存到一个变量里,再遍历这个列表的所有元素,导出每个元素的属性,并提取出过孔(pin)和过孔(via)的参数。
在一个实施例中,背钻状态参数还包括toLayer、remainStub、lengthStub、depthDrill、maxStub和minPth。
具体而言,背钻状态参数可包括status,以及toLayer、remainStub、lengthStub、depthDrill、maxStub和minPth。基于背钻状态参数,可进一步获取背钻孔的深度、涉及的层数等信息。
在一个实施例中,过孔的参数还包括所在图层和中心坐标,可用于确定过孔的位置。
在一个示例中,确定出过孔的所在图层和背钻状态参数;
根据过孔的所在图层和背钻状态,判断其否为所在图层中的背钻孔。
进一步地,若过孔的属性满足背钻孔条件,则将其存放在背钻孔列表中,并重复获取下一个过孔的属性值进行判断,直到完成所有过孔的检查。
在一个实施例中,从PCB设计图中删除背钻孔的步骤包括:
根据所在图层和中心坐标,确认背钻孔的位置并进行删除。
具体而言,可基于获取到的待检测过孔的参数,定位筛选得到的背钻孔的位置进而执行删除或其他处理步骤,进一步提高处理效率。
在一个实施例中,如图4所示,方法还包括步骤:
步骤S140,保存PCB设计图到指定的位置。
具体而言,在删除了背钻孔后,可将完成删除的PCB设计图存储到指定的目录中,便于后续的使用。示例性地,当完成了背钻孔删除操作时,会提示是否保存设计文件;该提示是个可选项,可选保存或不保存。
在一个示例中,当进行背钻孔的删除操作后,PCB设计文件已更新文件;通常情况下,删除背钻孔后的PCB设计文件会保存为一个专为生成DXF文件的过程文件,为了不覆盖原文件,可选地,本申请实施例可设有提醒功能,当选择“是”则覆盖原文件,选“否”,则不覆盖原文件,可自行定义文件名及存储路径。通常情况下,建议选“否”,不覆盖原文件,如果选“是”,需要特别慎重,因为该操作是不可逆的,要做好备份功能。优选地,在运行本申请实施例之前,可备份好原文件,把当前PCB设计文件存储为过程文件,在过程文件中运行本申请实施例。
在一个实施例中,方法还包括步骤:
若PCB设计图中过孔的数量为零,则生成第一提示信息以进行提示。
若筛选得到背钻孔的数量为零时,则生成第二提示信息以进行提示。
具体而言,若在PCB设计图中未查找到过孔,则发出告警提示,并可在确认提示后退出方案的执行。若在PCB设计图中未找到符合条件的背钻孔,则发出告警提示,并可在确认提示后退出方案的执行。需要说明的是,第一提示信息可用于提示用户,PCB设计图上不存在过孔,示例性地,第一提示信息可为“不存在过孔”;第二提示信息可用于提示用户,PCB设计图上不存在背钻孔,示例性地,第二提示信息可为“不存在背钻孔”,具体信息内容及提示方式可根据需要进行设置,此处不做具体限定。
在一个实施例中,根据PCB设计图,确认是否要删除PCB设计图中的所有背钻孔时,可进行文本提示;文本提示内容包括:“是”和“否”,“是”表示继续进行下一步的删除操作,“否”表示不进行删除背钻孔的操作,退出本申请实施例。
可选地,在PCB设计图中,如果找到符合条件的背钻孔,且完成了背钻孔的删除,可选择是否保存当前的PCB设计图,如果选择保存,则进行保存PCB设计图的操作。进一步地,在保存操作中,可选“是”或“否”,选择“是”则覆盖当前储存目录下的PCB设计图,如果选择“否”则保存在指定存储目录下指定的PCB设计图。
本申请实施例中,可先将先脚本代码,在指定目录下保存为可加加载的脚本文件。Cadence Allegro软件可加载的脚本文件为“.il”,文件,本申请实施例中文件名可取名为“remove_backdrill.il”,该名字是可自定义。当保存好脚本文件之后,要在CadenceAllegro软件中加载进来;如图5和图6所示,本申请实施例提供了至少两种加载方法。图5的加载方法是在配置文件“allegro.ilinit”中添加了代码,当Cadence Allegro软件启动时,软件会自动加载。图6的加载方法为Cadence Allegro软件启动之后,手工输入加载代码,加载的作用范围只在本窗口有效。
如图7所示,可注册一个命令,来运行这个脚本,其作用为脚本的入口。由于脚本代码函数通常比较直观,会导致函数名比较长,注册一个命令可简化输入命令的长度;示例性地,注册的命令为:“remove_backdrill”,该命令名可由用户自定义。当要运行这个脚本时,如图8所示,可在Cadence Allegro软件的command窗口输入注册的好命令,并回车确认。
为了防止误操作,本申请实施例还可设置安全提示。可选地,如图9所示,本申请实施例可在运行删除背钻孔操作前一个确认提示;示例性地,提示信息可为:“Are you sureyou want to remove all backdrill?”。同时,在删除背钻孔的过程中,还可做检查判断;当PCB设计图中没有过孔时,删除背钻孔操作是无意义的,此时会提示没有找到过孔,并退出脚本运行,如图10所示,提示“No vias was found.”;如图11所示,当筛选操作没有找到背钻孔,则提示“No backdrill was found.”。
进一步地,如图12所示,当完成背钻孔删除之后,还可设有保存设计文件的提示。可选地,当选保存设计文件时,可自定义存储的目录和保存的文件名。基于本申请实施例,背钻孔被删除,而不是背钻孔的过孔则保留下来;被删除的背钻孔,在制作结构散热齿或散热底座时是可忽略的,而留下来的过孔,则要考虑避让,基于此,能够解决删除背钻孔时步骤繁锁且效率低下的问题,提高PCB产品开发效率。
在一个实施例中,使用Cadence Skill语言编写一个脚本,开发一个在PCB设计中删除背钻孔的Skill设计程式,进而可避免手动查找背钻孔及删除背钻孔,解决传统技术中、查找背钻孔的方法繁锁且有遗漏风险的问题。通过skill脚本程序来完成,可避免上述问题并提高效率,从而提高PCB产品开发效率。
应该理解的是,虽然图1至4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1至4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种删除PCB设计图中背钻孔的装置,如图13所示,包括:
过孔参数获取模块,用于从PCB设计图中获取各待检测过孔的参数;参数包括背钻状态参数。
背钻孔筛选模块,用于根据背钻状态参数,从各待检测过孔中筛选得到背钻孔。
背钻孔删除模块,用于从PCB设计图中删除背钻孔。
在一个实施例中,还包括保存模块,用于保存PCB设计图。
具体而言,从PCB设计图中获取过孔的参数;根据过孔的参数,筛选出背钻孔;从PCB设计图中删除筛选出的背钻孔,并将删除后的PCB设计图纸存储于自定义的目录中。其中,背钻孔筛选模块用于确定出过孔的背钻属性;根据过孔的参数,确定过孔的背钻状态。可选地,判断方法可为:通过软件接口函数axlBackDrill,导出status,再根据status的值来判断一个过孔是否为背钻孔,用该接口函数来实现判断,可大大提高判断的正确认性,也简化了脚本代码。
背钻孔删除模块可用于:若过孔的参数通过PCB设计软件判断其为背钻孔,通过接口函数axlDeleteObject将其删除。其中,若该过孔为锁住状态(或保护状态),则需要用到接口函数axlDBDeleteProp进行解锁;同时,若该过孔所在网络是锁住状态的,也不能直接删除,需要用到接口函数axlDBDeleteProp进行解锁;当锁住状态都解除后,才可采用接口函数axlDeleteObject将其删除。
在一个实施例中,背钻孔筛选模块包括:
过孔遍历单元,用于遍历各待检测过孔,根据当前待检测过孔的背钻状态参数,判断当前待检测过孔是否满足背钻孔条件:
若是,则确认当前待检测过孔为背钻孔,将当前待检测过孔存储到背钻孔列表中,并对下一个待检测过孔进行判断。
若否,则将当前待检测过孔确认为已检测过孔,并对下一个待检测过孔进行判断。
背钻孔删除模块包括:
第一删除单元,用于根据背钻孔列表记录的待检测过孔,从PCB设计图中删除对应的过孔。
在一个实施例中,背钻状态参数包括status。背钻孔条件为当前待检测过孔的status的属性值为真。
在一个实施例中,过孔参数获取模块包括:
过孔选择单元,用于通过接口函数axlGetSelSet和axlAddSelectAll进行待检测过孔的选择,并将得到的待检测过孔存放到过孔变量中。
参数获取单元,用于通过接口函数axlBackDrill依次获取过孔变量中、各待检测过孔的背钻状态参数。
背钻孔删除模块包括:
第二删除单元,用于通过接口函数axlDeleteObject删除对应的过孔。
在一个实施例中,装置还包括:
保护解除模块,用于在对应的过孔为保护状态时,通过函数axlDBDeleteProp解除对应的过孔的保护状态。
在一个实施例中,过孔的参数还包括所在图层和中心坐标。
背钻孔删除模块包括:
第三删除单元,用于根据所在图层和中心坐标,确认背钻孔的位置并进行删除。
PCB设计图保存单元,用于保存PCB设计图到指定的位置。
在一个实施例中,装置还包括:
第一告警模块,用于若PCB设计图中过孔的数量为零,则生成第一提示信息以进行提示。
第二告警模块,用于若筛选得到背钻孔的数量为零时,则生成第二提示信息以进行提示。
关于删除PCB设计图中背钻孔的装置的具体限定可以参见上文中对于删除PCB设计图中背钻孔的方法的限定,在此不再赘述。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。上述删除PCB设计图中背钻孔的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种删除PCB设计图中背钻孔的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
从PCB设计图中获取各待检测过孔的参数;参数包括背钻状态参数。
根据背钻状态参数,从各待检测过孔中筛选得到背钻孔。
从PCB设计图中删除背钻孔。
在一个实施例中,处理器执行根据背钻状态参数,从各待检测过孔中筛选得到背钻孔时,实现以下步骤:
遍历各待检测过孔,根据当前待检测过孔的背钻状态参数,判断当前待检测过孔是否满足背钻孔条件:
若是,则确认当前待检测过孔为背钻孔,将当前待检测过孔存储到背钻孔列表中,并对下一个待检测过孔进行判断。
若否,则将当前待检测过孔确认为已检测过孔,并对下一个待检测过孔进行判断。
处理器执行从PCB设计图中删除背钻孔时,实现以下步骤:
根据背钻孔列表记录的待检测过孔,从PCB设计图中删除对应的过孔。
在一个实施例中,背钻状态参数包括status。背钻孔条件为当前待检测过孔的status的属性值为真。
在一个实施例中,处理器执行从PCB设计图中获取各待检测过孔的参数时,实现以下步骤:
通过接口函数axlGetSelSet和axlAddSelectAll进行待检测过孔的选择,并将得到的待检测过孔存放到过孔变量中。
通过接口函数axlBackDrill依次获取过孔变量中、各待检测过孔的背钻状态参数。
处理器执行从PCB设计图中删除对应的过孔时,实现以下步骤:
通过接口函数axlDeleteObject删除对应的过孔。
在一个实施例中,处理器执行通过接口函数axlDeleteObject删除对应的过孔之前,还实现以下步骤:
在对应的过孔为保护状态时,通过函数axlDBDeleteProp解除对应的过孔的保护状态。
在一个实施例中,背钻状态参数还包括toLayer、remainStub、lengthStub、depthDrill、maxStub和minPth。
在一个实施例中,过孔的参数还包括所在图层和中心坐标。
处理器执行从PCB设计图中删除背钻孔时,实现以下步骤:
根据所在图层和中心坐标,确认背钻孔的位置并进行删除。
保存PCB设计图到指定的位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若PCB设计图中过孔的数量为零,则生成第一提示信息以进行提示。
若筛选得到背钻孔的数量为零时,则生成第二提示信息以进行提示。
关于计算机设备的具体限定可以参见上文中对于删除PCB设计图中背钻孔的方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从PCB设计图中获取各待检测过孔的参数;参数包括背钻状态参数。
根据背钻状态参数,从各待检测过孔中筛选得到背钻孔。
从PCB设计图中删除背钻孔。
在一个实施例中,计算机程序被处理器执行根据背钻状态参数,从各待检测过孔中筛选得到背钻孔时,实现以下步骤:
遍历各待检测过孔,根据当前待检测过孔的背钻状态参数,判断当前待检测过孔是否满足背钻孔条件:
若是,则确认当前待检测过孔为背钻孔,将当前待检测过孔存储到背钻孔列表中,并对下一个待检测过孔进行判断。
若否,则将当前待检测过孔确认为已检测过孔,并对下一个待检测过孔进行判断。
计算机程序被处理器执行从PCB设计图中删除背钻孔时,实现以下步骤:
根据背钻孔列表记录的待检测过孔,从PCB设计图中删除对应的过孔。
在一个实施例中,背钻状态参数包括status。背钻孔条件为当前待检测过孔的status的属性值为真。
在一个实施例中,计算机程序被处理器执行从PCB设计图中获取各待检测过孔的参数时,实现以下步骤:
通过接口函数axlGetSelSet和axlAddSelectAll进行待检测过孔的选择,并将得到的待检测过孔存放到过孔变量中。
通过接口函数axlBackDrill依次获取过孔变量中、各待检测过孔的背钻状态参数。
计算机程序被处理器执行从PCB设计图中删除对应的过孔时,实现以下步骤:
通过接口函数axlDeleteObject删除对应的过孔。
在一个实施例中,计算机程序被处理器执行通过接口函数axlDeleteObject删除对应的过孔之前,还实现以下步骤:
在对应的过孔为保护状态时,通过函数axlDBDeleteProp解除对应的过孔的保护状态。
在一个实施例中,背钻状态参数还包括toLayer、remainStub、lengthStub、depthDrill、maxStub和minPth。
在一个实施例中,过孔的参数还包括所在图层和中心坐标。
计算机程序被处理器执行从PCB设计图中删除背钻孔时,实现以下步骤:
根据所在图层和中心坐标,确认背钻孔的位置并进行删除。
保存PCB设计图到指定的位置。
在一个实施例中,计算机程序被处理器执行时,还实现以下步骤:
若PCB设计图中过孔的数量为零,则生成第一提示信息以进行提示。
若筛选得到背钻孔的数量为零时,则生成第二提示信息以进行提示。
关于存储介质的具体限定可以参见上文中对于删除PCB设计图中背钻孔的方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。