如何直接在 G 代码中编写圆弧?
3D打印
g代码
CAD
2021-04-25 11:26:23
2个回答
Marlin 有G2
(顺时针圆弧)和G3
(逆时针圆弧)命令可用于执行此操作。您可以在此处找到该命令的详细文档。
基本上,你可以使用
G2 R1 X5 Y5
从当前位置绘制(顺时针)弧线到 半径为 .
因此,您的圆角三角形可以通过 3 次直线移动和 3 次圆弧移动来绘制。找出每个移动的确切坐标将是一项非常具有挑战性的几何练习,因为您需要知道每条边的直线部分在哪里结束,圆角部分从哪里开始。
首先,将给定的测量值转换为草图...
G代码恶作剧
我们实际上让打印机做圆圈……让我们把它画出来……
使用它,可以很容易地使用G1和G2的文档编写 G 代码。您必须添加 E 值以沿路径挤出一些东西,但您的草图会变成这条路径:
G92 X0 Y0 ; the current position is now (0,0) on the XY
G90 ;Abolute mode for everything...
M83 ;...but for the E-argument, so you can just put the length into the extrusions that are to be done
G0 X10.66 Y2
G2 R5 X6.33 Y9.5 ; Alternate: G3 I0 J5 X6.33 Y9.5
G1 X45.66 Y77.638
G2 R5 X54.33 Y77.638 ; Alternate: G3 I4.33 Y-2.5 X54.33 Y77.638
G1 93.67 Y9.5
G2 R5 X89.33 Y2 ; Alternate: G3 I-4.33 Y-2.5 X89.33 Y2
G1 X10.66 Y2
G0 X0 Y0
G91 ; return to relative coordinates
此代码必须以移动到您想要开始图案的位置为前缀,并且不知道是否将其移离构建板,因此在允许的构建板上保持 100 毫米 X 和 87 毫米 Y。它将在您开始的地方结束。
迭代法
在 g 代码的许多用途中,圆角实际上是具有非常高数量 n 的 n 边形。那么我们只需要G1
并且可以很容易地计算出拉伸的长度并填充G1。我们需要迭代到有点循环......
让我们用 n=3 又名三角形开始迭代,它给出了一条直线越过拐角给出了这个:
去 n=6(六边形)更好地遵循曲线......
去 n=12 在更大的范围内看起来几乎是圆形的......
当我们达到 n=24 时,我们就非常接近圆了..
当我们超过 n=6 时,我们也可以更容易地计算拐角,因为我们总是得到相同长度的沿 X 和 Y 的运动,只是由于对称性而交换。
定义了所有这些拉伸后,我们可以轻松地开始在相对坐标中工作,同样没有 E,并且仅适用于左下角:
G0 X10.66 Y2
G1 X-1.294 Y0.17
G1 X-1.206 Y0.5
G1 X-1.036 Y0.795
G1 X-0.795 X1.036
G1 X-0.5 Y1.206
G1 X-0.17 Y1.294
G1 X0.17 Y1.294
G1 X0.5 Y1.036
...