本帖最后由 sunsili 于 2024-3-5 11:31 编辑
【KiCad】KiCad8 探秘(一)各式各样的导入器
“ KiCad 8.0 将全方位支持 Altium Designer系列(Altium Designer, Circuit Studiio, Circuit Maker, SolidWorks PCB)以及嘉立创的 EasyEDA 系列(包括标准版和专业版)。 ”
EDA 导入器对决
看了上图的表,您可能会觉得 KiCad 干得还不错,已经支持了大部分主流的 EDA 工具,但与商业软件相比,还缺少了对 Mentor 系列 Pads Expedition 以及 Cadence 系列 OrCad Allegro 的支持。但如果熟悉这些 EDA 工具,你就会发现作为开源 PCB EDA 扛把子的 EDA 不只是干得不错,而是相当不错!
KiCad 8 最大的亮点在于:
- 支持 [url=]Altium[/url] 二进制文件的导入
- 首个支持导入立创 EDA 的开源软件
- 符号/封装库不用导入也可以直接用
Binary(二进制) VS ASCII
先看下二进制与 ASCII 格式的比较:
特征 | 二进制格式 | ASCII格式 | | | 字符编码标准,表示英文字符等 | | | 主要用于文本信息 | | | 易于人类阅读 | | | 有限的字符集 |
简单理解,ASCII 格式的文本是可读的。比如 KiCad 的文件使用 S-expression 格式,可以直接用记事本打开查看: - (kicad_sch (version
- 20230819
- ) (generator eeschema)
- (uuid
- 95f
- ec9b4-a774
- -45
- ee-ab6f
- -5
- a336ab16745)
- (paper
- "A3"
- )
- (title_block
- (title
- "Video"
- )
- (date
- "Sun 22 Mar 2015"
- )
- (rev
- "2.0B"
- )
- (company
- "Kicad EDA"
- )
- (comment
- 1
- "Interface Bus PCI"
- )
- )
复制代码
又比如立创EDA标准版的 json 格式也属于 ascii 格式,非常方便阅读: - {
- "editorVersion"
- :
- "6.5.40"
- ,
- "docType"
- :
- "5"
- ,
- "title"
- :
- "STM8S001J3M3"
- ,
- "description"
- :
- ""
- ,
- "colors"
- : {},
- "schematics"
- : [
- {
- "docType"
- :
- "1"
- ,
- "title"
- :
- "STM8S001J3M3_JX"
- ,
- "description"
- :
- ""
- ,
- "dataStr"
- : {
- "head"
- : {
- "docType"
- :
- "1"
- ,
- "editorVersion"
- :
- "6.5.40"
- ,
- "c_para"
- : {
- "Prefix Start"
- :
- "1"
- },
复制代码
但大部分的商业软件,出于各种原因,对文件格式进行了编码,也就是我们所说的二进制格式。比如,如果你用文本编辑器打开 Altium 的原理图,是这个样子的: 完全无法从中获取有效的信息!
当然,商业软件会提供转换工具,允许用户将二进制格式转换为 ASCII 格式,以便和其他工具对接。比如,你看到的市面上号称可以直接导入 Altium 格式的工具,严格意义上来说都是只支持导入转换后的 ASCII 格式的 Altium 文件,而对于原生的 Altium 文件,都是无能为力的!(KiCad 除外)。同理,商业软件所谓支持支持导入 Altium、Pads、Expedition、Allegro 指的都是处理过的 ASCII 格式(比如 Allegro 的导入需要使用 extracta 把 brd 转成 alg、AD需要另存为 ascii 格式)。
但是 KiCad 不走寻常路,它支持直接导入 Altium 系列的二进制格式(源生 schdoc/pcbdoc)而无需转化!KiCad 的开发者们愣是通过 “硬解码” 的方式完成了商业软件公司都没做成的事情(也许是不愿意做)!据说开发者们正用同样的方式进行 Allegro 导入器的开发,让我们拭目以待!
支持立创EDA的导入
作为一款基于浏览器且免费的 EDA 工具,立创 EDA / Easy EDA 一直在国内外的创客圈流行,但主流的 EDA 工具却一直没有支持导入 EasyEDA 的格式。KiCad 听到了用户的声音,直接在 KiCad 8 中支持了所有立创系列的导入,包括标准版(json)、专业版(epro)的原理图、PCB以及符号、封装库。KiCad 所有的[url=]代码开源[/url],因此无论是二进制还是 EasyEDA 的导入,感兴趣的开发者都可以直接查看源代码进行学习并在此基础上进行进一步的开发。友情提示,开源不等于免费,使用 KiCad 的代码仍需遵循版权协议。KiCad 的代码遵循 GPL 3.0 或以上,要求使用代码的项目也必须开源。
实操体验 我们来实际看一下导入器的效果。
导入 Altium 图纸 这里引用文中的导入效果:
AD 参考原理图
KiCad 导入后
AD 参考 PCB
KiCad 导入后
MiniPC 导入后效果立创 EDA 导入
以下是标准版及专业版导入的示例。
EasyEDA 标准版原理图
KiCad 导入后EasyEDA 标准版 PCBKiCad 导入后
EasyEDA专业版 PCB 导入 KiCad
可以看到,无论是 Altium 还是 立创 EDA,导入效果都非常不错。但是要注意,由于不同软件之间对象定义的不同,导入之后的文件仍需检查、清理,绝对不可以直接使用!再好的工具,只能帮您提高效率,您仍需对自己的工作负责!
从其它CAD工具中导入
KiCad目前支持的原理图/PCB 导入格式包括:- Eagle
- Altium Circuit Maker
- Altium Circuit Studio
- Altium Designer
- Solidworks PCB
- CADSTAR
- 立创 EDA (EasyEDA)
- P-Cad
- Fabmaster
- LTspice(仅原理图)
您也可以使用第三方的插件,实现更多CAD格式的导入。
结束语
将导入器作为 KiCad 8 新功能介绍的第一个主题,是因为文件格式的转换便捷与否是决定新的 EDA 工具能否被采用的重要因素之一。工程师小伙伴一般都会积累大量的历史图纸,如果新的 EDA 工具无法使用这些图纸,无疑效率将大打折扣!
KiCad 在导入器方面的工作,一个更有价值的意义在于开源!代码的分享可以让更多的开发者学习不同 EDA 工具之间格式转换的思路与方法,这对于不同工具之间的数据交换,无疑具有重要的参考价值。
|