【问题标题】:Generating toolpath based on shape description or DXF input根据形状描述或 DXF 输入生成刀具路径
【发布时间】:2021-07-16 12:19:48
【问题描述】:

我正在开发用于为定制 CNC 机床生成路径的应用程序。它基于不支持 G 代码的 PLC 控制器,因此我需要将整个路径定义为命令列表。

我在为型腔铣削定义刀具路径时遇到问题。作为输入,我使用具有不同形状的 DXF 文件。每个形状都位于不同的层上,由简单的元素组成,如 LINE、ARC 等。我需要将这些简单的元素分析为闭合轮廓,并生成用于铣削该轮廓内的整个材料的刀具路径。你知道我可以定义形状的任何库或简单算法(在这种情况下,基于 DXF 数据)并且 lib/算法会生成整个刀具路径,同时考虑刀具直径?

对于像圆形或矩形这样的简单形状,我可以手动生成这样的刀具路径,但是当形状更复杂时(例如,如下所示),我就没有办法了。

互联网上有很多免费的 CAM 软件,它们都以 G-Code 的形式生成刀具路径,所以我假设这种算法是以某种方式实现的。我考虑过使用这样的 CAM 软件,但 G 代码输出对我来说不可用,而且我不需要任何 GUI。它们中的大多数也是用高级语言编写的,而我正在使用在 node.js 下运行的 JavaScript 编写我的应用程序。

【问题讨论】:

  • 如果你已经有一个生成 G 代码的软件,那么编写一个 G 代码解析器将它转换回你的向量路径很可能会容易得多......你只需要参考文档对于机器 G 代码,SW 用于...无论如何,如果您想制作自己的运动刨床,请查看这些:stackoverflow.com/a/22068534/2521214stackoverflow.com/a/25052821/2521214stackoverflow.com/a/31013424/2521214 无论如何,“奇怪”的形状通常是用立方曲线完成的(BEZIER ,SPLINE),因此您只需将其采样为线条并像任何其他线条一样按刀具半径偏移它...

标签: javascript node.js geometry dxf cnc


【解决方案1】:

您的意思是您知道如何单独处理每个实体,但不知道如何将它们组合在一起?由于它们接触,您只需要根据其起点/终点 (1) 从当前实体的终点找到下一个实体。如果点 (1) 是该实体的终点,您将需要反向处理找到的实体,或按正常顺序处理它并反转结果线。当然要注意将其偏移到正确的方向。

为了更快地搜索邻居,首先按起点和终点的 X 或 Y 坐标对它们进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多