Contact me: hankecnc@gmail.com

推推 grbl 3年前 (2023-01-31) 267次浏览
关闭
beta-tester 打开了这个问题 2016 年 4 月 13 日 · 10 条评论
关闭

优化订单问题#297

beta-tester 打开了这个问题 2016 年 4 月 13 日 · 10 条评论

注释

嗨,
bCNC 是一个非常非常有用的工具,我在我的旧 Raspberry Pi 上使用它非常成功。
我非常感谢这个工具。

我的 DIY 铣床声音很大但速度很慢,所以我总是尽量减少铣削的时间。bCNC 有一个选项可以改变路径的顺序。但该选项只是对路径块重新排序,通常仍然包含不必要的大动作,因为它保持路径本身的方向。
在我看来,通常它会提供更好的结果,然后优化算法会交换路径的方向,以尽量减少必要的移动。然后通过交换路径的方向,铣床可以双向移动,而不是仅在原始源文件的一个方向上移动。

例如,如果我有一个 g 文件,其中 PCB 上有许多相等的水平平行线。
从左到右都有相同的方向。
然后 bCNC 保持所有行的方向,结果总是从行的右端到下一行的左开始不必要地长移动。
更好的方法是将某些线的方向交换为定向移动,这样可以缩短铣削时间。

并且在仅 2D 铣削的特殊情况下,每条路径都在同一水平面上,如果优化过程将在每个(X,T,L)交叉点处拆分/分开路径,则可能会提供更好的结果/边缘并将完成重新组装路径,包括考虑方向交换……

可能通过给用户改变以赋予不同的运动不同的重量/成本。

类似这样的事情已经在筹备中了吗?

好吧,也许只有我看到了这个问题——因为我用 inkscape 和扩展 GCodeTools 手工制作 PCB 轮廓铣削文件……

但如果 bCNC 能够在那个深度进行优化,那就太好了。

(目前我使用 bCNC 版本:0.92,最后更改:2016 年 3 月 27 日)

所有者

从两方面进行优化是很容易做到的,但我不是故意的。路径方向对于 PCB 可能不重要,但通常在铣削时很重要。根据方向你会得到不同的结果。我也在 PCB 铣削中看到它,我从一侧得到更粗糙的边缘和毛刺。
一个可能的选择是提供 2 种优化方法,一种考虑路径方向,另一种是自由的。
现在对 python 进行全面优化检测交叉等将非常耗时:)

作者

对我来说,有一个按钮可以交换所选路径的方向已经很有帮助了。如果您还可以通过双向处理添加第二个优化,那对我会更有帮助。
你能看到我眼中的光芒吗…?:)

所有者

交换路径方向的按钮已经存在。
在编辑器功能区中,查看右侧名为“Route”的功能区组,那里有三个选项,Conventional、Climb 和 Reverse。这些按钮改变“切割”的方向。
您还可以通过单击“信息”按钮或键盘快捷键“n”来可视化路径

作者

哎呀。
我一直在按“顺序”组的“反转”按钮……
单个选定路径没有任何反应……现在我知道为什么了。

谢谢…也许我可以手动“优化”我的路由。

是否仍有机会实施自动优化路径/路线的选项…:/

所有者

“反转”是反转 g 代码块的切割顺序,而不是“反转”切割的方向。

作者

我现在使用了一段时间的“反向”按钮来进行手工优化。
我看到,它会以不需要的方式改变 Z 和 F。
例如来自
path6773

(Start cutting path id: path6773)
(Change tool to Default tool)

G00 Z5.000000
G0 X-44.45 Y96.519992
G01 Z-0.125000 F65.0(Penetrate)
G1 X-44.45 Y89.534992 Z-0.125 F75
G1 X-34.29 Y89.534992 Z-0.125
G1 X-34.29 Y86.994992 Z-0.125
G1 X-26.67 Y86.994992 Z-0.125
G1 X-26.67 Y84.454992 Z-0.125
G1 X-24.13 Y84.454992 Z-0.125
G1 X-24.13 Y68.579992 Z-0.125
G1 X-24.13 Y66.039992 Z-0.125
G00 Z5.000000
(End cutting path id: path6773)


path6773 [反向]

g0 x-24.13 y66.039992
g1 z0 f25
g1 x-24.13 y68.579992 f150
g1 x-24.13 y84.454992
g1 x-26.67 y84.454992
g1 x-26.67 y86.994992
g1 x-34.29 y86.994992
g1 x-34.29 y89.534992
g1 x-44.45 y89.534992
g1 x-44.45 y96.519992
g0 z3

您可以看到 Z 从 Z5 更改为 Z3,从 Z-0.125 更改为 Z0
,F 从 F65 更改为 F25,从 F75 更改为 F150

我应该为此开一个新问题吗?(如果是错误)

所有者

我忘了说了。所有改变路径的操作,也会改变切割属性并设置用于所选毛坯和材料的默认属性。
所有其他非运动命令也将被丢弃。

作者

更改 Z 轴值将很危险。这可能会导致工具头部碰撞。
你只注意到 z 轴发生了一些变化,如果你在视口中,你可以看到 z 轴,或者在“g-sourcecode”
中,反向按钮或多或少是无用的,如果我必须编辑每个手动路径。

PS.:我意识到,如果路径向前或向后移动,为什么我从来没有看到质量上的差异。我总是只走一条路,收费站是从左到右还是从右到左都没有关系。;)

顺便说一句:导入 inkscape 文件,它是如何工作的?我不明白它的工作。它只会以无用的格式将原始 xml 内容加载到编辑器,不会将 inkscape 内容转换为任何有用的 g 代码。
我想我可以尝试将 inkscape 文件直接导入 bCNC… 并且打开文件的文件扩展名和 inkscape 编辑器按钮建议能够做到这一点… 但我没有运气。wiki 没有描述 inkscape 处理。

所有者

@beta-tester它在 wiki 上,但可能不在最佳位置。它位于 wiki 的主页上。
您需要将 .svg 从 inkscape 转换为 .eps
inkscape -E file.eps file.svg
然后使用 pstoedit 转换为 dxf
pstoedit -f 'dxf: -mm' file.eps file.dxf
有一些选项可以控制精度缩放等…

作者

好的…我想我必须玩我的工作流程才能使用 bCNC…
我暂时保持安静…
谢谢您花时间帮助我。