从Gerber到PCB的逆向工程
解决方案
以下文档详细说明了该话题(并提供了截图):
https://www.altium.com/documentation/altium-designer/cam-editor-reverse-engineering-pcbs-ad
以下为其概要:
可以对Gerber文件进行逆向工程。请注意,如果电路板有任何通孔,这意味着它比单层布线更复杂,则您必须至少提供两个Gerber文件:一个顶层,而另一个用于底层和一个NC Drill钻孔文件(ASCII)。
必须在CAMtastic文档中为所有Gerber层分配一个合适的层类型。您可以尝试在CAMtastic中,通过将Gerbers的扩展与Layer Types Detection Template中所列内容相匹配,完成上述分配;但是,您需要检查Layers Table的完整性和准确性。应将机械层设置为Temporary。
一旦所有层被正确分配后,您应当检查Layers Order Table,以确保电路板叠层顺序正确。
完成上述操作有利于开展下一步的工作,即在Layers Sets Table中对钻孔层进行分组。如果整个电路板均使用通孔技术,则唯一需要定义的是所有层的集合,并且此步骤甚至可以跳过。但是如果电路板包含盲孔和/或埋孔,则您必须单独指定每个钻孔集,关联相应的NC Drill文件,并选择该钻孔集将通过的所有层。
此时,您可以从CAMtastic文件中提取一个网络列表,因为提取后,系统将根据您提供的层堆叠和钻孔配对集,完成从一层到另一层的网络追踪。如果Gerber和NC Drill文件中也包含IPC网络列表文件,则可以恢复原始网络名称。IPC网络列表也会在新PCB文件中区分通孔与自由焊盘。
当CAMtastic导出一个PCB时,将自动生成一个电路板轮廓。为了以智能化方式完成上述操作,需要在Border-type层上设置一条闭合多段线。如果该层无闭合多段线,或者如果已在Layers Table中将多层指定为边界,则您很可能得不到想要的Board Shape。在CAMtastic中,闭合是一种属性,而不是简单地通过将一系列线循环回起点即可实现。如果存在上述线,则可以通过选择Edit ► Objects ► Join来连接。如果想画出期望的闭合多段线,则应在选择其最终顶点后右键单击,并选择Close。
所有分割平面均须通过内部电源层上的闭合多段线定义。孤岛平面可以通过连接将其边界转换为封闭多段线,但是与其他分割平面或沿电路板边缘的回拉线路共享其轮廓的分割平面,必须重新进行绘制。CAMtastic Export to PCB不支持嵌套平面(例如,分割平面中的孤岛),但是Altium Designer的PCB编辑器支持。您仅需在完成从CAMtastic中Export后,将正确的网络重新分配给孤岛分割平面。
总之,我们可以使用CAMtastic的Export to PCB功能,创建一个与原始电路板非常类似的电路板。当我们重建一块全新电路板时,仍然需要一些手动操作;例如,用封装替换基元时,仅需将基元组复制并粘贴到PCB库中,然后用新封装替换现有封装。此外,必要时,还需要重新手动定义Layer Stack Manager中的Layer Pairs。
以下文档虽然较老,但是仍能够提供有益信息:
https://techdocs.altium.com/display/ADOH/CAM+Editor+Reverse+Engineering+PCBs
其简化流程如下:
- File ► New ► CAM Document
- File ► Import ► Gerber(s)
-
File ► Import ► Drill(浏览钻孔文件)
- 如果没有钻孔文件,则可以通过将一个过孔放置在新PcbDoc上,然后将其导出为NC钻孔,创建一个钻孔文件。
- Tables ► Layers(分配层类型)
- Tables ► Layers Order(确认逻辑和物理Layer顺序正确)
- Tables ► Layers Sets(确保在此处显示钻孔跨度)
- Tools ► Netlist ► Extract
- File ► Export ► Export to PCB
如果您正在操作一个封装Gerber,则您可以尝试在Altium Designer中将其打开,并进行:
File ► Export ► DXF
然后,打开PcbLib(File ► Import ► AutoCAD)或PcbDoc(进行File ► Import ► DXF/DWG)。