55 lines
1.4 KiB
C#
55 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|
|
} |