打开 Vasilius-001 打开了这个问题 2020 年 10 月 4 日 · 2 条评论 打开 命令 G2 和 G3 显示不正确#1134 Vasilius-001 打开了这个问题 2020 年 10 月 4 日 · 2 条评论 注释 Vasilius-001 评论了 2020 年 10 月 4 日 有一个带有 GRBL 1.1h 固件的激光雕刻机。我需要绘制圆和弧,为此我在手动文件中创建。我在 LaserGRBL 3.7.1 中打开文件。预览中显示圆,但根本不显示圆弧。在这种情况下,激光雕刻机的图像是正确的。 G90 (use absolute coordinates) M5 G00 X300 Y300 F2000 M3 S80 (Circles R150 - R148) G00 X0.000 Y150.000 F2000 (circles R150.000) G02 X0.000 Y150.000 I150.000 J0.000 F2000 G00 X0.125 Y150.000 F2000 (circles R149.875) G02 X0.125 Y150.000 I149.875 J0.000 F2000 G00 X0.250 Y150.000 F2000 (circles R149.750) G02 X0.250 Y150.000 I149.750 J0.000 F2000 G00 X0.375 Y150.000 F2000 (circles R149.625) G02 X0.375 Y150.000 I149.625 J0.000 F2000 G00 X0.500 Y150.000 F2000 (circles R149.500) G02 X0.500 Y150.000 I149.500 J0.000 F2000 G00 X0.625 Y150.000 F2000 (circles R149.375) G02 X0.625 Y150.000 I149.375 J0.000 F2000 G00 X0.750 Y150.000 F2000 (circles R149.250) G02 X0.750 Y150.000 I149.250 J0.000 F2000 G00 X0.875 Y150.000 F2000 (circles R149.125) G02 X0.875 Y150.000 I149.125 J0.000 F2000 (Arc R147.875 - R147) G00 X2.125 Y150.000 F2000 G02 X297.875 Y150.000 R147.875 F2000 (arc R147.875) G00 X297.750 Y150.000 F2000 G03 X2.250 Y150.000 R147.750 F2000 (arc R147.750) G00 X2.375 Y150.000 F2000 G02 X297.625 Y150.000 R147.625 F2000 (arc R147.625) G00 X297.500 Y150.000 F2000 G03 X2.500 Y150.000 R147.500 F2000 (arc R147.500) G00 X2.625 Y150.000 F2000 G02 X297.375 Y150.000 R147.375 F2000 (arc R147.375) G00 X297.250 Y150 F2000 G03 X2.750 Y150.000 R147.250 F2000 (arc R147.250) G00 X2.875 Y150 F2000 G02 X297.125 Y150.000 R147.125 F2000 (arc R147.125) G00 X297.000 Y150.000 F2000 G03 X3.000 Y0.000 R147.000 F2000 (arc R147.000) M5 G90 G00 X0 Y0 F2000 M30 arkypita 添加了 有待验证 标签 2020 年 10 月 4 日 所有者 阿尔基皮塔 评论了 2020 年 10 月 4 日 我只为 G2/G3 的 IJ 格式实现了数学。 我想它可能很容易实现,但我的数学不太好:-( public G2G3Helper(LaserGRBL.GrblCommand.StatePositionBuilder spb, LaserGRBL.GrblCommand cmd) { bool jb = cmd.JustBuilt; if (!jb) cmd.BuildHelper(); double aX = (double)spb.X.Previous; //startX double aY = (double)spb.Y.Previous; //startY double bX = (double)spb.X.Number; //endX double bY = (double)spb.Y.Number; //endY double oX = cmd.I != null ? (double)cmd.I.Number : 0.0; //offsetX double oY = cmd.J != null ? (double)cmd.J.Number : 0.0; //offsetY CenterX = aX + oX; //centerX CenterY = aY + oY; //centerY Ray = Math.Sqrt(oX * oX + oY * oY); //raggio RectX = CenterX - Ray; RectY = CenterY - Ray; RectW = 2 * Ray; RectH = 2 * Ray; StartAngle = CalculateAngle(CenterX, CenterY, aX, aY); //angolo iniziale EndAngle = CalculateAngle(CenterX, CenterY, bX, bY); //angolo finale AngularWidth = AngularDistance(StartAngle, EndAngle, spb.G2); if (!jb) cmd.DeleteHelper(); } 贡献者 格德沃格尔 评论了 2021 年 1 月 4 日 你好, 我发现这个东西可以将半径为中心坐标的 G02/G03 问题转换。 如果你假设你在圆弧的起点和终点放置一个半径为 R 的圆,并且两个圆接触的地方是圆弧的中心,你可以将这些坐标转换为 I 和 J。 不幸的是,该页面是德语的,有一个JavaScript来计算中心。也许您可以看一下并将其包含在您的 Conde 中。不幸的是,我的电脑上没有编译器来帮助你解决这个问题。 我刚刚发现 Microsoft Edge 也可以翻译网页。我个人使用 Deepl 作为翻译器,它是在线的。 http://walter.bislins.ch/blog/index.asp?page=Schnittpunkte+zweier+Kreise+berechnen+%28JavaScript%29 免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论 受让人 无人分配 标签 有待验证 项目 还没有 里程碑 没有里程碑 发展 没有分支机构或拉取请求 3人参加
有一个带有 GRBL 1.1h 固件的激光雕刻机。我需要绘制圆和弧,为此我在手动文件中创建。我在 LaserGRBL 3.7.1 中打开文件。预览中显示圆,但根本不显示圆弧。在这种情况下,激光雕刻机的图像是正确的。