Allegro-Skill-axl函数简介

合集下载

Cadence应用如何在allegro中使用skill

Cadence应用如何在allegro中使用skill

Cadence应⽤如何在allegro中使⽤skillCadence软件应⽤:如何在Allegro中执⾏SkillHow to Perform Skills in Allegro ToolsDoc Scope : Allegro SkillDoc Number : SFTEC11005Author : Daniel ZhongCreate Date : 2011-11-09Rev : 1.00⽬录1Skill简介 (3)2在Allegro命令⾏中加载和调⽤Skill (3)2.1命令⾏加载Skill (3)2.2命令⾏调⽤Skill (4)3在Allegro启动时加载Skill (5)3.1allegro.ilinit⽂件 (5)3.2编辑allegro.ilinit (7)4在Allegro菜单栏上调⽤Skill (8)4.1Allegro系列⼯具的菜单⽂件(.men) (8)4.2菜单⽂件搜索路径 (10)4.3定制菜单 (11)1Skill简介Skill是Allegro软件⼆次开发的接⼝,⽤此语⾔编译的⽂件可以在Allegro中载⼊和调⽤。

我们可以通过编写不同的Skill程序⽂件,在Allegro⼯具中实现各种原有命令不能实现或不⽅便实现的功能。

Skill语⾔的语法结构和C++语⾔类似,⼯程师如果有⼀定C语⾔编程基础,使⽤Skill语⾔时就会很⽅便了。

对于Skill程序的⽤户,不需要对Skill语⾔有过多的了解,只需要知道如何在Allegro中加载和调⽤Skill即可,本⽂就是介绍了如何加载和调⽤Skill,可以采⽤两种⽅式:■在Allegro命令⾏中加载和调⽤■在Allegro启动⾃动加载,在Allegro菜单上调⽤2在Allegro命令⾏中加载和调⽤Skill本章介绍如何在Allegro命令⾏中加载和调⽤Skill,分为以下两个⼩节:■命令⾏加载Skill■命令⾏调⽤Skill2.1命令⾏加载Skill以本站资源下载中的⼀个skill程序clinecut.il为例,将此⽂件移动或复制allegro设计⽂件(.brd)所在⽬录。

Allegro使用简介

Allegro使用简介

Allegro使⽤简介Allegro使⽤简介⼀.零件建⽴在Allegro中, Symbol 有五种, 它们分别是Package Symbol 、Mechanical Symbol、Format Symbol、Shape Symbol、Flash Symbol。

每种Symbol 均有⼀个Symbol Drawing File(符号绘图⽂件), 后缀名均为*.dra。

此绘图⽂件只供编辑⽤, 不能给Allegro数据库调⽤。

Allegro能调⽤的Symbol 如下:1.Package Symbol⼀般元件的封装符号, 后缀名为*.psm。

PCB 中所有元件像电阻、电容、电感、IC 等的封装类型即为Package Symbol。

2.Mechanical Symbol由板外框及螺丝孔所组成的机构符号, 后缀名为*.bsm。

有时我们设计PCB 的外框及螺丝孔位置都是⼀样的, ⽐如显卡, 电脑主板, 每次设计PCB时要画⼀次板外框及确定螺丝孔位置, 显得较⿇烦。

这时我们可以将PCB的外框及螺丝孔建成⼀个Mechanical Symbol, 在设计PCB 时, 将此Mechanical Symbol 调出即可。

3.Format Symbol由图框和说明所组成的元件符号, 后缀名为*.osm。

⽐较少⽤。

4.Shape Symbol供建⽴特殊形状的焊盘⽤, 后缀为*.ssm。

像显卡上⾦⼿指封装的焊盘即为⼀个不规则形状的焊盘, 在建⽴此焊盘时要先将不规则形状焊盘的形状建成⼀个Shape Symbol, 然后在建⽴焊盘中调⽤此Shape Symbol。

5.Flash Symbol焊盘连接铜⽪导通符号, 后缀名为*.fsm。

在PCB 设计中, 焊盘与其周围的铜⽪相连, 可以全包含, 也可以采⽤梅花辨的形式连接,我们可以将此梅花辨建成⼀个Flash Symbol, 在建⽴焊盘时调⽤此Flash Symbol。

其中应⽤最多的就是Package symbol即是有电⽓特性的零件,⽽PAD是Package symbol构成的基础.⼀)建⽴PAD启动Padstack Designer来制作⼀个PAD,PAD按类型分分为:1. Through,贯穿的;2. Blind/Buried,盲孔/埋孔;3. Single,单⾯的.按电镀分:1.Plated,电镀的;2.Non-Plated,⾮电镀的.a.在Parameters选项卡中, Size值为钻孔⼤⼩;Drill symbol中Figure为钻孔标记形状,Charater为钻孔标记符号,Width为钻孔标记得宽度⼤⼩,Height为钻孔标记得⾼度⼤⼩;/doc/8bce99d233d4b14e85246843.html yers选项卡中,Begin Layer为起始层,Default Internal为默认内层,End Layer为结束层,SolderMask_Top为顶层阻焊, ,SolderMask_Bottom为底层阻焊PasteMask_Top为顶层助焊, PasteMask_Bottom为底层助焊;Regular Pad为正常焊盘⼤⼩值,Thermal Relief为热焊盘⼤⼩值,Anti Pad为隔离⼤⼩值.⼆)建⽴Symbol1.启动Allegro,新建⼀个Package Symbol,在Drawing Type中选PackageSymbol,在Drawing Name中输⼊⽂件名,OK.2.计算好坐标,执⾏Layout→PIN,在Option⾯板中的Padstack中找到或输⼊你的PAD,Qty代表将要放置的数量,Spacing代表各个Pin之间的间距,Order则是⽅向Right为从左到右,Left为从右到左,Down为从上到下,Up为从下到上;Rotation是Pin要旋转的⾓度,Pin#为当前的Pin脚编号,Text block为⽂字号数;3.放好Pin以后再画零件的外框Add→Line,Option⾯板中的Active Classand Subclass分别为Package Geometry和Silkscreen_Top,Line lock为画出的线的类型:Line直线;Arc弧线;后⾯的是画出的⾓度;Line width 为线宽.4.再画出零件实体⼤⼩Add→Shape→Solid Fill, Option⾯板中的ActiveClass and Subclass分别为Package Geometry和Place_Bound_Top,按照零件⼤⼩画出⼀个封闭的框,再填充之Shape→Fill.5.⽣成零件Create Symbol,保存之三)编写Device若你从orCad中直接⽣成PCB的话就⽆需编写这个⽂件,这个⽂件主要是⽤来描述零件的⼀些属性,⽐如PIN的个数,封装类型,定义功能等等!以下是⼀个实例,可以参考进⾏编写:74F00.txt(DEVICE file: F00 –used for device: ‘F00′)PACKAGE SOP14 ?对应封装名,应与symbol相⼀致CLASS IC ?指定封装形式PINCOUNT 14 ? PIN的个数PINORDER F00 A B Y ?定义Pin NamePINUSE F00 IN IN OUT ?定义Pin 之形式PINSWAP F00 A B ?定义可Swap 之PinFUNCTION G1 F00 1 2 3 ?定义可Swap 之功能(Gate) PinFUNCTION G2 F00 4 5 6 ?定义可Swap 之功能(Gate) PinFUNCTION G3 F00 9 10 8 ?定义可Swap 之功能(Gate) PinFUNCTION G4 F00 12 13 11 ?定义可Swap 之功能(Gate) PinPOWER VCC; 14 ?定义电源Pin 及名称GROUND GND; 7 ?定义Ground Pin 及名称⼆、导⼊⽹表Ⅰ. ⽹表转化在调⼊前,应该将要增加的定位孔和定位光标以及安装孔加到⽹表中,定位孔⽤M*表⽰,定位光标⽤I*表⽰Ⅱ . 进⼊Allegro,File/Import/Logic调⼊⽹表,若显⽰”0 errs,0 warnings”则表⽰没有错误,可以进⾏下⼀步,否则,应⽤File/Viewlog 查看原因,根据提⽰要求电路设计者修改原理图或⾃⼰在元器件库中加新器件.四. 设置Ⅰ设置绘图尺⼨,画板框,标注尺⼨,添加定位孔,给板框导⾓1. 设置绘图尺⼨:Setup→Drawing Size2. 画板框:Class: BOARD GEOMETRY Subclass: OUTLINEAdd→Line ⽤“X 横坐标纵坐标” 的形式来定位画线3.画Route Keepin:Setup→Areas→Route Keepin⽤“X 横坐标纵坐标” 的形式来定位画线4.导⾓: 导圆⾓Edit→ Fillet ⽬前⼯艺要求是圆⾓或在右上⾓空⽩部分点击⿏标右键→选Design Prep→选Draft Fillet⼩图标导斜⾓Edit→Chamfer 或在右上⾓空⽩部分惦记点击⿏标右键→选Design Prep→选Draft Fillet ⼩图标最好在画板框时就将⾓倒好,⽤绝对坐标控制画板框,ROUTEKEEPIN,ANTIETCH,ANTIETCH可以只画⼀层,然后⽤EDIT/COPY,⽽后EDIT/CHANGE编辑⾄所需层即可.5. 标注尺⼨: 在右上⾓空⽩部分惦记点击⿏标右键→选DraftingClass: BOARD GEOMETRY Subclass: Dimension圆导⾓要标注导⾓半径.在右上⾓点击右键→选Drafting,会出现有关标注的各种⼩图标Manufacture→Dimension/Draft→Parameters…→进⼊Dimension Text设置在标注尺⼨时,为了选取两个点,应该将Find中有关项关闭,否则测量的会是选取的线段注:不能形成封闭尺⼨标注6.加光标定位孔:Place→By Symbol→Package,如果两⾯都有贴装器件,则应在正反两⾯都加光标定位孔,在在库中名字为ID-BOARD.如果是反⾯则要镜像. Edit→Mirror定位光标中⼼距板边要⼤于 8mm.7. 添加安装孔:Place→By Symbol→Package,⼯艺要求安装孔为3mm.在库中名字为HOLE1258.设置安装孔属性:Tools→PADSTACK→Modify若安装孔为椭圆形状,因为在印制板设计时只有焊盘可以设成椭圆,⽽钻孔只可能设成圆形,需要另外加标注将其扩成椭圆,应在尺⼨标注时标出其长与宽. 应设成外径和Drill同⼤,且Drill 不⾦属化9. 固定安装孔:Edit→Property→选择⽬标→选择属性Fixed→Apply→OKⅡ设置层数Set up→Cross-Section…Ⅲ设置显⽰颜⾊Display→Colour/Visibility可以把当前的显⽰存成⽂件:View→Image Save,以后可以通过View→ImageRestore调⼊,⽣成的⽂件以view为后缀,且此⽂件应该和PCB⽂件存在同⼀⽬录下。

Allegro软件操作技巧

Allegro软件操作技巧

5
Allegro 软件操作技巧-lingling1350@
2) (如上右图,其它操作同前) 3)上两步得到的网络列表分别拷到《U_管脚调整》表中。
再做成 lis 文件。
14、让两孔间的线等间距:ROUTE---RESIZE/RESPACE---SPREAD BETWEEN VOIDS。 对于两孔间有多跟线的情况同样适用。当然假如所有的线都用这种方法等间 距的话必然很费时, 修线时可以把格点改大、采用偶数小格点的方法就很容易让 两根线等间距了。 15、添加测试点 分为自动添加和手动添加两种,关键在于参数设置。 1) 自动添加
6
Allegro 软件操作技巧-lingling1350@
设置好参数后,点 Generetetesrpoints 就会给底层每个网络加上测试点。
7
Allegro 软件操作技巧-lingling1350@
另外,测试点之间保持 75mil 以上的间距、测试点与焊盘之间要也保持适当 的间距。
12
Allegro 软件操作技巧-lingling1350@
Байду номын сангаас
图a
图b
3)加粗:EDITCHANGE线宽为 50,如下图 c 所示: 实际上,电源平面比顾平面内缩 40,结合第一步 OFFSET 填 15、第三步加粗 到 50,不难得出,经过这一番折腾后,确实内缩了 40 吧。如果需要改变内缩大 小,自己算一下具体数值就行了。
2)16.3: 16.3 创建区域规则:Shanpe Add Rect,Options 参数设置如下图(区域 名称 BGA08 自动会出现在规则管理器中) 画区域铜 在规则管理器中的
3
Allegro 软件操作技巧-lingling1350@

Allegro指令介绍

Allegro指令介绍

Key Points and Back annotation
某些零件不编号 Edit – Property – Hard_Location 某些零件特別编号 Edit – Property – Auto Rename 一定要回编至Capture Capture
→Routing Automatic Routing
Allegro 會執行 Auto Route
Unconnected Pins
Tools – Reports – Unconnected pins 这个报表表示加以查核在布线 完毕之后是否还有未布完的线 可以存成 File 可以直接 Show 在屏幕上
全线删除 请在 Find 下先选 All Off在勾选Clines 线段删除 请在 Find 下先选 All Off再勾选Cline Segs 两点间线段刪除 Edit – Delete 按 鼠标 右鍵下的 Cut 点选要刪除的线段的第一点(线段变亮) 再点第二点
Using the SPECCTRA Autorouter 執行Route
Creating a Negative Copper Area
内层负片覆铜 shape→ polygon 画内层铺铜范围 Shape select→ Assign net 给铜箔赋予信号名
內層切割(半Auto) Auto)
Add – Line Options中的class改成Anti Etch 先将Options中的class改回Etch Edit – Split Plane – Create 将点亮中的铜箔给予适当的信号名称
Renaming Reference Designators
零件重新编号的目的: 测试.除错.修改.组装以及维护上更加方便 组装以及维护上更加方便 要注意: Rename的动作最后执行

allegro?使用汇总

allegro?使用汇总

allegro?使用汇总1.如何在allegro中取消花焊盘(十字焊盘)set up->design parameter ->shape->edit global dynamic shape parameters->Thermal relief connects ->Thru pins ,Smd pins -> full contact2.allegro 中如何设置等长setup -> constraints->electrical->net->routing->Min Max Propagation delays选择要等长的net->右击->create->pin pair->选择pin修改 prop daly 的min 和max项3.如何设置allegro的快捷键修改文件$inst_dir\share\pcb\text\env 或$inst_dir\pcbevn\env快捷键定义如下:alias F12 zoom outalias ~R angle 90 (旋转90 度)alias ~F mirror (激活镜相命令)alias ~Z next (执行下一步命令)alias End redisplay(刷新屏幕)alias Del Delete(激活删除命令)alias Home Zoom fit(全屏显示)alias Insert Define grid(设置栅格)alias End redisplayalias Pgdown zoom outalias Pgup zoom inalias F12 custom smoothalias Pgup slidealias Pgdown donealias Home hilightalias End dehilightalias Insert add connectalias Del Delete4.如何在allegro中删除有过孔或布线的层时不影响其他层1.输出specctra的dsn文件allegro->file->export->router->demo.dsn->run2.产生session文件specctra(pcb router)->file->write->session->demo.ses->ok3.删除某一层中的布线和过孔delete(ctrl+D)->..4.删除allegro中的板层setup->cross section->鼠标右键->delete5.导入session文件allegro->file->import->router->demo.ses->run也可先将通过该层的过孔先替换成顶层焊盘,删除该层以后再替换回来5.如何在Allegro中同时旋转多个零件1.Edit->Move 在Options中Rotation的Point选User Pick2 再右键选Term Group 按住鼠标左键不放并拉一个框选中器件多余的可用Ctrl+鼠标左键点击去掉.3. 选好需整体旋转的器件后右键complete.4. 提示你Pick orgion 鼠标左键选旋转中心.5 下面右键选rotate 即可旋转了.6.allegro 16.0 透明度设置display->colour/visibility->display->OpenGL->Global transparency->transparent7.allegro Drill hole size is equal or larger than smallest padsize.Pad will be drilled away.提示Drill hole size is equal or larger than smallest pad size.Pad will be drilled away.不用理睬这一提示8.ALLEGRO 如何生成钻孔文件Manufacture -> NC -> Drill Customization->auto generate symbolsManufacture -> NC -> Drill LegendManufacture -> NC ->NC parameters->enhanced excellon format->closeManufacture -> NC -> NC Drill->auto tool select->optimize drill head travel9.CAM350如何正确导入钻带文件导进去后MACRO->PLAY->选择(CAM350--SCRIPTS)PADS_DRILL->选择钻带的REP文件还没测试过,rep文件从哪儿来的呢10.allegro 如何设置route keepin,package keepin1.setup->area->route keepin,package keepin ->画框2.edit ->z-copy->options->package keepin,route keepin->offset->50->点击外框11.allegro 中如何禁止显示shape完全禁止的方法没找到setup->user preference editor->display->display_shapefill->输入一个较大的数shape在显示时就不是那么显眼了set-user preference editor-shape-no shape fill(v)12.如何在allegro设置自定义元件库路径在下面两个位置添加自定义元件的路径Setup->User Preferences Editor->Design_paths->padpath Setup->User Preferences Editor->Design_paths->psmpath1.在allegro中如何修改线宽在Allegro的Setup->constraints里的set standard values中可定义每一层走线的宽度,比如,可以定义VCC和GND的线宽为10 Mil。

allegro skill FORM中ENUM的使用方法详解

allegro skill FORM中ENUM的使用方法详解

FORM中ENUM的使用方法详解ALLEGRO FORM中ENUM也称为combo box 即组合框。

在FIELD中定义关键词ENUMSET来使用。

使用ENUM前,首先须定义POPUP。

可通过以下方式定义:1.在FORM文件中直接定义一个POPUP来指定ENUM的下拉列表。

比如:POPUP<Layer_Names>"TOP""TOP","GND02""GND02","POWER03""POWER03","BOTTOM""B OTTOM".该字段定义在TILE关键词前面。

2.当FORM文件已经加载,并显示出来。

此时我们可使用AXL函数axlFormBuildPopup 来定义下拉列表。

POPUP “<>”中的内容为POPUP的名称,比如上列中<Layer_Names>,我们可通过Layer_Names来调用该菜单;POPUP中单个选项的基本格式为display/dispatch,比如上例中的"TOP""TOP",其中display 为显示内容,而dispath为该选项的派遣值,即在FORM中,通过form->curValue获取到的值。

当然,这两个参数可以一致。

在FORM中,ENUM共有两种显示方式:1.单行显示,必须通过下拉列表来显示。

定义ENUMSET时,只需要指定其宽度即可。

请参考下面例子:FIELD LayerFLOC 1 1ENUMSET 11POP "Layer_Names"ENDFIELD显示效果如下:2.多行显示。

可显示POPUP中多个下拉选项。

通过指定ENUMSET的长宽来设置。

FIELD LayerFLOC 1 1ENUMSET 11 10POP "Layer_Names"ENDFIELD显示效果如下:例如,定义一个ENUM来获取当前所有ETCH层。

Allegro Skill详细安装及常用插件介绍指南

报告大纲1.安装技巧2.功能简介3.实例演示4.讨论反馈一、Stella的安裝1.新建Stella资料夹放*.il程式文件,如路径为C:\。

2.将Stella程序数据夹中的Menu中的内容copy到Allegro的安装目录中,如D:\Cadence\SPB_15.5.1\share\pcb\text\cuimenus中。

3.将Stella程序数据夹中env文件夹中Allegro .ilinit copy 至“Allegro工作路径”\pcbenv内。

4.新增环境变量Stella_skill 值为C:\Stella。

Stella的安裝(这里只介绍一种方法,都大同小异)1、新建Stella资料夹于C:\。

Stella文件夹主要用于放*.IL文件。

此文件夹名称和存放路径都可选。

Stella的安裝2、将Stella程序数据夹中的Menu中的内容copy到Allegro的安装目录中如D:\Cadence\SPB_15.5.1\share\pcb\text\c uimenus中。

实际上就是修改D:\Cadence\SPB_15.5.1\share\pcb\text\cuimenus文件夹中的allegro.men文件,增加菜单功能,增加一栏命令。

Stella的安裝POPUP "&Stella"BEGINMENUITEM "Align Symbol", "align_sym"MENUITEM "DRC Walker...", "drc walk"MENUITEM "Place Xrf", "skill xrfin"MENUITEM "Find Stubs", "find_stubs"MENUITEM "Find Dang Line/Cline", "find_dang"MENUITEM "Hilight Net without TP", "hl_ntp"MENUITEM "Hilight Via without Net", "hlvia"MENUITEM "Netlist Editor", "net_editor"MENUITEM "Mil To Mm", "conv"MENUITEM "Cal", "cal"MENUITEM "Clinecut", "clinecut"END此下面还可继续添加其它命令Stella的安裝三、将Stella程序数据夹中env文件夹中Allegro .ilinit copy 至C:\pcbenv内。

Allegro_Skill_axl函数简介

Allegro Skill axl函数简介1.allegro skill简介1.1. AXL-SKILL专用于allegro的skill被称为AXL-SKILL,只有使用这些专用的函数才可以直接访问allegro 的database。

结合skill语法和这些专用函数可以编写出实现各种功能的命令。

专用于allegro 的skill都是以axl开头,比如axlClearSelSet()。

1.2. 运行AXL-SKILL在allegro中输入skill就得到了AXL-SKILL的运行环境,在这样的环境中可以直接调用AXL-SKILL命令/函数,另外输入set telskill可以得到一个尺寸大小可调的skill开发窗口。

(万一没有弹出窗口,尝试在allegro菜单里面,选择setup->userprference->skill->telskill----OK)1.3. AXL-SKILL Databaseallegro中的每个对象object(比如IC元件,net)都有一个对应的dbid(database identifiers),AXL-SKILL操作allegro的也正是这些dbid。

dbid对象:在不同的级别上的dbid是不一样的,比如在Design以及包含的database对象有Property Dictionary,Lines,Text,Polygons,Shapes,Property Definitions,DRCs,Vias that are Padstack object types,Symbols that are Symdef object types,Components,Nets;而在Symbol级别上则是PPins that are Padstack object types,Vias that are Padstack object types,Lines,Arcs,Text,Polygons,Shapes。

allegro skill 干货1-制作焊接丝印图

allegro skill 干货1-制作焊接丝印图1.Allegro skill 提供了PCB editor 二次开发的可能,它可以使某些繁琐的操作自动化,简单化,例如,在某些情况下我们需要手工焊接时,需要对照原理图,丝印图一一去找器件,这样既浪费了很多时间,同时还导致手工焊接出错。

2.本文讲到方法是,通过写一个skill 脚本的方法,可以使电阻或者电容的值直接标注在相应器件的丝印上,这样可以非常直观的进行焊接。

类似下面这张图一样,是不是非常容易查找到对应的阻容进行焊接。

3.开始讲解实现的过程。

贴上一段代码。

首先注册一个函数,就是allegro加载skill脚本时的名称,脚本可以设置打开allegro时加载,也可以设置成手工加载,后面会详细说明。

下文中黄色高亮的事注释部分,commen Lisp中注释使用;开头。

;申请一个函数axlCmdRegister("AutoHandSilk",'AutoHandSilk);实现这个函数;定义函数为AutoHandSilk,与上文申请的函数名称一致defun(AutoHandSilk ();关闭所有class和subclassaxlVisibleDesign(nil);打开BOARD GEOMETRY/OUTLINE层等等,为后面选中做准备,这里为什么打开; DEVICE TYPE/ASSEMBLY_TOP层呢,是因为只有这个层会有阻容值得信息,例如这;样R_R0603_2.2KaxlVisibleLayer("BOARD GEOMETRY/OUTLINE" t);axlVisibleLayer("PIN/TOP" t)axlVisibleLayer("DEVICE TYPE/ASSEMBLY_TOP" t)axlVisibleLayer("PACKAGE GEOMETRY/PLACE_BOUND_TOP" t);过滤选中的关键字,这里过滤的是textaxlSetFindFilter(?enabled list("noall" "text")?onButtons list("noall" "text"));选中页面上以上显示层的text,这个和实际在allegro环境中框选一样axlAddSelectAll();将选中的text信息赋值给对象allall = axlGetSelSet();去除显示,相当于去除高亮axlClearSelSet();这里是打印一条logaxlMsgPut("DEVICE TYPE/Assy place started.");这里是skill语言也就是commen Lisp语言的for循环foreach(i all;将text值取出来赋值给变量texttext = i ->text;下面这句相当于split字符串的功能,就是把类似R_R0603_2.2K的字符串;中有用的信息2.2K取出来text_list = parseString(text,"_")text=car(last(text_list));去阻容丝印等的原点坐标,注意丝印的原点坐标不是字的正中心,是字底;部的中心xy = i ->xy;取当前丝印的旋转角度txt_rot = round(i ->rotation);将180度都统一用0度表示,90度的统一用270表示cond((txt_rot == 180, txt_rot = 0)(txt_rot == 90, txt_rot = 270));这里是对每个丝印进行具体处理了,下面就是把丝印放在什么位置呢,;这里的方法是取place_bound_top层的长方形算中心foreach(childid, i ->parent ->childrenwhen(childid ->layer == "PACKAGE GEOMETRY/PLACE_BOUND_TOP" || childid ->layer == "PACKAGE GEOMETRY/PLACE_BOUND_BOTTOM"sym_x = (xCoord(car(childid ->bBox)) + xCoord(cadr(childid ->bBox))) / 2.0sym_y = (yCoord(car(childid ->bBox)) + yCoord(cadr(childid ->bBox))) / 2.0));前面说过丝印的xy并不是字的正中心,所以这里算出偏移量并根据具体;情况加或者减halfT extHeight = axlGetParam(sprintf(nil, "paramTextBlock:%d", 1)) ->height / 2.0case(txt_rot( 0, sym_y = sym_y - halfT extHeight)( 90, sym_x = sym_x + halfT extHeight)(180, sym_y = sym_y + halfTextHeight)(270, sym_x = sym_x - halfTextHeight));这里的xy才是要把丝印最终放置的位置xy = list(sym_x, sym_y);定义要创建文字的属性,字体默认使用1号了,使用者可以根据实际情况修;改合适的字体,然后再使用此脚本textOrientation = make_axlT extOrientation( ?textBlock "1", ?rotation txt_rot, ?mirrored i ->isMirrored, ?justify "CENTER");下面是注释掉的语句,实现的是直接在assemble_top上创建丝印,并删除;掉旧的丝印,实际上就是相当于移动丝印。

allegro二次开发语法大全

allegro skill简介1. AXL-SKILL专用于allegro的skill被称为AXL-SKILL,只有使用这些专用的函数才可以直接访问allegro的database。

结合skill语法和这些专用函数可以编写出实现各种功能的命令。

专用于allegro的skill都是以axl开头,比如axlClearSelSet()。

2. 运行AXL-SKILL在allegro中输入skill就得到了AXL-SKILL的运行环境,在这样的环境中可以直接调用AXL-SKILL命令/函数,另外输入set telskill可以得到一个尺寸大小可调的skill开发窗口。

(万一没有弹出窗口,尝试在allegro菜单里面,选择setup->user prference->skill->telskill----OK)3. AXL-SKILL Databaseallegro中的每个对象object(比如IC元件,net)都有一个对应的dbid(database identifiers),AXL-SKILL操作allegro的也正是这些dbid。

dbid对象:在不同的级别上的dbid是不一样的,比如在Design以及包含的database对象有Property Dictionary,Lines,Text,Polygons,Shapes,Property Definitions,DRCs,Vias that are Padstack object types,Symbols that are Symdef object types,Components,Nets;而在Symbol级别上则是PPins that are Padstack object types,Vias that are Padstack object types,Lines,Arcs,Text,Polygons,Shapes。

allegro skill database对象类型1. database对象描述1.1 对象类型 Figure objects: Arcs,Branches ,Design Files,Drcs,Lines,Paths ,Polygons ,Ppins,Shapes ,Symbols ,Tees,Vias,Pads,Padstacks,Symdefs; Logical objects:Components ,Functions,Function Pins,Nets; Property dictionary objects; Parameter objects:Design,Display,Layer Group,Layer,Textblock Group,Textblock。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. Property Dictionary
在allegro的应用中会根据工作的需要自己定制(创建)属性——用户定义的属性(user defined properties)。Allegro支持用户创建具备如下特性的属性
NETS, COMPONENTS, FUNCTIONS PINS, VIAS, SHAPES, SYMBOLS, CLINES, LINES, DRCS, FIGURES,DESIGNS, COMPDEFS, PINDEFS, FUNCDEFS。如果你创建了一个只包含SYMBOLS类型的属性,那么你创建的这个属性只能被赋给Allegro中的Symbol对象,而不可以赋给 一个net或其它非Symbol的对象。
一个简单的例子Bus(总线),其它的Logical类型请参考Cadence的algroskill.pdf文件
属性名 类型 描述
groupMembers l_dbid List of xnets of the bus
name string Name of the bus objType string “group” type string “BUS”
1.2
尽管有如此之多的类型,但是在allegro中的操作其实就是找到合适的database元素,然后对其操作就好了。只要保证被访问的元素的dbid有效,就可以对其进行处理。
2. Figure
Figure在allegro PCB Editer里面一般被成为几何形状,一个Figure类型的元素通常具有如下的属性。
常见的Figure属性
属性名 类型 描述 bBox bbox Figure’s bounding box branch dbid For etch, the figure’s branch parent layer t_layer Layer of figure, nil if object is multi-layer parent dbid Nonconnective owner net dbid Net object if figure is associated with a net
3. Logical
Logical类型其实就是和电气有关的属性,比如网络连接(net),电子器件{component)等。 Logical类型通常都具有objType, prop, and readOnly3种属性。 如果你选择了一个component,那么它的objType就是component,如果选择的是pin,则objType属性值就是pin......
allegro skill database
1. database
1.1
Figure objects: Arcs,Branches ,Design Files,Drcs,Lines,Paths ,Polygons ,Ppins,Shapes ,Symbols ,Tees,Vias,Pads,Padstacks,Symdefs; Logical objects:Components ,Functions,Function Pins,Nets; Property dictionary objects; Parameter objects:Design,Display,Layer Group,Layer,Textblock Group,Textblock。
注意: 对于所有空(dummy)网络的Figure, 它们的net属性都是"", 而不是nil。
Figure有很多的类型,每个类型都有很多个属性,具体的信息请参考algroskill.pdf文档的第二章,这里只列出其中的Line。 Line的属性列表(除Figure类型常见的属性以外的部分)
属性名 类型 描述 isEtch t/nil t = a CLINE; nil = a LINE lineType s_type symbol: horizontal, vertical, odd objType string Type of object, in this case "line" parent dbid Path, polygon, or shape startEnd l_point Start and end points width floa介
allegro skill
1. AXL-SKILL
专用于allegro的skill被称为AXL-SKILL,只有使用这些专用的函数才可以直接访问allegro的database。结合skill语法和这些专用函数可以编写出实现各种功能的命令。专用于allegro的skill都是以axl开头,比如axlClearSelSet()。
2.
在allegro中输入skill就得到了AXL-SKILL的运行环境,在这样的环境中可以直接调用AXL-SKILL命令/函数,另外输入set telskill可以得到一个尺寸大小可调的skill开发窗口。(万一没有弹出窗口,尝试在allegro菜单里面,选择setup->user prference->skill->telskill----OK)
3. AXL-SKILL Database
allegro中的每个对象object(比如IC元件,net)都有一个对应的dbid(database identifiers),AXL-SKILL操作allegro的也正是这些dbid。
dbid对象:在不同的级别上的dbid是不一样的,比如在Design以及包含的database对象有Property Dictionary,Lines,Text,Polygons,Shapes,Property Definitions,DRCs,Vias that are Padstack object types,Symbols that are Symdef object types,Components,Nets;而在Symbol级别上则是PPins that are Padstack object types,Vias that are Padstack object types,Lines,Arcs,Text,Polygons,Shapes。
相关文档
最新文档