CN107729009A - 一种pcb设计中旋转器件文字的方法 - Google Patents

一种pcb设计中旋转器件文字的方法 Download PDF

Info

Publication number
CN107729009A
CN107729009A CN201710994243.5A CN201710994243A CN107729009A CN 107729009 A CN107729009 A CN 107729009A CN 201710994243 A CN201710994243 A CN 201710994243A CN 107729009 A CN107729009 A CN 107729009A
Authority
CN
China
Prior art keywords
word
text
design
rotation
pcb design
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
CN201710994243.5A
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 CN201710994243.5A priority Critical patent/CN107729009A/zh
Publication of CN107729009A publication Critical patent/CN107729009A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明公开一种PCB设计中旋转器件文字的方法,涉及PCB设计领域;在PCB设计中,利用Allegro中自定义shell程序框选PCB设计对象,选中并获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,遍历器件上附加的所有文字,判断文字所属器件是否符合规定需要旋转文字的设计层面,符合则根据规定的文字格式对角度不正确的器件文字进行旋转操作,否则跳过该文字;一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕。

Description

一种PCB设计中旋转器件文字的方法
技术领域
本发明公开一种旋转器件文字的方法,涉及PCB设计领域,具体的说是一种PCB设计中旋转器件文字的方法。
背景技术
在PCB设计的后期,为了规范设计,提高设计一致性及更方便查看,在装配层的文字需要进行旋转到合适角度,用于工厂生产装配使用。因此,在设计后期对装配层文字的旋转处理是必不可少的操作,但是现有的技术方案是逐一点击文字,查看文字属于的器件,然后将文字旋转至与器件方向对应的角度,此对应关系需要参照设计规范中的规定。如此做法不但工作量大、设置速度慢,且在手动旋转的过程中可能会出现错误和遗漏,影响设计的质量。本发明提供一种PCB设计中旋转器件文字的方法,快速旋转转PCB设计层面的文字为指定角度,简化了设计中手动逐个旋转的复杂过程。在提高效率的同时,也有效避免人工旋转过程中可能带来的错误和遗漏,有利于保证设计质量。
PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为"印刷"电路板。
Cadence Allegro作为PCB设计软件,是业界应用最广泛的软件,不仅是它拥有强大的功能和多款相关软件做支撑,还因为它提供了开放式的二次开发接口和较为完善的开发语言库,用户可根据自身的需要进行开发。
skill语言是Cadence软件内置的一种基于C语言和LISP语言的高级编程语言,Cadence为skill语言提供了丰富的交互式函数。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种PCB设计中旋转器件文字的方法。
一种PCB设计中旋转器件文字的方法,在PCB设计中,利用Allegro中自定义shell程序框选PCB设计对象,选中并获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,遍历器件上附加的所有文字,判断器件的文字是否符合规定需要旋转文字的设计层面,符合则根据规定的文字格式对角度不正确的器件文字进行旋转操作,否则跳过该文字;一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕。
所述的方法中获取每个器件上的附加文字,先执行优先遍历,每个优先遍历对象内执行次遍历,在次遍历中对文字进行层面检查,获取文字属性中的层面项目的值,与设计层面相应的字符串比较判断是否一致,一致则器件的文字符合规定需要旋转文字的设计层面,否则不符合;符合则根据规定的文字格式对器件文字进行旋转操作,否则跳过该文字。
所述的方法中根据规定的文字格式,查看文字属性中rotation属性和mirror属性判断器件文字的角度是否正确。
所述的方法主要步骤:
在Allegro中自定义shell程序,进行软件配置文件及相应自定义shell程序快捷键的修改,
运行Allegro,执行自定义shell程序,
自定义shell程序框选PCB设计对象,选中并获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,遍历器件上附加的所有文字,判断器件的文字是否符合规定需要旋转文字的设计层面,符合则根据规定的文字格式对角度不正确的器件文字进行旋转操作,否则跳过该文字;一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕。
所述的方法中在allegro.ilinit文件中添加load,用于加载自定义shell程序,在env文件中添加修改的快捷键。
本发明与现有技术相比具有的有益效果是:
本发明提供一种PCB设计中旋转器件文字的方法,在PCB设计中,利用Allegro中自定义shell程序框选PCB设计对象,选中并获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,遍历器件上附加的所有文字,判断器件的文字是否符合规定需要旋转文字的设计层面,符合则根据规定的文字格式对角度不正确的器件文字进行旋转操作,否则跳过该文字;一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕;采用本发明,可以快速旋转PCB设计层面的文字为指定角度,简化了设计中手动逐个旋转的复杂过程。在提高效率的同时,也有效避免人工旋转过程中可能带来的错误和遗漏,有利于保证设计质量。
附图说明
图1本发明shell程序运行时弹窗的界面示意图;
图2 本发明shell程序运行时查看文字属性的界面示意图;
图3本发明实施例中规定的正确的文字格式示意图;
图4本发明举例的不正确的文字格式示意图;
图5本发明shell程序运行步骤流程示意图;
图6 PCB设计中文字没有旋转时示意图;
图7利用本发明方法后PCB设计中文字旋转后示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明进一步详细说明。
利用本发明方法,在Allegro中自定义shell程序,进行软件配置文件及相应自定义shell程序快捷键的修改,其中在allegro.ilinit文件中添加load,“ ua_rotate .il”,ua_rotate.il为源程序文件,此命令用于加载程序;在env文件中添加快捷键,以按键F3为例,funckey F3 ua_rotate ,ua_rotate 为在程序中定义的命令,执行此命令后即运行本发明所指的自定义shell程序,现在,此命令以快捷键F3代替;
运行Allegro,按下字母F3,确认层面后点击START即可运行程序,选择弹窗中的REFDES/ASSEMBLY,即装配层,以装配层为例进行器件文字的旋转,参考图1,可以看到列表中显示的内容为“REF DES/ASSEMBLY”,此层面即为装配层,用于工厂生产时装配零件用;此外也可用于旋转其他层面如丝印层,器件管脚等文字的旋转,在程序中修改操作层面和对象即可;
在图1界面点击“START”按钮后,框选PCB设计对象,对你选择框中的对象进行抓取,获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,先执行优先遍历,每个优先遍历对象内执行次遍历,在次遍历中对文字进行层面检查,获取文字属性中的层面项目的值,与装配层REF DES/ASSEMBLY TOP”、“REF DES/ASSEMBLY BOTTOM”字符串相比较,
一致则文字属于装配层, 根据规定的文字格式对器件文字进行旋转操作,否则不符合选择条件,跳过该文字,一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕,参考图5;
其中规定的文字格式的可根据实际情况进行确定,比如根据文字属性中含有rotation和mirror的属性,可以通过show element功能查看,如图2对文字“LED3”进行查看,rotation是0度,mirror属性是not mirrored,rotation是指文字的旋转角度,水平正向视为0度,以逆时针旋转角度计,rotaton必须小于360度,mirror状态可确定器件所在的层面,mirror即为TOP层,not mirrored为BOTTOM层;同时规定文字可以为以下四种格式:
1)、mirror,rotation=0;
2)、mirror,rotation=90;
3)、not mirror,rotation=0;
4)、not mirror,rotation=270;
即规定的文字方向有两个基本原则,阅读文字时从左往右,由下至上,规定是文字必须90度旋转,保持横向或纵向,其他角度不被允许。同时,一般将纵向的器件上附加的文字旋转为纵向,保持与器件的方向一致,而阅读方向由下至上就对纵向的文字进行了规定,并不是两种纵向都可以;图3中展示了四种正确的方向,前两个文字是处于TOP层,未镜像,根据从左往右,由下至上的原则,符合规定的角度是0度和90度。后两个文字是处于BOTTOM层,镜像,根据从左往右,由下至上的原则,符合规定的角度是0度和270度,而图4展示了四种错误的方向,违反了从左往右,由下至上的原则。
利用上述步骤及规定的文字格式,对图6中器件文件进行旋转,旋转后的结果如图7所示。

Claims (5)

1.一种PCB设计中旋转器件文字的方法,其特征在于在PCB设计中,利用Allegro中自定义shell程序框选PCB设计对象,选中并获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,遍历器件上附加的所有文字,判断器件的文字是否符合规定需要旋转文字的设计层面,符合则根据规定的文字格式对角度不正确的器件文字进行旋转操作,否则跳过该文字;一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕。
2.根据权利要求1所述的方法,其特征在于获取每个器件上的附加文字,先执行优先遍历,每个优先遍历对象内执行次遍历,在次遍历中对文字进行层面检查,获取文字属性中的层面项目的值,与设计层面相应的字符串比较判断是否一致,一致则器件的文字符合规定需要旋转文字的设计层面,否则不符合;符合则根据规定的文字格式对器件文字进行旋转操作,否则跳过该文字。
3.根据权利要求1或2所述的方法,其特征在于根据规定的文字格式,查看文字属性中rotation属性和mirror属性判断器件文字的角度是否正确。
4.根据权利要求1-3任一所述的方法,其特征在于主要步骤:
在Allegro中自定义shell程序,进行软件配置文件及相应自定义shell程序快捷键的修改,
运行Allegro,执行自定义shell程序,
自定义shell程序框选PCB设计对象,选中并获取设计对象的器件,遍历选中的所有器件,获取每个器件上的附加文字,遍历器件上附加的所有文字,判断器件的文字是否符合规定需要旋转文字的设计层面,符合则根据规定的文字格式对角度不正确的器件文字进行旋转操作,否则跳过该文字;一个器件上所有的文字遍历完成后,跳转到下一个器件,直至所有需要进行旋转操作的文字旋转完毕。
5.根据权利要求4所述的方法,其特征在于在allegro.ilinit文件中添加load,用于加载自定义shell程序,在env文件中添加修改的快捷键。
CN201710994243.5A 2017-10-23 2017-10-23 一种pcb设计中旋转器件文字的方法 Pending CN107729009A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710994243.5A CN107729009A (zh) 2017-10-23 2017-10-23 一种pcb设计中旋转器件文字的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710994243.5A CN107729009A (zh) 2017-10-23 2017-10-23 一种pcb设计中旋转器件文字的方法

Publications (1)

Publication Number Publication Date
CN107729009A true CN107729009A (zh) 2018-02-23

Family

ID=61212367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710994243.5A Pending CN107729009A (zh) 2017-10-23 2017-10-23 一种pcb设计中旋转器件文字的方法

Country Status (1)

Country Link
CN (1) CN107729009A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076715A (zh) * 2021-04-02 2021-07-06 苏州谋时软件科技有限公司 一种在Allegro中创建文字块的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131709A (zh) * 2006-08-22 2008-02-27 英业达股份有限公司 分工式电路布局图文字面处理方法及系统
KR20100053961A (ko) * 2008-11-13 2010-05-24 주식회사 다한이엔지 피씨비 기판 레이저 양면 마킹장치
CN107145689A (zh) * 2017-06-12 2017-09-08 郑州云海信息技术有限公司 一种pcb设计中检查文字方向的方法
CN107220439A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种pcb设计中批量移动装配层文字的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131709A (zh) * 2006-08-22 2008-02-27 英业达股份有限公司 分工式电路布局图文字面处理方法及系统
KR20100053961A (ko) * 2008-11-13 2010-05-24 주식회사 다한이엔지 피씨비 기판 레이저 양면 마킹장치
CN107220439A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种pcb设计中批量移动装配层文字的方法
CN107145689A (zh) * 2017-06-12 2017-09-08 郑州云海信息技术有限公司 一种pcb设计中检查文字方向的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周润景等: "《Cadence电路板设计入门》", 31 October 2015, 西安电子科技大学出版社 *
董一冰等: "《电子线路CAD》", 31 August 2014, 中国财富出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076715A (zh) * 2021-04-02 2021-07-06 苏州谋时软件科技有限公司 一种在Allegro中创建文字块的方法和系统

Similar Documents

Publication Publication Date Title
US11763078B2 (en) Provisional selection drives edit suggestion generation
Pratas Creating flat design websites
CN107194065A (zh) 一种pcb设计中检查并设定约束值的方法
Meiller Modern app development with Dart and Flutter 2: A comprehensive introduction to flutter
WO2016021085A1 (ja) データリンク生成装置、データリンク生成方法、データリンク構造および電子ファイル
Gaspar et al. Mastering Flask Web Development: Build Enterprise-grade, Scalable Python Web Applications
Niska Extending Bootstrap
Forrester et al. How to Build Android Apps with Kotlin: A practical guide to developing, testing, and publishing your first Android apps
CN107729009A (zh) 一种pcb设计中旋转器件文字的方法
Barker Learn SwiftUI: An introductory guide to creating intuitive cross-platform user interfaces using Swift 5
Moore Mastering GUI programming with Python: Develop impressive cross-platform GUI applications with Pyqt
Jakobus Mastering Bootstrap 4: Master the latest version of Bootstrap 4 to build highly customized responsive web apps
de Paz Tkinter GUI Application Development Cookbook: A practical solution to your GUI development problems with Python and Tkinter
Hillebrand et al. Mastering RStudio-Develop, Communicate, and Collaborate with R
Peleg Mastering Sublime Text
Morris Hands-On Android UI Development: Design and develop attractive user interfaces for Android applications
Sahar iOS 14 Programming for Beginners: Get started with building iOS apps with Swift 5.3 and Xcode 12
Talbot et al. Learning Android application programming: a hands-on guide to building Android applications
Fadda An iOS Developer's Guide to SwiftUI: Design and build beautiful apps quickly and easily with minimum code
Yosifovich Windows Presentation Foundation 4.5 Cookbook
Kotaru Material Design Implementation with AngularJS
Firdaus et al. HTML5 and CSS3: Building Responsive Websites
Lambert Bootstrap Site Blueprints Volume II
Wals Mastering iOS 12 Programming: Build professional-grade iOS applications with Swift and Xcode 10
Wang Introduction to computer programming with Python

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

Application publication date: 20180223

RJ01 Rejection of invention patent application after publication