public ToolCalculatorControl()
 {
     InitializeComponent();
     BaseOperation = new OperationCalculator
     {
         CalcMillimetersToPixels = new OperationCalculator.MillimetersToPixels(SlicerFile.Resolution, SlicerFile.Display),
         CalcLightOffDelay       = new OperationCalculator.LightOffDelayC(
             (decimal)SlicerFile.LiftHeight, (decimal)SlicerFile.BottomLiftHeight,
             (decimal)SlicerFile.LiftSpeed, (decimal)SlicerFile.BottomLiftSpeed,
             (decimal)SlicerFile.RetractSpeed, (decimal)SlicerFile.RetractSpeed)
     };
 }
Esempio n. 2
0
        public CtrlToolCalculator()
        {
            InitializeComponent();
            Operation = new OperationCalculator
            {
                CalcMillimetersToPixels = new OperationCalculator.MillimetersToPixels(Program.SlicerFile.Resolution, Program.SlicerFile.Display),
                CalcLightOffDelay       = new OperationCalculator.LightOffDelayC(
                    (decimal)Program.SlicerFile.LiftHeight, (decimal)Program.SlicerFile.BottomLiftHeight,
                    (decimal)Program.SlicerFile.LiftSpeed, (decimal)Program.SlicerFile.BottomLiftSpeed,
                    (decimal)Program.SlicerFile.RetractSpeed, (decimal)Program.SlicerFile.RetractSpeed)
            };
            SetOperation(Operation);

            tpMillimetersToPixels.Tag = Operation.CalcMillimetersToPixels;
            tpLightOffDelay.Tag       = Operation.CalcMillimetersToPixels;

            lbMMtoPixelsDescription.Text        = Operation.CalcMillimetersToPixels.Description;
            lbMMtoPixelsDescription.Text       += $"\n\nFormula: {Operation.CalcMillimetersToPixels.Formula}";
            lbMMtoPixelsDescription.MaximumSize = new Size(Width - 20, 0);

            lbLightOffDelayDescription.Text        = Operation.CalcLightOffDelay.Description;
            lbLightOffDelayDescription.Text       += $"\n\nFormula: {Operation.CalcLightOffDelay.Formula}";
            lbLightOffDelayDescription.MaximumSize = new Size(Width - 20, 0);


            nmMMtoPXResolutionX.Value      = Program.SlicerFile.ResolutionX;
            nmMMtoPXResolutionY.Value      = Program.SlicerFile.ResolutionY;
            nmMMtoPXDisplayWidth.Value     = (decimal)Program.SlicerFile.DisplayWidth;
            nmMMtoPXDisplayHeight.Value    = (decimal)Program.SlicerFile.DisplayHeight;
            nmMMtoPXInputMillimeters.Value = Operation.CalcMillimetersToPixels.Millimeters;
            Operation.CalcMillimetersToPixels.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(Operation.CalcMillimetersToPixels.PixelsX) ||
                    e.PropertyName == nameof(Operation.CalcMillimetersToPixels.PixelsY))
                {
                    CalculateMillimetersToPixels();
                }
            };

            nmLightOffDelayLiftHeight.Value       = (decimal)Program.SlicerFile.LiftHeight;
            nmLightOffDelayBottomLiftHeight.Value = (decimal)Program.SlicerFile.BottomLiftHeight;
            nmLightOffDelayLiftSpeed.Value        = (decimal)Program.SlicerFile.LiftSpeed;
            nmLightOffDelayBottomLiftSpeed.Value  = (decimal)Program.SlicerFile.BottomLiftSpeed;
            nmLightOffDelayBottomRetract.Value    = nmLightOffDelayRetract.Value = (decimal)Program.SlicerFile.RetractSpeed;
            nmLightOffDelayWaitTime.Value         = Operation.CalcLightOffDelay.WaitTime;
            nmLightOffDelayBottomWaitTime.Value   = Operation.CalcLightOffDelay.BottomWaitTime;

            lbLightOffDelayCurrentValue.Text             = $"Current value: {Program.SlicerFile.LayerOffTime}";
            lbLightOffDelayCurrentBottomValue.Text       = $"Current value: {Program.SlicerFile.BottomLayerOffTime}";
            Operation.CalcLightOffDelay.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(Operation.CalcLightOffDelay.LightOffDelay) ||
                    e.PropertyName == nameof(Operation.CalcLightOffDelay.BottomLightOffDelay))
                {
                    CalculateLightOffDelay();
                }
            };

            CalculateMillimetersToPixels();
            CalculateLightOffDelay();
        }