APP下载

谈正则表达式在InSight PCB系统中的应用

2020-07-21杨永利王方宇陈显任

印制电路信息 2020年6期
关键词:文件名图层定义

蔡 宁 杨永利 王方宇 陈显任

(珠海方正科技多层电路板有限公司,广东 珠海 519000)

0 引言

Gerber格式文件作为印制电路板(PCB)行业图像数据转换的标准格式被广泛应用。随着电子制造业智能化的迅速发展,电子产品的交货周期越来越短,品质要求越来越高,PCB生产厂商在转换客户原始PCB设计数据-Gerber文件时,自动化操作显得尤为重要。一方面要求能自动识别不同PCB设计软件导出的每层Gerber文件名称;另一方面,要求能自动转换Gerber文件中图形的形状大小和位置信息等层别属性。InSight PCB软件提供了自动导入Gerber资料的平台,相比传统的人工导入方式,能有效避免因为光圈模板规则的判断错误以及层别属性识别错误导致图像文件不能正确转换,带来品质隐患。InSight PCB软件实现自动化操作的关键在于能通过正则表达式匹配PCB设计软件导出的Gerber文件原始名称,本文中正则表达式在InSight PCB软件中的应用技术,能有效自动识别客户原始Gerber文件的类型并自动定义层别属性,替换手动导入Gerber资料的作业模式,为实现PCB生产厂商Gerber资料导入的自动化、减少人力成本、降低品质风险,提高生产效率提供帮助。

1 Gerber资料分类

PCB数据从设计转换到生产的通用格式为Gerber文件格式,一般包含钻带图层资料、线路图层资料、铣带图层资料和封装图层资料等。Gerber文件作为一种国际标准的图像数据转换格式,包含RS-274-D、RS-274-X和GerberX2三种,其中RS-274-D文件因为不能定义不规则多边形图像文件,而且文件中的图像数据和形状大小数据是分开的两个不同文件,已经被淘汰。目前被广泛使用的是Gerber RS-274-X格式,该格式文件集成了图像的形状大小和坐标数据。InSight PCB可对RS-274-X格式文件自动识别和解析,并自动设置对应的层别属性。RS-274-X的Gerber文件的命名组成由图像层名加后缀名组成,因为PCB设计软件的不同,后缀名多为.art、.gbr、.gbx、.gdo、.lgx、.pho等。较为常见的图像层名如表1所示。

2 InSight PCB中应用的正则表达式

InSight PCB中的正则表达式是对Gerber文件名中的字符串(包括普通字符和特殊字符)进行识别和属性定义的一种逻辑公式,用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对Gerber文件名字符串的一种过滤逻辑。InSight PCB中的正则表达式是一种文本模式,该模式描述在识别Gerber文件名称时要匹配的一个或多个字符串。表2列举在InSight PCB规则中应用较多的正则表达式。

3 通过正则表达式自动定义层属性和层名

3.1 自动定义层属性和层名的运作流程

InSight PCB在自动导入Gerber资料时,软件平台会对Gerber文件中的每个文件进行扫描识别,通过用户自定义的正则表达式规则定义该图层资料的属性(层面向、类型、正负极性)等,然后根据层别属性定义层名。软件中应用的正则表达式规则分为层别属性定义和层名定义两个模块,在运行过程中先执行层别属性定义的正则表达式规则(见图1),然后再执行层名定义的正则表达式规则(见图2)。

表1 常见的图像层名

表2 正则表达式

图1 层别属性定义的正则表达规则

图2 层名定义的正则表达规则

3.2 层别属性定义的正则表达式规则编写方法

层别属性定义的正则表达式规则分系统自动创建和用户自定义两种类型:

(1)应用系统自动创建的正则表达式规则:若没有用户自定义的正则表达式规则,InSight PCB软件对导入的Gerber文件名进行解析后记录相关层名、层面向、层类型及正负极性等属性并建立起对应关系,然后将该种对应关系加入到系统自动生成的规则文件里,最终创建一份正则表达式规则模板在系统中,在下次导入Gerber文件时,若该Gerber文件名与系统已存在的正则表达式规则模板相匹配,则会自行调用。系统自动创建的正则表达式规则文件语法描述效果(见图3)。

(2)应用用户编写的自定义正则表达式规则:通过InSight PCB可应用的正则表达式规则语法,对规则语句进行重新编写,以达到自由控制规则限制和范围的目的。图4所示为应用用户编写的自定义正则表达式规则自行编写的规则文件。相比系统自动创建的正则表达式规则,该文件结构及语法更清晰,且匹配效果优于系统自动创建的正则表达式规则。

3.3 正则表达式规则解析(以Bottom面防焊图层为例)

(1)要实现Bottom面防焊图层的层名和属性定义,需编写如下两行正则表达式规则。

第一行:Gerber274X *****^sold(er)?(-)?(botm|bot|bottom).art$

图3 应用系统自带的正则表达式规则文件

图4 应用用户自定义的正则表达式规则文件

第二行:->solder_mask-bot board solder_mask positive bottom 0

(2)正则表达式内容解析。

第一行内容主要负责匹配文件名,其具体含义如下:

Gerber274X:限制文件必须是RS-274-X格式

^sold;文件名开头4个字符必须是sold

(er)?:若sold字符后有er两个字符,则组成solder,否则组成sold

(botm|bot|bottom):在括号内的字符匹配一个,按照上述例子,则匹配出botm

.art$:文件的后缀名必须是.art

第二行内容则是在Bottom面阻防焊图层文件被匹配成功后接下来要执行的层名和属性定义等操作,其具体内容如下:

solder_mask-bot:将文件名更改为solder_mask-bot

board:将文件属性更改为工作层board属性

solder_mask:将该层的类别定义为solder_mask

positive:定义该层的极性为正极性

bottom:定义该层的面向为bottom方向

0:定义起始层,通常在钻孔规则中起作用

(3)在InSight PCB执行自动导入Gerber资料时,若Gerber文件名为soldbotm.art,则该文件会匹配到上述解析的规则,先被定义初始化层名为solder_mask-bot,属性定义为board,极性定义为positive正极性,层面向定义为bottom。定义好层属性后,最终再匹配到图2层名定义的正则表达规则中solder_mask一行,通过层属性进行匹配,将符合要求的文件soldbotm.art最终定义为符合制造工厂要求的sc层名。

3.4 正则表达式规则应用技巧

(1)寻找各文件之间的相同点,即寻找其中的规律,用以组成正则表达式的语句;(2)对正则表达式中*和+的使用需谨慎,*使用过多容易导致规则冲突(3)对于正则表达式中(x|y)和[0]-[9]这样在多种情况中匹配出一个结果的表达式,在规则文件定义层名或是定义贯穿层时,可使用/1/2来取出正则表达式匹配到的结果,其中数字为该匹配的表达式出现的顺序;(4)特殊且无法归类到规则里的,可用针对性强(即只匹配这一文件名)的语句去编写规则;(5)由于规则调用是从上至下的顺序,且匹配成功则不再向下调用,因此,较为特殊且针对性强的规则需放到文件的前端部分。

3.5 系统自动创建和用户自定义的正则表达式规则优缺点分析

我们不难发现,通过软件自动创建的规则针对性强,仅适用于文件名具有统一性、规律性的资料文件,当规则数达到一定数量时,会造成维护困难,杂乱等。平均每个料号导入完成后自动生成的规则文件里包含有22行内容,但内层、外层和防焊字符资料的规则语句往往可以写入到同一条规则里,这就导致规则重复,增加了维护人员的工作难度。使用用户编写的自定义正则表达式规则,则可根据一定的规律去编写匹配原则,控制规则的严谨的程度,等同于扩大了规则的适用性,如上述的图3规则转换为图4为例,将两个钻孔文件的规则合并,实现一行规则可对应多种不同文件名的资料文件,从而大幅缩小规则行数,减轻了维护的难度。在软件测试过程中,通过规则文件整理,将系统自动创建的规则文件78份精简至自定义的规则文件8份后导入测试了2000份Gerber资料,其准确率依然能达到99%以上。由此可见,应用用户编写的自定义规则文件,其适用性强,文件结构简洁,规则文件数量少、易维护,其优势较为明显。

4 Gerber资料自动导入技术展望

4.1 匹配文件内容

文中提到的正则表达式匹配,主要匹配的是文件名,尚未触及到文件中的内容描述,若文件内容具有一定个格式,且相对规律,可尝试匹配文件的内容,通过文件的内容来识别该文件的作用,从而实现更为准确的自动导入。

4.2 大数据支持

无论是系统自动创建的规则还是用户编写的自定义规则,整个过程是不断在重复的。每导入一个文件,可视为收集一条规则,在数量达到一定的程度时,这些数据将存在一定的指导作用。运用这些大数据信息,可组合成高度概括的规则,从而实现高效且精准的资料自动导入。

5 结语

资料导入的自动化是未来PCB行业的发展趋势,通过上述的方法及例子,已足以证明正则表达式运用在InSight PCB层别属性及层名定义中的可行性。正则表达式规则是否准确主要还是依托于客户资料文件名是否规律,若资料文件的命名越是规范或存在一定的规律,则导入时定义的层名及层别属性将会更准确。除此之外,要提高准确率,还需要在看似没有规律的各类Gerber文件名中找到合适的平衡点,使新规则能识别新的层名定义要求,同时又不影响已匹配的旧的层名定义要求。

猜你喜欢

文件名图层定义
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
解密照片合成利器图层混合模式
成功的定义
跟我学添加真实的光照效果
修辞学的重大定义
国外建筑CAD图层标准发展现状与研究
山的定义
用Photoshop图层技术制作精美邮票