223 lines
5.6 KiB
C#
223 lines
5.6 KiB
C#
using CaeGlobals;
|
||
using CaeKnowledge.Data;
|
||
using LiteDB;
|
||
using System.ComponentModel;
|
||
using System.Runtime.CompilerServices;
|
||
|
||
namespace CaeKnowledge.View
|
||
{
|
||
public class ViewCutter : INotifyPropertyChanged
|
||
{
|
||
private Cutter _cutter;
|
||
|
||
public ViewCutter()
|
||
{
|
||
_cutter = new Cutter(ObjectId.NewObjectId());
|
||
}
|
||
|
||
public ViewCutter(Cutter cutter)
|
||
{
|
||
_cutter = cutter;
|
||
}
|
||
|
||
public Cutter GetBase()
|
||
{
|
||
return _cutter;
|
||
}
|
||
|
||
[Browsable(false)]
|
||
public ObjectId Id => _cutter.Id;
|
||
|
||
[Category("1一般信息")]
|
||
[OrderedDisplayName(0, 6, @"库号Cid")]
|
||
[Description("用于标识刀具的唯一标识符。")]
|
||
public string Cid
|
||
{
|
||
get => _cutter.Cid;
|
||
set
|
||
{
|
||
_cutter.Cid = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
[Category("1一般信息")]
|
||
// ReSharper disable once StringLiteralTypo
|
||
[OrderedDisplayName(1, 6, "刀具牌号Cn")]
|
||
public string Cname
|
||
{
|
||
get => _cutter.Cname;
|
||
set
|
||
{
|
||
_cutter.Cname = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具描述
|
||
[Category("1一般信息")]
|
||
[OrderedDisplayName(2, 6, "刀具描述Desc")]
|
||
public string Description
|
||
{
|
||
get => _cutter.Description;
|
||
set
|
||
{
|
||
_cutter.Description = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具代码
|
||
[Category("1一般信息")]
|
||
[OrderedDisplayName(3, 6, "刀具代码Code")]
|
||
public string Code
|
||
{
|
||
get => _cutter.Code;
|
||
set
|
||
{
|
||
_cutter.Code = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具材料
|
||
[Category("1一般信息")]
|
||
[OrderedDisplayName(4, 6, "刀具材料Mat")]
|
||
public string Material
|
||
{
|
||
get => _cutter.Material;
|
||
set
|
||
{
|
||
_cutter.Material = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀号T
|
||
// 用来标识切削工具在数控编程中的编号,其命名规则一般为T+数字。
|
||
[Category("1一般信息")]
|
||
[OrderedDisplayName(5, 6, "刀号Num")]
|
||
[Description("用来标识切削工具在数控编程中的编号,其命名规则一般为T+数字。")]
|
||
public int Number
|
||
{
|
||
get => _cutter.Number;
|
||
set
|
||
{
|
||
_cutter.Number = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具直径D
|
||
[Category("2刀具尺寸")]
|
||
[OrderedDisplayName(0, 6, "刀具直径D")]
|
||
public double Diameter
|
||
{
|
||
get => _cutter.Diameter;
|
||
set
|
||
{
|
||
_cutter.Diameter = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具长度TL
|
||
[Category("2刀具尺寸")]
|
||
[OrderedDisplayName(1, 6, "刀具长度TL")]
|
||
public double ToolLength
|
||
{
|
||
get => _cutter.ToolLength;
|
||
set
|
||
{
|
||
_cutter.ToolLength = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刃长FL
|
||
[Category("2刀具尺寸")]
|
||
[OrderedDisplayName(2, 6, "刃长FL")]
|
||
public double FluteLength
|
||
{
|
||
get => _cutter.FluteLength;
|
||
set
|
||
{
|
||
_cutter.FluteLength = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀刃数F
|
||
[Category("2刀具尺寸")]
|
||
[OrderedDisplayName(3, 6, "刀刃数F")]
|
||
public int Flute
|
||
{
|
||
get => _cutter.Flute;
|
||
set
|
||
{
|
||
_cutter.Flute = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具螺旋角HA
|
||
[Category("2刀具尺寸")]
|
||
[OrderedDisplayName(4, 6, "刀具螺旋角HA")]
|
||
public double HelixAngle
|
||
{
|
||
get => _cutter.HelixAngle;
|
||
set
|
||
{
|
||
_cutter.HelixAngle = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
// 刀具螺旋角HA
|
||
[Category("2刀具尺寸")]
|
||
[OrderedDisplayName(5, 6, "环形刀圆角半径")]
|
||
public double ArcRadius
|
||
{
|
||
get => _cutter.ArcRadius;
|
||
set
|
||
{
|
||
_cutter.ArcRadius = value;
|
||
OnPropertyChanged();
|
||
}
|
||
}
|
||
|
||
public bool IsValid()
|
||
{
|
||
return !Cid.IsNullOrEmptyOrWhiteSpace();
|
||
}
|
||
|
||
public event PropertyChangedEventHandler PropertyChanged;
|
||
|
||
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
|
||
{
|
||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||
}
|
||
|
||
/*
|
||
public ViewCutter DeepClone()
|
||
{
|
||
Cutter cutter = _cutter;
|
||
return new ViewCutter(cutter);
|
||
}
|
||
|
||
public void Clone(ViewCutter vc)
|
||
{
|
||
PartId = vc.PartId;
|
||
PartName = vc.PartName;
|
||
Description = vc.Description;
|
||
Code = vc.Code;
|
||
Material = vc.Material;
|
||
Number = vc.Number;
|
||
Diameter = vc.Diameter;
|
||
ToolLength = vc.ToolLength;
|
||
FluteLength = vc.FluteLength;
|
||
Flute = vc.Flute;
|
||
HelixAngle = vc.HelixAngle;
|
||
}*/
|
||
}
|
||
} |