CN107220439A - 一种pcb设计中批量移动装配层文字的方法 - Google Patents

一种pcb设计中批量移动装配层文字的方法 Download PDF

Info

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
Application number
CN201710392185.9A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710392185.9A priority Critical patent/CN107220439A/zh
Publication of CN107220439A publication Critical patent/CN107220439A/zh
Pending legal-status Critical Current

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

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设计中批量移动装配层文字的方法。
背景技术
在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”字符串中任意一项一致则说明此文字属于装配层,执行计算移动的操作;不一致则说明不符合移动条件,跳过对应文字。
CN201710392185.9A 2017-05-27 2017-05-27 一种pcb设计中批量移动装配层文字的方法 Pending CN107220439A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的前端元素维护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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设计中批量移动装配层文字的方法
CN107590319B (zh) 一种用于机械产品方案辅助设计的知识建模方法和系统
US9235205B2 (en) Method for producing a measurement probe path on a numerically controlled machine tool
CN102768617B (zh) 手持式电子设备及基于触摸屏的列表项编辑的方法
CN106625015B (zh) 控制装置、机床、控制方法
CN108369407A (zh) 刀具路径修正装置及刀具路径修正方法
CN104424087A (zh) 一种web页面元素定位的方法,装置及系统
CN107239617B (zh) 一种异形版图中基于轨道的紧凑布线方法
CN105808799A (zh) 一种rtx环境下通用测试软件及其测试方法
KR100860963B1 (ko) 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법
CN112016173B (zh) 一种电气图的制作方法
CN108595800B (zh) 一种网壳结构建模方法
CN115840616A (zh) 一种创建运动副对象的方法、装置及存储介质
CN107085641A (zh) 一种Allegro软件中快速定位铜皮void的方法
CN111859571B (zh) 基于参数化设计的堆垛机安全性评价方法及系统
EP2189560B1 (en) Device and method for debugging knit design and debug program
CN102508691B (zh) 一种图形语言程序的有序分解方法及有序分解器
CN107704707A (zh) 一种查看焊盘上文字的方法
JP2014086044A (ja) 設計支援プログラム,方法及び装置
CN102385344A (zh) 基于Visual C#的DXF格式文件读取的自动焊接方法
CN100470559C (zh) 一种用于大规模变工况实时流程模拟的收敛探针方法
CN108983081B (zh) 电动工具开关测试系统二次编程实现方法和系统
Chen et al. An object-based, attribute-oriented approach for software change impact analysis
CN107944083A (zh) 一种自动制作pcb线路削铜的方法
CN104669094B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170929