这几天在做logo给cadence SPB17.4的板子用.
操作流程:
因为allegro不能导入高位色的bmp, 所以在PS和allegro中间, 要将图转2次. 如果没有更好用, 更靠谱的工具, 这样也行.
在查资料, 突然看到一个好东西 potrace.
potrace 是一个将图片转成向量文件的工具. 可以将图片转成dxf, pdf.
先将BMP转成pdf看一下效果, 如果可以, 再转成dxf给allegro.
不挑图, 随便一张BMP(用PS导出的BMP位色最高是32位色, 或者彩色24位真彩色的图片), 都可以直接转成dxf.
转成dxf时, 可以看到, 转化输出的图片都是黑白的. 正好给板子用.
这个dxf可以直接导入allegro可用. 不用再使用allegro自带的导入logo(BMP图片)的功能.
开源的工程, 如果自己想做个自动化工具, 可以参考学习人家源码.
http://potrace.sourceforge.net/
安装包也在这页, 往下拉, 就能看到.

安装好后, 程序路径加入了环境变量, 打开命令行, 进入我们自己的工作目录, 直接运行potrace进行转化即可.
potrace color_bmp.bmp -b pdf
原图

转化后的pdf

可以看到颜色越高的图, 转化效果越不好. 这也是能理解的.
如果看到转化效果不理想, 可以用PS处理一下, 降低颜色位数, 或者直接输出黑白图.
原图

转化后的pdf

换成对比度低的图, 颜色位数低的图, 或者是我们用PS做好的黑白图, 效果非常好.
potrace test2_256bits.bmp -b dxf
potrace 不挑bmp文件格式, 转化后的dxf都是能直接给allegro用的.

dxf文件选项那里, 不要勾第2个选项. potrace转化的dxf尺寸比较大, 大概率会超出板子面积, 会有报错提示. 但是dxf本身是对的.
要勾选第3项, 进行图形填充, 这样符合实际用途, 否则我们自己也要手工填充图形, 因为dxf形状边缘的线宽度都是0, 如果不填充, 就看出不效果.
allegro导入dxf之后的效果

一般我们引人的dxf不是作为板框, 就是作为logo.
这种带文字的图片, 一般是作为logo用的.

可以看到allgeo导入dxf时做了填充, 可以看到3D预览了.
但是如果图形内部还有边缘图形, e.g. b 这个字符, b的下半部里圈被填充了, 看不出是b字符.
这时, 我们自己要处理一下, 将覆盖住里圈的填充删掉.
拿b字符图形为例, 看一下allegro是怎么填充的.

外圈填充

里圈填充

可以看到, allegro对每个封闭图形都进行了填充.
这不符合我们要的效果.
我们想要的效果是外圈和里圈的交集进行填充.

在option和find页中选好要操作的shape

框选不合适的图形, 将内外圈一次框选住. 当框选住之后, 原来的内外圈被填充的图形就消失了.

右击完成.

可以看到打散后的字符图形都变成了一段一段的线连在一起.

选好要合并的元素所在层和对象(非电气线和线段)

框选要操作的整个字符图形, 字符图形已经变成了内圈和外圈的交集进行填充了.

右击完成.
用鼠标接近图形, 看一下填充好的效果.

可以看到, 这时的效果是外圈和内圈的交集, 是正常的文字图形.

可以看到b这个字符图形, 填充的已经合适了.
同理, 将其他填充不合适的图形都修正好.
这种导入dxf时, 让allegro先自动填充.不合适的字符图形, 我们再自己半自动填充的方法. 比导入时不选填充, 然后全部自己手工填充要方便很多.
有曲线拟合或者样条曲线的BMP, 如果用allegro自带的导入logo的功能, 不能导入(allegro 不支持带曲线拟合或者样条曲线的bmp).
而且allegro能导入的logo图片(BMP), 有颜色的限制.
如果使用potrace先处理一下, 那么在allegro导入(BMP, dxf)时, 就一次成功了. 简化了好多琐碎细节.