CN103810346A - 一种在allegro软件中检查零件限高的方法 - Google Patents
一种在allegro软件中检查零件限高的方法 Download PDFInfo
- Publication number
- CN103810346A CN103810346A CN201410067038.0A CN201410067038A CN103810346A CN 103810346 A CN103810346 A CN 103810346A CN 201410067038 A CN201410067038 A CN 201410067038A CN 103810346 A CN103810346 A CN 103810346A
- Authority
- CN
- China
- Prior art keywords
- height
- form1
- chker
- allegro
- fprintf
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种在ALLEGRO软件中检查零件限高的方法,属于Allegro软件应用。技术方案为:在PCBLayout设计中,首先,在建立物料Symbol封装的时候,根据物料的Datasheet将相应的高度属性添加到零件的相应属性层面;然后,运行Skill程序,检查此区域的所有零件的高度信息并且将超过区域限高的零件标识出来;最后,对PCBLayout设计的后台数据库进行直接修改。本发明的一种在ALLEGRO软件中检查零件限高的方法借助于Skill程序,并结合机构工程师提供的PCB布局高度限制,可以迅速的对零件限高进行检查,而且不会出现失误。
Description
技术领域
本发明涉及一种Allegro软件应用,具体地说是一种在ALLEGRO软件中检查零件限高的方法。
背景技术
Allegro软件作为业界知名的PCB设计软件,具有非常丰富而强大的功能。此软件使用一种特定的数据形式存储设计文件,并且每份设计文件都有相应的独立数据库支撑。数据库中主要有两类信息:物理信息和逻辑信息。Allegro软件的各种功能操作,都是对这个数据库的编辑。同样的情况,使用软件提供的扩展Skill接口,也可以对此数据库进行编辑操作,从而实现一些程序没有提供的功能,提高Layout工作的效率。
在PCB Layout设计中,Layout工程师需要与机构工程师密切协同合作。结构设计相应的影响体现在Layout设计中,就是在PCB整板布局中,需要考虑PCB板载物料的高度。因为现在的电子产品设计越来越精密和复杂,各种新型物料和部件的尺寸也一再的缩减甚至超出人们的想象。PCB板作为产品的重要组成,PCB板以及PCB板上所搭载的零件,他们的厚度和高度以及外形大小,对整个产品的工业造型设计有着决定性的影响。因此,Layout工程师在设计PCB的时候,需要对布局中的零件高度进行仔细的检查确认。
但是在实际情况中,Allegro软件并没有提供一种自动化检查零件限高的功能,需要Layout工程师手工核对,并且需要结构工程师的支持和确认。此种方法极为浪费时间和人力。在项目复杂且周期紧张的情况下,非常容易出现错误,影响整个项目的进行。
发明内容
本发明的技术任务是针对以上不足之处,提供一种借助于Skill程序,并结合机构工程师提供的PCB布局高度限制,可以迅速的对零件限高进行检查,而且不会出现失误的一种在ALLEGRO软件中检查零件限高的方法。
本发明解决其技术问题所采用的技术方案是:
一种在ALLEGRO软件中检查零件限高的方法,在PCB Layout设计中,首先,在建立物料Symbol 封装(PCB Footprint)的时候,根据物料的Datasheet将相应的高度属性添加到零件的相应属性层面(PackageGeometry =>>PlaceBound);然后,运行Skill程序,检查此区域的所有零件的高度信息并且将超过区域限高的零件标识出来;最后,对PCB Layout设计的后台数据库进行直接修改。
Skill程序的实施要修改软件的部分配置文件,以达到必须的运行环境,从而可对Layout设计的后台数据库进行直接修改;Skill程序的部分源代码如下:
;Type "heightchk" to start
;
axlCmdRegister( "heightchk" `heightchker)
;******************************************************************************
(defun heightchker ()
vis_list = axlVisibleGet() ;store design visibility
symlist=makeTable("atable3" 0) ;make assocication table
symlist2=() ;makelist
height_chker_form() ;Make form
Form1=axlFormCreate( (gensym) "height_chker_form1.form" '(e outer) 'height_chker_form_Action t)
checkLimitValue=1 ;preset limit variable
axlFormSetField( Form1 "GreaterThan" 1) ;preset form value
checkSideValue=1 ;preset side variable
axlFormSetField( Form1 "TopSide" 1) ;preset form values...
axlVisibleDesign(nil)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("PACKAGE GEOMETRY/ASSEMBLY_TOP" t)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
axlVisibleUpdate(t)
axlFormSetField( Form1 "TestNumber" "0")
axlFormDisplay(Form1) ;display form
); end defun heightchker
;*******************************************************************************
(defun height_chker_form ()
height_chker_form1=outfile("height_chker_form1.form" "w")
fprintf(height_chker_form1 "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(height_chker_form1 "FORM\n")
fprintf(height_chker_form1 "FIXED\n")
fprintf(height_chker_form1 "PORT 25 72\n")
fprintf(height_chker_form1 "HEADER \"Height Chker\"\n")
;################################################## Display buttons
详细步骤为:
(1)、首先修改Allegro软件的菜单栏文件,将LayoutSkill一栏添加到菜单栏中;配置文件allegro.men的路径为C:\Cadence\SPB_16.5\share\pcb\text\cuimenus;
(2)、修改C:\Cadence\SPB_16.5\share\local\pcb\skill路径下的allegro.ilinit文件,在其中添加代码;
(3)、将height_check.il文件放到C:\Cadence\SPB_16.5\share\local\pcb\skill目录下;
(4)、在菜单栏中执行HeightCheck命令,实现此Skill程序的功能。
本发明的一种在ALLEGRO软件中检查零件限高的方法和现有技术相比,借助于Skill程序,并结合机构工程师提供的PCB布局高度限制,可以迅速的对零件限高进行检查,而且不会出现失误,具有设计合理、使用方便、效率高等特点,因而,具有很好的推广使用价值。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
实施例1:
一种在ALLEGRO软件中检查零件限高的方法,在PCB Layout设计中,首先,在建立物料Symbol 封装(PCB Footprint)的时候,根据物料的Datasheet将相应的高度属性添加到零件的相应属性层面(PackageGeometry =>>PlaceBound);然后,运行Skill程序,检查此区域的所有零件的高度信息并且将超过区域限高的零件标识出来;最后,对PCB Layout设计的后台数据库进行直接修改。
实施例2:
一种在ALLEGRO软件中检查零件限高的方法,其特征在于在PCB Layout设计中,首先,在建立物料Symbol 封装(PCB Footprint)的时候,根据物料的Datasheet将相应的高度属性添加到零件的相应属性层面(PackageGeometry =>>PlaceBound);然后,运行Skill程序,检查此区域的所有零件的高度信息并且将超过区域限高的零件标识出来;最后,对PCB Layout设计的后台数据库进行直接修改。
Skill程序的实施要修改软件的部分配置文件,以达到必须的运行环境,从而可对Layout设计的后台数据库进行直接修改;Skill程序的部分源代码如下:
;Type "heightchk" to start
;
axlCmdRegister( "heightchk" `heightchker)
;******************************************************************************
(defun heightchker ()
vis_list = axlVisibleGet() ;store design visibility
symlist=makeTable("atable3" 0) ;make assocication table
symlist2=() ;makelist
height_chker_form() ;Make form
Form1=axlFormCreate( (gensym) "height_chker_form1.form" '(e outer) 'height_chker_form_Action t)
checkLimitValue=1 ;preset limit variable
axlFormSetField( Form1 "GreaterThan" 1) ;preset form value
checkSideValue=1 ;preset side variable
axlFormSetField( Form1 "TopSide" 1) ;preset form values...
axlVisibleDesign(nil)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("PACKAGE GEOMETRY/ASSEMBLY_TOP" t)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
axlVisibleUpdate(t)
axlFormSetField( Form1 "TestNumber" "0")
axlFormDisplay(Form1) ;display form
); end defun heightchker
;*******************************************************************************
(defun height_chker_form ()
height_chker_form1=outfile("height_chker_form1.form" "w")
fprintf(height_chker_form1 "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(height_chker_form1 "FORM\n")
fprintf(height_chker_form1 "FIXED\n")
fprintf(height_chker_form1 "PORT 25 72\n")
fprintf(height_chker_form1 "HEADER \"Height Chker\"\n")
;################################################## Display buttons
实施例3:
一种在ALLEGRO软件中检查零件限高的方法,在PCB Layout设计中,首先,在建立物料Symbol 封装(PCB Footprint)的时候,根据物料的Datasheet将相应的高度属性添加到零件的相应属性层面(PackageGeometry =>>PlaceBound);然后,运行Skill程序,检查此区域的所有零件的高度信息并且将超过区域限高的零件标识出来;最后,对PCB Layout设计的后台数据库进行直接修改。
Skill程序的实施要修改软件的部分配置文件,以达到必须的运行环境,从而可对Layout设计的后台数据库进行直接修改;Skill程序的部分源代码如下:
;Type "heightchk" to start
;
axlCmdRegister( "heightchk" `heightchker)
;******************************************************************************
(defun heightchker ()
vis_list = axlVisibleGet() ;store design visibility
symlist=makeTable("atable3" 0) ;make assocication table
symlist2=() ;makelist
height_chker_form() ;Make form
Form1=axlFormCreate( (gensym) "height_chker_form1.form" '(e outer) 'height_chker_form_Action t)
checkLimitValue=1 ;preset limit variable
axlFormSetField( Form1 "GreaterThan" 1) ;preset form value
checkSideValue=1 ;preset side variable
axlFormSetField( Form1 "TopSide" 1) ;preset form values...
axlVisibleDesign(nil)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("PACKAGE GEOMETRY/ASSEMBLY_TOP" t)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
axlVisibleUpdate(t)
axlFormSetField( Form1 "TestNumber" "0")
axlFormDisplay(Form1) ;display form
); end defun heightchker
;*******************************************************************************
(defun height_chker_form ()
height_chker_form1=outfile("height_chker_form1.form" "w")
fprintf(height_chker_form1 "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(height_chker_form1 "FORM\n")
fprintf(height_chker_form1 "FIXED\n")
fprintf(height_chker_form1 "PORT 25 72\n")
fprintf(height_chker_form1 "HEADER \"Height Chker\"\n")
;################################################## Display buttons
详细步骤为:
(1)、首先修改Allegro软件的菜单栏文件,将LayoutSkill一栏添加到菜单栏中;配置文件allegro.men的路径为C:\Cadence\SPB_16.5\share\pcb\text\cuimenus;
(2)、修改C:\Cadence\SPB_16.5\share\local\pcb\skill路径下的allegro.ilinit文件,在其中添加代码;
(3)、将height_check.il文件放到C:\Cadence\SPB_16.5\share\local\pcb\skill目录下;
(4)、在菜单栏中执行HeightCheck命令,实现此Skill程序的功能。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种在ALLEGRO软件中检查零件限高的方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (3)
1.一种在ALLEGRO软件中检查零件限高的方法,其特征在于在PCB Layout设计中,首先,在建立物料Symbol 封装的时候,根据物料的Datasheet将相应的高度属性添加到零件的相应属性层面;然后,运行Skill程序,检查此区域的所有零件的高度信息并且将超过区域限高的零件标识出来;最后,对PCB Layout设计的后台数据库进行直接修改。
2.根据权利要求1所述的一种在ALLEGRO软件中检查零件限高的方法,其特征在于Skill程序的实施要修改软件的部分配置文件,以达到必须的运行环境,从而可对Layout设计的后台数据库进行直接修改;Skill程序的部分源代码如下:
;Type "heightchk" to start
;
axlCmdRegister( "heightchk" `heightchker);
(defun heightchker ()
vis_list = axlVisibleGet() ;store design visibility
symlist=makeTable("atable3" 0) ;make assocication table
symlist2=() ;makelist
height_chker_form() ;Make form
Form1=axlFormCreate( (gensym) "height_chker_form1.form" '(e outer) 'height_chker_form_Action t)
checkLimitValue=1 ;preset limit variable
axlFormSetField( Form1 "GreaterThan" 1) ;preset form value
checkSideValue=1 ;preset side variable
axlFormSetField( Form1 "TopSide" 1) ;preset form values...
axlVisibleDesign(nil)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("PACKAGE GEOMETRY/ASSEMBLY_TOP" t)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
axlVisibleUpdate(t)
axlFormSetField( Form1 "TestNumber" "0")
axlFormDisplay(Form1) ;display form
); end defun heightchker;
(defun height_chker_form ()
height_chker_form1=outfile("height_chker_form1.form" "w")
fprintf(height_chker_form1 "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(height_chker_form1 "FORM\n")
fprintf(height_chker_form1 "FIXED\n")
fprintf(height_chker_form1 "PORT 25 72\n")
fprintf(height_chker_form1 "HEADER \"Height Chker\"\n");
Display buttons
。
3.根据权利要求1或2所述的一种在ALLEGRO软件中检查零件限高的方法,其特征在于详细步骤为:
(1)、首先修改Allegro软件的菜单栏文件,将LayoutSkill一栏添加到菜单栏中;配置文件allegro.men的路径为C:\Cadence\SPB_16.5\share\pcb\text\cuimenus;
(2)、修改C:\Cadence\SPB_16.5\share\local\pcb\skill路径下的allegro.ilinit文件,在其中添加代码;
(3)、将height_check.il文件放到C:\Cadence\SPB_16.5\share\local\pcb\skill目录下;
(4)、在菜单栏中执行HeightCheck命令,实现此Skill程序的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410067038.0A CN103810346A (zh) | 2014-02-27 | 2014-02-27 | 一种在allegro软件中检查零件限高的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410067038.0A CN103810346A (zh) | 2014-02-27 | 2014-02-27 | 一种在allegro软件中检查零件限高的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103810346A true CN103810346A (zh) | 2014-05-21 |
Family
ID=50707110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410067038.0A Pending CN103810346A (zh) | 2014-02-27 | 2014-02-27 | 一种在allegro软件中检查零件限高的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810346A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462712A (zh) * | 2014-12-19 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种用于pcb布线时可控制删除线段的方法及系统 |
CN105825032A (zh) * | 2016-04-08 | 2016-08-03 | 浪潮集团有限公司 | 一种自动得出结构框中心坐标的方法 |
CN106126800A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮集团有限公司 | 一种Allegro软件中自动复制属性铜到其他层面的方法 |
CN107016201A (zh) * | 2017-04-14 | 2017-08-04 | 济南浪潮高新科技投资发展有限公司 | 一种编辑器及基于该编辑器的pcb中自动检查限高的方法 |
CN107679264A (zh) * | 2017-08-17 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种pcb设计中辅助检查位号错位的方法 |
CN108875215A (zh) * | 2018-06-20 | 2018-11-23 | 深圳市亿道数码技术有限公司 | 将PCB Layout布局转成PCB 3D模型的方法 |
CN109657359A (zh) * | 2018-12-21 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种pcb设计中识别封装更新的方法及设备 |
CN111368495A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于pcb板限高区域的针脚突出检查方法及系统 |
CN111625880A (zh) * | 2020-05-12 | 2020-09-04 | 深圳市一博科技股份有限公司 | 一种pcb设计文件高度信息的快速检查更改方法 |
CN111832233A (zh) * | 2020-07-13 | 2020-10-27 | 济南浪潮高新科技投资发展有限公司 | 一种pcb设计中检查特殊器件下方是否有信号线的方法 |
CN111832246A (zh) * | 2020-05-29 | 2020-10-27 | 济南浪潮高新科技投资发展有限公司 | 一种pcb设计中检查布线是否跨分割的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259891A1 (en) * | 2005-05-10 | 2006-11-16 | Wei-Fan Ting | System and method of generating an auto-wiring script |
CN101178650A (zh) * | 2007-06-28 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种基于响应修改控件属性的方法及其装置 |
CN102968511A (zh) * | 2012-12-21 | 2013-03-13 | 曙光信息产业(北京)有限公司 | 用于电路设计的线条处理方法和装置 |
-
2014
- 2014-02-27 CN CN201410067038.0A patent/CN103810346A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259891A1 (en) * | 2005-05-10 | 2006-11-16 | Wei-Fan Ting | System and method of generating an auto-wiring script |
CN101178650A (zh) * | 2007-06-28 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种基于响应修改控件属性的方法及其装置 |
CN102968511A (zh) * | 2012-12-21 | 2013-03-13 | 曙光信息产业(北京)有限公司 | 用于电路设计的线条处理方法和装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462712A (zh) * | 2014-12-19 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种用于pcb布线时可控制删除线段的方法及系统 |
CN105825032A (zh) * | 2016-04-08 | 2016-08-03 | 浪潮集团有限公司 | 一种自动得出结构框中心坐标的方法 |
CN106126800A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮集团有限公司 | 一种Allegro软件中自动复制属性铜到其他层面的方法 |
CN107016201A (zh) * | 2017-04-14 | 2017-08-04 | 济南浪潮高新科技投资发展有限公司 | 一种编辑器及基于该编辑器的pcb中自动检查限高的方法 |
CN107679264A (zh) * | 2017-08-17 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种pcb设计中辅助检查位号错位的方法 |
CN108875215A (zh) * | 2018-06-20 | 2018-11-23 | 深圳市亿道数码技术有限公司 | 将PCB Layout布局转成PCB 3D模型的方法 |
CN109657359A (zh) * | 2018-12-21 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种pcb设计中识别封装更新的方法及设备 |
CN111368495A (zh) * | 2020-02-29 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种基于pcb板限高区域的针脚突出检查方法及系统 |
CN111368495B (zh) * | 2020-02-29 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种基于pcb板限高区域的针脚突出检查方法及系统 |
CN111625880A (zh) * | 2020-05-12 | 2020-09-04 | 深圳市一博科技股份有限公司 | 一种pcb设计文件高度信息的快速检查更改方法 |
CN111625880B (zh) * | 2020-05-12 | 2023-10-20 | 深圳市一博科技股份有限公司 | 一种pcb设计文件高度信息的快速检查更改方法 |
CN111832246A (zh) * | 2020-05-29 | 2020-10-27 | 济南浪潮高新科技投资发展有限公司 | 一种pcb设计中检查布线是否跨分割的方法 |
CN111832233A (zh) * | 2020-07-13 | 2020-10-27 | 济南浪潮高新科技投资发展有限公司 | 一种pcb设计中检查特殊器件下方是否有信号线的方法 |
CN111832233B (zh) * | 2020-07-13 | 2024-03-26 | 山东浪潮科学研究院有限公司 | 一种pcb设计中检查特殊器件下方是否有信号线的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103810346A (zh) | 一种在allegro软件中检查零件限高的方法 | |
US20150355782A1 (en) | Touch screen terminal and method for achieving check function thereof | |
CN104572032A (zh) | 一种报表创建方法和电子设备 | |
CN105447240A (zh) | 一种自动建立pcb设计层面和底片的实现方法 | |
CN104915416A (zh) | 一种能够快速导出含有特定属性器件物料清单的方法 | |
CN105205038A (zh) | 完整物料清单表生成方法及装置 | |
CN103164573B (zh) | Pdm管理设计系统 | |
CN104267964A (zh) | 一种模板生成装置 | |
CN105700890A (zh) | 一种自动删除PCB设计中悬空孔的Skill程序的实现方法 | |
CN102637226A (zh) | Pcb封装架构方法 | |
CN103838459A (zh) | 一种支持对每个设计独立撤销与重做的编辑方法 | |
CN105426635A (zh) | 一种自动建立差分线伴随地孔的Skill程序实现方法 | |
CN204177414U (zh) | 家电显示板测试设备 | |
CN105224719A (zh) | 一种实现同页零件快速归类的方法 | |
CN108846198A (zh) | 一种在Cadence软件中自动删除无效过孔的方法 | |
CN104615539A (zh) | 一种测试参数的处理方法和系统 | |
CN105260569A (zh) | 一种基于CadenceAllegro自动打地孔的方法 | |
CN105930555A (zh) | 一种自动删除pcb设计中悬空孔的skill程序的实现方法 | |
CN105740484A (zh) | 一种将AutoCAD设计内容智能关联的方法 | |
CN104752150A (zh) | 工艺流程建立的方法 | |
CN203171430U (zh) | 玻璃加工多用型一体组合模具 | |
CN106294979A (zh) | 一种Allegro软件中自动定位器件所在库路径的方法 | |
CN107943900B (zh) | 一种数据管理的方法以及装置 | |
CN206640889U (zh) | 模内钢片前壳组件及终端设备 | |
CN111724077A (zh) | 工艺流程组态方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140521 |
|
WD01 | Invention patent application deemed withdrawn after publication |