Files
ext_luca.pansa@cms.it 6ea23a2619 Modifica visibilità mag
2021-02-11 16:32:03 +01:00

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;
}
}