You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
如果您使用的是 KiCad,则不用转格式,直接用就行,不需要看这篇文章。
如果是 KiCad 座标文件,顶层不用处理。
底层要注意:
KiCad 用户不需要继续浏览本文后续内容。
自动转换座标文件
新增 AD csv 格式自动转换脚本,位于
etc/csv_conv_ad.py
使用方法:
./csv_conv_ad.py IN.csv [ENCODING]
譬如:
./csv_conv_ad.py in.csv gbk
会在
in.csv
同目录下生成顶层和底层两个 csv 文件,如果没有相应的层则不生成。输入的 csv 文件可参考下面旧内容的图片,至少要包含以下字段:
Designator, Comment, Layer, Footprint, Center-X(XX), Center-Y(XX), Rotation
使用自动转换工具的用户不需要继续浏览本文后续内容。
手动调整座标文件(旧内容,现在建议用自动转换脚本)
JLC EDA 和 AD 的格式是一样的
我们要把 JLC EDA 或 AD 导出的座标文件转换成类似 KiCad 的格式,先看 KiCad 和 AD 输出的座标文件的区别:
(注意,AD 导出座标文件时,要选上 value 栏目!AD 把 value 叫做 comment。)
首先,要把 AD 座标文件的顶部注释部分删除,删除后如下:
此时,我们可以用 excel 打开 csv 座标文件:
(此处用 excel 的开源替代品 LibreOffice)
接下来,要先把 Layer 栏目整个移动到最右边,如果是双面贴片的话,选中除了标题以外的所有内容,然后按排序按钮,在弹出的提示框中选择“扩展排序”:
(不选择扩展的话,只排序选中的内容,前面内容不会伴随)
然后,我们要分别输出顶层和底层座标文件,方法是删除不要的层,然后导出:
然后撤销操作,改为删除顶层保留底层:
继续脚本转换
现在,如果有底层贴片,我们要用工具转换一下座标文件中 x 轴的符号:
先看说明:
如果是 kicad 座标文件,顶层不用处理。底层要在 CDPnP 软件界面,把原本 PCB 上参考点在 PCB 软件中的座标值,把 X 轴对应的值取反,座标文件不用处理。
对于 AD 座标文件,顶层的话,要在 CDPnP 软件界面,把参考点 PCB 文件座标 Y 轴取反。座标文件不用处理。
底层的话,要在 CDPnP 软件界面,把参考点 PCB 文件座标 X 和 Y 轴都取反。
而且,底层的话还要修改座标文件,把所有 X 轴数据取反,下面使用软件 etc 目录下的脚本对座标文件 X 轴进行取反操作:
见脚本说明,跟 -x 参数表示取反 x 轴
一开始报错是因为 csv 文件是 gbk 编码,这里先用 cconv 工具把 csv 转成 utf-8 编码
(你也可以用其它工具,或者在 excel 软件中修改为 utf-8 编码,直接导出 utf-8 编码的 csv 文本文件)
然后再试就没问题了:
gbk 编码打开会有乱码,而 utf-8 编码则不会:
至此,就已经全部搞定,csv 座标文件的标题和 kicad 不同没关系,layer 值不同也没关系。
layer 值只要判断是 b 或者 B 开头就认为是 bottom 否则是 top 层贴片。
x 和 y 有无 mm 单位也没所谓。
后面有时间再试试做一个全自动转换的脚本,也欢迎大家贡献代码。
Beta Was this translation helpful? Give feedback.
All reactions