先简单总结下这个项目的主要功能:
这是一个基于 Web 的 EDA 查看器,支持查看 KiCad 和 Altium Designer 的二进制设计图纸(和 Altium 365 查看器 非常类似),某些功能更强一些。
查看器支持原理图、PCB、3D、BOM,可以交互查看原理图、PCB中几乎所有对象的属性(应该是实时渲染的)
原理图支持 AI-Copilot,可以直接对话也可以使用菜单进行以下交互:
- 猜测项目的设计意图
- 归纳设计中的核心器件
- 详细介绍当前选中的器件
- 推荐相似器件
- 检查当前器件的连接关系是否正确
- 介绍当前选中器件引脚的功能
- 检查当前器件未连接的引脚并给出分析
试用下来总体感觉还是相当方便的,总结下就是如果你想学习某个项目的原理图设计,不用装客户端的EDA,也不用在网络上到处找数据手册、参考电路或是前人的经验,用这个查看器就完全够了。特别适合电子行业的新人、大学生使用,从一个电阻到一个复杂的 MCU,机器人都能给你解释的清清楚楚,省时省力!
开源的 EDA 查看器
之前推荐过一个非常不错的项目:KiCanvas。这个 EDAViewer 就是在 KiCanvas 的基础上开发的。
虽然不是从零开始,这里还是给要给开发者点个赞(什么?又是华秋电子的 Ethan 同学?)。做出些有用的好东西来就已经很难了,愿意开源的更是难上加难。真心希望更多的人可以参与到开源的大家庭中,不管是软件还是硬件。
以下是 EDAViewer 的仓库,有兴趣的同学可以自行学习:https://github.com/Huaqiu-Electronics/ecad-viewer
那么问题来了,已经有 KiCanvas 了,为什么还要建一个新的仓库,而不是给原项目提 PR 呢?
原因可以在 KiCanvas 作者的 Roadmap 中找到,以下是 KiCanvas 不会支持的功能:
显然,这个新的 EDAViewer 项目希望添加更多通用的功能,比如支持3D查看、支持除了 KiCad 之外的其它格式等。
当然,可能还有一个潜在的原因:KiCanvas 的服务器在国外,访问速度很慢。有个国内的服务不是更好吗?
与 KiCanvas 的差异
现在让我们看看新的项目与 KiCanvas 相比,添加了哪些内容:
- 通用功能:
- 基于 KiCad 进行深度二次开发,以支持导入 Altium 设计,及从 kicad_pcb 生成 3D 模型
- 支持从 ZIP 文件加载项目
- 保持对最新 KiCad 文件格式的支持
- PCB:
- 可以选择并显示 VIA 和 ZONE 的属性
- 当选择网络/元件封装时,其他区域变灰
- 选择优先级:Track -> Pad/Drill -> Footprint -> Zone。当重叠时,提供弹出菜单进行选择
- 提供设置通孔类型焊盘的透明度的入口
- Fab Layer 显示元件封装文本
- 单击选中器件,双击选中网络
- 对于处于选中状态的网络上的导线,按照其所在铜层的预设颜色进行渲染
- 显示的导线的宽度和颜色属性
- SCH:
- 查看符号和子图属性
- 点击相同名称的标签之间互相跳转
- 添加 hierarchical_labels
- 修复从 AD 转换的 SCH 图纸
- 原理图预览,并通过预览图切换原理图
- 跳转到指定的原理图,聚焦并选中指定符号
- 点击显示导线、总线、引脚、符号和标签的属性
- 悬停时高亮显示导线、总线、引脚、符号和标签
- 3D:
- 与 kicad-cli-docker 集成,从 PCB 生成 3D 模型,且生成过程中优先使用项目根目录下的封装 3D 模型
- 使用 gltfpack 压缩模型,以节省带宽及提高渲染效率
- 集成 Three.js,展示 3D 模型
- BOM:
- 从原理图生成物料清单 (BOM)
- 从原理图中提取 BOM
- 优先从原理图中提取 BOM,没有原理图时,从 PCB 中提取 BOM
- 开发和反馈过程中的一些 bug 修复:
- SCH 中的图纸引脚位置不正确
- 解析 从 AD 转换的 SCH 中的 ALTIUM_VALUE 属性
- 从 AD 导入的 PCB 设计中 封装信息的错乱
- 即便将焊盘的透明度调到最小,也仅仅只是颜色变浅,不会完全消失
- 添加了悬停时高亮导线的开关
- PCB 元件封装文本位置和角度混乱
- 当焊盘所在层处于隐藏状态时,不显示焊盘
KiCanvas 的本身的一些优秀的功能也被继承了,比如可以非常方便地内嵌到网页中,原理图、PCB 都是在本地渲染等等。
新增加的支持 3D 的功能以及 AD 图纸查看的功能,都是通过使用 docker + CLI 的方式实现的,有兴趣的小伙伴可以研究下代码:
https://github.com/Huaqiu-Electronics/ecad-viewer/blob/master/debug/embedded.html
相信 Ethan 同学也非常希望大家给这个项目贡献代码,添加新功能:比如支持 OrCad、Allegro、Pads 的 parser 及查看。
如何使用?
直接访问以下链接:
https://www.eda.cn/ecadViewer/
点击“上传文件”或直接将需要查看文件拖拽到对话框:
支持单原理图、多原理图、PCB,可以多选多个文件,直接打开或拖拽到窗口中,也支持 zip 文件如果图纸有层级结构,代码会自动判断根原理图并显示在最上方。
以下是示例项目的一些截图:
![图片]
原理图中点击器件查看详细属性
PCB 及对象属性查看
调整走线、焊盘、敷铜透明度
查看网络
3D 预览
查看 BOM
AI Copilot
在查看器的右侧,切换到 AI 面板,可以直接提出您的问题:
也可以在原理图中,选中任意器件,然后右键单击,直接对目标提问:
回答得有些啰嗦,但内容还是非常详实的。非常适合快速理解图纸或器件的功能。
小助手也会结合上下文,给出关联的封装以及数据手册的链接,非常实用:
今天就到这儿了,更多查看器及小助手的应用,等待大家的探索!