基本思想是用CAM文件,具体步骤:
1、从ALLEGRO PCB Editor中导出Gerber文件和IPC网表文件(不要IPC网表也可以,不过那样导入的PCB网络名是AD随机命名的)。也可以导出ODB++文件(可能还是需要IPC网表),我觉得这个比Gerber方便。ALLEGRO需要安装第三方软件才能输出ODB++,这个在导出时会提示下载的(软件是free的)。
2、在AD中新建一个CAM文件。
3、通过AD的File/Import导入ALLEGRO输出的Gerber/ODB++,(可选)通过File/Import/Net List导入IPC网表。
4、使用Tool/Netlist/Extract提取导入的Gerber/ODB++的网络(将相连的Track视为同一网络,网络名随机生成)。
5、(可选)通过File Import/NetList导入IPC网表。如果3中已导入,忽略本步。
6、通过Tool/NetList/Campare将Extrat的网表和IPC网表进行比较,从而将网络(大部分)命名为ALLEGRO中原来的网络名。
7、通过File/Export/Export to PCB,将CAM文件导出到PCB。至此基本完成了导入功能,但是所有的元件已经分解成了Pad,overlay上的Designator也已经不再是Text型。
8、元件的“恢复”:选中一个元件的所有primitive,将其作为一个Union,然后使用准备好的封装进行替换。这个可能比较费时了:-)其实也可以不准备封装,直接选中一个元件的所有primitive,复制到PCB library的新建空元件中,就制成了一个和原来一样的封装了。
9、也可以这样恢复元件:建一个不包括任务元素的PCB封装,放置到要恢复的元件附近,然后将元件的primitive加入到这个元件中(右键菜单中找)。
总结:通过1-7步可以完成在Altium Designer中打开ALLEGRO的brd文件,也可以用来提取ALLEGRO的封装(不过AD画封装已经够容易了,估计不会有人需要这么做吧),通过手动元件恢复,可以重建原brd文件。
PS:
1、如果AD支持通过选定内容创建元件就好了,哪位写一个插件(Altium Designer的脚本支持还是够好的,肯定可以做到)。
2、其实可以通过这种方式从Gerber和ODB++等CAM文件中Reverse Engine出PCB来。