using CaeMesh; // ReSharper disable SuggestVarOrType_BuiltInTypes // ReSharper disable ConvertToAutoProperty namespace CaeKnowledge.Data { public class ProcessingJob { private readonly ToolPosition _toolPosition; private readonly FeNode _feNode; // 要继承的计算步 public string StepName { get; } public string NewStepName { get; set; } // 刀位点位置坐标 public double X => _toolPosition.X; public double Y => _toolPosition.Y; public double Z => _toolPosition.Z; // 切削力 public double Fx => _toolPosition.MaxFx; public double Fy => _toolPosition.MaxFy; public double Fz => _toolPosition.MaxFz; // 最接近的节点 public FeNode Node => _feNode; public FeFace[] Faces { get; } // 刀位点到网格最近节点的距离 public double MinimumDistance { get; } = 0; public ProcessingJob(string stepName, ToolPosition tp, FeNode node, FeFace[] faces) { _toolPosition = tp; _feNode = node; StepName = stepName; double x1 = _toolPosition.X; double y1 = _toolPosition.Y; double z1 = _toolPosition.Z; double x2 = node.X; double y2 = node.Y; double z2 = node.Z; Faces = faces; MinimumDistance = MeshTools.Distance(x1, y1, z1, x2, y2, z2); } } }