我正在从事一个计算机科学项目,这是一个数控绘图仪,基本上所有我看到的获取Gcode使用Inkscape的方法。我已经编写了软件,将普通图像转换为黑白边,我已经从图像中提取了坐标。有任何方法可以使用X,Y坐标来生成Gcode吗?或者我要用Inkscape。
发布于 2021-12-13 10:19:54
GCode只是一个指令,你可以在那里传递参数。
这台机器将一个一个地执行Gcode,并将其解释为移动他的马达或根据他的固件进行调整。
因此,如果您想在python中创建Gcode,只需创建一个txt文件并附加命令。
您需要首先获得计算机的Gcode可用指令(此处为InkScape)。
例如,马林
G1 X90.6 Y13.8 ; move to 90.6mm on the X axis and 13.8mm on the Y axis要在python中获取该文件:
positions = [ # Get your datas of format them like this:
[90.6, 13.8], # Point 1 [x, y]
[10.6, 3.98]
]
with open("myGCode.gcode", "w") as f:
for x, y in positions:
f.write(f"G1 X{x} Y{y} ;\n")文件创建的内容:
G1 X90.6 Y13.8 ;
G1 X10.6 Y3.98 ;发布于 2021-12-17 10:17:56
它实际上取决于机器及其控制器,但大多数情况下,像G1或G01这样的线性插值通常只需要指定一次,比如
G01 X1.0 Y2.0;然后它的线性插值已经启用了,所以它可以
X1.0 Y3.0;
...直到你想回到快速移动的地步(G0,G00)
或带有(G02,G03)的圆形插值
但是,通常情况下,在切换到特定的插值之后,坐标就足够了。
然而,我假设它是简单的铣削,而最近的磨坊(我是为Haas训练的)有一些奇特的口袋功能,你只需要为轮廓指定几个关键点,它们就可以从数学上被扣除。
这将是有趣的看到你的程序,以获得一个轮廓的照片。
但是,在每一组坐标之间指定插值类型也是可以的,只是这可能会使代码的可读性稍微困难一些。
https://stackoverflow.com/questions/70332825
复制相似问题