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