加工体积 (Pro)

MachiningVolume 将 GameObject 转换为可加工的工件,在 MachiningTool 穿过时实时移除材料。

ℹ️

此功能在 realvirtual 6.3.5(Professional)中添加

概述

MachiningVolume 模拟 CNC 铣削、钻孔和磨削应用的虚拟调试中的实时材料去除。在内部,它将工件表示为基于体素的毛坯:当一个或多个 MachiningTool 对象穿过体积时,材料被连续减去,可见网格被重建为水密的封闭曲面——无需预先制作的切削动画,无需脚本化几何体替换。

使用 MachiningVolume 在铝块上切削蛇形凹槽的三轴龙门铣床

将 MachiningVolume 与 Drive 组件结合使用,沿真实加工路径移动刀具,并连接 PLC 信号来重置和监控过程,与真实 CNC 控制器完全相同。

属性

工件设置

Grid Resolution(网格分辨率)(Vector3Int)体素网格沿 X、Y 和 Z 轴的分辨率(例如 64 x 64 x 64)。更高的分辨率产生更精细、更平滑的切削表面,但会增加内存使用和网格重建成本——从低分辨率开始,仅在有可见细节需求时提高。

Workpiece Size(工件尺寸)(毫米)工件毛坯沿 X、Y 和 Z 轴的尺寸,用于 Box(长方体)和 Cylinder(圆柱体)形状。

Shape(形状)(枚举:Box / Cylinder / Mesh)起始毛坯形状。Box 创建一个跨越 Workpiece Size 的矩形块。Cylinder 创建一个内接于 Workpiece Size 的带盖圆柱体,方向由 Cylinder Axis 决定。Mesh 将任何封闭的水密网格体素化为毛坯——用此选项加工任意 CAD 零件而非基本形状。

Cylinder Axis(圆柱体轴)(枚举:X / Y / Z)圆柱体工件所沿的轴。X 或 Z 产生横向(水平)圆柱体,Y 产生直立的圆柱体。仅在 Shape 为 Cylinder 时使用。

Stock Mesh(毛坯网格)(Mesh)Shape = Mesh 时的源网格。留空则加工工件 Mesh Filter 上已分配的网格(所见即所加工)。网格必须是封闭且可读的,GameObject 上的任何变换缩放会自动烘焙到毛坯中,因此缩放的 Unity 基本体会按显示精确加工。

刀具

Tools(刀具列表)(列表)MachiningTool 对象,在每个仿真刻去除此体积中的材料,按列表顺序评估。直接分配刀具,或让 Tool Group 自动发现它们。

Tool Group(刀具组)(字符串)可选的 realvirtual Group 名称。任何携带 MachiningTool 组件并属于此组别的对象都会自动添加到 Tools 列表中,包括在运行时生成的 MU——适用于换刀设置或由 Source 供料的加工站。留空则仅使用显式的 Tools 列表。

Sweep Tool Motion(扫描刀具运动)(布尔值)启用后,体积在仿真步骤之间减去每个刀具的扫掠路径,而不仅仅是其最终位置,因此快速的刀具运动仍然切割出连续的凹槽,而不是一系列断开的凹坑。

Max Sweep Substeps(最大扫掠子步数)(整数)每个仿真步骤中每个刀具沿扫掠运动路径采样的最大刀具姿态数。如果非常快的刀具移动在切削中留下可见的间隙,请提高此值;降低此值可节省性能。

网格输出

Meshing(网格重建)(枚举:MarchingCubes / DualContouring)曲面重建算法。MarchingCubes 是稳健的默认选项,边缘略微圆滑。DualContouring(实验性)产生更锐利的边缘和角,计算成本更高。

Crease Angle(折痕角)(度)Dual Contouring 使用的硬边阈值:表面法线发散超过此角度的位置得到锐利、不平滑的边缘,而非圆角。设置为 0 则禁用,始终进行平滑着色。

Generate UVs(生成 UV)(布尔值)在加工表面上使用三平面投影生成 UV 坐标,使带纹理的材质能正确映射到新切削的面。

Statistics Interval(统计间隔)(秒)检查器中 Material Remaining Percent(剩余材料百分比)和 Voxels Modified(已修改体素数)统计数据的刷新频率。

信号 / IO

Signal Spindle On(主轴开启信号)(PLC 输出)为 false 时,不移除任何材料——用于模拟主轴关闭。

Signal Reset(重置信号)(PLC 输出)上升沿将工件恢复到原始的未加工状态——将其连接到控制逻辑中的"加载新毛坯"或"周期重置"步骤。

Signal Machining Active(加工进行中信号)(PLC 输入)当材料正在被主动移除或网格仍在追赶最近的切削时为 true——可用作忙碌/循环中指示器。

状态(只读)

Material Remaining Percent(剩余材料百分比) 原始毛坯体积中仍存在的百分比。

Voxels Modified(已修改体素数) 自工件上次初始化或重置以来移除的体素数量。

快速入门

  1. MeshFilterMeshRenderer 添加到工件 GameObject(可使用 Unity 基本体或您自己的 CAD 毛坯网格)。
  2. 添加 MachiningVolume 组件并选择 Shape——Box、Cylinder 或 Mesh 用于自定义 CAD 毛坯。
  3. MachiningTool 组件添加到表示刀具的对象上,设置其形状和尺寸。
  4. 将刀具拖入 MachiningVolume 的 Tools 列表(或改为分配匹配的 Tool Group)。
  5. 使用 Drive 移动刀具穿过工件,按 Play——当刀具穿过时材料被实时移除。

常见用例

  • CNC 铣削虚拟调试——根据实时的成品 3D 表示验证真实铣削程序的刀具路径和周期时间。
  • 机器人去毛刺/磨削——模拟安装在机器人上的磨削或去毛刺刀具沿编程路径去除材料。
  • PLC 驱动的加工——通过真实的 PLC 接口驱动主轴和轴,使用 Signal ResetSignal Machining Active 进行周期控制,与真实机器完全相同。
  • 任意 CAD 毛坯加工——使用 Shape = Mesh 直接加工导入的 CAD 零件,而不是用 Box 或 Cylinder 近似。

另请参见

  • Machining Tool - 定义从 MachiningVolume 中去除材料的刀具几何形状
  • Drive - 沿真实加工路径移动刀具