开源改变世界

如何使用 %python 在 gcode 中显示轴的当前位置 #1135

推推 grbl 3年前 (2023-02-02) 101次浏览
关闭
科佩拉 打开了这个问题 2019 年 1 月 15 日 · 3条评论
关闭

如何使用 %python 在 gcode 中显示轴的当前位置#1135

科佩拉 打开了这个问题 2019 年 1 月 15 日 · 3条评论

评论

如何使用 %python 在 gcode 中显示轴的当前位置 #1135

你好,我希望有人能帮助我。我是 Python 的初学者,无法更进一步。我已经将 GCode 与 % 行 python 代码集成在一起,到目前为止一切正常。我的问题是我的代码中需要轴的当前位置,如何将这些位置保存在变量中?然后我想用 %line python 脚本移动到一个新位置,这可能吗?

如何使用 %python 在 gcode 中显示轴的当前位置 #1135
合作者
哈维 评论了 2019 年 1 月 15 日  

如中所示,以下变量可用CNC.py。我认为您对wx,wy和感兴趣wz。但请注意,在发出命令时这些可能不是最新的,因为机器正在移动或尚未报告其位置。所以可能需要添加一些时间延迟,比如G4 P500……

        vars           = {
                        "prbx"       : 0.0,
                        "prby"       : 0.0,
                        "prbz"       : 0.0,
                        "prbcmd"     : "G38.2",
                        "prbfeed"    : 10.,
                        "errline"    : "",
                        "wx"         : 0.0,
                        "wy"         : 0.0,
                        "wz"         : 0.0,
                        "mx"         : 0.0,
                        "my"         : 0.0,
                        "mz"         : 0.0,
                        "wcox"       : 0.0,
                        "wcoy"       : 0.0,
                        "wcoz"       : 0.0,
                        "curfeed"    : 0.0,
                        "curspindle" : 0.0,
                        "_camwx"     : 0.0,
                        "_camwy"     : 0.0,
                        "G"          : [],
                        "TLO"        : 0.0,
                        "motion"     : "G0",
                        "WCS"        : "G54",
                        "plane"      : "G17",
                        "feedmode"   : "G94",
                        "distance"   : "G90",
                        "arc"        : "G91.1",
                        "units"      : "G20",
                        "cutter"     : "",
                        "tlo"        : "",
                        "program"    : "M0",
                        "spindle"    : "M5",
                        "coolant"    : "M9",
                        "tool"       : 0,
                        "feed"       : 0.0,
                        "rpm"        : 0.0,

                        "planner"    : 0,
                        "rxbytes"    : 0,

                        "OvFeed"     : 100,     # Override status
                        "OvRapid"    : 100,
                        "OvSpindle"  : 100,
                        "_OvChanged" : False,
                        "_OvFeed"    : 100,     # Override target values
                        "_OvRapid"   : 100,
                        "_OvSpindle" : 100,

                        "diameter"   : 3.175,   # Tool diameter
                        "cutfeed"    : 1000.,   # Material feed for cutting
                        "cutfeedz"   : 500.,    # Material feed for cutting
                        "safe"       : 3.,
                        "state"      : "",
                        "pins"       : "",
                        "msg"        : "",
                        "stepz"      : 1.,
                        "surface"    : 0.,
                        "thickness"  : 5.,
                        "stepover"   : 40.,

                        "PRB"        : None,
                        "TLO"        : 0.,

                        "version"    : "",
                        "controller" : "",
                        "running"    : False,
                }

您可以在 g 代码中使用方括号访问这些变量:G90G0Z[safe]或直接在 python 调用中:%print(safe)