Allegro导出带层属性BOM并合并同类元件

本文介绍了Cadence导出BOM的方法,包括从原理图和PCB导出。重点阐述了导出带层属性并合并同类元件BOM的方法,先尝试多种方式,最终利用allegro的create module功能分别得到只含TOP层和BOTTOM层元件的PCB文件,导出对应BOM后合并,还提醒删除元件时对插件物料的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处。https://blog.youkuaiyun.com/jsf120/article/details/90639823
Allegro导出带层属性BOM

Cadence导出BOM有多种方法,最常见的从原理图导出bom,可以自定义bom所包含的属性,并自动合并同类元件,网上资料较多,操作也很简单,在此不做介绍。此种方法最大的问题是不能导出含有PCB属性的BOM,比如元件的坐标、元件所在的层(TOP or BOTTOM)。https://blog.youkuaiyun.com/jsf120/article/details/90639823
此外,Cadence还可以从PCB导出BOM。打开allegro,选择菜单Tools–>Reports…,在弹出的对话框中,选择Bill of Material Report(Condensed)可以到处html格式的bom,另存为excel即可。也可以在弹出的对话框中选择Placed Component Report, 可以导出包含元件坐标、所在层、旋转角度等属性的BOM。但是这个BOM中的同类元器件是没有合并的,需要手工合并,这是个相当大的工作量。https://blog.youkuaiyun.com/jsf120/article/details/90639823

导出带层属性并合并同类元件BOM的方法
选择Bill of Material Report(Condensed)导出的BOM是自动合并同类型的,所以我们可以在这上面做文章。一开始我尝试在选择Bill of Material Report(Condensed)中增加SYM_MIRROR的属性,很可惜 不论怎么修改,只要加上SYM_MIRROR属性 BOM就导出失败。既然这样我们可以将BOM分为两部分导出,第一次导出只包含TOP层元件的BOM,第二次再导出只包含BOTTOM层元件的BOM,这样我们给两份BOM在excel中添加上所在层,然后将两份excel copy到一个文件中就得到了包含元件层属性,有自动合并同类元件的BOM了。https://blog.youkuaiyun.com/jsf120/article/details/90639823
思路没错,接下来就是实践了。我们用allegro打开PCB,只显示底层,然后 delete>在find中只选择Symbols,然后圈中整个pcb,右键done。这样我们就得到一个只包含top层元件的pcb文件了,然后开心的用Tools–>Reports–>Bill of Material Report(Condensed),然后悲剧了,导出的BOM中依然包含BOTTOM层元件。其实,allegro中delete掉一个元器件后,只是相当于把这个元器件unplace了,元件仍然存在于PCB,除非从netlist中删除。想从PCB中彻底删除一个元器件,只能从netlist操作,Allegro默认在不可以直接修改lognic,即网表关系 netlist。可通过更改设置实现: Setup–>User Preferences–>Logic–>logic edit enabled,然后在Logic–>PartLogic弹出的窗口中就可以彻底删除元器件了。不过元器件的删除仍旧只能一个一个删除,仍旧太麻烦,此种方法作废。https://blog.youkuaiyun.com/jsf120/article/details/90639823
既然从网表删除元件太费劲,那我们干脆就不从网表删除了。另辟蹊径,我们尝试用allegro的create module功能来得到一个只包含单层元件的PCB文件。按照上面的方法删掉BOOTOM层元件后,我们打开TOP层的显示,然后TOOL–>Create Module,在Find中只选择Symbols,然后圈选整个PCB,点击左键,弹出保存界面,保存为TOP.mmd(.mmd是allegro模块文件后缀名)。然后我们用allegro打开这个TOP.mmd,然后用Tools–>Reports–>Bill of Material Report(Condensed)导出BOM,就得到了只包含TOP层元件的BOM,另存为excle格式后,给这个BOM中的所有元件添加一行layer属性, 然后全填TOP。然后按照这个方法删掉TOP层元件后,导出一个只包含BOTTOM层元件的BOTTOM.mmd模块,然后导出BOTTOM层元件的BOM,将两份BOM合并为一个excel文件,至此,大功告成。https://blog.youkuaiyun.com/jsf120/article/details/90639823
需要注意的是,如果有插件物料,在删除BOTTOM层元件时需要FIX一下插件物料,防止被删除。

### Cadence导出 BOM 文件的方法 在 Cadence 软件中导出 BOM (物料清单) 的过程相对直观。以下是具体操作方法: #### 使用 Allegro PCB Designer 导出 BOM 清单 通过 Allegro PCB Designer 打开 `.brd` 制板文件后,可以通过以下路径访问导出功能。 点击 `Tools - **Bill of Material Report**: 此模式下的相同器件不会被合并,适合需要查看每一个单独元件的情况。 - **Bill of Material Report (Condensed)**: 同类项会被汇总成一条记录,适用于简化后的列表展示[^2]。 对于希望获得更简洁版本的用户来说,推荐选择后者即精简版BOM。完成选择后可利用界面上方的保存按钮来存储所生成的数据至本地位置;默认情况下,这些报表将以`.htm`作为扩展名保存下来,便于后续用浏览器查阅。 为了进一步优化工作流程,在某些版本如OrCAD 17.4中还可以自定义BOM页面头部信息及组合属性字符串,设置其自动打开于Excel程序内以便快速编辑处理[^3]。 ```python # Python 示例代码用于模拟导出逻辑(非实际Cadence命令) def export_bom(report_type="condensed"): """ 模拟从Cadence导出不同形式的BOM 参数: report_type (str): 'full' 或者 'condensed' 默认为 'condensed', 表示压缩型报告. 返回: str: 成功消息提示 """ if report_type not in ["full", "condensed"]: raise ValueError("Invalid report type specified.") # 假设这里是调用了Cadence内部API执行相应动作... message = f"BOM exported successfully as {report_type} version." return message print(export_bom()) ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tech-Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值