Contact me: hankecnc@gmail.com

按钮宏:所有python代码在gcode之前执行! #1304

推推 grbl 3年前 (2023-02-02) 229次浏览
打开
BernardG 打开了这个问题 2019 年 11 月 13 日 · 8条评论
打开

按钮宏:所有python代码在gcode之前执行!#1304

BernardG 打开了这个问题 2019 年 11 月 13 日 · 8条评论

评论

按钮宏:所有python代码在gcode之前执行! #1304
伯纳德 评论了 2019 年 11 月 13 日  

我正在尝试探测零件以找到其中间位置。
看起来我的 python 代码和我的 Gcode 都很好。唯一的问题是 %wait 似乎什么都不做。我可以在终端上看到我的 %print(s),即使 Gcode 还没有探测到第一个位置。所以,很明显,我的 python 变量无法接收到正确的值。

我知道 python 在本地执行,而 Gcode 被发送到 GRBL。所以我想,我的问题有两个:(1) 有没有办法让它成为所有 python 代码?(2) 或者,有什么办法可以使 %wait 起作用,或者有什么方法可以强制 python 在执行之前等待来自 GRBL 的 OK?(我猜这就是 %wait 的用途……)

到目前为止,这是我的代码:

%_long = app.entry("Entrez la longueur de la pièce: ");
%_larg = app.entry("Entrez la largeur de la pièce: ");
%_flong = float(_long);
%_flarg = float(_larg);
%_posXM = float();
%_posXP = float();
%_posXmi = float();
%_posYM = float();
%_posYP = float();
%_posYmi = float();
%_distmvt = float();
%_diffPos = float();
%msg Debut de Sondage
(==================X=================)
(on assume que Z0 à été fait auparavant)
G91 G0 Z3
%_distmvt = float(0.5 * _flong + 10.00);
%print("distance mouvement = " + str(_distmvt));
G91 G0 X-[str(_distmvt)] (On recule de la longueur /2 + 10 mm)
G91 G0 Z-8 (On descend rapidement de 6 mm)
G38.2 X[str(_flong)] F100 (On avance en X de la longueur (au maximum))
G38.4 X-1 F20 (Après avoir touché, on s'écarte de 1 mm lentement)
%wait;
G4 P5
G10 L20 P2 X0
%_posXM = float(wx);
%print("PosXM = " + str(_posXM));
G91 G0 Z8 (remonte Z là où il était, puisqu'on est en coordonnées relatives)
%_distmvt = float(_flong + 10);
%print("distance mouvement 2 = " + str(_distmvt));
G91 G0 X[str(_distmvt)] (avance de la longueur indiquée + 10 mm)
G91 G0 Z-8 (On descend rapidement de 6 mm)
G38.2 X-[str(_flong)] F100 (On recule en X de la longueur (au maximum))
G38.4 X1 F20 (Après avoir touché, on s'écarte de 1 mm lentement)
%wait;
G4 P5
G10 L20 P2 X0
%_posXP = float(wx);
%print("PosXP = " + str(_posXP));
%print("Longueur trouvée = " + str(abs(_posXM) + abs(_posXP)));
%_diffPos = _posXM - _posXP
%_posXmi = float(_diffPos/ 2); (trouve le milieu pour X)
%print("Position milieu = " + str(_posXmi));
G10 L20 P1 X[str(_posXmi)]
G91 G0 Z8 (remonte Z avant de se déplacer)
G90 G0 X0
%wait;
按钮宏:所有python代码在gcode之前执行! #1304
贡献者

我将阅读您的代码,它将帮助我继续学习:我很困惑您可以在宏按钮中这样写:我的知识很少。
(我不知道它是否会做任何事情,在 cnc 文件中,在工具更改中它使用了 Wait,但你肯定知道)

按钮宏:所有python代码在gcode之前执行! #1304
作者

我将阅读您的代码,它将帮助我继续学习:我很困惑您可以在宏按钮中这样写:我的知识很少。
(我不知道它是否会做任何事情,在 cnc 文件中,在工具更改中它使用了 Wait,但你肯定知道)

感谢您的回答。我忘记了,我会检查它,看看我能做些什么来让它从按钮上工作。也许我需要导入一些东西……

按钮宏:所有python代码在gcode之前执行! #1304

您好,您找到 %wait 的解决方案了吗?我也想做这个宏。谢谢

按钮宏:所有python代码在gcode之前执行! #1304

我发现 %wait 不工作。
相反,我使用 G4 P0.1 强制 bCNC 和 GRBL 在该点同步。
V0.9.14-dev

按钮宏:所有python代码在gcode之前执行! #1304

我发现 %wait 不工作。
相反,我使用 G4 P0.1 强制 bCNC 和 GRBL 在该点同步。
V0.9.14-dev

那么,这可以作为“替换”到“等待”命令吗?您是如何将其合并到您的代码中并替代“等待”的?

按钮宏:所有python代码在gcode之前执行! #1304
无赖 评论了 2021 年 9 月 15 日  

我发现 %wait 不工作。
相反,我使用 G4 P0.1 强制 bCNC 和 GRBL 在该点同步。
V0.9.14-dev

你说的很有道理,因为 ProbePage.py 的第 1946 行使用了相同的技巧。这很奇怪,因为第 1947 行使用了 %wait。

线append ( “g4 p1” ) # 稍等

 

我将使用 G4 Px 进行测试,看看会发生什么,因为看起来这个修复不会很快出现,

按钮宏:所有python代码在gcode之前执行! #1304
合作者

看起来这个修复不会很快出现

欢迎请求请求。

按钮宏:所有python代码在gcode之前执行! #1304

看起来这个修复不会很快出现

欢迎请求请求。

我确信这一点。不幸的是,我不精通 python,在 python 3 发生之后,它对我来说变得更加复杂。

对不起,我按了你的按钮,这不是我的本意。只是试图指出作为用户可以改进的地方确实使 bcnc 在越来越多的软件作为与 cnc3d、rabbit 和 ultimate cnc 等类似功能一起使用的绝佳选择的环境中成为可靠的选择。

就我个人而言,我仍然使用 bcnc,但我认为在这个论坛中,用户已经离开了其他地方,因为像这样的简单错误让事情变得有点令人沮丧,甚至更多地知道我们需要的功能已经实现,但简单的错误阻止它被使用。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
研究和代码清理需要更多思考的长期想法发件人和串行连接
项目

还没有

发展

没有分支机构或拉取请求

6人参加
按钮宏:所有python代码在gcode之前执行! #1304按钮宏:所有python代码在gcode之前执行! #1304按钮宏:所有python代码在gcode之前执行! #1304按钮宏:所有python代码在gcode之前执行! #1304按钮宏:所有python代码在gcode之前执行! #1304按钮宏:所有python代码在gcode之前执行! #1304

喜欢 (0)