CN107220439A - 一种pcb设计中批量移动装配层文字的方法 - Google Patents
一种pcb设计中批量移动装配层文字的方法 Download PDFInfo
- Publication number
- CN107220439A CN107220439A CN201710392185.9A CN201710392185A CN107220439A CN 107220439 A CN107220439 A CN 107220439A CN 201710392185 A CN201710392185 A CN 201710392185A CN 107220439 A CN107220439 A CN 107220439A
- Authority
- CN
- China
- Prior art keywords
- word
- assembling layer
- layer
- assembling
- traversal
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明特别涉及一种PCB设计中批量移动装配层文字的方法。该PCB设计中批量移动装配层文字的方法,采用遍历嵌套的方法逐个遍历所有器件和器件上附加的文字,获取器件上附加的所有文字;在遍历过程中对文字进行检查,判断文字是否属于装配层;若判断文字处于装配层,则执行计算移动操作,若判断文字不属于装配层,则跳过当前文字;最后,通过编写批量移动装配层文字的skill程序,并在PCB设计布线工具Allegro中添加批量移动装配层文字功能按键,即可实现批量移动装配层文字。该PCB设计中批量移动装配层文字的方法,可以快速将装配层的文字移动器件中心,简化了设计中手动逐个移动的复杂过程,在提高效率的同时,还有利于保证设计质量。
Description
技术领域
本发明涉及PCB设计技术领域,特别涉及一种PCB设计中批量移动装配层文字的方法。
背景技术
在PCB(Printed Circuit Board,印刷电路板)设计的后期,装配层的文字需要进行批量移动。按照目前行业内的设计规范,装配层的文字需要移动到器件的中心,用于工厂生产时装配使用。现有的技术方案是逐一点击文字,查看文字属于的器件,然后将文字移动到器件中心。
现有的技术方案工作量大、设置速度慢,且在手动移动的过程中可能会出现错误和遗漏,影响设计的质量。这一过程有规律可循,可以通过编程快捷实现。
基于此,本发明设计了一种PCB设计中批量移动装配层文字的方法。
目前在市场上有多款PCB设计软件,Cadence作为业界应用最广泛的软件,不仅是它拥有强大的功能和多款相关软件做支撑,还因为它提供了开放式的二次开发接口和较为完善的开发语言库,用户可根据自身的需要进行开发。
skill语言是Cadence软件内置的一种基于C语言和LISP语言的高级编程语言,Cadence为skill语言提供了丰富的交互式函数,研究skill语言继而编写工具,投入应用可以大大提高工作效率。
Allegro是一种先进的PCB设计布线工具,提供了良好且交互的工作接口和强大完善的功能,和它的前端产品Cadence、OrCAD、Capture的结合,为当前高速、高密度、多层的复杂PCB设计布线提供了最完美解决方案。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的PCB设计中批量移动装配层文字的方法。
本发明是通过如下技术方案实现的:
一种PCB设计中批量移动装配层文字的方法,其特征在于:采用遍历嵌套的方法逐个遍历所有器件和器件上附加的文字,获取器件上附加的所有文字;在遍历过程中对文字进行检查,判断文字是否属于装配层;若判断文字处于装配层,则执行计算移动操作,若判断文字不属于装配层,则跳过当前文字;最后,通过编写批量移动装配层文字的skill程序,并在PCB设计布线工具Allegro中添加批量移动装配层文字功能按键,即可实现批量移动装配层文字。
所述遍历嵌套的方法先执行优先遍历,然后在每个优先遍历对象内执行次遍历;优先遍历对象为器件,当一个器件上所有的文字遍历完成后,跳转到下一个器件;次遍历对象为文字,执行次遍历时,对文字进行检查,判断文字是否属于装配层。
通过获取文字属性中的层面项目的值,并与“REF DES/ASSEMBLY TOP”以及“REFDES/ASSEMBLY BOTTOM”字符串相比较来判断文字是否属于装配层;若层面项目的值与“REFDES/ASSEMBLY TOP”和“REF DES/ASSEMBLY BOTTOM”字符串中任意一项一致则说明此文字属于装配层,执行计算移动的操作;不一致则说明不符合移动条件,跳过对应文字。
本发明的有益效果是:该PCB设计中批量移动装配层文字的方法,可以快速将装配层的文字移动器件中心,简化了设计中手动逐个移动的复杂过程,在提高效率的同时,还有利于保证设计质量。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该PCB设计中批量移动装配层文字的方法,采用遍历嵌套的方法逐个遍历所有器件和器件上附加的文字,获取器件上附加的所有文字;在遍历过程中对文字进行检查,判断文字是否属于装配层;若判断文字处于装配层,则执行计算移动操作,若判断文字不属于装配层,则跳过当前文字;最后,通过编写批量移动装配层文字的skill程序,并在PCB设计布线工具Allegro中添加批量移动装配层文字功能按键,即可实现批量移动装配层文字。
所述遍历嵌套的方法先执行优先遍历,然后在每个优先遍历对象内执行次遍历;优先遍历对象为器件,当一个器件上所有的文字遍历完成后,跳转到下一个器件;次遍历对象为文字,执行次遍历时,对文字进行检查,判断文字是否属于装配层。
优先遍历对象为器件而不是文字,原因在于以下两点:
(1)选择器件而不是文字是因为器件的位置相对固定,而文字的位置不固定,出现文字错位、与器件距离较远等情况都是正常的,对于使用者而言,器件比文字更直观,针对哪一部分操作一目了然;
(2)文字的数量远远多于器件,往往一个器件上附加好几类文字,因此文字的数量大约是器件数量的2-4倍,且筛选后不满足移动条件的数量多,大部分的遍历都属于无用操作,大大影响执行效率,在本发明的调试阶段测试后对比发现,选择器件比选择文字效率可以提高三倍。
通过获取文字属性中的层面项目的值,并与“REF DES/ASSEMBLY TOP”以及“REFDES/ASSEMBLY BOTTOM”字符串相比较来判断文字是否属于装配层;若层面项目的值与“REFDES/ASSEMBLY TOP”和“REF DES/ASSEMBLY BOTTOM”字符串中任意一项一致则说明此文字属于装配层,执行计算移动的操作;不一致则说明不符合移动条件,跳过对应文字。
移动文字时坐标的计算过程需要分别获取器件中心的坐标,文字的坐标,文字的字号,和文字的高度,然后将文字高度乘0.15作为误差值加入计算。文字属性中有一项是bBox,即为文字的限定框,其值由两个点的坐标组成,分别是文字占据空间的左下角坐标和右上角坐标,而这个获取的限定框比肉眼可见的实际值偏大,文字处于这个限定框上方,下方留有空白。
如果不考虑误差,移动结果会显示文字处于器件中心偏上的位置。而文字的坐标也与这个误差有关系。导致误差的根本原因是文字高度与肉眼可见的实际值有差距,文字下方有留白,因此将高度的0.15倍作为误差加入计算,这个数值是对比多个研究结果后制定的。计算坐标时,需要的数值是文字的位移距离,正为右移,负为左移,具体的计算公式如下所示:
symsizeb=axlDBAltOrigin(center i)
symsizex=car(symsizeb)
symsizex=cadr(symsizeb)
excursion=axlGETParam(strcat(“paramTextBlock:”j->textBlock))->height
jx=symsizex-textsizex+0.15*excursion
jy=symsizey-textsizey-0.15*excursion
所述PCB设计布线工具Allegro的配置以操作过程如下:
(1)进行软件配置文件及快捷键的修改,首先,在allegro.ilinit文件中添加load(“ua_set .il”),其中,ua_set.il为源程序文件,此命令用于加载程序;其次,在env文件中添加快捷键,以按键F3为例,funckey F3 ua_set ,其中, ua_set 为在程序中定义的命令,执行此命令后即运行本发明所指的程序,现在,此命令以快捷键F3代替;
(2)打开allegro软件,按下快捷键F3,确认层面后点击START即可运行程序;
(3)运行开始后框选器件,选中器件的装配层文字会随着选择进行移动,框选全部则移动设计中所有的装配层文字。
按以上步骤,即可完成对装配层文字的批量移动。
Claims (3)
1.一种PCB设计中批量移动装配层文字的方法,其特征在于:采用遍历嵌套的方法逐个遍历所有器件和器件上附加的文字,获取器件上附加的所有文字;在遍历过程中对文字进行检查,判断文字是否属于装配层;若判断文字处于装配层,则执行计算移动操作,若判断文字不属于装配层,则跳过当前文字;最后,通过编写批量移动装配层文字的skill程序,并在PCB设计布线工具Allegro中添加批量移动装配层文字功能按键,即可实现批量移动装配层文字。
2.根据权利要求1所述的PCB设计中批量移动装配层文字的方法,其特征在于:所述遍历嵌套的方法先执行优先遍历,然后在每个优先遍历对象内执行次遍历;优先遍历对象为器件,当一个器件上所有的文字遍历完成后,跳转到下一个器件;次遍历对象为文字,执行次遍历时,对文字进行检查,判断文字是否属于装配层。
3.根据权利要求1或2所述的PCB设计中批量移动装配层文字的方法,其特征在于:通过获取文字属性中的层面项目的值,并与“REF DES/ASSEMBLY TOP”以及“REF DES/ASSEMBLYBOTTOM”字符串相比较来判断文字是否属于装配层;若层面项目的值与“REF DES/ASSEMBLYTOP”和“REF DES/ASSEMBLY BOTTOM”字符串中任意一项一致则说明此文字属于装配层,执行计算移动的操作;不一致则说明不符合移动条件,跳过对应文字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710392185.9A CN107220439A (zh) | 2017-05-27 | 2017-05-27 | 一种pcb设计中批量移动装配层文字的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710392185.9A CN107220439A (zh) | 2017-05-27 | 2017-05-27 | 一种pcb设计中批量移动装配层文字的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107220439A true CN107220439A (zh) | 2017-09-29 |
Family
ID=59948164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710392185.9A Pending CN107220439A (zh) | 2017-05-27 | 2017-05-27 | 一种pcb设计中批量移动装配层文字的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220439A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704715A (zh) * | 2017-11-10 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种pcb布局布线中切换自定义子层的系统及方法 |
CN107729009A (zh) * | 2017-10-23 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种pcb设计中旋转器件文字的方法 |
CN109857453A (zh) * | 2018-11-30 | 2019-06-07 | 济南浪潮高新科技投资发展有限公司 | 一种Allegro软件中自动复位文字的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273767A1 (en) * | 2001-06-28 | 2005-12-08 | Microsoft Corporation | Methods and systems of testing software, and methods and systems of modeling user behavior |
CN103902289A (zh) * | 2014-03-25 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种快速调整文字方向的方法 |
CN105760355A (zh) * | 2016-01-29 | 2016-07-13 | 大连楼兰科技股份有限公司 | 自动批量转换换行符格式的系统及方法 |
CN106599016A (zh) * | 2016-09-30 | 2017-04-26 | 浙江大学 | 一种基于虚拟dom的前端元素维护方法 |
-
2017
- 2017-05-27 CN CN201710392185.9A patent/CN107220439A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273767A1 (en) * | 2001-06-28 | 2005-12-08 | Microsoft Corporation | Methods and systems of testing software, and methods and systems of modeling user behavior |
CN103902289A (zh) * | 2014-03-25 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种快速调整文字方向的方法 |
CN105760355A (zh) * | 2016-01-29 | 2016-07-13 | 大连楼兰科技股份有限公司 | 自动批量转换换行符格式的系统及方法 |
CN106599016A (zh) * | 2016-09-30 | 2017-04-26 | 浙江大学 | 一种基于虚拟dom的前端元素维护方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729009A (zh) * | 2017-10-23 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种pcb设计中旋转器件文字的方法 |
CN107704715A (zh) * | 2017-11-10 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种pcb布局布线中切换自定义子层的系统及方法 |
CN109857453A (zh) * | 2018-11-30 | 2019-06-07 | 济南浪潮高新科技投资发展有限公司 | 一种Allegro软件中自动复位文字的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220439A (zh) | 一种pcb设计中批量移动装配层文字的方法 | |
CN107256005B (zh) | 一种基于bim技术的钢筋数控加工方法及设备 | |
CN107590319B (zh) | 一种用于机械产品方案辅助设计的知识建模方法和系统 | |
CN104424087B (zh) | 一种web页面元素定位的方法,装置及系统 | |
US9235205B2 (en) | Method for producing a measurement probe path on a numerically controlled machine tool | |
CN106625015B (zh) | 控制装置、机床、控制方法 | |
CN108369407A (zh) | 刀具路径修正装置及刀具路径修正方法 | |
CN112016173B (zh) | 一种电气图的制作方法 | |
CN107239617B (zh) | 一种异形版图中基于轨道的紧凑布线方法 | |
CN105808799A (zh) | 一种rtx环境下通用测试软件及其测试方法 | |
CN108595800B (zh) | 一种网壳结构建模方法 | |
CN110737244A (zh) | 数值控制装置和数据编辑方法 | |
CN111859571B (zh) | 基于参数化设计的堆垛机安全性评价方法及系统 | |
CN111993419B (zh) | 基于pdps的机器人离线制作方法及其装置、计算机终端设备 | |
EP2189560B1 (en) | Device and method for debugging knit design and debug program | |
CN107704707A (zh) | 一种查看焊盘上文字的方法 | |
CN103869754A (zh) | 一种数控加工方法 | |
CN102385344A (zh) | 基于Visual C#的DXF格式文件读取的自动焊接方法 | |
CN100470559C (zh) | 一种用于大规模变工况实时流程模拟的收敛探针方法 | |
CN108983081B (zh) | 电动工具开关测试系统二次编程实现方法和系统 | |
CN114443045A (zh) | 基于dll的pcb板参考点的动态加入方法及系统 | |
CN102354148A (zh) | 一种基于装配的模具干涉检查方法 | |
CN107944083A (zh) | 一种自动制作pcb线路削铜的方法 | |
CN204790978U (zh) | 一种焊接的模拟装置 | |
KR100650840B1 (ko) | 검사 장치 및 프로그래밍 툴 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170929 |