Allegro File菜单全解:从网表导入到生产文件输出
2026/9/6 11:27:31 网站建设 项目流程

打开Cadence Allegro PCB Editor,很多人对File菜单的认知长期停留在“新建、打开、保存”这三板斧上。实际上,在Allegro里,File菜单是整个PCB设计流程的数据出入口——原理图网表从这儿进来、结构板框从这儿进来、生产文件和坐标文件从这儿出去,甚至连数据库健康检查也得靠它。如果你只是把它当普通文本编辑器里的File用,等于守着大门却不停跳窗户。这篇教程就围绕Allegro的File菜单,把每个命令背后的设计逻辑、实际使用场景和踩坑点讲透,适合刚接触Allegro的工程师,也适合用了很久但只用了其中两三个功能的“熟练工”查漏补缺。

1. 别把File当成“新建、打开、保存”三个按钮

1.1 Allegro的.brd不是一个文件,是一个数据库

很多从PADS或Altium转过来的工程师,第一次接触Allegro时最容易栽的跟头,就是试图用“文件”的思维去理解它。你在资源管理器里看到的board.brd,表面上是一个文件,实际上是一个完整的工程数据库,里面除了图形对象,还包含了网络拓扑、约束规则、封装信息、特殊属性、布线策略等一堆结构化数据。你在菜单里操作的File命令,本质上在操作数据库的读写、导入和导出。

理解了这一点,你就明白为什么Allegro的File菜单里会有Import和Export这两个庞大的子菜单,而且每个子菜单下挂着十几条命令。它们不是在凑数,而是在定义“哪些外部数据可以进入这个数据库”“这个数据库的数据可以以哪些格式离开”。

1.2 File菜单布局背后的三重逻辑

Allegro的File菜单看起来条目很多,但你可以把它拆成三组去记忆。

第一组是直接文件操作:New、Open、Save、Save As、Create Symbol,处理的是数据库本体的创建与存储。

第二组是数据交换:Import和Export,这两个子菜单承担了网表、结构数据、生产数据、其他EDA工具数据的进出。这是File菜单的核心价值所在,也是本篇教程重点展开的部分。

第三组是工程检查与系统操作:Plot、Check Database、Properties、Viewlog、Exit。Plot是打印绘图,Check Database是数据库自检,Properties打开的是设计参数属性,Viewlog查看日志。这几个命令平时容易被忽略,但真正遇到导入失败、文件中途异常关闭时,它们才是救命的工具。

当你把File菜单按这三组去理解,就不会再觉得它的子菜单密密麻麻毫无规律。接下来我从每一组的核心命令说起,重点放在我做项目时最高频、最关键的操作上。

2. New、Open、Save:工程文件类型与版本兼容的底层细节

2.1 New命令里六个创建类型的定位

执行File > New,弹出的New Drawing对话框里有一个Drawing Type下拉框,里面列了Board、Package Symbol、Format Symbol、Shape Symbol、Flash Symbol、Mechanical Symbol六个选项。新手经常困惑:我不就是想建一块板子吗,为什么要给我这么多类型?

这六个类型对应Allegro的不同工作目标。简单说:

  • Board:完整的PCB设计文件,扩展名为.brd,这是绝大多数人真正要创建的类型。
  • Package Symbol:创建焊盘封装图,扩展名为.dra,编译后生成.psm文件,用于元件库管理。
  • Format Symbol:创建图框格式,比如标题栏、公司Logo、图纸边框,生成.osm格式。
  • Shape Symbol:创建自定义形状的铜箔、异形焊盘,扩展名同样走dra/ssm流程。
  • Flash Symbol:创建散热焊盘/花焊盘(Thermal Relief)的闪光符号,常用于电源层连接。
  • Mechanical Symbol:创建纯机械结构符号,比如定位孔、板框、拼板辅助线,扩展名为.bsm。

很多刚入门的朋友在创建封装时,顺手选了Board,画了半天发现保存不了封装文件,就是这个类型选错了。我的建议是:新建任何一个文件之前,先问自己一句“我要画的东西将来会被谁调用”。如果它是板卡本身,选Board;如果它要被板卡或其他封装复用,选Package或Mechanical这种Symbol类型。

2.2 Save与数据库存储的几个习惯

Allegro的Save和Save As没有太多玄机,但有几个基于数据库特性的习惯必须养成。

第一,尽量用Save As另存关键节点。Allegro不像某些工具那样有丰富的本地历史版本,虽然有自动备份,但覆盖保存时它不会给你保留上一版。我在每次改板前都会先把当前版本另存一份带日期后缀的文件,比如project_v2_20250101.brd。虽然看起来占存储,但在后续“发现改了三天走线方向是错的”这种场景下,这一份文件能救命。

第二,保存时文件名别用中文和特殊符号。Allegro的数据库在读取和打包时对路径和文件名编码的兼容性非常保守,中文路径容易在生成Gerber、导出ODB++、运行Skill时出现莫名其妙的报错。我见过同事在E盘建了个“项目_2024”文件夹,结果每次导入网表都要手工映射盘符才能解决。规矩是:路径全英文、无空格、无括号。

第三,Cadence有版本兼容限制。16.6的.brd文件用17.2或17.4可以打开,但17.4保存的文件,16.6无法打开。如果你需要和上下游配合,一定要统一版本。轻则打不开文件,重则降版转换时丢属性、丢走线。最稳妥的方式是项目启动前用File > Properties或菜单Help > About确认所有人的版本一致,并约定交付格式。

2.3 Create Symbol:File菜单里被低估的复用入口

File > Create Symbol这个命令,很多人用了一两年Allegro都没点过。它的功能是把当前设计里的电路区域、布线结构、铜箔形状定义成一个symbol,存下来后被其他设计调用。

举个例子:你做了一个电源模块,布局布线调了三天才把噪声压下去,下一个项目又要用这块电路。你可以选中这部分器件和走线,File > Create Symbol,给它命名保存。新项目中直接通过Place菜单放置这个模块symbol,原来的布局布线就整体迁移过来了。这个功能配合“allegro 器件模块化复用”的场景非常好用,比手工重新摆放、重新拉线效率高一个量级。不过注意,使用Create Symbol前,相关器件的封装库路径必须在Setup > User Preferences里配置好,否则生成文件时会报找不到symbol的错误。

3. Import:网表、结构数据、外部设计进入Allegro的主要通道

很多工程师第一次接触Allegro的Import,是在“allegro导入网表报错”之后。实际上Import子菜单包含十几类数据,但项目里真正经常用到的不外乎以下几个:Logic(网表)、DXF(结构数据)、Artwork(光绘备份)、Placement(坐标/布局数据)、ODB++(外部制造数据)、Script(脚本)。我只挑最有价值的几个展开。

3.1 Logic导入网表的两种映射

Allegro中从原理图工具导入网表,主入口是File > Import > Logic,而不是File > Import > Netlist。很多老教程爱写Netlist,但17.x以后版本基本统一到Logic下。

这里有一个关键选择:网表来源。你的原理图工具如果是OrCAD Capture,Logic导入时选择Capture,然后点击“Import Netlist”按钮,它会直接读取Capture输出的网表文件。如果你的网表来自第三方工具,比如Concept HDL或第三方生成的标准网表,就选择Other类型,然后指定对应的网表格式。

我实际项目中遇到最多的问题,不是找不到命令,而是导入后元件丢失。排查思路是这样的:导入网表前,先确认Allegro的库路径已经包含了所有用到的封装。打开Setup > User Preferences,在Library路径里加入封装库目录。如果原理图里某个元件的PCB Footprint属性填的封装名,在库里找不到对应的.psm或.dra文件,导入过程不会报错,但结果就是器件没进来,或者器件变成一个个“空壳”。

还有一点容易被忽略:在OrCAD Capture里修改了原理图后,重新生成网表再导入Allegro时,一定要确保原理图的“Design Entry HDL”工具版本与Allegro版本匹配,否则导入过程中会出现引脚映射错乱。做“allegro原理图pcb交互”时,通常还要配合使用Capture里的PCB Editor交互模式,比如高亮器件、差分布线,这些只是辅助,真正把元件放进板子还得靠Import > Logic这一下。

3.2 DXF导入:板框、定位孔、机械结构数据

结构工程师给你一版DXF格式的板框,怎么进Allegro?入口是File > Import > DXF。

DXF导入有几个致命细节,我一个个说。

第一,单位。Allegro默认设计单位在Setup > Design Parameters里设置,常见的是Mils和Millimeter。而结构工程师出图时可能用的毫米,也可能是英寸,更麻烦的是AutoCAD里1:1出图但单位设置混乱。导入DXF的对话框里有一个Incremental options,里面有单位选择,你必须在导入前和结构工程师确认DXF文件的实际单位,再用正确的单位导入。否则结果是板框尺寸差了25.4倍,或者整个图形偏到设计区域外面去了。我见过一个案子,结构图导进来以后板框宽度是0.39,还以为是毫米,其实是英寸,最后板子外形错得离谱,重做了一版才解决。

第二,图层映射。DXF文件里通常有0层、板框层、禁布层、标注层等。导入DXF时弹框会要求你填写DXF层到Allegro层的映射关系。板框线应该映射到Board Geometry层的Outline子类。如果你全部映射到默认的Package Geometry层,后面做Outline切割、生成板框、投板时都会乱套。

第三,闭合图形。结构工程师的DXF里,板框线经常是断开的或者重复的,导入之后你会发现板框不是一个闭合的多边形。用Manufacture > Drafting > Outline细化之前,先把这些线处理成闭合状态,否则后面Edit > Shape识别不出来板框区域。

3.3 从PADS/Altium转过来的数据怎么进

如果你拿到的是PADS的.pcb文件或Altium的.PcbDoc,Allegro不能直接Open,需要经过转换。

常规做法是:PADS工程先另存/导出为ASCII格式(.asc),再在Allegro里通过File > Import > PADS或使用Cadence提供的转换工具进行转换。Altium的.PcbDoc则要先输出为“AutoCAD DXF/DWG”或者“ODB++格式”,再导入Allegro。

这里我要说句实在话:任何EDA工具之间的格式转换,都不可能百分之百还原。铜箔、走线、过孔、网络命名大部分能保留,但约束规则、差分对设置、等长要求这些“设计意图”基本都会丢。所以“pads转allegro”这件事,我建议只用来做参考,不要指望它成为可继续生产的源数据。真正要跨工具项目迁移,最靠谱的方式是借助中间格式,然后逐层核对网络表和元件清单,把关键网络手工确认一遍。

3.4 其他Import子命令的真实用途

Import > Artwork:用于导入之前导出的光绘格式文件,一般用于跨版本查看光绘数据或核对旧版Gerber,不是设计主流程。

Import > Placement:导入元件坐标位置文件(常见后缀是.txt或.plc),当你需要在两个设计之间复用一个已经摆好的布局时,这个非常有用。先把布局导成坐标文件,再在新板上用Import > Placement把元件全部按坐标放回。它配合“allegro 器件模块化复用”是一种常见操作。

Import > Script:这是Allegro自动化的重要入口。你可以把录制的操作脚本用Import > Script回放,实现批量操作。比如公司有一套统一的颜色配置、一套统一的打印设置,存成.scr脚本,换电脑后一条命令全部恢复。

4. Export:把设计资产安全输出给生产、结构和仿真

File菜单里另一个重点是Export。如果说Import是入口,那Export就是出口。所有要交给生产厂、结构工程师、仿真工程师的数据,几乎都从这一组命令出去。

4.1 Export > Artwork:输出光绘不是随便点两下

Allegro的Gerber输出命令叫Artwork。你可以在Manufacture > Artwork里找到,也可以通过File > Export > Artwork打开同一个Artwork Control Form。

很多人不知道,在输出光绘前需要先做几个检查:

  • 检查底片层映射。Artwork Control Form左侧是底片列表,右侧是层和子类映射。如果你把Board Geometry的Outline映射到了不该出现的底片层,最后板厂看到的就是一块没有外形的板子。
  • 检查光绘格式。一般选Gerber RS-274X或者X2格式。RS-274X兼容性最好,X2支持嵌入式属性。对大多数板厂来说,RS-274X足够,还能避免参数解析的麻烦。
  • 检查钻孔数据。Artwork只管光绘,钻孔表和钻孔符号表需要用NC Drill和NC Legend配合输出。有些工程师误以为File > Export > Artwork导完就万事大吉,结果板厂打电话问“钻孔文件在哪”。

我的建议:把Artwork Control Form里的Film Control和General Parameters参数截图保存,作为项目模板。不同项目的层叠、钻孔不一样,但底片设置习惯可以固定下来。

4.2 Export > DXF/IDF:和结构工程师及3D工具之间的往返

结构工程师需要看PCB外形和器件高度分布时,常用File > Export > DXF。导出DXF时,需要关注导出单位、AutoCAD版本兼容性、以及图层前缀。Allegro默认会加一层类似BOARD GEOMETRY_XX的前缀,结构工程师收到后需要自己清理,如果你能按对方习惯设置图层映射,会显得非常专业。

如果你还要给SolidWorks或ProE做3D装配验证,用File > Export > IDF。IDF是板级3D交互的标准格式,Allegro可以把PCB外形、元件位号、元件高度、禁布区都导出去。注意,导出IDF前,元件的高度属性必须正确填写。很多公司封装库里没有维护Component Height属性,结果导出的3D模型全是默认高度,结构干涉检查等于白做。

4.3 Export > Placement:SMT贴片坐标的出口

导出贴片坐标文件在File > Export > Placement里完成。这个操作极其频繁,但有一个细节:输出前必须设置好元件的原点位置。

Allegro的Placement文件会导出每个器件的RefDes、坐标、旋转角度、所在层(Top/Bottom)。但器件的坐标基准点是什么?是symbol原点(通常设置在封装的几何中心或Pin1),不是元件绝对Boundary。如果你的库里封装原点建得不统一,有的是Pin1,有的是几何中心,导出坐标后贴片机编程会很痛苦。我建议每个封装Design Entry时统一把原点放几何中心或者Pin1,并且在封装库里强制约定。

还有一个坑:Placement导出时可以选择Body Center或者Symbol Origin。贴片机通常需要Body Center,但Allegro默认按Symbol Origin导出。这里可以在导出配置里切换,否则坐标偏一个固定值,生产时才发现就晚了。

4.4 ODB++和IPC-2581:新一代数据交接格式

越来越多板厂接受ODB++,少数要求IPC-2581。Allegro的File > Export > ODB++可以把设计打包成一个ODB++数据目录。ODB++比Gerber更聪明的一点是,它把光绘、钻孔、元件、网表都包含在一个结构化数据包里,板厂可以直接导入CAM系统,避免层层解析带来的误差。

但ODB++也有坑:导出时如果设计里有未定义网络编号或者库文件缺失,会生成一个不完整的ODB包,投出去大概率被板厂退单。我的做法是导出后打开Log文件,搜索“Error”关键字,确认零错误再压缩发送。另外,ODB++目录不要用压缩软件直接改文件名后缀,它本质是一个目录结构而不是单个文件,你要压缩成zip再发送,否则对方解不开。

4.5 为什么BOM不在File菜单里

很多从Altium转过来的人,习惯了菜单栏上的Report或Bill of Materials,到Allegro就在File菜单里找“导出BOM”。实际上,Allegro的BOM导出有两种常见路径,但都不在File > Export直接项下。

一种是Tools > Reports,打开Report窗口,选择Bill of Materials Report生成报表;另一种是通过File > Export > Custom,加载你可以自定义的报表模板(如.tcl或.ini模板)来生成BOM。我也见过有人用File > Export > Placement导出的坐标文件,在Excel里按位号批量合并BOM,这算是野路子,但对某些小公司反而够用。

单从File菜单讲,我想表达的是:Allegro把输出数据的通道做了严格分工。BOM、连线长度报告这类“文本报告”和图形数据分离,你要把精力放在配置文件上,别满菜单瞎找。

4.6 Export > Script 与Skill扩展的边界

热词里有人搜“allegro skill”,这里一并说清楚。File > Export > Script导出的是操作回放脚本,它是一种记录你的菜单操作步骤的“宏”。而Skill是Allegro的扩展编程语言,功能强得多,可以实现自定义命令、自定义菜单、复杂算法处理。

大多数用户从Script入手就够了。比如你每次画完板,要依次导出Artwork、导出ODB++、导出Placement,还要生成PDF和BOM,手工操作要十五分钟。你可以把这些操作录制成一个Script,以后每次运行一遍,就全部完成了。真正的Skill开发则涉及AXI接口,这里不多展开,但入门路径是从Script开始,观察Script文件里的命令语法,再过渡到Skill代码。

5. Plot、Properties、Check Database:被忽略的高频操作

5.1 Plot不只是打印,还能批量出PDF

File > Plot用于打印和生成PDF。新版Allegro里Plot Setup对话框可以选择要打印的内容、比例和层集。如果安装了PDF虚拟打印机,你可以直接把当前设计打印成PDF。它最大的价值在于:给领导检查、给结构工程师做标注、给外发协作同事发参考图时,一份PDF比任何源文件都方便。

但注意:Plot生成PDF时,默认打印的是“当前显示窗口”还是“整个设计范围”,取决于Plot Contents里的选择。如果你只选Window,出来就是一片空白或局部。我建议出全板PDF时选Sheet或设计Extents,并且关闭背景色,否则黑色背景的PDF打出来既费墨又看不清。

5.2 Properties里能改什么、不能乱改什么

File > Properties打开的是Design Properties对话框,里面有一个人们经常忽略的东西:Design Extents。设计范围就是软件认为的“可放置对象”的边界,如果你导入的DXF板框超出这个范围,某些操作就会失灵或异常,比如不能走线、不能铺铜、差分对等长绕线绕不过去。调整Design Extents很简单,在Properties里改一下左下角和右上角坐标范围就行了。通常在导入结构图之后,第一件事就是检查Design Extents,把边界放大到板框外围至少5到10mm。

但Properties里还有一大堆不能乱改的东西,比如Accuracy和Size,如果是已完成的板子,你在这里改设计单位、改精度,很可能导致形状偏移和距离爆错。正确做法是所有参数在布线前定好,后期尽量回Edit > Change或者Setup > Design Parameters里去改。

5.3 Check Database:为什么隔几天必须跑一次

File > Check Database是Allegro非常良心的一个功能。它检查当前数据库的完整性和内部一致性,比如是否有悬空造型、非法图形、错误的连接关系等。运行后弹出的结果窗口如果显示“No errors detected”,就是干净;如果有Error,建议不要继续干活,要么用DB Doctor工具修复,要么回溯到最近正常的一个备份文件。

为什么建议隔几天跑一次?因为Allegro在长时间打开、频繁导入导出、加载复杂Skill之后,数据库内部偶尔会积累一些脏数据。这些脏数据平时不吭声,但到了最后出光绘时可能突然变成莫名其妙的短路或者缺失网络。早发现、早备份,比最后一天在DFM软件里救火强太多。

5.4 Viewlog:日志里藏着答案

Viewlog是一种很容易被无视的功能。当你导入网表失败、导出ODB++有报错、Check Database发现异常时,弹出的日志窗口就是Viewlog。日志里往往写了具体错误原因,比如“symbol SOT23找不到”“网络N$123有两个单独的布线图元”“封装PIN号冲突”等。

我的习惯是:只要Allegro给我弹什么异常提示,第一反应不是立刻百度,而是点开视图里的Viewlog,先看日志内容。很多时候报错原因就在前几行。特别提醒,日志会很长,但错误一般在最后或带“Error”关键词的区域,打开日志后先用Ctrl+F搜一下Error,能省大量时间。

6. 串起一条完整工作流:从导入网表到交付生产

理论讲完,我用一个典型项目的流程把File菜单里的常用操作串起来,你跟着走一遍,就能理解这些命令在真实项目里的衔接关系。

6.1 新项目启动:从新建Board到准备环境

打开Allegro后File > New,Drawing Type选Board,命名如Demo_Board,路径选纯英文的工程目录。随后File > Properties,把Design Extents调整到合适大小,把单位切到Mils或Millimeter。之后用Mesh或Setup做层叠设置,把规则导入。一套完整的项目模板建立以后,把它存成模板文件,以后新项目File > New直接基于模板新建,不要每次都从零开始。

6.2 原理图侧与PCB侧的数据交互

在OrCAD Capture中画完原理图,Generate Netlist生成网表文件。回到Allegro,File > Import > Logic,选择网表来源为Capture,点击Import Netlist。导入完成后,使用Place > Quickplace把元件全部放到板框附近。后续原理图有改动,直接在Capture里重新生成网表,回到Allegro再执行一次Import > Logic,在弹出的对话框中勾选“Import changes only”,软件只会更新变更的器件和网络。

如果你用“allegro原理图pcb交互”来做器件选中观察,其实在Capture中框选元件,Allegro里对应封装会高亮,这个功能依赖网表导入后的映射关系,网表没导对,交互也无法工作。

6.3 中期改版:板框同步和网表更新

结构改动后,通常结构工程师发新的DXF。你在新DXF上重新File > Import > DXF,如果只是板框微调,可以直接导入后覆盖Outline层。但要注意,覆盖Outline之前,最好把旧Outline子类单独备份一次,避免导入失败后连旧的都丢了。

网表更新则是重复Import > Logic的流程。更新之前先保存当前布局文件,然后按流程导入,再逐个检查新增器件是否落地,网络连接是否更新成功。

6.4 收尾:数据导出与自检顺序

板子布线完成后的标准流程:

  1. 先File > Save。
  2. 再File > Check Database,确认没有Error。
  3. File > Export > DXF,把板框和器件分布图交给结构复核。
  4. File > Export > Placement,导出SMT贴片坐标。
  5. 用Tools > Reports生成BOM报表。
  6. 最后File > Export > Artwork输出Gerber,再用NC Drill输出钻孔文件,连同BOM、坐标文件一起打包给板厂和贴片厂。

这套顺序,我基本每个项目都按它走,可以最大程度避免漏导出和版本不一致。

7. 我在File菜单上踩过的坑(避坑笔记)

最后分享几个真实的坑,全是File菜单相关的,希望后来的朋友少走点弯路。

7.1 保存版本过高导致打不开

我给一个老供应商发板子,供应商还在用16.6,我这边17.4保存完直接发过去,对方打不开,说“database version is not supported”。最后我被迫在17.4里用File > Export > Downrev Design把版本降到16.6,或者重新导一份16.6兼容的版本才解决。现在我的规矩是:对外发文件前,先问清对方版本。如果是降版,降完后必须在16.6环境下打开检查一遍,因为降版可能导致部分属性丢失。

7.2 DXF导入后板框尺寸不对

之前我提过的25.4倍问题,再补一个常见情况:结构工程师给的DXF单位是英寸,Allegro里默认单位是毫米。导入时需要手工指定Unit为Inch,但导入后有些结构工程师用标注工具量的尺寸是对的,用测量命令量出来却始终不对。原因是Allegro里测量命令读出的是数据库单位,如果Design Properties里的Accuracy不够,结果会四舍五入。这种问题多半出在单位映射或者精度设置上,别急着怀疑自己的测量方法。

7.3 中文路径引发的导入失败

有一次用户环境变量TEMP路径里带了中文,结果File > Import > DXF一执行就报“Unable to find file”。我排查了很久,后来发现是Windows临时目录的中文问题。把系统临时目录、Allegro的工作路径、工程路径全部改到纯英文目录,问题就消失了。Allegro用户环境的位置也可以通过Setup > User Preferences > Design_paths查看和修改。

7.4 网表导入后封装丢失

导入逻辑网表后,部分元件一直不出现。后来我发现原理图里这些元件的Footprint属性填的是“CAP-0402”,但我的库里的封装名是“CAP0402”,中间差一个短横线。Allegro导入网表时严格按名称匹配封装,多一个字符都匹配不上。这里给个建议:原理图符号库和PCB封装库的命名规则一定要在设计规范里提前定好,项目开始前就统一,而不是等到导入时才一个个改。

7.5 自动备份文件在哪里

Allegro默认会生成备份文件,格式通常是design_name.brd.sav或者.bak之类,位置在工程目录或用户目录下。有一次我连续改了一上午走线,忘保存,软件闪退。恢复办法是去工程目录找.auto_save或.bak文件,把它改名成.brd再打开。不同版本路径不同,最简单的方式是在文件资源管理器直接搜索*.bak或*.sav。这个坑提醒了我要习惯用Save As做版本快照,不要过度依赖自动恢复。

以上是我围绕Allegro File菜单整理的实操经验。你在建板、导网表、出生产数据时遇到的具体问题,基本都能从这个菜单里找到对应的命令和解决方案。如果哪天你在File菜单里突然摸不着头脑,就回想这篇里的三组逻辑:文件操作管数据库本身,数据交换管进出口,工程检查管健康状态。顺着这个思路,Allegro这把“大门”就不难开了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询