请原谅我有任何错误,因为这是我第一次在这里发帖,而且我不用Python编码。
我正在尝试编辑InkScape扩展,在其中它们有一段代码(我相信是字典?),它在GCode块之前和之后添加了行。
见到这里:
self.tools = {
"name": "Laser Engraver",
"id": "Laser Engraver",
"penetration feed": self.options.laser_speed,
"feed": self.options.laser_speed,
"gcode before path": ("G0 Z0.1"),
"gcode after path": ("G0 F" + self.options.travel_speed),
}
我希望这段代码打印出行进速度的部分(我相信定义是什么?):
"gcode after path": ("G0 F" + self.options.travel_speed),
还要打印一条名为“G0 Z5”的新行
我的问题是我该如何做到这一点。
我会用逗号分隔后添加它,如:
"gcode after path": ("G0 F" + self.options.travel_speed),("G0 Z5"),
或者我在中间使用\ n,如:
"gcode after path": ("G0 F" + self.options.travel_speed \n "G0 Z5"),
或者我将两者分成两个部分,如:
"gcode after path": ("G0 F" + self.options.travel_speed);("G0 Z5"),
或者还有其他方法我还没找到?
稍作澄清,输出目前看起来像这样:
G0 Z0.1
G0 X-69.535 Y-75.5701
G0 F3000
G0 Z0.1
G1 X-69.4779 Y-75.4004F200.000000
G1 X-69.3627 Y-75.3433
G1 X-69.23 Y-75.2775
G0 F3000
我正在寻找它:
G0 Z0.1
G0 X-69.535 Y-75.5701
G0 F3000
G0 Z5
G0 Z0.1
G1 X-69.4779 Y-75.4004F200.000000
G1 X-69.3627 Y-75.3433
G1 X-69.23 Y-75.2775
G0 F3000
G0 Z5
提前谢谢。
答案 0 :(得分:0)
您概述的任何替代方案都不起作用 - 这三个都是语法错误。
在字符串中放置换行符的简单方法是包含换行符。假设代码中此时self.options.travel_speed
是一个字符串,例如:
'gcode after path': 'G0 F' + self.options.travel_speed + '\nG0 Z5'
更一般地说,您可以通过以下方式将字符串的列表或元组与换行符分开:
'gcode after path': '\n'.join('G0 F' + self.options.travel_speed, 'G0 Z5', something_else)
我不熟悉您的应用,因此您可能需要先将speed
转换为字符串。
答案 1 :(得分:0)
Galen和克里斯约翰逊说, 将定义更改为如下所示:
"gcode after path": ("G0 F" + self.options.travel_speed + "\nG0 Z5"),
给我所需的输出:
G0 Z0.1 < Before Path
G0 F200.000000
G1 X105.6317 Y96.7619 < Path
G1 X105.6317 Y45.9619 < Path
G1 X65.3143 Y45.9619 < Path
G1 X65.3143 Y96.7619 < Path
G0 F3000 < After Path
G0 Z0.5 < After Path
G0 X49.9936 Y225.7778
G0 Z0.1
G0 F200.000000
G1 X137.8857 Y225.7778
G1 X137.8857 Y141.9175
G1 X49.9936 Y141.9175
G1 X49.9936 Y225.7778
G0 F3000
G0 Z0.5
谢谢大家的帮助!