/// <summary>
 /// Creates a clone of this instance
 /// </summary>
 /// <returns>A clone of this instance</returns>
 public object Clone()
 {
     return(new Move
     {
         Axes = Axes.Select(axis => (Axis)axis.Clone()).ToList(),
         BabystepZ = BabystepZ,
         CurrentMove = (CurrentMove)CurrentMove.Clone(),
         Compensation = (Compensation != null) ? string.Copy(Compensation) : null,
         Drives = Drives.Select(drive => (Drive)drive.Clone()).ToList(),
         Extruders = Extruders.Select(extruder => (Extruder)extruder.Clone()).ToList(),
         Geometry = (Geometry)Geometry.Clone(),
         Idle = (Idle)Idle.Clone(),
         SpeedFactor = SpeedFactor
     });
 }
        private void ChangeExtruderNumber()
        {
            if (numExtruder > Extruders.Count)
            {
                int substract = numExtruder - Extruders.Count;

                for (int i = 0; i < substract; i++)
                {
                    Extruders.Add(new ExtruderModel()
                    {
                        Name = "Экструдер " + (Extruders.Count + i + 1)
                    });
                }
            }
            else if (numExtruder < Extruders.Count)
            {
                int substract = Extruders.Count - numExtruder;

                for (int i = 0; i < substract; i++)
                {
                    Extruders.Remove(Extruders[Extruders.Count - 1]);
                }
            }
        }