KiCad EDA 中文论坛
直播中

jf_32603368

4年用户 114经验值
擅长:控制/MCU
私信 关注
[经验]

开源 KiCad/AD 查看器 + AI Copilot?

AI查看器

先简单总结下这个项目的主要功能:

  • 这是一个基于 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 不会支持的功能:
image.png

显然,这个新的 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/

点击“上传文件”或直接将需要查看文件拖拽到对话框:
image.png

支持单原理图、多原理图、PCB,可以多选多个文件,直接打开或拖拽到窗口中,也支持 zip 文件如果图纸有层级结构,代码会自动判断根原理图并显示在最上方。

以下是示例项目的一些截图:

![图片]image.png

原理图中点击器件查看详细属性

image.png

PCB 及对象属性查看

image.png

调整走线、焊盘、敷铜透明度

image.png

查看网络

image.png

3D 预览

image.png

查看 BOM

AI Copilot

在查看器的右侧,切换到 AI 面板,可以直接提出您的问题:

image.png

也可以在原理图中,选中任意器件,然后右键单击,直接对目标提问:

image.png

回答得有些啰嗦,但内容还是非常详实的。非常适合快速理解图纸或器件的功能。

小助手也会结合上下文,给出关联的封装以及数据手册的链接,非常实用:image.png

今天就到这儿了,更多查看器及小助手的应用,等待大家的探索!

更多回帖

发帖
×
20
完善资料,
赚取积分