Contact me: hankecnc@gmail.com

排序和最短路径优化 #119

推推 grbl 3年前 (2023-02-09) 482次浏览
关闭
连枣子 开了这个issue 2020 年 4 月 19 日 · 19条评论
关闭

排序和最短路径优化#119

连枣子 开了这个issue 2020 年 4 月 19 日 · 19条评论

评论

排序和最短路径优化 #119

经过对比测试,发现绘图仪软件没有最短路径优化功能。目前的排序是根据dxf文档中图元的读取顺序。dxf文件中存储几何图元的顺序只是图元绘制的顺序。如果按照几何原图的顺序进行路径规划,这将导致空行程非常长。你说的用libreCAD的路径规划是一种方式。但是当dxf中的几何图元数量比较多的时候,使用libreCAD进行路径规划是非常困难的,所以我觉得在plotter软件中加入最短路径规划功能可以带来很大的方便,可以最大限度的减少empty walk 行程的时间。

排序和最短路径优化 #119 连枣子 补充道 增强 标签 2020 年 4 月 19 日
排序和最短路径优化 #119
所有者

是的你是对的。
按我实施的最短距离排序(未发布)。
我不确定是否可以反转某些基元的绘制方向以进一步优化路径长度。对于笔式绘图仪可能没问题,对于路由器可能不是……

排序和最短路径优化 #119
作者

开源软件dxf2gcode中的最短路径效果非常好,可以借鉴算法代码。我知道有人将 Dijkstra 算法用作最短路径算法。

排序和最短路径优化 #119
作者

一般来说,在最短的排序过程中可以反转方向,一般没什么影响。但是,有些处理场合必须按照一定的顺序进行处理。其实可以参考dxf2gcode的方法。排序后,还可以允许用户调整几何图元的方向。

排序和最短路径优化 #119
作者

你好。
我认为软件在读取dxf文件时,软件会根据算法对读取到的几何图元的最短路径进行排序。排序完成后,如果用户觉得某些几何图元的排序结果不是自己想要的结果,可以让用户调整图元的方向和某些图元的顺序。最短路径排序可以作为软件默认的排序方式。目前软件有按照几何图元绘制顺序排序的选项供用户选择,这样会更好。

排序和最短路径优化 #119
所有者

dxf2gcode 上的排序方法对我来说看起来很复杂(它使用的是 TSP)。
反转几何基元的顺序不适用于切向轴,并且可能不适用于其他特殊用例 – 如果完成 G 代码级别。
也许我需要实现一个中间级别,以便能够在翻译“向上/向下笔”可能性之前反转基元的顺序。

排序和最短路径优化 #119
作者
莲枣子 评论了 2020 年 5 月 3 日  

遗传算法TSP

这是一个将遗传算法应用于旅行商问题的实验,同时也是对算法的可视化。

将遗传算法应用于旅行商问题 http://parano.github.io/GeneticAlgorithm-TSP/

js源码 https://github.com/parano/GeneticAlgorithm-TSP

LaserGRBL软件的TSP优化算法 http://www.google.it/search?q=traveling+salesman+problem

排序和最短路径优化 #119
所有者

检查新版本中的排序对象选项

排序和最短路径优化 #119
作者

软件中新增了按最短路径排序的功能,经过测试我觉得效果很好。

排序和最短路径优化 #119
作者

我认为最短路径排序算法需要进一步优化。在下面的屏幕截图中,我认为从蓝色箭头所指的位置开始和完成处理所需的时间会更少。可能现在的软件算法可能考虑了其他我没有考虑的原因,导致了现在的最短路径排序方式。

排序和最短路径优化 #119

这是我用来测试的dxf文件

椭圆.zip

排序和最短路径优化 #119
所有者

应该在 1.5.0.1 中修复检查新选项
排序和最短路径优化 #119

排序和最短路径优化 #119
作者

现在勾选新增的功能选项“Allow new start point in closed path” 椭圆的最短路径排序效果很好

我用圆测试,发现如果把圆细分成小直线,最短路径排序效果最好。

当设置圆生成的GCode为G02和G03时,排序结果
排序和最短路径优化 #119
排序和最短路径优化 #119

当设置圆生成的GCode为G01时,排序结果
排序和最短路径优化 #119
排序和最短路径优化 #119

排序和最短路径优化 #119
所有者

我做了一个额外的功能来处理由 G2/G3 组成的完整圆圈,以围绕圆周移动起点。在我的例子中它起作用了,在你的例子中不起作用 – 我会检查一下。

排序和最短路径优化 #119
所有者

检查 G2 G3 中固定起点的新版本

排序和最短路径优化 #119
作者
莲枣子 评论了 2020 年 7 月 29 日  

软件V1.5.0.2版本会导致dxf中部分图形元素无法显示。是不是和新增的“G2/G3圈内正确起点”功能有关?

下面的截图image1是软件版本V1.5.0.2的截图
排序和最短路径优化 #119

image2为软件版本V1.5.0.1的截图
排序和最短路径优化 #119

设置
排序和最短路径优化 #119

测试dxf文件

测试3.zip

排序和最短路径优化 #119
所有者

#132的实现中存在错误,
请检查新版本

排序和最短路径优化 #119
作者
莲枣子 评论了 2020 年 7 月 30 日  

非常感谢。

现在软件版本V1.5.0.3解决了部分几何图元无法显示的问题。
排序和最短路径优化 #119

现在我发现了一个问题。当我没有勾选“Allow new start point in closed path”和“Avoid G2/G3 commands”时,圆和圆弧生成的GCode是G01。
在V1.5.0.1版本中,如果不勾选“Avoid G2/G3 commands”和“Avoid G2/G3 commands”,圆和圆弧生成的GCode为G03和G02。

希望在不勾选“Avoid G2/G3 commands”和“Avoid G2/G3 commands”时,圆和圆弧生成的GCode是G03和G02。

排序和最短路径优化 #119
所有者

您需要在导入后检查黄色信息行…。
某些选项会在内部检查“避免 G2/G3”——例如剪辑。
应用的选项可以在黄线中看到:
排序和最短路径优化 #119

排序和最短路径优化 #119
作者

对不起,是我的错。我激活了裁剪功能,导致圆和圆弧生成G01。这不是软件错误。

V1.5.0.3版本圆圈排序效果很好

排序和最短路径优化 #119
所有者

感谢测试