注释
@1bigpig: 我想我曾经说过这个。工具更改可能很棘手。您已确保在您注入不属于 CAM 生成程序的命令时保留和恢复 g 代码解析器状态。G代码模式可能会搞砸。我一直在考虑 Grbl 的“沙盒”,这样它会保留最后的位置和解析器状态。然后你可以在任何模式下指挥任何你想要的。当您退出沙箱时,它将恢复所有内容。这个想法可以应用于慢跑、停车运动和工具更换。 |
@chamnit我个人不太关心工具的改变,但我喜欢你对 G 代码机器状态进行沙盒处理的想法。我认为有一些问题需要解决,但没有什么是无法克服的。 我想要/希望的是能够将来自不同 CAM 软件的 2 个或更多 G 代码文件合并在一起。我知道您可以轻松地在文本中完成,甚至可以在终端提示中查看,但我希望能够导入多个 G 代码“几何图形”并移动它们。 比如我想为grbl做一个告示牌或者控制面板。我想切出几个按钮孔和一些连接器孔。我使用 OpenCAD 绘制我的连接器孔和按钮孔,然后将其处理成 G 代码。现在,我想对所述控制面板上的按钮和连接器的文本进行 V 形雕刻。现在,我想使用 f-engrave ( http://www.scorchworks.com ) 来 V-Carve 文本。我希望能够将其导入 bCNC 并将其恰好移动到按钮切口上方。 这可能看起来很复杂,但是现在,除了 bCNC 之外,没有任何程序可以让您以我所知道的 g 代码形式图形化地操作几何图形。所以,这应该是一个简单的代码添加@vlachoudis. 我真正想看到的是@vlachoudis基于bCNC制作一个真正的CAM程序。我认为他已经完成了大部分工作,但只需要添加一个 DXF/SVG 导入并做一些简单的口袋、轮廓,甚至可能进行一些 V 形雕刻刀具路径,这将大大覆盖人们 95% 的工作正在使用他们的数控机床。 将所有绘图/CAD 留给 Inkscape 和 OpenCAD,只关注 CAM 部分。我个人也会忽略 3D 刀具路径,因为我认为这会淡化目的。我在想很早的 V-Carve Pro 类型程序。我认为版本 1 或 2 只能通过 DXF 和 EPS 导入几何图形,并且可以让您选择要加工的几何图形、轮廓切割和 V 形雕刻。 我知道有相当多的此类软件适用于 Windows,但适用于 Linux 的软件不多。有很多单独的程序可以做一件事或另一件事,但没有一个程序可以将这三者结合到一个以图形方式完成的程序中。 布鲁斯 |
@1bigpig:啊。我承认,我没有仔细阅读原帖。有趣的想法。我可以看到能够在一个查看器中可视化多个作业的价值,以及 bCNC 的刀具路径操作如何发挥其优势。我确实看到这可能会很快变得复杂并且成为一个相当具体的工作流程。没有理由认为这不是单独的程序,它会生成新的组合 g 代码作业供 bCNC 运行。 我做了很多金属加工,不喜欢外部程序与原始 CAM 生成的程序混淆。如果处理不当,小的舍入误差可能会不正确地加载较小的立铣刀并损坏它。在进行高速加工刀具路径时,像这样的东西特别敏感。而且,我通常会对试图做到这一切的程序产生下意识的反应,因为它们往往不会把任何一件事做得很好。 |
@chamnit虽然我同意你搞乱已经测试过的 G 代码程序,但 bCNC 目前已经在这样做了。也许不是在基本文件上,但如果您针对探测表面调整文件,那么原始 g 代码就会消失。所有圆弧都转换为短线段,然后根据新曲面重新解释代码。 虽然我对此本身没有问题,但我发现这是/可以取其轻的两害。如果您使用两个单独的程序来生成您的 g 代码,谁知道这两个不同的文件会有多一致。 其次,我认为这将是一个“权宜之计”措施,直到@vlachoudis或者其他人出现并创建了所述 CAM 程序。 现在,我也同意你关于 CAM 软件试图做太多事情的观点,但我不认为简单的路径切割(轮廓切割——在所述路径的内部和外部)、挖槽和 V 型雕刻切割对于一个程序来说太多了。几乎所有这些功能(可能 V 形切割除外)几乎完全相同并且共享非常相似的代码库。通过省略 DRAWING 和 3D SURFACING,您制作了一些可以被开放软件社区无限使用的东西,并且与早期的V-Carve Pro ( http://www.Vectric.com ) 非常相似。通过打开它,@vlachoudis不必单独支持人员,并且由于需要类似功能(螺旋钻孔、坡走、钻孔循环等),他不必是唯一的编码员。 同样,这只是目前的白日梦。我不知道是否@vlachoudis甚至对这样的项目感兴趣。我决定要学习 Python,看看我是否可以开始拼凑一些东西,但我不是职业程序员,所以我不期待奇迹。我所知道的是,这些功能中的 99% 已经在开放软件中可用,并且通过一些严格的剪切和粘贴以及大量胶水代码,无需从头开始就可以完成。 布鲁斯 |
@1bigpig仅供参考,bCNC 已经(从一段时间以来)能够:
我在我的 TODO 列表上有做口袋的事情。 |
@vlachoudis既然我有一台更快(相对)的 Linux 机器,我将研究这些特性。旧的 Raspberry PI 跟不上,但我一直在尝试两种不同的板(Raspberry Pi 2 和 Imagination Creator Ci20),它们现在几乎可以运行 Inkscape——旧的 Pi 不能! 我确实找到了一个声称可以进行 V-Carving 的程序,该程序是用 Python 编写的,但我昨晚运气不好。所以,我今天要多玩一些,看看我能做些什么。 我会说那些 CAM 功能有点隐藏——我想我真的需要阅读完整的 bCNC 维基…… 布鲁斯 |
@vlachoudis: 我想知道是否可以引入社区中其他人以前的一些工作。@tbfleming有一个很棒的开源 2.5D CAM 项目,称为JSCut。它有很多很棒的功能,如切槽、V 形雕刻、线内或线外的轮廓,以及 3d 切割查看器。虽然它是作为 Web 应用程序编写的,但一些核心组件是用 C++ 编写的。 尽管导入任何这些 JSCut 功能可能需要大量工作,但它可以作为很好的参考。但是,与其重新发明轮子,大多数 GUI 只是链接到 JSCut 并使用其 API 将生成的 gcode 直接导入回他们的 GUI 程序。如果需要,bCNC 可以只专注于 g 代码操作部分。 |
@chamnit: jscut 使用 C++(编译为 js)进行 v 雕刻和在制表符边界处分割路径。其他一切都在js中。 |
@tbfleming: 感谢托德的澄清!只是好奇,是否有任何限制在 JSCut 中使用 DXF?(删除 DPI 依赖项)。 |
@chamnit:我遇到的大多数来自免费工具的 DXF 都有开放路径而不是封闭路径。我选择 SVG 是因为 Inkscape 和类似的工具可以轻松创建闭合路径。 |
@chamnit @tbfleming在 DXF 中从开放段创建封闭路径是微不足道的。最初我尝试使用 inkscape,它作为矢量绘图程序具有出色的功能,但不如 CAD 编辑器直观。创建具有精确尺寸的路径或项目相当乏味,而像 qcad 或 librecad 这样的程序简单而有效。FreeCAD 也可以做参数化绘图,但有点问题。Inkscape 对象尺寸对于准确的路径操作来说有点混乱,因为它们包括笔画大小。 无论如何,我并没有重新发明轮子的意图,但我没有找到任何可以使用 DXF 的免费 CAM 工具。我想进行分析操作,创建算法并不难。 |
@1bigpig我在文件菜单(以及命令行)中添加了一个导入功能,以便在选定路径后导入一个新的 gcode 或 dxf 文件。如果未选择任何内容,则它会附加在末尾。 |
如果 bCNC 正在考虑实施工具更改“功能”,我想在“文件”菜单中添加一个“合并”g 代码文件选项。是的,我对这个命令别有用心,但它会允许不同工具的两个或多个不同文件同时存在于 bCNC 中。一旦遇到换刀命令,bCNC 就可以启动并执行它实现的任何小的伪换刀例程。
谢谢,
布鲁斯