串口通信

第 0 章

简介

欢迎使用《CNC Simulator Pro 用户指南》,这是一款功能全面的 CNC 模拟器和 CAD/CAM 软件套件。

CNC Simulator Pro
CNC Simulator Pro - 主界面

什么是 CNC Simulator Pro?

CNC Simulator Pro 旨在为 CNC 社区提供一款现代化的仿真器,其中包含最常见的 CNC 机床类型作为虚拟机床。其目标是让操作员和学生在将代码运行于真实机床之前,能够在 3D 仿真环境中安全地测试代码。

重要说明:该仿真器在标准配置下并非针对特定机床或控制器而设计。由于CNC控制器种类繁多且G代码方言各异,它无法与您的机床实现100%兼容。用户有责任在将代码运行于真实机床之前对其进行验证。

超越模拟

该软件的功能远不止于简单的模拟器——它还包括:

  • 现代CAD/CAM系统(SimCam)
  • 高级 CNC 编程编辑器
  • 3D模型铣削软件(3D Maker)
  • 齿轮设计工具(Gear Maker)
  • 培训工具
  • 还有更多……

本简介的章节

  • 关于CNC Simulator Pro——软件详细概述
  • 需要什么?——系统要求与先决条件
  • 版本与更新 - 版本信息及更新指南

0.1

关于 CNC Simulator Pro

CNC Simulator Pro 是一款功能全面的 CNC 模拟器,旨在为 CNC 社区提供一个用于测试和学习 CNC 编程的虚拟环境。

CNC Simulator Pro
CNC Simulator Pro - 主界面

软件概述

CNC Simulator Pro 的开发旨在让 CNC 操作员、学生和爱好者能够在将 G 代码应用于真实机床之前,先在逼真的 3D 模拟环境中安全地进行测试。

主要功能

  • 逼真的3D模拟——实时显示加工过程
  • 多台虚拟机床——铣床、车床、多轴加工中心
  • 高级 CNC 编辑器——语法高亮、编程辅助
  • SimCam CAD/CAM——集成式CAD/CAM系统
  • 3D Maker——3D模型铣削
  • Gear Maker——齿轮设计

重要说明:标准配置下的模拟器并非针对特定机床或控制器而设计。用户在将代码应用于实际机床之前,有责任自行验证代码。

0.2

需要什么?

本节介绍了运行 CNC Simulator Pro 的系统要求和先决条件。

系统要求

组件 最低 推荐
操作系统Windows 7/8/10/11Windows 10/11 64位
处理器英特尔酷睿i3或同等性能处理器英特尔酷睿 i5/i7 或更高
内存4 GB8 GB 或更高
磁盘空间500 MB1 GB
显卡OpenGL 2.0支持 OpenGL 3.3+ 的独立显卡
分辨率1280x7201920x1080 或更高

系统要求

  • Microsoft .NET Framework 4.7.2 或更高版本
  • Visual Studio 2019 的 Visual C++ 再分发包
  • 适用于 OpenGL 的最新显卡驱动程序

提示:为获得最佳性能,请确保您的显卡驱动程序已更新。

0.3

版本与更新

关于 CNC Simulator Pro 版本的信息以及如何保持软件更新。

当前版本

CNC Simulator Pro 4.x 版是该软件的最新主要版本,包含多项改进和新功能。

版本历史

  • 4.x 版——当前版本,包含改进后的 SimCam 以及全新的 3D Maker
  • 3.x 版——引入 SimCam 并支持多语言
  • 2.x 版——新增车床和多轴机床仿真功能
  • 1.x 版——初始版本,包含基础铣削仿真

如何更新

要更新 CNC Simulator Pro:

  1. 访问官方网站
  2. 从“下载”栏目下载最新版本
  3. 运行安装程序
  4. 现有设置和文件将被保留

提示:请定期检查更新,以获取最新的功能和错误修复。

第 1 章

开始使用

本在线指南将向您介绍如何使用 CNC Simulator Pro。本指南假设您已具备 CNC 编程经验。

CNC Simulator Pro
CNC Simulator Pro - 主界面

本章概述

在本章中,您将学习:

  • 1.1 如何控制3D视图——三维视图的导航与控制
  • 1.2 模拟控制——如何启动、停止和控制模拟
  • 1.3 虚拟机床——可用的各种类型虚拟数控机床
  • 1.4 文件浏览器——如何浏览和管理CNC文件
  • 1.5 示例 CNC 文件——可立即开始使用的示例文件
  • 1.6 视图按钮——用于自定义视图的控制项

提示:如果您是CNC编程新手,建议您按照本节的顺序学习,以打下坚实的基础。

1.1

如何控制 3D 视图

学习如何在 CNC Simulator Pro 中进行导航和控制 3D 视图。

Vista 3D
3D视图控制

鼠标控制

操作 控制
旋转视图右键+拖动
全景浏览中键 + 拖动
缩放鼠标滚轮
区域缩放Shift + 矩形选择

预设视图

使用数字键快速切换视图:

  • 1 - 正面视图
  • 2 - 后视图
  • 3 - 左侧视图
  • 4 - 右侧视图
  • 5 - 俯视图
  • 6 - 底视图
  • 7 - 等角视图

提示:按下 Home 键可将视图重置为默认位置。

1.2

控制仿真

学习如何控制CNC仿真:启动、暂停、速度和调试。

仿真控制

使用仿真工具栏或键盘快捷键:

操作 快捷键 说明
开始/暂停F5开始或暂停模拟
停止F6停止模拟并重置
单步执行F10一次执行一个指令
速度 ++提高模拟速度
速度 --降低模拟速度

模拟模式

  • 正常 - 模拟时显示材料移除过程
  • 快速 - 快速模拟,不显示详细图形
  • 调试 - 逐步执行以进行分析

提示:在调试过程中,按 F10 键可逐块执行代码。

1.3

虚拟机床

虚拟机床

CNC Simulator Pro 包含一个庞大的虚拟机床库,可模拟各种 CNC 加工中心的配置。

文件格式

虚拟机床文件使用扩展名 .cmachine ,其中包含该机器的所有图形和逻辑。

加载虚拟机床

  1. 转到“文件”→“加载机床”
  2. 或者点击工具栏中的“打开虚拟机”按钮
  3. 浏览可用的虚拟机文件夹
  4. 选择所需的机器

可用的机器类型

类型 描述
3轴铣床立式和卧式加工中心
4-5轴铣床带旋转轴的机床
数控车床双轴车床和带Y轴的车床
车铣复合机床车铣复合机床
激光/等离子切割机切割机

Unlimited系列机床

对于需要大加工范围的应用,我们提供不带3D图形功能的专用机床:

  • UnlimitedMill - 加工范围达 ±50,000 单位的铣床
  • UnlimitedLathe - 加工范围为 ±50,000 单位的车床
  • HeidenUnlimited - 海德汉(Heidenhain)扩展量程控制器
  • UnlimitedCutter - 具有扩展量程的切割机

注:“Unlimited”系列机床虽不具备3D图形显示功能,但可对包含超大坐标范围的程序进行仿真。

机床设置

每台机床在“设置”→“机床”中均有可配置的参数:

  • 轴限位
  • 最大速度
  • 加速度
  • 主轴配置

1.4

文件浏览器

文件浏览器

文件浏览器是专门用于打开CNC文件、机床文件和SimCam文件的对话框。它们包含预览功能,可在打开文件前对其进行识别。

主要功能

预览

当您想要打开一个CNC文件时,可以单击该文件以查看刀具路径的简化预览。这使您能够在实际打开文件之前查看其内容。

收藏夹

星形按钮可将常用文件夹保存为收藏夹,从而加快文件系统中的导航速度。

信息面板

在预览下方,一个面板会显示所选元素的相关详细信息,例如在浏览不同机床时显示的机床规格。

浏览器类型

类型 用途 预览
CNC文件G代码程序刀具路径
机床虚拟机床机床图片 + 规格
SimCamCAD/CAM 项目2D绘图

演示程序

CNC Simulator Pro 包含大量用于学习的演示文件:

  1. 转到“文件”→“打开CNC程序”→“演示程序”
  2. 选择一个演示文件
  3. 点击“播放”开始模拟

演示程序展示了:

  • 子程序调用
  • 宏编程
  • 刀具半径补偿
  • 固定循环
  • 仿真器的特殊命令

建议:研究示例程序及其注释是了解模拟器、掌握其功能以及学习数控编程基础的绝佳方式。

1.5

CNC 示例演示文件

CNC Simulator Pro 包含大量 CNC 示例文件,助您快速入门。

如何查找演示文件

示例文件位于 Samples 文件夹中。

演示文件分类

  • 铣削 - 2D 和 3D 铣削示例
  • 车削 - 车削示例
  • 多轴 - 4轴和5轴机床示例
  • 宏 - 宏编程示例

如何打开演示文件

  1. 转到“文件”→“打开”或按 Ctrl+O
  2. 浏览至“Samples”文件夹
  3. 选择一个 .cnc 文件并点击“打开”
  4. 按 F5 键启动仿真

提示:通过研究示例文件来学习 CNC 编程技巧。

1.6

视图按钮

通过显示按钮,您可以自定义3D视图并控制显示内容。

主要按钮

按钮 功能
网格显示/隐藏参考网格
坐标轴显示/隐藏坐标轴
刀具显示/隐藏工具
路径显示/隐藏刀具路径
工件显示/隐藏工件
机床显示/隐藏机床结构

渲染选项

  • 线框 - 仅显示模型的边
  • 实体 - 带阴影的实体渲染
  • 透明 - 半透明渲染

提示:在模拟过程中,关闭机器显示可更清晰地查看工件。

第 2 章

CNC 编辑器

CNC编辑器是CNC Simulator Pro的核心,您可以在其中编写、修改和管理G代码程序。

Editor CNC
具备高级语法高亮功能的 CNC 编辑器

本章概述

该编辑器提供了众多功能,可让 CNC 编程更加高效:

  • 代码高亮——对 G 代码、M 代码和参数进行语法高亮显示
  • 编程帮助——编写代码时的信息弹窗
  • 代码区域——将代码组织为可折叠的段落
  • 断点——设置断点以进行调试
  • 查找和替换 - 代码中的高级搜索
  • 代码块编号 - 自动为代码行编号
  • 注释 - 在代码中添加注释和文档
  • CNC 标题 - 为程序创建标准标题
  • 撤销/重做 - 完整的修改历史记录
  • 转换 - 在不同格式和方言之间进行转换
  • 运行时模式 - 查看程序执行过程

提示:使用键盘快捷键可加快工作效率。按 F1 键可查看任何 G 代码或 M 代码的上下文帮助。

主要快捷键

键 功能
Ctrl+F查找
Ctrl+H替换
Ctrl+Z撤销
Ctrl+Y重做
F5启动模拟
F9切换暂停点

2.1

编辑器概览

CNC编辑器是CNC Simulator Pro中编写和修改CNC代码的主要界面。

Editor CNC
CNC编辑器的界面

主要功能

CNC编辑器内置了多种辅助编程的功能。系统会自动为识别出的CNC代码添加颜色标记,并在您编写代码时通过弹出列表提供有用的信息。

编辑器特性

  • 代码着色——自动高亮显示 G 代码、M 代码和特殊命令的语法
  • 编程帮助弹出窗口——在编写代码时提供上下文提示
  • 代码区域——将代码组织为可折叠的段落
  • 断点 - 设置断点以进行模拟调试
  • 查找和替换 - 快速搜索和修改代码
  • 自动代码块编号 - 自动为代码行编号
  • 代码注释 - 添加注释和文档
  • CNC 标题 - 为程序创建标准化的标题
  • 撤销和重做 - 全面管理修改历史记录
  • 单位转换 - 在公制和英制单位之间进行转换
  • 运行时模式 - 在模拟过程中显示状态

提示:编辑器会自动识别有效的CNC代码,并用不同颜色突出显示,以便于阅读和编写程序。

2.2

代码着色

代码着色是编辑器的一项功能,可自动用不同的颜色突出显示各种类型的CNC指令。

Colorazione Codice CNC
CNC编辑器中代码着色的示例

颜色方案

CNC编辑器采用颜色编码来区分程序中的各种元素:

元素 颜色 示例
G代码 蓝色 G00, G01, G02
M系列代码 棕色/黄色 M03, M05, M30
特殊 $ 命令 浅蓝色 $AddTool, $AddPart
注释和字符串 绿色 (Commento)

关于性能的考虑

注意:非常大的程序(例如用于3D打印的程序)不会被着色,因为这会降低编辑器的运行速度。

自动着色有助于:

  • 快速识别不同类型的命令
  • 发现语法错误
  • 提高程序的可读性
  • 区分代码和注释

2.3

编程帮助

编程帮助弹出窗口可在您在编辑器中编写CNC代码时提供智能辅助。

Popup Aiuto Programmazione
编写代码时的帮助弹窗

工作原理

编辑器会在您编写代码时显示智能弹出窗口,以简化编程过程:

代码列表

当您输入特定字符时,编辑器会显示相关的代码列表。例如,输入“G”时,会显示可用的G代码列表。

Lista Codici G
可用 G 代码列表

帮助工具提示

当您输入被识别的G代码时,会弹出一个工具提示框,解释该代码的含义。

Tooltip di Aiuto
包含代码说明的工具提示

导航方法

  • 方向键——在列表中向上或向下导航
  • 鼠标 - 点击以选择代码并显示提示框
  • Enter 或 Tab 键——将选中的代码插入编辑器

支持的代码类型

弹出窗口功能支持以下代码:

  • G代码
  • M代码
  • 特殊 $ 命令
  • 工具
  • 特殊命令,例如 $AddRegPart 以及 $AddEmbeddedRegPart

工件偏移辅助功能

当使用 G54-G59 代码时,编辑器会通过在代码后显示工件偏移量来提供辅助。

Offset Pezzo
G54-G59的工件偏移量

鼠标悬停提示

将鼠标悬停在已识别的代码上时,会显示包含附加信息的工具提示,无需主动选择。

目标:智能编辑器旨在帮助用户快速找到想要使用的代码。

相关章节

2.4

代码区域

代码区域是编辑器的一项特殊功能,可用于在CNC代码中创建可折叠的代码段。

概述

编辑器的特殊代码 #region 和 #endregion 用于在文本中创建可折叠区域。

Regioni di Codice
展开的代码区域示例

语法

#region Nome della Regione
G00 X0 Y0 Z10
G01 Z-5 F100
G01 X50 Y50
G00 Z10
#endregion

功能

折叠区域

您可以点击命令旁边的减号(-)符号 #region 旁边的减号(-)图标,以隐藏该部分。

Regione Compressa
带有“+”符号的折叠区域

展开区域

点击省右侧三个点旁边的加号(+),即可展开已折叠的省。

预览

将鼠标悬停在三个点上时,会显示隐藏内容的预览,而无需完全展开该区域。

Anteprima Regione
鼠标悬停时的内容预览

实际应用

注意:SimCam 会自动为模拟器的初始设置生成这些控件,以便在模拟过程中可以轻松将其隐藏。

代码区域可用于:

  • 将长程序划分为逻辑段
  • 在模拟过程中隐藏初始配置
  • 提高代码的可读性
  • 将相关操作分组

相关章节

2.5

暂停点

断点是编辑器边栏上的小绿点,可用于在程序的特定位置暂停模拟。

概述

断点是编辑器边栏中的小绿点,用于在模拟过程中暂停程序。

Punti di Pausa
编辑器边栏中的断点

设置断点

您可以通过简单的点击操作添加或删除断点。具体操作是点击代码块旁边边栏中您希望模拟暂停的位置。

继续模拟

当模拟运行到达暂停点时,你有三种继续的方式:

  1. 播放按钮——点击播放按钮以继续模拟
  2. 快进按钮——点击以快速前进
  3. 单步执行按钮——点击该按钮可一次执行一条指令

暂停点的使用

暂停点可用于:

  • 调试CNC程序
  • 在特定位置检查刀具位置
  • 对复杂操作进行逐步分析
  • 培训和演示

提示:视觉指示器(边栏中的绿色点)使您在开发和测试CNC代码时,能够轻松地在编辑器界面中识别暂停点。

2.6

查找和替换

“查找和替换”功能可让您快速在CNC程序中查找和修改文本。

Finestra Trova e Sostituisci
“查找和替换”对话框

2.6.1 调用方法

可通过以下方式打开“查找和替换”对话框:

  • 键盘快捷键:CTRL + F
  • 菜单:编辑 → 查找和替换

2.6.2 搜索功能

用户可在“查找”框中输入文本,然后单击“查找下一个”进行搜索。搜索包含三个可选参数:

搜索选项

选项 描述
区分大小写 如果选中此选项,搜索功能将仅查找大小写完全一致的文本。例如,“G90”和“g90”将被视为不同的内容。
整词 如果选中此选项,搜索功能将仅查找与搜索字符串完全匹配的完整单词。这可避免部分匹配,例如在“G90”中找到“G9”。
搜索隐藏文本 如果选中此选项,搜索将包括压缩区域(参见“代码区域”)。
Scheda Sostituisci
“替换”选项卡用于文本替换

2.6.3 替换功能

“替换”选项卡允许用户执行文本替换操作:

  • 替换 - 点击“查找下一个”后选择“替换”,即可替换单个匹配项
  • “全部替换”——通过点击“全部替换”按钮替换所有出现的位置

提示:请谨慎使用“全部替换”功能,特别是在编辑 G 或 M 代码时,因为这可能会影响程序中非预期的部分。

相关章节:

2.7

程序段编号

自动块编号功能可在CNC程序中自动添加或重新编号块号。

Finestra Numeri di Blocco
“代码段编号”对话框及其配置选项

2.7.1 访问该功能

要使用自动程序段编号功能:

  • 按 CTRL + B
  • 或通过菜单选择“编辑”→“程序段编号”

2.7.2 基本功能

通过启用“程序段编号”选项并指定相关参数,该功能可让您在程序中添加(或重新编号)程序段编号。

Codice con numeri di blocco
应用了程序段编号的CNC代码

2.7.3 配置选项

用户需输入:

参数 描述
起始编号 块编号的起始值(例如 10)
增量 相邻区块编号之间的步长(例如 10)

设置完这些值后,点击“确定”以应用编号。

Rimozione numeri di blocco
取消勾选该复选框可移除块号

2.7.4 块号管理

  • 添加/重新编号——如果程序中删除了或添加了块,请重复此过程
  • 删除 - 打开“块编号”窗口,取消勾选“块编号”复选框,然后点击“确定”

2.7.5 高级格式设置

该对话框包含一个格式选项,用于自定义数字的外观。虽然默认格式通常已足够,但用户可以输入“格式代码”来调整显示样式。

Opzione formato
用于自定义块编号外观的格式字段

示例:当“起始编号”= 10 且“增量”= 10 时,区块将编号为 N10、N20、N30、N40 等。

相关章节:

2.8

代码注释

代码注释可用于在CNC程序中添加说明和文档,且不会影响仿真。

Commenti nel codice CNC
CNC代码注释示例

2.8.1 两种注释方法

使用括号的注释

主要方法是将注释置于括号内。CNC Simulator Pro 的解释器会忽略括号内的 CNC 代码。

G00 X0 Y0 (Movimento rapido all'origine)
G01 Z-5 F100 (Discesa lavorazione)
Commenti con parentesi
使用括号插入的注释

注意:即使位于括号内,CNC Simulator Pro 特有的 $ 命令仍会被处理。

使用分号的注释

另一种方法是使用分号,通常用于注释整个代码段。

; Questa è una linea di commento completa
; Il codice sotto è disabilitato:
; G00 X50 Y50
Commenti con punto e virgola
使用分号插入的注释

2.8.2 选择和管理注释

Selezione blocchi
在编辑器中选择多个代码块

要注释多个代码块:

  1. 在编辑器中使用 Shift + 方向键或用鼠标拖拽来选中它们
  2. 所选代码块将显示为蓝色
  3. 进入“编辑”菜单,选择“将选定内容注释”
Blocchi commentati
已注释的代码块

要恢复已注释的代码:

选中代码块,然后从“编辑”菜单中选择“取消注释选定内容”。

用途:此功能允许开发人员高效地禁用 CNC 代码的某些部分,而无需将其删除,从而便于代码测试和组织。

相关章节:

2.9

CNC 程序头

“创建CNC标题”功能可自动生成CNC程序的标准标题。

Finestra Crea Intestazione CNC
创建CNC标题的对话框

2.9.1 概述

CNC Simulator Pro 包含“创建 CNC 标题”功能,允许用户为其 CNC 程序自动生成标题。

2.9.2 如何创建标题

要使用此功能,请从主菜单中选择“工具”→“创建CNC标题”。这将打开一个对话框,您可以在其中输入所需的信息。

2.9.3 操作流程

  1. 通过“工具”→“创建 CNC 标题”打开对话框
  2. 在各字段中填写您希望出现在标题中的信息
  3. 点击“确定”
  4. 标题将自动生成

2.9.4 标题中的典型字段

  • 程序名称
  • 创建日期
  • 作者/程序员
  • 作品描述
  • 修订号
  • 材料
  • 附加说明
Intestazione CNC generata
代码中自动生成的CNC标题

标题示例

(====================================)
(  PROGRAMMA: STAFFA_001            )
(  DATA: 2024-01-15                 )
(  PROGRAMMATORE: M. Rossi          )
(  MATERIALE: Alluminio 6061        )
(  REVISIONE: 1.0                   )
(====================================)

优势:该工具通过基于用户提供的详细信息自动生成标题,简化了标题的创建过程,从而无需手动编写程序中这一标准组件的代码。

相关章节:

2.10

撤销和重做

“撤销”和“重做”功能可用于管理CNC编辑器中的修改历史记录。

2.10.1 键盘快捷键

操作 快捷键
撤销 CTRL + Z
重做 CTRL + Y

2.10.2 概述

如果您误操作了,例如删除了程序的大部分内容,您可以随时按键盘上的 CTRL + Z 撤销该操作。

除了撤销修改外,用户还可以通过 CTRL + Y 的“重做”功能恢复之前已撤销的操作。

2.10.3 通过菜单访问

“撤销”和“重做”这两项操作均可通过应用程序界面中的“编辑”菜单访问,为偏好菜单导航的用户提供了键盘快捷键之外的另一种选择。

提示:在当前会话中,撤销历史记录是无限的。您可以撤销自打开文件以来所做的所有修改。

相关章节:

2.11

转换

“转换”功能可用于在英寸和毫米之间进行单位转换。

Funzione Converti
CNC编辑器中的单位转换菜单

2.11.1 功能

该功能允许用户将数值从英寸转换为毫米,反之亦然。要使用此功能,您需要先在编辑器中选中要转换的数值,然后进入“转换”菜单选项。

2.11.2 可用转换

从 至 公式
英寸 毫米 mm = in × 25.4
毫米 英寸 in = mm ÷ 25.4

2.11.3 如何使用

  1. 在编辑器中选择要转换的数值
  2. 转到“编辑”→“转换”
  3. 选择转换方向
  4. 所选数字将被转换后的数值替换

示例

; Prima (pollici):
G01 X1.0 Y0.5 F10

; Dopo conversione (millimetri):
G01 X25.4 Y12.7 F254

提示:在将整个程序在不同单位系统之间进行转换时,请记得同时更改 G20/G21 代码。请参阅 G20-G21 单位选择。

相关章节:

2.12

运行时模式

运行时模式是指在执行仿真时编辑器的状态,此时会显示特定的视觉指示符。

Editor in modalità runtime
模拟过程中处于运行模式的CNC编辑器

2.12.1 什么是运行时模式

当您在 CNC 编辑器中启动模拟时,运行时模式即被激活。在模拟执行期间,界面将切换至只读状态,禁止对程序进行修改。

2.12.2 视觉指示

模拟过程中

在运行时(模拟正在执行),编辑器的背景颜色会略有变化,以表明当前处于运行时模式。一条灰色线标记了当前正在处理的程序段。

Indicatore errore
带有红色波浪线的错误视觉指示符

错误状态

如果解释器检测到错误,您将看到一条警报消息,编辑器将返回正常模式,允许进行修改。出问题的代码块上会显示一条红色波浪线,以便您轻松找到并修正错误。

Esecuzione interrotta
黄色方块表示执行中断

执行中断

如果您在CNC程序执行(模拟)尚未结束时停止执行,一个黄色正方形符号将标记最后执行的代码段。

2.12.3 状态摘要

状态 指示符 允许编辑
正在运行 当前块的背景色不同且带有灰色边框 否
错误 错误块上显示波浪状红线 是
中断 最后一个数据块上出现黄色方块 是

注意:在运行时模式下,编辑器将变为只读状态——模拟运行期间无法进行修改。只有出现错误时,系统才会强制返回正常编辑模式。

相关章节:

第 3 章

仿真教程

仿真教程将逐步指导您创建和仿真用于铣削、车削和多轴加工的CNC程序。

Tutorial Simulazione
铣削程序的仿真

可用教程

  • 铣削教程——通过实际案例学习CNC铣削的基础知识
  • 车削教程——了解如何编程车削操作
  • 多轴教程——4轴和5轴加工的高级技术

提示:请按照建议的顺序完成教程,逐步提升您的技能。

3.1

铣削教程

本教程将指导您在 CNC Simulator Pro 中创建您的第一个 CNC 铣削程序。

Tutorial Fresatura
铣削程序的仿真

准备工作

开始之前,请确保:

  • 从设备库中选择一台铣床
  • 设置合适的工件
  • 配置所需的刀具

步骤 1:打开一个新程序

创建一个新的CNC文件,并从程序标题开始:

O0001 (TUTORIAL FRESATURA)
(T1 = FRESA D10)
G21 G17 G40 G49 G80 G90  ; Inizializzazione

步骤 2:设置刀具

选择刀具并设置主轴转速:

T1 M6                    ; Cambio utensile
S3000 M3                 ; Mandrino 3000 RPM orario
G43 H1 Z50               ; Compensazione lunghezza

步骤 3:加工路径

执行切削路径以加工一个简单的凹槽:

G0 X0 Y0                 ; Posizionamento rapido
G0 Z5                    ; Avvicinamento
G1 Z-5 F100              ; Penetrazione
G1 X50 F200              ; Taglio lineare
G1 Y50
G1 X0
G1 Y0
G0 Z50                   ; Ritiro
M5                       ; Stop mandrino
M30                      ; Fine programma

步骤 4:运行仿真

点击“播放”按钮启动模拟,并在 3D 视图中观察刀具路径。

提示:使用速度控制按钮减慢模拟速度,以便更好地观察运动轨迹。

下一步

完成本基础教程后,请探索:

3.2

车削教程

本教程将指导您编写第一个数控车削程序。

Tutorial Tornitura
已装夹工件的数控车床

准备工作

开始之前:

  • 从库存浏览器中选择一台车床
  • 设置一个圆柱形工件
  • 配置车床刀具

车床坐标系

在数控车床上:

  • X = 直径(或半径,视配置而定)
  • Z = 纵轴(工件长度)

示例:端面加工和粗车

O0001 (TUTORIAL TORNITURA)
(T1 = UTENSILE SGROSSATURA)
G21 G18 G40 G80 G90      ; Inizializzazione tornio

T1 M6                    ; Cambio utensile
G97 S1500 M3             ; Mandrino 1500 RPM
G0 X52 Z2                ; Posizionamento

; SFACCIATURA
G1 X-1 F0.2              ; Sfacciatura verso centro
G0 Z2 X50

; SGROSSATURA DIAMETRO
G71 U2 R1                ; Ciclo sgrossatura
G71 P10 Q20 U0.5 W0.1 F0.25
N10 G0 X20               ; Inizio profilo
G1 Z0 F0.15
G1 X30 Z-10              ; Conicità
G1 Z-30                  ; Cilindro
N20 X52                  ; Fine profilo

G0 X100 Z50              ; Ritiro
M5
M30

车削循环

G70-G76 循环简化了常见操作:

  • G70:精车循环
  • G71:纵向粗车循环
  • G72:横向粗车循环
  • G73:轮廓重复加工循环
  • G76:螺纹加工循环

提示:使用 G96 实现恒定切削速度(CSS),以保持表面速度均匀。

相关链接

3.3

多轴教程

本教程将介绍在 CNC Simulator Pro 中进行多轴(4 轴和 5 轴)加工的技术。

Macchina Multi-asse
5轴加工中心

轴配置

除了三个线性轴(X、Y、Z)外,多轴机床还包括:

  • 第4轴(A或B):绕X或Y轴旋转
  • 第5轴(C):绕Z轴旋转

示例:第4轴加工

O0001 (4TH AXIS EXAMPLE)
G21 G17 G40 G49 G80 G90
T1 M6
S5000 M3

G0 X0 Y0 Z50 A0          ; Posizione iniziale con 4° asse

; Lavorazione su 4 facce (ogni 90°)
#1 = 0
WHILE [#1 LT 360] DO1
  G0 A#1
  G0 Z5
  G1 Z-2 F100
  G1 X30 Y0 F300
  G1 X30 Y30
  G1 X0 Y30
  G1 X0 Y0
  G0 Z50
  #1 = #1 + 90
END1

G0 A0 Z100
M30

5轴同步加工

在5轴同步加工中,所有轴同时移动,以保持刀具相对于加工表面的最佳定位。

优点

  • 可加工复杂几何形状
  • 更佳的表面光洁度
  • 减少装夹次数
  • 刀具更短 = 刚性更高

注意:多轴编程需特别注意碰撞问题。在实际机床上加工前,请务必先进行模拟。

相关链接

第 4 章

库浏览器

“库存浏览器”可帮助您管理所有可用资源:机床、刀具和工件。

Browser Inventario
带资源分类的库存浏览器

库存部分

  • 库存概览——库存系统的总体介绍
  • 机床库存——所有可用的虚拟机床
  • 刀具库存——完整的刀具库
  • 工件库存 - 待加工工件的定义

提示:您可以创建自定义刀具,并将其保存到您的库中以便日后重复使用。

4.1

刀具

“库存浏览器”中的“刀具”选项卡包含用于铣削和车削的完整刀具库。

Libreria Utensili
“库存浏览器”中的刀具库

刀具类别

铣削刀具

  • 立铣刀(End Mills)——用于轮廓加工、平面加工和开槽
  • 球头铣刀(Ball Nose)——适用于3D表面和过渡圆角
  • 平头铣刀(Flat End)——用于加工槽和平面
  • 圆角铣刀(Bull Nose)——用于过渡和倒角
  • 定心钻 - 用于钻孔前的定心
  • 螺旋钻 - 用于标准孔加工
  • 丝锥——用于内螺纹加工
  • 铰刀——用于精密孔加工
Utensili Fresatura
铣削刀具选型

车削刀具

  • 外切削刀具——用于圆柱车削和端面车削
  • 镗杆 - 用于内孔加工
  • 开槽刀具——用于开槽和切断
  • 螺纹加工刀具——用于外螺纹和内螺纹加工
  • 切断刀具——用于工件的切割和分离
Utensili Tornitura
车削加工用刀具

添加刀具

  1. 打开库存浏览器(F4)
  2. 选择“Tools”选项卡
  3. 浏览各类别或使用搜索功能
  4. 双击刀具将其添加到刀塔中
  5. 指定插槽编号(T1、T2 等)

刀具参数

每种刀具都有可配置的参数:

  • 直径 - 刀具直径
  • 长度 - 总长度或突出长度
  • 刀尖半径——适用于圆角铣刀或刀片
  • 切削刃数量 - 用于进给量计算
  • 前角 - 适用于钻头和车床刀具

提示:您可以创建具有特定尺寸的自定义刀具,并将它们保存到个人库中,以便在未来的项目中重复使用。

另请参阅

4.2

铣削工件

铣削工件(Mill Workpieces)定义了用于铣削操作的毛坯的形状和尺寸。

Pezzi per Fresatura
在库存浏览器中选择铣削工件

可用形状

矩形块

最常见的铣削形状。由三个尺寸定义:

  • 宽度(X)——沿X轴的尺寸
  • 深度(Y)——沿Y轴的尺寸
  • 高度(Z)——沿Z轴的尺寸
Blocco Rettangolare
矩形工件的配置

圆柱体

用于在铣床上加工圆形工件时:

  • 直径 - 圆柱体的外径
  • 高度 - 圆柱体的长度

圆盘

一种高度较小的圆柱体,适用于:

  • 法兰和圆形板
  • 齿轮和齿圈
  • 盖板和底板

工件设置

  1. 打开库存浏览器(F4)
  2. 展开“铣削工件”部分
  3. 选择所需的形状
  4. 在属性面板中输入尺寸
  5. 双击以加载工件
Dimensioni Pezzo
尺寸配置面板

提示:为留出加工余量,毛坯尺寸应始终比成品尺寸稍大一些。

原点定位

工件原点决定了程序的零点:

  • 顶部中心——原点位于顶面中心(最常见)
  • 角点——原点位于工件的一个角点
  • 几何中心——原点位于体积中心

另请参阅

4.3

车削工件

车削工件(Lathe Workpieces)定义了车削加工中毛坯的形状和尺寸。

Pezzi per Tornitura
在库存浏览器中选择车削工件

可用形状

圆柱棒

车削的标准形状。由以下参数定义:

  • 直径——棒材的外径
  • 长度 - 工件总长度
Barra Cilindrica
圆柱棒的配置

管

用于管状工件的中空圆柱体:

  • 外径 - 管的外径
  • 内径 - 管内径(孔径)
  • 长度 - 总长度

预设轮廓

外轮廓已定义的形状:

  • 预粗加工件
  • 铸件或锻件
  • 半成品

工件设置

  1. 打开库存浏览器(F4)
  2. 展开“车床工件”部分
  3. 选择所需的形状
  4. 输入尺寸(直径、长度)
  5. 双击以加载
Configurazione Pezzo Tornio
车削工件配置面板

坐标系

在车床上,原点通常为:

  • X - 径向轴(直径或半径)
  • Z - 纵向轴(长度)
  • Z原点——位于工件端面
  • X原点——位于旋转中心(主轴轴线)

提示:在直径和长度方向上,应始终预留余量,以便进行粗车和精车。

另请参阅

4.4

材料

“材料”部分可让您为零件分配材料属性,从而实现更逼真的仿真。

Selezione Materiali
“库存浏览器”中的材料选择面板

可用材料

金属

  • 铝 - 浅灰色,质地柔软,易于加工
  • 钢 - 深灰色,坚固
  • 不锈钢——银白色,耐腐蚀
  • 黄铜——金黄色,可加工性好
  • 铜——铜红色,导电性高
  • 钛 - 金属灰,轻便且坚固

塑料

  • ABS - 黑色或白色,抗冲击
  • 尼龙 - 奶油白,自润滑
  • Delrin/POM——白色,高精度
  • 聚碳酸酯——透明,耐用
  • PTFE - 白色,低摩擦

其他材料

  • 木材 - 带木纹的棕色
  • 石墨 - 黑色,用于电极
  • 泡沫 - 适用于模型和原型

指定材料

  1. 在3D视图中选择零件
  2. 打开库存浏览器(F4)
  3. 转到“Materials”部分
  4. 双击所需材料

模拟效果

所分配的材质会影响:

  • 视觉效果——3D视图中的颜色和反射
  • 切屑清除——加工过程的逼真可视化
  • 参数建议——推荐的切削速度和进给量

注意:材料选择主要用于可视化效果。切削参数应根据刀具制造商的规格进行核对。

另请参阅

4.5

零点

零点(Zero Points)定义了CNC程序坐标系的原点,从而能够将工件相对于机床正确定位。

Punti Zero
在“库存浏览器”中配置零点

基本概念

机床坐标系

机床坐标系(MCS)是数控机床的绝对参考系:

  • 机床原点——由制造商定义的固定点
  • 原点位置——归零后的参考位置
  • 绝对坐标——相对于机床原点测量的坐标

工件坐标系

工件坐标系(WCS)是编程的参考基准:

  • G54-G59 - 标准工件原点(最多6个)
  • G54.1 Pxx - 扩展原点(最多99个或更多)
  • 偏移量——机床原点与工件原点之间的距离

零点设置

在库存浏览器中

  1. 打开库存浏览器(F4)
  2. 转到“零点”部分
  3. 选择坐标系(G54、G55 等)
  4. 设置 X、Y、Z 坐标
  5. 双击确认
Impostazione Origine
原点设置面板

典型定位

类型 典型位置
铣削 顶面中心或角点
车削 工件端面的中心

重要提示:在加工前,请确保程序原点与实际机床上设置的原点一致。

刀具偏移量与零点

零点与刀具偏移量协同工作:

  • 长度偏移量 (H) — 补偿刀具长度
  • 半径偏移量 (D) — 补偿刀具半径
  • 磨损——用于补偿刀具磨损

另请参阅

第 5 章

设置

“设置”功能可让您根据个人偏好和需求自定义 CNC Simulator Pro。

设置类别

  • 常规设置 - 语言、计量单位、应用程序行为
  • 机床设置 - 虚拟机床配置
  • 显示设置 - 图形外观和3D显示
  • 模拟设置 - 模拟参数和速度

提示:设置会自动保存,并在不同会话之间保持不变。

5.1

常规设置

“常规”设置

配置 CNC Simulator Pro 的常规设置。

访问设置

“编辑”菜单 → “设置”或按 F10 键

语言

CNC Simulator Pro 支持多种语言:

  • 意大利语
  • 英语
  • 德语
  • 法语
  • 西班牙语
  • 还有许多其他……

计量单位

设置 选项
线性单位毫米 (mm) / 英寸 (inch)
角度单位度 / 弧度
速度mm/min、m/min、inch/min

自动备份

  • 启用/禁用自动备份
  • 备份间隔(分钟)
  • 目标文件夹
  • 最大备份次数

更新

  • 自动检查更新
  • 更新通道(稳定版/测试版)

5.2

机床设置

机器设置

虚拟机参数配置。

虚拟机选择

CNC Simulator Pro 包含多种虚拟机床:

  • 3轴铣床
  • 4轴铣床
  • 5轴铣床
  • 2轴车床
  • 带C轴的车床
  • 加工中心
  • 激光/等离子切割
  • 数控铣床

机床加工范围

参数 描述
X轴行程X轴运动极限
Y轴行程Y轴行程极限
Z轴行程Z轴行程极限
最大转速主轴最大转速
最大进给量最大进给量
快速进给快速进给速度(G0)

控制器配置

请选择与您的控制器兼容的G-code方言:

  • Fanuc
  • Siemens
  • Haas
  • Mazak
  • Heidenhain
  • 通用 ISO

注意:机床设置会影响程序验证和仿真行为。

5.3

显示设置

显示设置

自定义显示和图形界面。

3D视图

选项 描述
渲染质量低/中/高
抗锯齿边缘平滑
阴影启用3D阴影
反射金属反射

颜色

自定义以下颜色:

  • 视口背景
  • 毛坯件
  • 加工件
  • 快速路径 (G0)
  • 加工路径(G1/G2/G3)
  • 网格
  • 坐标轴

可见元素

  • 网格 - 显示/隐藏参考网格
  • 坐标轴 - 显示/隐藏 XYZ 坐标轴
  • 刀具路径 - 路径轨迹
  • 刀具 - 刀具3D视图
  • 主轴 - 主轴视图
  • 工作台 - 工作台面

界面主题

  • 浅色主题
  • 深色主题
  • 自定义主题

提示:在配置较低的计算机上,请降低渲染质量以提升性能。

5.4

仿真设置

仿真设置

本节内容即将上线。

第 6 章

代码与指令

代码和指令是CNC编程的基础语言。本节涵盖了所有受支持的G代码和M代码。

Codici G
G代码快速参考

本章内容

  • G代码简介——准备代码概述
  • G00-G03 - 基本运动(快速、直线、圆弧)
  • G17-G19 - 工作平面选择
  • G40-G42 - 刀具半径补偿
  • G54-G59 - 工作坐标系
  • G70-G76 - 车削循环
  • G80-G89 - 钻孔循环
  • M代码 - 辅助功能(主轴、切削液等)

注意:不同数控系统中的代码可能略有差异。请务必确认与您实际使用的机床是否兼容。

6.1

G 代码简介

G 代码简介

本节内容即将上线。

6.2

G00-G03 基本运动

G00-G03 基本运动

本节内容即将上线。

6.3

G17-G19 平面选择

G17-G19 平面选择

本节内容即将上线。

6.4

G40-G42 刀具半径补偿

G40-G42 刀具半径补偿

本节内容即将上线。

6.5

G54-G59 工件坐标系

G54-G59 工件坐标系

本节内容即将上线。

6.6

G70-G76 车削循环

G70-G76 车削循环

本节内容即将上线。

6.7

G80-G89 钻孔循环

G80-G89 钻孔循环

本节内容即将上线。

6.8

M 代码

M 代码

本节内容即将上线。

第 7 章

刀具

“刀具”部分涵盖了CNC Simulator Pro中与刀具管理相关的所有内容。

Gestione Utensili
CNC Simulator Pro 的刀具库

涵盖主题

  • 刀具概述——刀具管理入门
  • 铣削刀具——铣刀、钻头、专用刀具
  • 车削刀具——刀片、镗杆、切断刀具
  • 刀具库——如何创建和整理您的刀具库
  • 刀具偏移量 - 刀具修正值的配置

7.1

刀具概览

刀具概览

本节内容即将上线。

7.2

铣刀

铣刀

本节内容即将上线。

7.3

车刀

车刀

本节内容即将上线。

7.4

刀具库

刀具库

本节内容即将上线。

7.5

刀具补偿

刀具补偿

本节内容即将上线。

第 8 章

串口通信

通过串行通信,可以将CNC Simulator Pro与真实的数控机床连接起来,以实现程序传输。

涵盖主题

  • 串行通信概述——串行通信入门
  • 连接配置 - 通信参数设置
  • 数据传输——CNC程序的发送与接收

注意:在进行程序传输前,请务必对照您的数控机床手册核对通信参数。

8.1

串口通信概览

串口通信概览

本节内容即将上线。

8.2

连接设置

连接设置

本节内容即将上线。

8.3

数据传输

数据传输

本节内容即将上线。

第 9 章

辅助工具

辅助工具是内置的实用程序,可简化CNC编程中的常见计算和操作。

Strumenti Ausiliari
内置计算器和工具

可用工具

  • 弧线计算器——计算G02/G03圆弧插补参数
  • 速度/进给率计算器——优化切削参数
  • 螺纹计算器——用于螺纹加工循环的参数
  • 齿轮生成器——生成齿轮加工程序
  • 3D Maker - 根据3D模型生成刀具路径

提示:这些计算器会自动将生成的代码插入到CNC编辑器中。

9.1

圆弧计算器

圆弧计算器

本节内容即将上线。

9.2

转速/进给计算器

转速/进给计算器

本节内容即将上线。

9.3

螺纹计算器

螺纹计算器

本节内容即将上线。

9.4

Gear Maker

Gear Maker

本节内容即将上线。

9.5

3D Maker

3D Maker

本节内容即将上线。

第 10 章

自定义宏

自定义宏(宏 B)通过变量、运算符和控制结构扩展了 CNC 编程的功能。

Custom Macro
参数化编程示例

涉及主题

  • 宏简介——什么是参数化编程
  • 变量——局部变量(#1-#33)、公共变量(#100-#199)和系统变量
  • 运算符——算术运算符、逻辑运算符和数学函数
  • 控制结构——IF/THEN/ELSE、WHILE/DO、GOTO
  • 实践示例——带注释的示例程序

提示:宏可帮助您为同类零件系列创建灵活且可重用的程序。

10.1

宏程序简介

自定义宏入门

实用链接:

自定义宏(也称为 B 宏或参数化编程)允许您使用变量、数学运算和控制结构来创建灵活的 CNC 程序。

参数化编程的优势

  • 可重复使用的可变尺寸程序
  • 减少编程错误
  • 仅需一个程序即可处理整组零件
  • 自动计算
  • 自定义加工循环

基本示例

#1 = 50        ; Diametro
#2 = 30        ; Profondita
#3 = [#1/2]    ; Raggio (calcolato)

G00 X#3 Y0 Z5
G01 Z-#2 F100
G02 X#3 Y0 I-#3 J0 F200
G00 Z5

兼容性

不同控制器(Fanuc、Haas、Siemens)的宏语法各不相同。CNC Simulator Pro 主要支持 Fanuc 语法。

10.2

变量

宏变量

实用链接:

变量是参数化编程的基础元素,用于存储和处理数值。

变量类型

范围 类型 描述
#1 - #33局部变量传递给宏的参数(A=#1,B=#2,C=#3...)
#100 - #199通用在程序间共享,关机时清零
#500 - #999永久即使关机后仍会保留
#1000+系统轴位置、机床状态、时间

常用系统变量

变量 描述
#5001-#5006工件最终位置 (X,Y,Z,A,B,C)
#5021-#5026机床当前位置
#5041-#5046工件当前位置
#3001计时器(毫秒)
#3002计时器(小时)
#4001-#4021有效的模态G代码

变量的使用

; Assegnazione
#1 = 25.5          ; Assegna valore diretto
#2 = #1 * 2        ; Assegna risultato operazione
#3 = [#1 + #2] / 2 ; Espressione complessa

; Utilizzo in movimenti
G1 X#1 Y#2 Z#3 F500

; Utilizzo in parametri
G81 X0 Y0 Z[-#4] R2 F#5

; Variabili indirette
#[#10] = 100       ; #10 contiene numero variabile
#11 = #[#10]       ; Legge variabile indicata da #10

空变量 (#0)

变量 #0 始终为空,可用于:

  • 检查参数是否已传递
  • 跳过可选参数
IF [#1 EQ #0] THEN #1 = 10  ; Se #1 vuoto, usa default 10

注意:不同控制器中变量的取值范围可能有所不同。请务必查阅您所用控制器的具体手册。

10.3

运算符

宏运算符

运算符可用于在宏中执行数学计算、逻辑比较和数据操作。

算术运算符

运算符 功能 示例
+加法#1 = #2 + #3
-减法#1 = #2 - #3
*乘法#1 = #2 * #3
/除法#1 = #2 / #3
模模(余数)#1 = #2 MOD #3

数学函数

函数 说明 示例
SIN[x]正弦(度)#1 = SIN[45]
COS[x]余弦(度)#1 = COS[45]
TAN[x]正切(度)#1 = TAN[45]
ASIN[x]反正弦#1 = ASIN[0.5]
ACOS[x]反余弦#1 = ACOS[0.5]
ATAN[x]/[y]反正切#1 = ATAN[1]/[1]
SQRT[x]平方根#1 = SQRT[100]
ABS[x]绝对值#1 = ABS[-5]
ROUND[x]四舍五入#1 = ROUND[3.7]
FIX[x]向零截断#1 = FIX[3.7]
FUP[x]向上舍入#1 = FUP[3.1]
LN[x]自然对数#1 = LN[10]
EXP[x]指数函数#1 = EXP[2]

比较运算符

运算符 含义
EQ等于 (=)
NE不等于 (≠)
GT大于 (>)
GE大于或等于 (≥)
LT小于 (<)
LE小于或等于 (≤)

逻辑运算符

运算符 函数
AND逻辑“与”
OR逻辑“或”
XOR异或

示例

; Calcolo raggio da coordinate
#10 = SQRT[[#1*#1] + [#2*#2]]

; Calcolo angolo
#11 = ATAN[#2]/[#1]

; Condizione composta
IF [[#1 GT 0] AND [#1 LT 100]] GOTO 10

10.4

控制结构

控制结构

控制结构可用于编写包含决策和循环的程序。

IF...THEN...ELSE

条件执行:

; IF semplice
IF [#1 GT 0] THEN #2 = 1

; IF con GOTO
IF [#1 EQ 0] GOTO 100

; IF...THEN...ELSE (alcuni controller)
IF [#1 GT 0] THEN
  #2 = 1
ELSE
  #2 = -1
ENDIF

GOTO

无条件跳转到序列编号:

GOTO 100        ; Salta sempre a N100

N100 G0 X0 Y0

WHILE...DO...END

带起始条件的循环:

; Ripeti mentre condizione vera
#1 = 0
WHILE [#1 LT 10] DO1
  G1 X#1 F500
  #1 = #1 + 1
END1

; Cicli annidati (DO1, DO2, DO3)
WHILE [#1 LT 5] DO1
  WHILE [#2 LT 5] DO2
    ; codice interno
  END2
END1

示例:圆形孔阵列

; Parametri
#1 = 50      ; Raggio cerchio
#2 = 8       ; Numero fori
#3 = 0       ; Angolo iniziale
#4 = -15     ; Profondità

; Calcolo passo angolare
#5 = 360 / #2

; Ciclo fori
#6 = 0                          ; Contatore
WHILE [#6 LT #2] DO1
  #7 = #1 * COS[#3]             ; X
  #8 = #1 * SIN[#3]             ; Y
  G0 X#7 Y#8
  G1 Z#4 F100                   ; Fora
  G0 Z5                         ; Ritrai
  #3 = #3 + #5                  ; Prossimo angolo
  #6 = #6 + 1                   ; Incrementa contatore
END1

带参数的子程序调用

; Chiamata con argomenti
G65 P9100 A10 B20 C-5 F500

; Nel sottoprogramma O9100:
; #1 = A = 10
; #2 = B = 20
; #3 = C = -5
; #9 = F = 500

注意:嵌套循环必须使用不同的DO编号(DO1、DO2、DO3)。切勿嵌套相同的编号。

10.5

实用示例

宏的实际示例

一系列实用示例,帮助您更好地理解参数化编程。

1. 参数化矩形凹槽

O9001 (TASCA RETTANGOLARE)
; G65 P9001 X.. Y.. Z.. W.. H.. D.. S.. F..
; X,Y = Centro tasca
; Z = Profondità totale
; W = Larghezza
; H = Altezza
; D = Diametro utensile
; S = Passo Z
; F = Avanzamento

#100 = #24 - #7               ; Larghezza utile (W - D)
#101 = #11 - #7               ; Altezza utile (H - D)
#102 = 0                      ; Profondità corrente

G0 X#24 Y#25 Z5

WHILE [#102 GT #26] DO1
  #102 = #102 - #19           ; Decrementa per passo
  IF [#102 LT #26] THEN #102 = #26

  G1 Z#102 F[#9/2]            ; Scendi

  ; Rettangolo interno
  G1 X[#24 - #100/2] F#9
  G1 Y[#25 + #101/2]
  G1 X[#24 + #100/2]
  G1 Y[#25 - #101/2]
  G1 X[#24 - #100/2]
  G1 Y#25
  G1 X#24
END1

G0 Z5
M99

2. 带深度控制的螺纹加工

O9002 (FILETTATURA CONTROLLATA)
; G65 P9002 X.. Y.. Z.. R.. K.. P..
; X,Y = Posizione
; Z = Profondità finale
; R = Piano di ritorno
; K = Passo filetto
; P = Numero passate

#100 = [#26 - #18] / #16      ; Incremento per passata
#101 = #18                    ; Profondità corrente

G0 X#24 Y#25
G0 Z#18                       ; Al piano R

#102 = 0
WHILE [#102 LT #16] DO1
  #101 = #101 + #100
  G1 Z#101 F[#11 * 2]         ; Maschiatura
  G1 Z#18 F[#11 * 2]          ; Ritorno
  #102 = #102 + 1
END1

G0 Z5
M99

3. 网格孔位布局

O9003 (GRIGLIA FORI)
; G65 P9003 X.. Y.. I.. J.. P.. Q.. Z.. R.. F..
; X,Y = Punto iniziale
; I = Passo X
; J = Passo Y
; P = Numero colonne
; Q = Numero righe
; Z = Profondità
; R = Piano R
; F = Avanzamento

#100 = 0                      ; Contatore righe
WHILE [#100 LT #17] DO1
  #101 = 0                    ; Contatore colonne
  WHILE [#101 LT #16] DO2
    #102 = #24 + [#101 * #4]  ; Calcola X
    #103 = #25 + [#100 * #5]  ; Calcola Y

    G0 X#102 Y#103
    G81 Z#26 R#18 F#9         ; Ciclo foratura
    G80

    #101 = #101 + 1
  END2
  #100 = #100 + 1
END1

M99

4. 倒角

O9004 (RACCORDO ANGOLO)
; Crea raccordo in angolo corrente
; G65 P9004 R.. (raggio raccordo)

#100 = #5001                  ; X corrente
#101 = #5002                  ; Y corrente
#102 = #18                    ; Raggio

G1 X[#100 - #102]
G2 X#100 Y[#101 - #102] R#102
G1 Y[#101 - #102 - 10]

M99

5. 文字(字符)刻字

O9010 (LETTERA A)
; Singola lettera A
; Chiamata: G65 P9010 X.. Y.. Z.. H..
; H = Altezza carattere

#100 = #11 / 5                ; Larghezza = H/5
#101 = #11 / 2                ; Meta altezza

G0 X#24 Y#25 Z2
G1 Z#26 F100                  ; Scendi

; Traccia A
G1 X[#24 + #100/2] Y[#25 + #11] F200
G1 X[#24 + #100] Y#25
G0 Z2
G0 X[#24 + #100*0.2] Y[#25 + #101]
G1 Z#26 F100
G1 X[#24 + #100*0.8] F200
G0 Z5

M99

提示:在投入生产使用前,请务必先以较低速度测试宏。

第 11 章

其他

“其他”部分包含有关使用 CNC Simulator Pro 的其他有用信息。

涵盖主题

  • 键盘快捷键——完整键位组合列表
  • 许可证激活 - 如何激活和管理您的许可证
  • 故障排除 - 常见问题的解决方案

支持:如需技术支持,请访问 cncsimulator.com/support

11.1

键盘快捷键

键盘快捷键

本节内容即将上线。

11.2

许可证激活

许可证激活

本节内容即将上线。

11.3

故障排除

故障排除

本节内容即将上线。

第 12 章

SimCam

SimCam 是集成在 CNC Simulator Pro 中的 CAD/CAM 模块,可用于绘制几何图形并生成刀具路径。

SimCam
SimCam 的界面

SimCam的功能

  • SimCam 简介——CAD/CAM 模块概览
  • SimCam 界面——熟悉绘图环境
  • 在 SimCam 中绘图——创建 2D 和 3D 几何图形
  • 刀具路径——生成加工操作
  • 后处理器——转换为适用于您设备的G代码

提示:SimCam 可以导入 DXF 文件并自动生成刀具路径。

12.1

SimCam 简介

SimCam 简介

SimCam是CNC Simulator Pro中集成的CAD/CAM模块,可用于创建2D图纸并自动生成刀具路径。

SimCam Interface
SimCam 界面

主要功能

  • 2D矢量绘图
  • DXF文件导入
  • 自动生成G代码
  • 轮廓加工、掏槽、钻孔
  • 可自定义后处理器

典型工作流程

  1. 绘图:创建或导入几何图形
  2. 定义加工操作:轮廓加工、槽加工、钻孔
  3. 设置参数:刀具、深度、进给量
  4. 生成路径:创建刀具路径
  5. 后处理:生成G代码
  6. 模拟:验证程序

提示

SimCam 非常适合加工 2.5D 零件。对于复杂的 3D 加工,请从专用 CAM 软件中导入刀具路径。

SimCam Toolpath
使用 SimCam 生成的刀具路径示例

实用链接:

12.2

SimCam 界面

SimCam 界面

SimCam 界面设计直观,可高效创建 2D 图纸并生成刀具路径。

SimCam Interface
SimCam完整界面

主界面布局

区域 描述
绘图区域用于创建和编辑几何图形的中央画布
工具栏绘图和编辑工具
属性面板所选元素的属性
对象树所有元素的层次列表
命令控制台坐标和命令输入

导航工具

  • 缩放:鼠标滚轮或 +/-
  • 平移:点击鼠标中键并拖动
  • 窗口缩放:Z 键 + 选择区域
  • 全屏缩放:双击滚轮或按 Home 键

选择模式

  • 单选:单击对象
  • 多选:Ctrl + 单击
  • 窗口:从左向右拖动(仅限完全位于窗口内的对象)
  • 穿透:从右向左拖动(包括部分位于窗口内的对象)

网格与对齐

网格有助于精确对齐:

  • F7:显示/隐藏网格
  • F9:启用/禁用网格对齐
  • F3:对齐到对象(端点、中点、中心、交点)

提示:使用 F3 进行对象对齐,无需手动输入坐标即可实现精确定位。

12.3

在 SimCam 中绘图

SimCam中的绘图

实用链接:

SimCam 提供了完整的工具集,用于创建 2D 图纸,这些图纸随后将被转换为刀具路径。

基本绘图工具

工具 按键 描述
直线L两点之间的直线段
圆C以中心点和半径为特征的圆
弧A三点弧或以点为圆心、以点为半径的弧
矩形R由两个角构成的矩形
多边形P正多边形
多段线PL连续线段序列

编辑工具

工具 按键 说明
移动M平移对象
复制CO复制对象
旋转RO围绕一点旋转
缩放SC调整对象大小
镜像MI反射对象
偏移O创建平行轮廓
裁剪TR在交点处截断线段
延伸EX将线段延伸至边界
连接F在线段之间创建圆角
倒角CHA创建角倒角

输入坐标

输入精确坐标的方法:

  • 绝对坐标:X,Y(例如:50,30)
  • 相对坐标:@X,Y(例如:@10,20——距上一点X轴方向10毫米,Y轴方向20毫米)
  • 极坐标:@距离<角度(例如:@50<45——沿45°方向移动50毫米)

图层

将图纸组织到不同的图层中:

  • 外轮廓图层
  • 内部凹槽图层
  • 孔位图层
  • 雕刻图层

重要提示:在生成口袋和轮廓的刀具路径之前,请确保轮廓已闭合。

12.4

刀具路径

刀具路径

实用链接:

SimCam 可根据 2D 几何形状自动生成优化的刀具路径。

加工类型

加工操作 描述 用途
轮廓加工沿外部/内部轮廓加工型材切割、边缘粗加工
槽加工清空封闭区域型腔、凹槽
钻孔指定位置钻孔单孔和孔阵列
雕刻沿线雕刻文字、装饰、标记
螺纹加工螺纹加工循环内螺纹/外螺纹

主要参数

参数 描述
总深度最终加工深度
Z轴进给量每次切削深度
XY方向余量留给精加工的余量
Z轴方向余量底面余量
补偿左、右、中、无
横向进给量相邻切削路径(口袋)之间的距离

口袋策略

  • 之字形:交替的直线路径(快速)
  • 向外螺旋:从中心向边缘
  • 向内螺旋:从边缘向中心
  • 同心偏移:同心轮廓

进刀与退刀

配置刀具进入和退出工件的方式:

  • 斜坡:运动中逐渐下降
  • 螺旋式:螺旋状下切
  • 垂直:直接切入(仅适用于软质材料)
  • 切线弧:以弧形切入,获得更佳表面光洁度

提示:对于深孔,请使用螺旋进刀方式以减轻刀具的应力。

12.5

后处理器

后处理器

实用链接:

后处理器将刀具路径转换为适用于您机床控制器的特定G代码。

支持的控制器

控制器 类型 备注
Fanuc铣削/车削行业标准
Siemens铣削/车削Sinumerik
Haas铣削/车削基于Fanuc
Mach3/4CNC雕刻机业余/半专业
LinuxCNC通用开源
GRBLCNC铣床基于Arduino
Heidenhain铣削对话格式

输出选项

  • 程序段编号:N10、N20……或无
  • 增量:编号步长(5、10 等)
  • 小数位数:坐标精度(3-6位)
  • 换行符:CR、LF 或 CR+LF
  • 文件扩展名:.nc、.cnc、.tap、.gcode

文件头和文件尾

自定义开头和结尾代码:

; Intestazione tipica
O1234 (NOME PROGRAMMA)
G21 G90 G94 G40 G49 G80
G17

; ... percorsi utensile ...

; Coda tipica
M5          ; Stop mandrino
G91 G28 Z0  ; Home Z
G28 X0 Y0   ; Home XY
M30         ; Fine programma

代码生成

  1. 完成刀具路径的生成
  2. 转到 CAM → 生成 G 代码
  3. 选择相应的后处理器
  4. 配置输出选项
  5. 指定保存路径
  6. 点击“生成”

后处理器自定义

您可以修改现有的后处理器或创建新的后处理器:

  • 坐标数值格式
  • 自定义M代码
  • 特定固定循环
  • 注释与格式设置

注意:在真实机床上执行代码之前,请务必在仿真环境中验证生成的代码。

第 13 章

SimCloud

SimCloud 是 CNC Simulator Pro 的云服务,可让您存储、同步和共享您的项目。

SimCloud 功能

  • SimCloud 简介——云服务概览
  • SimCloud 账户——创建和管理您的账户
  • 文件共享 - 与同事和学生共享项目

优势:SimCloud 会自动在所有已连接的设备上同步您的项目。

13.1

SimCloud 简介

SimCloud 简介

本节内容即将上线。

13.2

SimCloud 账户

SimCloud 账户

本节内容即将上线。

13.3

文件共享

文件共享

本节内容即将上线。

第 14 章

系统管理

本节包含系统管理和维护所需的关键信息,包括自动备份、恢复流程以及数据安全最佳实践。

🔧 系统管理

用于确保CNC Simulator Italia电子商务系统运营连续性和数据安全的工具与流程。

💾 自动备份

  • • 每6小时备份一次数据库
  • • 每日完整备份
  • • 保留期限7天
  • • 电子邮件通知

🔄 快速恢复

  • • 逐步引导操作
  • • 自动脚本
  • • 支持部分恢复
  • • 恢复后验证

本章内容

1. 备份系统

基于 Spatie Laravel Backup 的自动备份系统的配置与使用。包括可用命令、计划任务、监控和故障排除。

2. 恢复流程

从备份恢复系统的完整指南,包含针对数据库、文件和配置的分步操作流程。包括自动化脚本和最佳实践。

⚠️ 管理员须知

本节面向拥有服务器 SSH 访问权限的系统管理员。所述操作需要高级权限以及 Linux/Unix 的基础知识。

访问要求

  • SSH 访问:在服务器上执行命令所必需
  • sudo权限:某些系统操作需要此权限
  • 数据库凭据:请在 .env
  • 磁盘空间:需至少预留 5GB 可用空间用于备份

💡 最佳实践

  • ✓ 定期测试恢复流程
  • ✓ 监控可用磁盘空间
  • ✓ 检查备份的电子邮件通知
  • ✓ 记录任何配置变更
  • ✓ 将关键备份保存在远程位置

14.1

备份系统

该系统使用 Spatie Laravel Backup 自动创建数据库和文件的备份,从而确保数据安全,并在必要时能够进行恢复。

📦 备份配置

  • 备份文件夹: /home/achille616/backups/cnc-ecommerce
  • 数据库备份频率:每 6 小时一次(00:00、06:00、12:00、18:00)
  • 完整备份频率:每天 02:00
  • 自动清理:每天 03:00
  • 保留期限:所有备份保留7天
  • 通知:通过电子邮件发送至 info@cncsimulator.it 发送成功/错误通知

可用命令

创建手动备份

# Backup completo (database + file)
cd /var/www/cnc-ecommerce && php artisan backup:run

# Solo database
cd /var/www/cnc-ecommerce && php artisan backup:run --only-db

# Solo file
cd /var/www/cnc-ecommerce && php artisan backup:run --only-files

查看可用备份

cd /var/www/cnc-ecommerce && php artisan backup:list

清理旧备份

cd /var/www/cnc-ecommerce && php artisan backup:clean

监控备份状态

cd /var/www/cnc-ecommerce && php artisan backup:monitor

⚡ 在执行关键操作前进行手动备份

在进行重大更新或数据库修改之前,请务必执行手动备份:

cd /var/www/cnc-ecommerce && php artisan backup:run --only-db

监控与通知

系统会自动向 info@cncsimulator.it 以下情况:

  • ✅ 备份成功完成
  • ❌ 备份失败
  • ⚠️ 备份状态异常(过旧或过大)
  • 🧹 清理已完成

自动计划

备份已配置为通过 Laravel 的任务计划程序自动执行:

备份类型 频率 时间
数据库 每6小时 00:00、06:00、12:00、18:00
完整(数据库 + 文件) 每日 02:00
清理旧备份 每日 03:00

故障排除

备份失败

# Controllare i log
tail -100 /var/www/cnc-ecommerce/storage/logs/laravel.log

# Verificare spazio disco
df -h /home/achille616/backups

# Verificare permessi
ls -la /home/achille616/backups/cnc-ecommerce

备份文件过大

编辑 config/backup.php 以排除更多文件夹:

'exclude' => [
    base_path('vendor'),
    base_path('node_modules'),
    base_path('storage/logs'),
    // Aggiungi qui altre cartelle da escludere
],

🔒 安全注意事项

  • 1. 远程备份:请考虑配置第二个远程存储空间(S3、FTP)
  • 2. 加密:可使用以下方式对备份进行加密 BACKUP_ARCHIVE_PASSWORD
  • 3. 访问权限:仅限用户 achille616 才应具有访问权限
  • 4. 测试:定期测试恢复操作,以确保备份正常工作

14.2

恢复步骤

本指南详细介绍了在出现问题或数据丢失时,如何通过备份恢复系统。

⚠️ 重要提示

在进行恢复操作之前,请确保您具备以下条件:

  • ✓ 拥有服务器的 SSH 访问权限
  • ✓ 管理员权限
  • ✓ 可用于恢复的有效备份
  • ✓ 完成操作所需的充足时间

步骤 1:确定要恢复的备份

# Elencare tutti i backup disponibili
ls -lah /home/achille616/backups/cnc-ecommerce/

# Output esempio:
# CNC-Simulator-Italia_2025-12-18-02-00-00.zip  (backup completo)
# CNC-Simulator-Italia_2025-12-18-06-00-00.zip  (backup solo DB)
# CNC-Simulator-Italia_2025-12-18-12-00-00.zip  (backup solo DB)

步骤 2:提取备份

# Creare una cartella temporanea
mkdir -p /tmp/backup-restore

# Estrarre il backup
cd /tmp/backup-restore
unzip /home/achille616/backups/cnc-ecommerce/NOME_BACKUP.zip

步骤 3A:恢复数据库

# Il database è nel file db-dumps/*.sql o *.sql.gz

# Se è compresso:
gunzip db-dumps/mysql-*.sql.gz

# Ripristinare il database con credenziali da .env:
cd /var/www/cnc-ecommerce
mysql -u $(grep DB_USERNAME .env | cut -d '=' -f2) \
      -p$(grep DB_PASSWORD .env | cut -d '=' -f2) \
      $(grep DB_DATABASE .env | cut -d '=' -f2) < /tmp/backup-restore/db-dumps/mysql-*.sql

步骤 3B:恢复文件

# Ripristinare storage (uploads, file utente)
cp -r /tmp/backup-restore/storage/app/public/* /var/www/cnc-ecommerce/storage/app/public/

# Ripristinare file .env (se necessario)
# ATTENZIONE: Verificare prima le differenze!
diff /tmp/backup-restore/.env /var/www/cnc-ecommerce/.env
# Se OK:
# cp /tmp/backup-restore/.env /var/www/cnc-ecommerce/.env

步骤 4:验证权限

cd /var/www/cnc-ecommerce

# Ripristinare proprietà
chown -R achille616:www-data storage
chown -R achille616:www-data bootstrap/cache

# Ripristinare permessi
chmod -R 775 storage
chmod -R 775 bootstrap/cache

步骤 5:清理缓存

cd /var/www/cnc-ecommerce
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear

步骤 6:清理临时文件

rm -rf /tmp/backup-restore

✅ 最终验证

恢复完成后,请确认:

  • ✓ 网站可访问且运行正常
  • ✓ 数据库中包含正确的数据
  • ✓ 上传的文件是否可见
  • ✓ 主要功能运行正常

自动恢复脚本

为了自动化恢复过程,你可以创建一个 Bash 脚本:

#!/bin/bash
# save as: /home/achille616/restore-backup.sh

if [ -z "$1" ]; then
    echo "Uso: ./restore-backup.sh NOME_FILE_BACKUP.zip"
    echo "Esempio: ./restore-backup.sh CNC-Simulator-Italia_2025-12-18-02-00-00.zip"
    exit 1
fi

BACKUP_FILE="/home/achille616/backups/cnc-ecommerce/$1"
TMP_DIR="/tmp/backup-restore-$(date +%s)"
WEB_DIR="/var/www/cnc-ecommerce"

echo "🔄 Ripristino da: $BACKUP_FILE"

# Verifica esistenza backup
if [ ! -f "$BACKUP_FILE" ]; then
    echo "❌ Backup non trovato: $BACKUP_FILE"
    exit 1
fi

# Estrazione
echo "📦 Estrazione backup..."
mkdir -p $TMP_DIR
cd $TMP_DIR
unzip -q $BACKUP_FILE

# Ripristino database
echo "💾 Ripristino database..."
cd $WEB_DIR
DB_USER=$(grep DB_USERNAME .env | cut -d '=' -f2)
DB_PASS=$(grep DB_PASSWORD .env | cut -d '=' -f2)
DB_NAME=$(grep DB_DATABASE .env | cut -d '=' -f2)

SQL_FILE=$(find $TMP_DIR/db-dumps -name "*.sql" -o -name "*.sql.gz" | head -1)

if [[ $SQL_FILE == *.gz ]]; then
    gunzip $SQL_FILE
    SQL_FILE="${SQL_FILE%.gz}"
fi

mysql -u $DB_USER -p$DB_PASS $DB_NAME < $SQL_FILE

# Ripristino file storage
if [ -d "$TMP_DIR/storage/app/public" ]; then
    echo "📁 Ripristino file storage..."
    cp -r $TMP_DIR/storage/app/public/* $WEB_DIR/storage/app/public/
fi

# Permessi
echo "🔐 Aggiornamento permessi..."
chown -R achille616:www-data $WEB_DIR/storage
chmod -R 775 $WEB_DIR/storage

# Cache
echo "🧹 Pulizia cache..."
cd $WEB_DIR
php artisan config:clear
php artisan cache:clear
php artisan view:clear

# Cleanup
echo "🗑️  Pulizia file temporanei..."
rm -rf $TMP_DIR

echo "✅ Ripristino completato!"

使用该脚本的方法:

# Rendilo eseguibile
chmod +x /home/achille616/restore-backup.sh

# Esegui il ripristino
./restore-backup.sh CNC-Simulator-Italia_2025-12-18-02-00-00.zip

部分恢复(仅恢复部分表)

若只需恢复数据库中的特定表:

# Estrarre solo alcune tabelle
mysql -u USER -p DB_NAME -e "SELECT * FROM table_name" > table_backup.sql

# Usare mysqldump per tabelle specifiche
mysqldump -u USER -p DB_NAME table1 table2 > partial_backup.sql

💡 提示

请定期在测试环境中测试恢复流程,以确保在需要时一切都能正常运行。

文档结束

您已读完 CNCSimulator Pro 的全部文档。

返回目录