分别输出表底层器件坐标的方法技术

技术编号:24331612 阅读:31 留言:0更新日期:2020-05-29 19:51
本发明专利技术公开了电路板技术领域中的一种分别输出表底层器件坐标的方法,在Allegro软件中加载quick_placebyTB的执行文件,依次判断每一个元器件的管脚是否被镜像,若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件中,反之则输出到表层文件中。本发明专利技术使用Allegro软件提供的扩展skill接口,同样可以输出器件坐标文件,而且可以分别输出表底层器件坐标文件,缩短时间,提高效率。

The method of outputting the bottom device coordinates of the meter separately

【技术实现步骤摘要】
分别输出表底层器件坐标的方法
本专利技术涉及电路板
,具体的说,是涉及一种分别输出表底层器件坐标的方法。
技术介绍
作为电子元器件电气连接载体的印制电路板(PrintedCircuitBoard,PCB板),被广泛运用于各种领域。随着高速时代的发展和电子产品的不断更新换代,电子产品实现的功能越来越多,产品上使用的元器件个数也随之增多,使得PCB板的设计越来越复杂。在PCB板制作过程中,摆放完元器件后进行贴片的时候,需要使用到各个元器件的坐标。而在许多场合,进行PCB设计时需要将表底层元器件的坐标分开。然而进行PCB设计时用到的Allegro软件输出的器件坐标报表中,表底层器件是在一起的,这就需要设计人员从输出的报表文件中,利用Excel或其他软件进行筛选,才能做出表底层器件坐标分开的文件。然而这种操作方式花费了大量的时间和精力去完成,且容易造成筛选结果误差大的缺陷。上述缺陷,值得解决。
技术实现思路
为了克服现有的技术的不足,本专利技术提供一种分别输出表底层器件坐标的方法。本专利技术技术方案如下所述:分别输出表底层器件坐标的方法,其特征在于,在Allegro软件中加载quick_placebyTB的执行文件,依次判断每一个元器件的管脚是否被镜像,若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件中,反之则输出到表层文件中。根据上述方案的本专利技术,其特征在于,通过Allegro软件提供的扩展skill接口,将quick_placebyTB执行文件写入到Allegro软件中。进一步的,修改D:\Cadence\SPB_16.6\share\local\pcb\skill下的allegro.ilinit文件,在里面添加load("quick_placebyTB.il")的代码,使得Allegro软件能够执行分别输出表底层器件坐标的指令。根据上述方案的本专利技术,其特征在于,在识别元器件管脚是否被镜像并输出表底层文件的过程中,具体包括:定义输出文件,并将确定的坐标单位信息输出到定义的输出文件中;根据整板摆放的元器件获取整板的总元器件信息列表,然后判断元器件管脚的isMirrored信息;输出元器件列表信息;所有元器件的信息判断完成后,输出到定义的输出文件上面。进一步的,在输出元器件列表信息的过程中,(1)先获取元器件的参考信息,创建列表;(2)获取元器件的X变量、Y变量,通过X变量、Y变量分别提取元器件的X坐标值和Y坐标值,创建列表;(3)通过获取元器件的旋转变量,提取元器件的角度,创建列表;(4)获取元器件的封装信息,创建列表。根据上述方案的本专利技术,其有益效果在于,本专利技术使用Allegro软件提供的扩展skill接口,通过skill程序分别输出表底层器件坐标,减少通过利用excel表格或者其它软件,经过筛选后,才能做出表底层器件坐标分开的文件所花的时间,提高效率。附图说明图1为本专利技术的实现流程图。图2为本专利技术输出元器件列表的流程图。具体实施方式下面结合附图以及实施方式对本专利技术进行进一步的描述:一种分别输出表底层器件坐标的方法,通过Allegro软件提供的扩展skill接口,对整板的元器件数据库进行编辑操作,通过修改Allegro软件的部分配置文件,从而对整板放置的元器件数据库进行直接修改。在本实施例中,通过Allegro软件提供的扩展skill接口,将quick_placebyTB执行文件写入到Allegro软件中。具体的,修改D:\Cadence\SPB_16.6\share\local\pcb\skill下的allegro.ilinit文件,在里面添加load("quick_placebyTB.il")的代码,使得Allegro软件能够执行分别输出表底层器件坐标的指令。该代码含义是在Allegro软件中加载此执行文件,文件名为“quick_placebyTB”。将文件quick_placebyTB.il放到Allegro设计文件同一目录下,执行命令将加载此目录下的执行文件并运行,该目录为skill文件的存放目录。打开要输出坐标的PCB,在allegro的Command栏中敲入quick_tb,然后点击Enter,place_Bot.txt和place_Top.txt就会在该PCB的文件夹下生成。本实施例通过判断每一个元器件的管脚是否被镜像来判断该元器件为表层和底层区分开来。若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件place_Bot.txt中,反之则输出到表层文件place_Top.txt中。如图1所示,在识别元器件管脚是否被镜像并输出表底层文件的过程中,具体包括:1、定义输出文件,并将确定的坐标单位信息(如“UUNITS=MILS”),并输出到定义的输出文件中。部分代码如下:defun(quick_placebyTB()/*定义主函数quick_placebyTB*/cur_units=axlGetParam("paramDesign")->units/*通过获取指定paramDesign参数的dbid获取单位值*/outputtitle=strcat("UUNITS="upperCase(cur_units))/*将单位值由小写转化为大写字母*/writep1=outfile("./place_Bot.txt")writep2=outfile("./place_Top.txt")fprintf(writep1,outputtitle)/*将单位信息分别在两个文件中打印输出*/fprintf(writep2,outputtitle)fprintf(writep1,"\n")fprintf(writep2,"\n")close(writep1)close(writep2)2、(1)根据整板摆放的元器件获取整板的总元器件信息列表。部分代码如下:allcomDB=axlDBGetDesign()->components/*获取所有components的dbid*/foreach(comDBallcomDB/*循环创建pin_dbid的链表及输出到文件*/(2)判断元器件管脚的isMirrored信息。部分代码如下:cur_compinslist=comDB->pins/*创建获取pinsbdid的链表cur_compinslist*/cur_compin=car(cur_compinslist)/*获取链表cur_compinslist第一个参数*/cur_comTB=cur_compin->isMirrored/*判断此pin是否镜像即是在top层还是bot层,调用子函数outputloc分别打印输出本文档来自技高网...

【技术保护点】
1.分别输出表底层器件坐标的方法,其特征在于,在Allegro软件中加载quick_placebyTB执行文件,依次判断每一个元器件是位于表层还是底层,并将该元器件的信息列表输出到对应的表层文件或底层文件中。/n

【技术特征摘要】
1.分别输出表底层器件坐标的方法,其特征在于,在Allegro软件中加载quick_placebyTB执行文件,依次判断每一个元器件是位于表层还是底层,并将该元器件的信息列表输出到对应的表层文件或底层文件中。


2.根据权利要求1所述的分别输出表底层器件坐标的方法,其特征在于,通过Allegro软件提供的扩展skill接口,将quick_placebyTB执行文件加载到Allegro软件中。


3.根据权利要求2所述的分别输出表底层器件坐标的方法,其特征在于,修改D:\Cadence\SPB_16.6\share\local\pcb\skill下的allegro.ilinit文件,在里面添加load("quick_placebyTB.il")的代码,使得Allegro软件能够执行分别输出表底层器件坐标的指令。


4.根据权利要求1所述的分别输出表底层器件坐标的方法,其特征在于,通过判断元器件的管脚是否被镜像,来判断元器件是位于表层还是底层:若该元器件的管脚被镜像,则将该元器件的信息列表输出到底层文件中,反之则输出到表层文件中。
...

【专利技术属性】
技术研发人员:康春猛王灿钟
申请(专利权)人:深圳市一博科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1