public interface IPartProperties
string PartFilePath { get; set; }
string Material { get; set; }
string Machine { get; set; }
double Thickness { get; set; }
public interface IPartResult
IPartProperties Properties { get; }
public class LoadedPartProperties : IPartProperties
public string PartFilePath { get; set; }
public string Material { get; set; }
public string Machine { get; set; }
public double Thickness { get; set; }
public class SavedPartProperties : IPartProperties
public string PartFilePath { get; set; }
public string Material { get; set; }
public string Machine { get; set; }
public double Thickness { get; set; }
public class LoadPartResult : IPartResult
public string PRO { get; }
public LoadedPartProperties Properties { get; set; }
public class SavePartResult : IPartResult
public string PRO { get; }
public SavedPartProperties Properties { get; set; }