开源改变世界!!

Autoleveler – 适用于 Gcode – 不正确的第一步 #1583

推推 grbl 2年前 (2023-01-28) 261次浏览
打开
pagabee 打开了这个问题 2021 年 4 月 20 日 · 3条评论
打开

Autoleveler – 适用于 Gcode – 不正确的第一步#1583

pagabee 打开了这个问题 2021 年 4 月 20 日 · 3条评论

注释

Autoleveler - 适用于 Gcode - 不正确的第一步 #1583

错误描述
如果将扫描的表面坐标应用于 gcode,则第一次移动不正确。
有第一条不需要的刻线。

版本
UGS 平台 2.0.7

操作系统(请填写以下信息):
Raspberry PI 3B+;带桌面的树莓派操作系统

Gcode 生成器
Fusion360

原始代码:

(1001)
G90 G94
G17
G21

(雕刻3)
S24000 M3
G54
G0 X-12.409 Y-19.818
Z4
Z2
G1 Z0 F750
X-12.389 Y-19.812 Z-0.025
X-12.329 Y-19.794
X-8.821 Y-21.581

水平G代码:

(1001)
G90G94
G17
G21

(雕刻3)
S24000M3
G4P5.00
G54
G0X-0.517Y-0.8257Z-0.1674
G0X-1.0341Y-1.6515Z-0.1719
G0X-1.5511Y-2.4773Z-0.1765
G0X-2.0682Y-
3.303Z-0.152Y824-0.152Y8245 Z-0.1861
G0X-3.1023Y-4.9545Z-0.191
G0X-3.6193Y-5.7803Z-0.196
G0X-4.1363Y-6.606Z -0.2012 G0X
-4.6534Y-7.4318Z-0.2064
G0X-5.1704Y-7
G0.2575G 5.6875Y-9.0833Z-0.2172
G0X-6.2045Y-9.909Z-0.2227
G0X-6.7215Y-10.7348Z-0.2269
G0X-7.2386Y-11.5605Z-0.2307
G0X-7.7556Y-12.38613Z-
027-0.23Z-0.2307 -0.237 G0X-
8.7897Y-14.0378Z-0.2397
G0X-9.3068Y-14.8635Z-0.2419
G0X-9.8238Y-15.6893Z-0.2439
G0X-10.3408Y-16.515Z-0.2466
G0X-10.8579Y-17.3407Z-0.2499
G0X-11.3749Y-18.1665Z-0.2532
G0X-11.892Y-18.9923Z-0.2567
G0X-12.409Y-24.9923Z-0.2567
G0X-12.409Y-24.8218-20.8218-20.8218 19.818Z0.7398
G0X-12.409Y-19.818Z1.7398
G0X-12.409Y-19.818Z2.7398
G0X-12.409Y-19.818Z3.7398
G0X-12.409Y- 19.818Z2.7398 G0X-12.40839Y-12.409Y- 12.409Y
-19.818Z3.7398 G1X-12.409Y-19.818Z0.7398 G1X-12.409Y-19.818Z-0.2602 G1X-12.389Y-19.812Z-0.285 …

我认为自调匀整功能计算的第一个运动(从 G0 X-12.409 Y-19.818)不正确。

Autoleveler - 适用于 Gcode - 不正确的第一步 #1583
作者

我做了一些调查……
我写了一个简单的 g 代码来展示我发现的东西,运动是一个简单的矩形。(gcode.txt)

我认为问题在于,自调匀整器将 origo (0:0:0) 作为第一点,因此 cnc 首先从 home 进入 origo,然后到达实际的第一点。
这会导致不需要的第一条雕刻线。

如果删除 g 代码行(标有黄色),则雕刻没问题。(gcode.apply.gcode.docx)

第一个动作(黄线)在表面上,从原点开始,而不是从第一点开始:gcode.txt gcode.apply.gcode.docx Surface test Data.txt
Autoleveler - 适用于 Gcode - 不正确的第一步 #1583

另一个问题:feedrate
The leveled g-code does not contain the F1500

Autoleveler - 适用于 Gcode - 不正确的第一步 #1583

我对第一条不需要的线路有同样的问题。
这使得结果几乎无法使用,尤其是当主轴必须全面移动时。

有没有办法将更新的 G 代码保存到文件中?
保存后,我可以通过删除不需要的行的代码部分来编辑文件吗?

我还注意到联邦设置为爬网的问题。如果这也可以解决,那就太好了,但并不重要。

这个插件对我来说非常有用(如果不是这两个问题的话)——伙计们,干得好!

Autoleveler - 适用于 Gcode - 不正确的第一步 #1583

免责声明:这是我第一次查看 UGS 代码。
我查看了解析代码,似乎 G28 命令未被解析器正确处理。
G28 命令在程序序言中很常见(例如“G28 G91 Z0”)。

updatePointWithCommand不知道 G28 的机制以及它如何影响新位置。
handleGCode不会告诉 updatePointWithCommand 关于 G28 也不会尝试处理它。

因为 Z0 在命令参数中找到,解析器假定 Z 轴移动到坐标 0(活动坐标系?)。
然而,这不是 G28 的机器剂量 G28
– 从当前位置快速移动到参数 5161-5166 中值的绝对位置。参数值是根据绝对坐标系和机器的本机坐标系。

此时解析器假定位置为 X,Y,0。下一个将主轴移动到工作位置 X、Y 的命令根据当前值 0 计算 Z 轴,并且主轴以第一个移动命令潜水到 Z=0+-调整。

我相信,如果 handleGCode 可以正确识别并适当更新 X、Y、Z,则可以解决不需要的行的问题。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

2名参加者
Autoleveler - 适用于 Gcode - 不正确的第一步 #1583Autoleveler - 适用于 Gcode - 不正确的第一步 #1583

喜欢 (0)