247 lines
6.6 KiB
C#
247 lines
6.6 KiB
C#
using System.Collections.Generic;
|
|
using static CMS_CORE_Library.Models.DataStructures;
|
|
|
|
namespace CMS_CORE_Library.Models
|
|
{
|
|
public class SiemensToolModel
|
|
{
|
|
public int Id;
|
|
public string FamilyName;
|
|
public int ChildId;
|
|
public SIEMENS_LIFE_TYPE LifeType;
|
|
public int MagazinePositionType;
|
|
public int ToolType;
|
|
public int LeftSize;
|
|
public int RightSize;
|
|
public ROTATION Rotation;
|
|
public bool Cooling1;
|
|
public bool Cooling2;
|
|
public bool IsEnabled;
|
|
public bool IsActive;
|
|
public bool InFixedPlace;
|
|
public bool IsInhibited;
|
|
public bool IsMeasured;
|
|
public bool InChangeTool;
|
|
public bool IsInUse;
|
|
public bool PreAlarm;
|
|
public double MaxSpeed;
|
|
public int MagazineId;
|
|
public int PositionId;
|
|
public int MultitoolId;
|
|
public List<EdgeModel> EdgesData;
|
|
|
|
// Custom CMS fields
|
|
public int Load;
|
|
public int Gamma;
|
|
public int MaxLoadPctAutoload;
|
|
public int MinLoadPctAutoload;
|
|
public int ToolTypeCode;
|
|
|
|
public SiemensToolModel()
|
|
{
|
|
EdgesData = new List<EdgeModel>();
|
|
}
|
|
}
|
|
|
|
public class EdgeModel
|
|
{
|
|
public int Id;
|
|
public double ResidualLife;
|
|
public double NominalLife;
|
|
public double PreAlmLife;
|
|
public Dictionary<string, double> EdgeAdditionalParams;
|
|
|
|
public EdgeModel()
|
|
{
|
|
EdgeAdditionalParams = new Dictionary<string, double>();
|
|
}
|
|
}
|
|
|
|
public class ShankModel
|
|
{
|
|
public int Id;
|
|
public string Name;
|
|
public bool IsEnabled;
|
|
public bool IsInhibited;
|
|
public bool InChangeTool;
|
|
public bool InFixedPlace;
|
|
public bool InUse;
|
|
public int LeftSize;
|
|
public int RightSize;
|
|
public int MagazinePositionType;
|
|
public int MaxChilds;
|
|
public int MagazineId;
|
|
public int PositionId;
|
|
public List<ShankChildModel> ChildsTools;
|
|
|
|
public ShankModel()
|
|
{
|
|
ChildsTools = new List<ShankChildModel>();
|
|
}
|
|
}
|
|
|
|
public class ShankChildModel
|
|
{
|
|
public int Id;
|
|
public int MultitoolId;
|
|
public string FamilyName;
|
|
public int ToolType;
|
|
}
|
|
|
|
public class FamilyModel
|
|
{
|
|
public string Name;
|
|
public List<FamilyChildModel> ChildTools;
|
|
|
|
public FamilyModel()
|
|
{
|
|
ChildTools = new List<FamilyChildModel>();
|
|
}
|
|
}
|
|
|
|
public class FamilyChildModel
|
|
{
|
|
public int Id;
|
|
public int ChildId;
|
|
public int ToolType;
|
|
}
|
|
|
|
public class PositionModel
|
|
{
|
|
public int PositionId;
|
|
public int MagazineId;
|
|
public POSITION_TYPE PhysicalType;
|
|
public int Type;
|
|
public bool Disabled;
|
|
public bool Occupied;
|
|
}
|
|
|
|
public class EdgeConfigModel
|
|
{
|
|
public string Name;
|
|
public string Path;
|
|
public int Number;
|
|
}
|
|
|
|
public class MountedToolModel
|
|
{
|
|
public int PositionId;
|
|
public int MagazineId;
|
|
public int ToolId;
|
|
public SiemensToolModel ChildTool;
|
|
public ShankModel ChildShank;
|
|
}
|
|
|
|
public class NewToolInMagazineModel
|
|
{
|
|
public int PositionId;
|
|
public int ToolId;
|
|
}
|
|
|
|
public class MagazineActionModel
|
|
{
|
|
public MAGAZINE_ACTIONS Action;
|
|
public ushort OriginMagazine;
|
|
public ushort OriginPosition;
|
|
public ushort DestinationMagazine;
|
|
public ushort DestinationPosition;
|
|
public MagazineActionToolModel Tool;
|
|
public MagazineActionToolModel SecondTool;
|
|
}
|
|
|
|
public class MagazineActionToolModel
|
|
{
|
|
public int Id;
|
|
public int ToolType;
|
|
public string Name;
|
|
public bool IsMultitool;
|
|
}
|
|
|
|
///////////////// Tools Configuration
|
|
|
|
public class FieldsConfiguration
|
|
{
|
|
public string Name;
|
|
public string Type;
|
|
public string Category;
|
|
public string SubCategory;
|
|
public bool ReadOnly;
|
|
public bool IsNeeded;
|
|
public Dictionary<int, string> SelectValues;
|
|
public int MinValue;
|
|
public int MaxValue;
|
|
|
|
public FieldsConfiguration()
|
|
{
|
|
ReadOnly = false;
|
|
IsNeeded = false;
|
|
MinValue = 0;
|
|
}
|
|
}
|
|
|
|
public class FamiliesConfiguration
|
|
{
|
|
public List<FieldsConfiguration> FamilyConfiguration;
|
|
public List<FieldsConfiguration> FamilyReadOnlyConfiguration;
|
|
public List<FieldsConfiguration> ToolsConfiguration;
|
|
}
|
|
|
|
public class ShanksConfiguration
|
|
{
|
|
public List<FieldsConfiguration> ShankConfiguration;
|
|
public List<FieldsConfiguration> ToolsConfiguration;
|
|
}
|
|
|
|
public class EdgesConfiguration
|
|
{
|
|
public List<FieldsConfiguration> EdgeConfiguration;
|
|
public Dictionary<int, List<string>> EdgesAdditionalParamsConfiguration;
|
|
}
|
|
|
|
public class NcMagazineConfigModel
|
|
{
|
|
public byte Id;
|
|
public NC_MAGAZINE_TYPE Type;
|
|
public int MaxPositions;
|
|
}
|
|
|
|
public class SiemensMagazineConfigModel
|
|
{
|
|
public short Id;
|
|
public SIEMENS_MAGAZINE_TYPE Type;
|
|
public int MaxPositions;
|
|
public string Name;
|
|
public bool LoadingIsActive;
|
|
public int LoadPosition;
|
|
public bool AssistedToolingIsActive;
|
|
public bool EditableTooling;
|
|
public bool VisibleMagazine;
|
|
}
|
|
|
|
public class ToolTableConfiguration
|
|
{
|
|
public int MaxTools;
|
|
public int MaxEdgesPerTools;
|
|
public int MaxToolsPerFamily;
|
|
public int MaxMultitools;
|
|
public int MaxToolsPerMultitools;
|
|
public int MaxOffsets;
|
|
|
|
public bool MultitoolOptionActive;
|
|
public bool FamilyOptionActive;
|
|
public bool SelfAdaptivePathOptionActive;
|
|
public bool MagPositionOptionActive;
|
|
public bool OffsetOptionActive;
|
|
public bool RadiusMetricType;
|
|
public bool LifeOption;
|
|
|
|
public bool SiemensBallufOption;
|
|
|
|
public List<SiemensMagazineConfigModel> Magazines;
|
|
public List<FieldsConfiguration> ToolsConfiguration;
|
|
public FamiliesConfiguration FamiliesConfiguration;
|
|
public ShanksConfiguration ShanksConfiguration;
|
|
public List<FieldsConfiguration> MagazinePosConfiguration;
|
|
public EdgesConfiguration EdgesConfiguration;
|
|
}
|
|
} |