例如,我有一个用Fanuc g-code格式编写的g代码,包括Macro-B(more infohere)
#101 = 2.0 (first variable)
#102 = 0.1 (second variable)
#103 = [#101 + #102 * 3] (third variable using simple arithmetic)
G01 X#101 Y#103 F0.1
应转换为:
^{pr2}$更详细的例子here和{a3}。在
需要改变的事情:
(#\d+)\s*=\s*(-?\d*\.\d+|\d+\.\d*)
+
、-
、*
和{(#\d+)\s*=\s*\[(#\d+|(-?\d*\.\d+|\d+\.\d*))(\s*[+\-*/]\s*(#\d+|(-?\d*\.\d+|\d+\.\d*|\d+)))*\]
(...)
。在如果您能帮助我知道如何在Python中实现这一点,以及上面的regex是否正确,我将不胜感激。提前感谢您的支持。在
p.S.1.很遗憾,我找不到g代码的fenced代码块的语法高亮显示
p.S.2.将浮点改为字符串时,应考虑Python浮点处理的问题。我用这个函数来解决这个问题:
^{3}$
好吧,我废弃了一段代码,它能起作用。假设
gcode
是从Fanuc G代码读取的多行字符串:这可能是最糟糕的方法,应该有更有效的实现。剩下的就交给Python专家了。在
相关问题 更多 >
编程相关推荐