“ 据说是 Freerouting 历史上最大的更新,UI 和 KiCad 更像了;提供了公共的 API,使得 EDA 工具集成更方便。置于实际的自动布线效果,留待大家验证 ”
Freerouting 概览
Freerouting 是一款功能强大的 PCB 自动布线器,可与任何支持标准 Specctra 或 Electra DSN 接口的 PCB 设计软件兼容。它能导入 Specctra 接口生成的 .dsn 文件,并导出 .ses Specctra 文件。
您可以使用图形用户界面(GUI)、命令行界面(CLI)或 Freerouting API 与 Freerouting 交互。所有界面都支持命令行参数,以设置输入/输出文件或修改设置。
Freerouting 已经与以下EDA工具集成:
KiCad
Autodesk EAGLE
Target3001!
EasyEDA
tscircuit
pcb-rnd
还没有用过 freerouting 的小伙伴可以先复习一下这篇文章:KiCad 的自动布线插件:Freerouting。里面讲述了在 KiCad 中使用 freerouting 插件,并展示了一些测试案例。
今天我们还是先聚焦在 2.0.0 版本更新了什么。
GUI 更新
用户界面进行了更新,现在更加时尚和现代(借鉴了 KiCad)。一些功能(如上下文感知帮助、选择模式、宏和快照管理)已被禁用,并将在未来的版本中完全删除。
菜单经过重新排列和简化,可用性更强。
新增了图标、模式选择器和单元控件。
合并了多个走线设置窗口,并计划根据实际使用情况进一步精简。
警告和错误指示器更现代,显示在右下角。
新的 “用户设置” 窗口允许您配置匿名数据收集和联系人首选项。
Freerouting 现在拥有与 KiCad 现代外观一致的全新调色板。虽然调色板仍可自定义,但颜色编辑器将在下一个版本中移除。
配置框架
全新的配置框架统一了用户设置首选项的方式。现在,您可以使用多种方法进行配置:freerouting.json 配置文件、环境变量、命令行参数或图形用户界面。
配置文件:直接修改 freerouting.json 文件。
环境变量:使用格式为 FREEROUTING__{key}__{subkey} 的变量覆盖配置设置。例如,FREEROUTING__ROUTER__MAX_PASSES=20 将最大通过次数改为 20。
命令行参数:调整设置,如 --router.max_passes=10 来控制允许通过的次数。
图形用户界面:如果启用,可以直接通过界面调整某些设置。
本地化的改进
本地化(Localization)已全面改进。以前,短小的文本片段是通过程序组合的,这会导致非英语语言的问题。现在,我们使用带有占位符的整句模板,为翻译人员提供了更大的灵活性。例如,“Saving Specctra session ‘{{filename}}’ was successful.”(保存 Specctra 会话“{{filename}}”成功)为翻译人员提供了更多控制权,确保所有语言都能获得更好的效果。
此外,我还在整个用户界面中添加了回退机制和对标签、按钮和文本框的通用支持。
走线任务调度程序
引入了多线程走线任务调度程序。它负责管理和执行 Freerouting 的路走线任务。这一改进使我们能够并行运行走线任务。这是 API 接口工作的一个重要先决条件,但它也能让 GUI 用户在后台运行和监控长期运行的任务。
公共 API(Beta)
Freerouting API 现已在 https://api.freerouting.app/v1 上公开发布。这涉及到庞大的后台重构,并为与 KiCad、EasyEDA 和 tscircuit 等 EDA 的紧密集成打开了大门。
在 tscircuit 团队的密切配合下,API 及其文档仍在不断完善,以尽可能提高其实用性。
CLI 接口
Freerouting 现在原生支持通过命令行访问其功能,而无需图形界面。将 gui.enabled 设置为 false,即可在 CLI 模式下运行 Freerouting。
单元测试
在接受新提交之前,引入了用于评估 DSN 文件的单元测试。这有助于确保新功能或新贡献不会引入错误。它支持在本地环境、通过 GitHub Actions 和 Docker 进行测试。
Docker 支持
Freerouting 现在支持 Docker!该容器兼容 ARM64 和 x64 平台,并可在 Microsoft Azure 上运行。
仓库与下载
对 Freerouting 感兴趣的小伙伴可以访问 github 的仓库,获取更多的文档及源码:
https://github.com/freerouting/freerouting
Freerouting 的 release 页面提供了 Windows x64,Linux x64, MacOS 的安装包。另外,Freerouting 是基于 Java 的,需要先安装 Java JRE。如果您使用其他的系统,需要运行系统相关的 .jar 文件。
结束语
V2.0.0 更新并没有提到在自动布线上的优化,大家可以测试后在评论中给出自己的感受。
新版本最吸引我的是 public API 的发布,这将使得插件的开发更加便捷。不说了,赶紧撸起袖子试一下吧!
-
pcb
+关注
关注
4319文章
23095浏览量
397788 -
插件
+关注
关注
0文章
327浏览量
22442 -
自动布线器
+关注
关注
0文章
6浏览量
3003
发布评论请先 登录
相关推荐
评论