【C#】grbl-plotter 源码学习笔记(四)-MachineControl

  十一、MachineControl

db1eee9968463e9680680162c8a3399a.png

11.1 CheckUpdate.cs

通过Web请求获取远程版本信息,实现版本自动检查的后台逻辑,为界面提供版本更新提示。

d9f5cff5b3ff3bfa976eeacf964f01ee.png

11.2 Control2ndGRBL.cs

Control2ndGRBL类管理一个用于GRBL控制的额外窗体,包括处理用户输入、发送GRBL命令和更新界面上的状态和位置信息。代码中采用了多国语言支持,日志记录,以及对用户操作的响应。

f8e54dd7e83444e98c93b03c5af3a9b7.png

cb52e8e3bbcb4e3e6931f5cc763c2400.png

11.3 ControlCameraForm.cs

这个窗体类封装了摄像头的所有交互操作,用于在 GrblPlotter 应用程序中显示摄像头图像,处理图像,设置摄像头参数,以及校准摄像头。

32113be7605b10bfd317ae06965f5d68.png

5b8969361851556b2cd6209cc603710e.png

11.4 ControlCameraFormMisc.cs

ControlCameraForm.cs 包含用于视频帧处理、形状和位置检测以及真实世界坐标映射的复杂逻辑。它以事件驱动的模式控制摄像头,并执行图像处理,以适应如 CNC 这类需要视觉数据辅助操作的应用。

a3fe2ca61743d623d37d85bcd8113604.png

11.5 ControlCoordSystem.cs

代码的功能是提供一个用户界面,用于管理和调整GRBL控制器的坐标系统,包括显示和设置不同的工作坐标系统(G54-G59, G28, G30等),以及工具长度偏移(TLO)。用户可以通过这个界面发送G-code命令来选择和设置控制板上的坐标系统。

326aac7a390b75660d53705055fa6830.png

0a0a0d318d6c64ac1c275a3ac63cb383.png

11.6 ControlDIYControlPad.cs

这段代码的主要功能是实现了一个可与 GRBL 控制器进行通信的 DIY 控制面板,用户可以通过串口发送指令,并接收指令执行的反馈。窗口还提供了日志功能,记录通信过程中的所有事件

2e2b823fa4bfb42ac341fbff92ce28d0.png

b01dc82ab507e7536a7936a6b028b458.png

11.7 ControlGamePad.cs

b69d1af4c1ff0d201d681167a76a58ab.png

11.8 ControlHeightMap.cs

主要用于处理三维打印和 CNC 雕刻中的高度图。它允许用户加载、编辑、保存以及从高度图生成 G-Code

0f16fa1483fa58ccb54e1e0ae8f8d348.png

c391de40051e72bb027017e1ac740a1c.png

11.9 ControlHeightMapClass.cs

61355051ff893c5ad140aad289c810ae.png

11.10 ControlJogPathCreator.cs

该代码实现了一个方便用户设计和编辑Jog路径的图形界面(GCode发送器)。用户可以通过鼠标操作绘制路径,然后将这些路径转换为GCode或者保存到XML文件中。还能够调整视图的缩放和移动,对路径进行旋转、撤销或删除操作

41b49c827e6750b62768752b54dd9838.png

a59c9667fa86ae4df1ec08cfcea5e1ac.png

11.11 ControlLaser.cs

205f634d52a7a53d8c4f57ad4d0be1d5.png

b0d7fd23c4002c6fa6f6acf3e586e0e8.png

11.12 ControlPowerSaving.cs

60330f9e66ed4de9b946e4c25d13849d.png

11.13 ControlProbing.cs

4a2f061aecdbf4079a27605281fb3137.png

ab8e52b9df8e05fad4617b7b835058ef.png

11.14 ControlProcessAutomation.cs

057a35856392ff99c07d323d9dc87bd5.png

a532a58f9575d013f8e42d36567574f6.png

11.15 ControlProjector.cs

1c2ceb2f2e2bbb12f167c747884c9dcc.png

71e99ec378eed5e09856ef382d674938.png

11.16 ControlSerialForm.cs

8f53ce3062deef9beb521efebeb8c884.png

a1cb33539973ad036f7f8121abfcdc50.png

11.17 ControlSetupForm.cs

aa118320642338259833f8927af51953.png

967993e60be877cd71bdff180cb5c0bd.png

11.18 ControlSetupUseCase.cs

ee0f36fd9b6124cb0650543d66e7b287.png

661270b7818bdf6d8788ab898fe79b50.png

11.19 ControlStreamingForm.cs

1ecca3c77861a4b77144229b0fd98a5d.png

f4eda28568704f74343d1c48eb62a096.png

11.20 ControlStreamingForm2.cs

2ed1e2c64eecab7c84769f5cd8fe31b1.png

6e86ab01fb89411b320c186cf693312e.png

11.21 GCode2DViewpaths.cs

fb8faf3c92bbb0bbbcb61ee9e3d3c11a.png

11.22 GCodeAnalyze.cs

该代码的主要功能是解析 GCode 指令,并生成相应的绘制路径用于 2D 视图的显示,同时还包括对 GCode 文本的附加分析,如计算预计运行时间、距离、处理子程序和 XML 标签等。它提供了一整套用于从 GCode 指令中提取视觉化信息的工具。

d668fadd656ed375c1258511a19af44b.png

11.23 GCodeParser.cs

580ed6c2a082608eea2c1527a14f53f5.png

da3768576bca92fc12b2d33cc88cca12.png

11.24 GCodeSelectionHandle.cs

这段代码的功能是管理GRBL Plotter中用户对图形的选中、移动、缩放、旋转操作,提供一个用户可以直观操作的图形界面。它处理选中图形的显示,响应用户的操作,并根据操作更新图形的显示状态。

97b0f0afe3a473b5296944885b72c6a6.png

11.25 GCodeSelectionProperties.cs

74062d93856c032077600f9ea9e0aabc.png

f984c68b897c3a916ff75e041d3f290f.png

11.26 GCodeSimulate.cs

b003688ea817bb33b3b1ef91841be4e8.png

11.27 GCodeSynthesize.cs

ba091f42a19675ed1aa62ed0d4669e57.png

11.28 GCodeTransform.cs

3b00f5ff38e7558bebad200e78bbba43.png

11.29 GCodeVisuAndTransform.cs

0266ddd91915751c6c49db950cb68c76.png

11.30 GCodeVisuWorker.cs

5b4129744fbe6bfd663b573c06b7a117.png

dabbafff0bc260092f51c71e7f58602d.png

11.31 GrblRelated.cs

5ad25201061e15464bdbd9a3345e4ee2.png

11.32 GrblSetupForm.cs

e1a24ef3653e0b3df8540e0c0c07b115.png

4d0395a69dbec6bf406acc7070435653.png

11.33 IniFile.cs

697744d8143b78e03a06464ad82a806f.png

11.34 NativeMethods.cs

b59b6ca1be0530bc05d067c3aa2cb6a7.png

11.35 SerialPortFixer.cs

7e4782599082d6b5ce95e3a3c68bce4b.png

11.36 SimpleSerialForm.cs

a33e4522750efd3feb536795b6e77e21.png

b99dcaea096d6da82eef15c01501c5ff.png

The End

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值