注释
感谢您的宝贵建议。据我所知,laserweb项目已经实现了一些机器配置文件来预设几种硬件配置,这可能与您的想法类似:https ://github.com/LaserWeb/lw.machines/tree/master/machines 我将计划在 v2 积压工作中添加机器配置文件支持。它将允许用户配置机器设置、预设 Web UI 配置,并提供用于白标目的的解决方案。 在开始之前,我想收集您的反馈,例如,除了预设的小部件数组之外,您还想在配置文件中配置哪种类型的设置? 关于这个话题的自由讨论。 |
我的控制板的基础知识如下 – 有一个中央控制板装有运行 Smoothieware 的基于 ARM 的微控制器,该板配有带状电缆连接器,可将控制板连接到用户为他们的项目选择的机器板. 我将开发一系列独特的机器板,这些机器板旨在具有适合该类型机器的适当硬件,例如步进驱动器、输入和输出、MOSFET、继电器等的数量。将有一个用于 3D 打印机、CNC 铣床、CNC 等离子切割机、CNC 激光雕刻机的电路板,以及另一个具有大量 io 的电路板、大约 10 个步进驱动器和大量其他组件,我将其称为“自定义”木板”。这些板与中央“控制板”配对 我反复考虑在 CNCjs 中自动识别电路板类型是否有帮助,得出的结论是,它会很好,但我相信 cncjs 设置页面中的一个简单的下拉菜单允许您选择您所连接的机器类型就足够了。根据您的选择,将显示与所连接机器类型相匹配的一组独特的小部件。 我还想看看您是否计划为 Visualizer 小部件制作不同的选项。我的想法是——在激光雕刻、等离子和数控铣削中,您的可视化工具小部件非常适合查看 gcode,但对于从您的软件运行 3D 打印机之类的东西,gcode 可视化工具会很奇怪。它会显示它,但刀具路径看起来像现在一样,而不像在其他 3D 打印机软件中那样固定。我相信您所要做的就是使可视化工具的线宽与打印机喷嘴的挤压宽度相同,以使显示的 gcode 看起来像 3d 模型。请让我知道这会有多困难,因为我对您的可视化工具不够熟悉,无法知道。这将与我的董事会一起非常有帮助,因为这实际上允许某人基于我的电路板构建的任何机器在您的软件中运行。打开 3D 打印的大门也会带来一大群对 CNCjs 感兴趣的人。 这是 Simplify 3D 的屏幕截图,我相信他们的 Gcode 可视化工具是目前最好的 3D 打印工具。他们还为命令的进给率分配了颜色,这允许更详细的可视化。如果要实现它,它可能会比这简单得多,实际上只需增加可视化器线条粗细就可以解决问题。非常感谢您的回复,我希望很快收到您的来信! |
我还想问一下 visualizer widget 是如何加载网格的?这是加载的 .png 或类似文件吗?还是 3D 模型?如果是这样,是否可以加载与机器匹配的自定义内容。例如,如果有人用我们的电路板建造了一台 CNC 等离子切割机,我们能否将其制作在可以加载等离子切割床照片渲染的位置?这将使材料放置和 gcode 加载非常直观。 如果这不可能,请纠正我,这只是一个好主意。 |
网格系统可以动态呈现,尽管默认值目前在源代码中是硬编码的: https://github.com/cncjs/cncjs/blob/master/src/web/widgets/Visualizer/Visualizer.jsx#L32-L50 const IMPERIAL_GRID_COUNT = 32; // 32 in
const IMPERIAL_GRID_SPACING = 25.4; // 1 in
const IMPERIAL_AXIS_LENGTH = IMPERIAL_GRID_SPACING * 12; // 12 in
const METRIC_GRID_COUNT = 60; // 60 cm
const METRIC_GRID_SPACING = 10; // 10 mm
const METRIC_AXIS_LENGTH = METRIC_GRID_SPACING * 30; // 300 mm
const CAMERA_VIEWPORT_WIDTH = 300; // 300 mm
const CAMERA_VIEWPORT_HEIGHT = 300; // 300 mm
const PERSPECTIVE_FOV = 70;
const PERSPECTIVE_NEAR = 0.001;
const PERSPECTIVE_FAR = 2000;
const ORTHOGRAPHIC_FOV = 35;
const ORTHOGRAPHIC_NEAR = 0.001;
const ORTHOGRAPHIC_FAR = 2000;
const CAMERA_POSITION_X = 0;
const CAMERA_POSITION_Y = 0;
const CAMERA_POSITION_Z = 200; // Move the camera out a bit from the origin (0, 0, 0)
const TRACKBALL_CONTROLS_MIN_DISTANCE = 1;
const TRACKBALL_CONTROLS_MAX_DISTANCE = 2000;
也可以在 3D 可视化器中设置图像背景。在 v2 版本中,我可以通过机器配置文件使它们可配置。 |
那太棒了!您对第 2 版发布的预计 ETA 是多少?在我的电路板设计固化之前,我很可能还剩下大约一个月的工作,但只是好奇。感谢您的快速回复。 |
我想在 v2(边缘分支)中添加机器配置文件支持,允许用户通过机器配置文件自定义功能。对于应该为 Marlin 控制器隐藏或自定义哪些功能,您是否有清单? |
@cheton我将为多板支持的每台机器的 smootheware 控制器列出应该显示或隐藏的功能和特性列表。我将在我的多板 GitHub 页面上共享该文档,并在此处共享一个链接。 |
你好@cheton 我所知道的是:
最佳, |
描述
首先,我叫 Isaac,是 Gorilla Machines INC 的首席工程师。我们是一家设计和制造 CNC 等离子切割机的公司,目前正处于开发我们自己的定制 CNC 控制板的中期阶段,用于我们的机器。公司由我、Isaac 和我的业务合作伙伴 Chris 组成,他们与分包商一起努力发展我们的公司,并与其他组织合作推动 cnc 社区的发展。我们一直在努力从旧的电子设备和控制接口迁移到 CNCjs 和具有各种功能的基于冰沙的模块化 PCB,完全围绕所有组件的模块化和控制大量不同机器的能力而设计。作为一家公司,我们这样做的原因是我们不会停止构建 CNC Plasma,我们期待构建 3D 打印机、激光雕刻机、铣床和混合所有这些功能的机器。我们需要一个涵盖所有这些轴的控制界面,但我们当然不想让这些成为一个封闭的项目,我们很乐意与 DIY cnc 社区分享我们的电路板!
所以这是我们的想法-
CNCjs 已经是一个了不起的软件,它正在成为一个适用于所有机器类型的非常全面的 CNC 控制软件。与正确的控制板搭配使用,它能够为构建机器的人提供一个单一的包——一个伟大的数控控制软件与控制板相结合,两者都是模块化的,它们可以一起用来控制任何机器,无论它是 DIY 数控铣床、3D 打印机、激光雕刻机或 CNC 等离子切割机。作为购买和测试过市场上几乎所有数控系统的人,我知道没有完全适合任何软件的电路板,也没有完全适合任何类型机器的任何电路板的软件。我的想法是围绕 CNCjs 的控制界面开发我的 CNC 控制板,使两者成为任何开发自己机器的人的最佳选择。通过使用自动识别连接到控制板的外围设备并将该信息中继到 cncjs,很可能加载或启用一组预设的小部件,具体取决于您如何布置控制板。这为几乎所有项目打开了大门,无需为用户进行复杂的编码,甚至无需更改机器设置和配置 GUI,只需将您的机器连接到电路板即可。该板根据连接方式确定它是什么类型的机器,将该信息传递给 cncjs,cncjs 识别板类型并加载 gui 以匹配。通过使用自动识别连接到控制板的外围设备并将该信息中继到 cncjs,很可能加载或启用一组预设的小部件,具体取决于您如何布置控制板。这为几乎所有项目打开了大门,无需为用户进行复杂的编码,甚至无需更改机器设置和配置 GUI,只需将您的机器连接到电路板即可。该板根据连接方式确定它是什么类型的机器,将该信息传递给 cncjs,cncjs 识别板类型并加载 gui 以匹配。通过使用自动识别连接到控制板的外围设备并将该信息中继到 cncjs,很可能加载或启用一组预设的小部件,具体取决于您如何布置控制板。这为几乎所有项目打开了大门,无需为用户进行复杂的编码,甚至无需更改机器设置和配置 GUI,只需将您的机器连接到电路板即可。该板根据连接方式确定它是什么类型的机器,将该信息传递给 cncjs,cncjs 识别板类型并加载 gui 以匹配。这为几乎所有项目打开了大门,无需为用户进行复杂的编码,甚至无需更改机器设置和配置 GUI,只需将您的机器连接到电路板即可。该板根据连接方式确定它是什么类型的机器,将该信息传递给 cncjs,cncjs 识别板类型并加载 gui 以匹配。这为几乎所有项目打开了大门,无需为用户进行复杂的编码,甚至无需更改机器设置和配置 GUI,只需将您的机器连接到电路板即可。该板根据连接方式确定它是什么类型的机器,将该信息传递给 cncjs,cncjs 识别板类型并加载 gui 以匹配。
所以你怎么看?有任何想法吗?在这成为现实之前还有很多工作要做,但我认为这可能是 DIY CNC 的真正未来。此外,这肯定会促进 CNCjs 和我们的控制板的普及,同时使社区受益。此外,如果我们要共同努力使这成为现实,我们当然可以安排一种方法来分割控制板的利润,以帮助支付那些开发 CNCjs 这个伟大软件的人。感谢阅读,让我们抛出一些想法!
版本
你如何安装CNCjs?
这取决于我是在我的机器上安装软件用于开发,还是在我们的机器附带的计算机上。
数控系统
硬件
操作系统