Files
cms-core-active/CMS_CORE_Library/Models/NcToolModel.cs
T
Lucio Maranta 0fc9734b8c Added: Balluf Abort procedure
WIP offset Custom fields Osai
2020-03-13 10:31:03 +00:00

213 lines
6.2 KiB
C#

using System;
using System.Collections.Generic;
namespace CMS_CORE_Library.Models
{
public class ToolManagerOptionsModel
{
public bool FamilyOpt { get; set; }
public bool ShankOpt { get; set; }
public bool MagPosTypeOpt { get; set; }
public bool OffsetOpt { get; set; }
public bool ReviveOpt { get; set; }
public bool GammaOpt { get; set; }
public bool LifeOpt { get; set; }
public bool TcpOpt { get; set; }
public bool CoolingOpt { get; set; }
public bool MultidimensionalShankOpt { get; set; }
public bool SelfAdaptivePathOpt { get; set; }
public bool DynamicCompensationOpt { get; set; }
public bool BallufOpt { get; set; }
}
public class OffsetModel
{
public short Id { get; set; }
public double Length { get; set; }
public double Radius { get; set; }
public double WearLength { get; set; }
public double WearRadius { get; set; }
public string UnitOfMeasure { get; set; }
public double RealLength { get; set; }
public double RealRadius { get; set; }
// Osai custom values
public List<double> CustomDouble { get; set; }
public List<short> CustomInt { get; set; }
}
public class NcShankModel
{
public ushort ShankId { get; set; }
public ushort Balluf { get; set; }
public byte MagazineId { get; set; }
public ushort PositionId { get; set; }
public byte MagazinePositionType { get; set; }
public byte OriginMagazineId { get; set; }
public ushort OriginPositionId { get; set; }
}
public class NcToolModel
{
public short ToolId { get; set; }
public short FamilyId { get; set; }
public short ShankId { get; set; }
public byte Status { get; set; }
public short OffsetLength { get; set; }
public int ResidualLife { get; set; }
public ushort OffsetId1 { get; set; }
public ushort OffsetId2 { get; set; }
public ushort OffsetId3 { get; set; }
public uint ResidualRevive { get; set; }
}
public class NcFamilyModel
{
public ushort FamilyId { get; set; }
public byte ToolType { get; set; }
public byte TcpTable { get; set; }
public byte Gamma { get; set; }
public byte RotationType { get; set; }
public byte CoolingByte { get; set; }
public ushort MaxSpeed { get; set; }
public byte MaxLoad { get; set; }
public byte MinLoadPctAutoload { get; set; }
public byte MaxLoadPctAutoload { get; set; }
public ushort DynamicCompensation { get; set; }
public byte MinLoadDynamicCompensation { get; set; }
public byte MaxLoadDynamicCompensation { get; set; }
public byte LifeType { get; set; }
public int NominalLife { get; set; }
public ushort ReviveDelta { get; set; }
public byte RightSize { get; set; }
public byte LeftSize { get; set; }
}
internal class NcFamilyFileModel
{
public int Id { get; set; }
public byte ToolType { get; set; }
public byte TcpTable { get; set; }
public byte Gamma { get; set; }
public byte RotationType { get; set; }
public byte CoolingByte { get; set; }
public ushort MaxSpeed { get; set; }
public byte MaxLoad { get; set; }
public byte MinLoadPctAutoload { get; set; }
public byte MaxLoadPctAutoload { get; set; }
public ushort DynamicCompensation { get; set; }
public byte MinLoadDynamicCompensation { get; set; }
public byte MaxLoadDynamicCompensation { get; set; }
public byte LifeType { get; set; }
public int NominalLife { get; set; }
public ushort ReviveDelta { get; set; }
public static explicit operator NcFamilyFileModel(NcFamilyModel obj)
{
return new NcFamilyFileModel()
{
Id = obj.FamilyId,
ToolType = obj.ToolType,
TcpTable = obj.TcpTable,
Gamma = obj.Gamma,
RotationType = obj.RotationType,
CoolingByte = obj.CoolingByte,
MaxSpeed = obj.MaxSpeed,
MaxLoad = obj.MaxLoad,
MinLoadDynamicCompensation = obj.MinLoadDynamicCompensation,
MaxLoadDynamicCompensation = obj.MaxLoadDynamicCompensation,
MinLoadPctAutoload = obj.MinLoadPctAutoload,
MaxLoadPctAutoload = obj.MaxLoadPctAutoload,
DynamicCompensation = obj.DynamicCompensation,
LifeType = obj.LifeType,
NominalLife = obj.NominalLife,
ReviveDelta = obj.ReviveDelta
};
}
}
internal class NcFamilySizeFileModel
{
public int Id { get; set; }
public byte RightSize { get; set; }
public byte LeftSize { get; set; }
public static explicit operator NcFamilySizeFileModel(NcFamilyModel obj)
{
return new NcFamilySizeFileModel()
{
Id = obj.FamilyId,
RightSize = obj.RightSize,
LeftSize = obj.LeftSize
};
}
}
public class NcMagazinePositionModel
{
public byte MagazineId { get; set; }
public ushort PositionId { get; set; }
public byte Type { get; set; }
}
// If u need to order properties, u could use the code below
// properties = properties.OrderBy(x => ((FanucOrderAttribute)x.GetCustomAttribute(typeof(FanucOrderAttribute))).Val).ToArray();
public class OsaiOrderAttribute : Attribute
{
public int Val { get; set; }
public OsaiOrderAttribute(int val)
{
Val = val;
}
}
public class FanucOrderAttribute : Attribute
{
public int Val { get; set; }
public FanucOrderAttribute(int val)
{
Val = val;
}
}
}