问题标签 [g-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Sympy:点旋转后点评估=假
我是 python 新手,我正在尝试使用 python 生成一个 g 代码。我使用 sympy 是因为我还需要做线段、交叉点,甚至凸包。
给定一个初始点,我需要将它(它们)从中心(0,0)旋转 +/- 120 度,我的最终结果应该是这样的:
“G0 X0 Y120.4”
我将 evaluate=False 转为获得实际分数,但我这样做的方式仅适用于初始分数,不适用于其他分数:
G0 X0 Y120.400000000000
G0 X-301*sqrt(3)/5 Y-301/5
如何以初始 Z 点的形式制作其他点?
stl-format - STL 到 G 代码命令行转换器
我目前正在从事我的高级设计 CNC 铣床项目。该项目的一部分是将 STL 文件转换为 G 代码。好消息是,如果我需要集成的东西已经存在,我不必重新发明轮子。
Is there a command line converter I can use for this job?
algorithm - 多边形(或其部分)的圆形逼近
我的问题的简短描述
我需要为 3D 打印实现从 G1 指令到 G2 和 G3 ( http://www.cnccookbook.com/CCCNCGCodeArcsG02G03.htm ) 的GCODE 自动重构。
G1 是带有打印的直线运动(路径由矢量描述)。
我正在搜索基于给定向量路径的算法来近似圆/弧(特别是它的中点)。请注意,G2 和 G3 无法打印不属于圆的曲线 - 因此并非每个向量路径都可以通过这种方式进行近似。
我的问题的详细描述
我正在寻找通过圆(弧)近似部分(或全部)矢量路径(可以是正多边形、部分或不规则多边形部分)的方法。但是,首先让我们关注正则多边形。
在图片中,我画了这个问题的不同案例。
注意:每个多边形都是由向量构建的(如第 5 点)。
- 对全 x 边形的逼近。
- 一侧不同的部分 x-gon 的近似值
- x-gon 的近似值,其中两条边不同但彼此相等
- x-gon 的近似值,其中两条边不同(甚至彼此不相等)不相等
- 所有边相等的部分 x-gom 的近似值
这不是故事的结局……有几个标准:
- 圆的起点/终点必须在向量路径的起点/终点。
- 我需要知道圆圈的中点。
我找到的解决方案(好的和坏的):
1) 和 5) - 我的简单解决方案
这是最简单的情况。我可以计算共享一个观点的每一侧之间的半径。如果它们具有相同的长度并且每个之间的角度相等,我可以计算圆的中点(作为属于垂直中线的点,每边一条中线)并且我有我需要的一切:起点,终点,中点观点。
但此解决方案仅适用于案例 1 和 5。
当我有案例 2、3、4 或不规则多边形的部分时,我真的不知道该怎么办
c++ - 将 G 代码解释为电机控制信号
我不确定这是发布这个问题的正确位置,但我认为这是一个好的开始,因为它处理代码......如果不是,请指向正确的论坛,谢谢。
我正在寻找在 C/C++/FPGA 嵌入式系统上创建 G 代码解释器,但我不太确定如何将 G 代码转换为电机运动信号。这是一个专有系统的项目,所以我不需要很多额外的东西,比如可变的传动比等。有谁知道我在哪里可以找到这些信息,或者知道是否有一个开源解释器,我可以将其视为援助?
谢谢大家!
arduino - Arduino Gcode 阅读器
我在 Arduino 上制作了 G 代码阅读器,但它停止阅读。它有许多“中断”;而且我也有很多while循环和开关,所以我想当我在循环/开关上中断时,它会全部中断。
另一个想法是它会进行某种循环,但我不知道它在哪里循环。
这是我的代码:
当我发送 G1 X10.00 Y-100.00 \n它只打印: G 1 X 10.00 out of s
c++ - 为什么我们要在下面的代码中添加偏移量来为 3d 打印机生成 gcode?
这里在 gcode 中添加了一个偏移量。这有什么需要?
g-code - 每个主轴开/关都需要 GRBL 循环启动
我们使用 GRBL 0.9c ( https://github.com/grbl/grbl/wiki ) 构建了一个类似于 CNC 的机器,该机器被编程到我们的 Arduino UNO 微控制器板上。
我们将“循环启动/恢复”Uno 引脚连接到按钮(对我们来说是绿色),并将“自动启动”变量 $14 设置为关闭($14=0)(https://github.com/grbl/ grbl/wiki/Configuring-Grbl-v0.8#14---auto-start-bool)。这允许我们加载整个 gcode 命令文件,并且在我们按下绿色按钮之前机器不会移动,这非常好。
我们的问题是它只适用于只有 G01、G02、G03 命令的程序,而不适用于我们用来打开/关闭主轴的 M4、M5 命令。当 GRBL 解释器点击我们的 M4 或 M5 命令时,它会等待另一个绿色按钮按下('Cycle Start/Resume' Uno 引脚上的低信号)。
这是一些运行良好的 gcode,即按下一个绿色按钮就足以执行整个程序:
这里有一些在每个 M4 或 M5 命令后停止的 gcode:
M4 和 M5 是否在不同的行上无关紧要。
任何人都知道如何使 GRBL 解释器不等待主轴开/关(M4/M5)命令?
node.js - 通过串口将 gcode 字符串发送到 3D 打印机
我试图通过串行通信将 Gcode 发送到打印机,在我的 FlashForge Creator Pro(双)3D 打印机上显示一条消息。
当我打开 ReplicatorG 软件并放置字符串时:
并单击“构建”一切正常,机器显示应有的显示。但是,当我在我的代码(nodejs/node-serialport)中使用它时,它不起作用:
它用于连接打印机的波特率取自 ReplicatorG The Creator Dual 驱动程序,ReplicatorG 发送该驱动程序时也使用该驱动程序。
控制台发出“打开”事件,没有任何错误。
我尝试在命令的开头和结尾添加“%”字符,并通过添加 '\n' 来分隔行,但尚未成功。我究竟做错了什么?
parsing - 从头开始 DIY G 代码。(基本)
如果我想从头开始编写 G 代码解释器,有谁知道在哪里可以找到 G 代码命令的参数和数学公式。
一直在使用谷歌,但找不到任何解释或提供简单列表的东西。
我有一个项目的想法,我想用旧的 BASIC 计算机(例如 Commodore 64)控制 CNC 机器,而库对我没有多大帮助。为什么?我喜欢旧电脑,尝试一下很有趣。
python - 简单的python程序来阅读。代码文件
我对 Python 完全陌生,我想创建一个简单的脚本,它可以在文件中找到我的特定值,然后用它执行一些计算。
所以我有一个 .gcode 文件(它是一个包含数千行的 3D 打印机文件,但它可以被任何简单的文本编辑器打开)。我想创建一个简单的 Python 程序,当您启动它时,会打开简单的 GUI,并带有要求选择 .gcode 文件的按钮。然后打开文件后,我希望程序找到特定的行
; 使用的灯丝 = 22900.5mm (55.1cm3)
(上面是文件中行的确切格式)并从中提取值 55.1。稍后我想用这个值做一些简单的计算。到目前为止,我已经制作了一个简单的 GUI 和一个带有打开文件选项的按钮,但我被困在如何从这个文件中获取这个值作为一个数字(所以它可以在以后的方程中使用)。
我希望我已经足够清楚地解释了我的问题,以便有人可以帮助我:) 提前感谢您的帮助!
到目前为止我的代码: