Freerouting 2.0.0发布!自动布线更强了吗?

描述

“ 据说是 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 的发布,这将使得插件的开发更加便捷。不说了,赶紧撸起袖子试一下吧!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分