Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sn4k3/UVtools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Conceição <Tiago_caza@hotmail.com>2021-04-08 02:16:29 +0300
committerTiago Conceição <Tiago_caza@hotmail.com>2021-04-08 02:16:29 +0300
commitf914d77538c693155de9333d746d29d6c9958178 (patch)
tree36d72a80c6b209cdbd9dc9186293259102e892fe
parentbdcd58f93d4f15951b68de6995e31d7d5b203e3b (diff)
v2.8.4v2.8.4
* (Improvement) Layers: "IsBottomLayer" property will now computing the value taking the height into consideration instead of it index, this allow to identify the real bottom layers when using multiple layers with same heights * (Fix) GCode Builder: Finish print lift to top was setting the incorrect feedrate if the file format is not in mm/m speed units * **Operations:** * **Exposure time finder:** * Add option to "Also set light-off delay to zero" when "Do not perform the lifting sequence for layers with same Z positioning" is enabled * Layers heights with more than 3 decimals was limiting the layer generation to 2 decimals leading to wrong the layer thickness * Allow set layer heights with 3 decimals * **Elephant foot:** * Bottom and normal layers count was showing with decimals * Allow set layer heights with 3 decimals * XYZ Accuracy: Allow set layer heights with 3 decimals * Tolerance XYZ: Allow set layer heights with 3 decimals * Grayscale: Allow set layer heights with 3 decimals * Stress tower: Allow set layer heights with 3 decimals * Calculator - Optimal model tilt: Allow layer heights with 3 decimals
-rw-r--r--CHANGELOG.md18
-rw-r--r--UVtools.Core/FileFormats/ZCodeFile.cs3
-rw-r--r--UVtools.Core/GCode/GCodeBuilder.cs15
-rw-r--r--UVtools.Core/Layer/Layer.cs5
-rw-r--r--UVtools.Core/Layer/LayerManager.cs2
-rw-r--r--UVtools.Core/Operations/OperationCalculator.cs2
-rw-r--r--UVtools.Core/Operations/OperationCalibrateExposureFinder.cs16
-rw-r--r--UVtools.Core/Operations/OperationLayerReHeight.cs8
-rw-r--r--UVtools.Core/UVtools.Core.csproj2
-rw-r--r--UVtools.WPF/Controls/Calibrators/CalibrateElephantFootControl.axaml7
-rw-r--r--UVtools.WPF/Controls/Calibrators/CalibrateExposureFinderControl.axaml55
-rw-r--r--UVtools.WPF/Controls/Calibrators/CalibrateGrayscaleControl.axaml6
-rw-r--r--UVtools.WPF/Controls/Calibrators/CalibrateStressTowerControl.axaml22
-rw-r--r--UVtools.WPF/Controls/Calibrators/CalibrateToleranceControl.axaml163
-rw-r--r--UVtools.WPF/Controls/Calibrators/CalibrateXYZAccuracyControl.axaml24
-rw-r--r--UVtools.WPF/Controls/Tools/ToolCalculatorControl.axaml27
-rw-r--r--UVtools.WPF/Controls/Tools/ToolDynamicLayerHeightControl.axaml33
-rw-r--r--UVtools.WPF/Controls/Tools/ToolRotateControl.axaml2
-rw-r--r--UVtools.WPF/UVtools.WPF.csproj2
-rw-r--r--UVtools.WPF/Windows/SettingsWindow.axaml4
20 files changed, 146 insertions, 270 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 81741cf..3336159 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,23 @@
# Changelog
+## 08/04/2021 - v2.8.4
+
+* (Improvement) Layers: "IsBottomLayer" property will now computing the value taking the height into consideration instead of it index, this allow to identify the real bottom layers when using multiple layers with same heights
+* (Fix) GCode Builder: Finish print lift to top was setting the incorrect feedrate if the file format is not in mm/m speed units
+* **Operations:**
+ * **Exposure time finder:**
+ * Add option to "Also set light-off delay to zero" when "Do not perform the lifting sequence for layers with same Z positioning" is enabled
+ * Layers heights with more than 3 decimals was limiting the layer generation to 2 decimals leading to wrong the layer thickness
+ * Allow set layer heights with 3 decimals
+ * **Elephant foot:**
+ * Bottom and normal layers count was showing with decimals
+ * Allow set layer heights with 3 decimals
+ * XYZ Accuracy: Allow set layer heights with 3 decimals
+ * Tolerance XYZ: Allow set layer heights with 3 decimals
+ * Grayscale: Allow set layer heights with 3 decimals
+ * Stress tower: Allow set layer heights with 3 decimals
+ * Calculator - Optimal model tilt: Allow layer heights with 3 decimals
+
## 07/04/2021 - v2.8.3
* File formats: Sanitize and check layers on encoding/saving file, will thrown a error and prevent the save if found any
diff --git a/UVtools.Core/FileFormats/ZCodeFile.cs b/UVtools.Core/FileFormats/ZCodeFile.cs
index 86e08e3..4d42c1d 100644
--- a/UVtools.Core/FileFormats/ZCodeFile.cs
+++ b/UVtools.Core/FileFormats/ZCodeFile.cs
@@ -426,6 +426,7 @@ namespace UVtools.Core.FileFormats
#endregion
+ #region Constructor
public ZCodeFile()
{
GCode.UseTailComma = true;
@@ -435,7 +436,9 @@ namespace UVtools.Core.FileFormats
GCode.GCodeTimeUnit = GCodeBuilder.GCodeTimeUnits.Milliseconds;
GCode.GCodeShowImageType = GCodeBuilder.GCodeShowImageTypes.FilenameNonZeroPNG;
GCode.MaxLEDPower = MaxLEDPower;
+ GCode.CommandClearImage.Enabled = false;
}
+ #endregion
#region Methods
diff --git a/UVtools.Core/GCode/GCodeBuilder.cs b/UVtools.Core/GCode/GCodeBuilder.cs
index ebe238b..c59bb56 100644
--- a/UVtools.Core/GCode/GCodeBuilder.cs
+++ b/UVtools.Core/GCode/GCodeBuilder.cs
@@ -554,7 +554,18 @@ namespace UVtools.Core.GCode
break;
}
- AppendEndGCode(finalRaiseZPosition, slicerFile.LiftSpeed);
+ float endFeedRate = 0;
+ switch (GCodeSpeedUnit)
+ {
+ case GCodeSpeedUnits.MillimetersPerSecond:
+ endFeedRate = (float)Math.Round(slicerFile.RetractSpeed / 60, 2);
+ break;
+ case GCodeSpeedUnits.CentimetersPerMinute:
+ endFeedRate = (float)Math.Round(slicerFile.RetractSpeed / 10, 2);
+ break;
+ }
+
+ AppendEndGCode(finalRaiseZPosition, endFeedRate);
}
public void RebuildGCode(FileFormat slicerFile, object[] configs, string separator = ":")
@@ -769,7 +780,7 @@ namespace UVtools.Core.GCode
if (bottomLayer.LightPWM > 0) slicerFile.BottomLightPWM = bottomLayer.LightPWM;
}
- var normalLayer = slicerFile[slicerFile.LastLayerIndex];
+ var normalLayer = slicerFile.LastLayer;
if (normalLayer is not null)
{
if (normalLayer.ExposureTime > 0) slicerFile.ExposureTime = normalLayer.ExposureTime;
diff --git a/UVtools.Core/Layer/Layer.cs b/UVtools.Core/Layer/Layer.cs
index b01fc52..a5dc4e9 100644
--- a/UVtools.Core/Layer/Layer.cs
+++ b/UVtools.Core/Layer/Layer.cs
@@ -26,6 +26,9 @@ namespace UVtools.Core
{
#region Constants
public const byte HeightPrecision = 3;
+ public const decimal HeightPrecisionIncrement = 0.001M;
+ public const decimal MinimumHeight = 0.01M;
+ public const decimal MaximumHeight = 0.2M;
#endregion
#region Members
@@ -113,7 +116,7 @@ namespace UVtools.Core
}
}
- public bool IsBottomLayer => Index < ParentLayerManager.SlicerFile.BottomLayerCount;
+ public bool IsBottomLayer => (uint)(PositionZ / SlicerFile.LayerHeight) <= ParentLayerManager.SlicerFile.BottomLayerCount;
public bool IsNormalLayer => !IsBottomLayer;
/// <summary>
diff --git a/UVtools.Core/Layer/LayerManager.cs b/UVtools.Core/Layer/LayerManager.cs
index 1862223..1895bcd 100644
--- a/UVtools.Core/Layer/LayerManager.cs
+++ b/UVtools.Core/Layer/LayerManager.cs
@@ -520,7 +520,7 @@ namespace UVtools.Core
var layer = this[layerIndex];
if (this[layerIndex - 1].PositionZ != layer.PositionZ) continue;
layer.LiftHeight = 0;
- //if(zeroLightOffDelay) layer.LightOffDelay = 0;
+ if(zeroLightOffDelay) layer.LightOffDelay = 0;
}
SlicerFile?.RebuildGCode();
}
diff --git a/UVtools.Core/Operations/OperationCalculator.cs b/UVtools.Core/Operations/OperationCalculator.cs
index 68aa251..d4c0384 100644
--- a/UVtools.Core/Operations/OperationCalculator.cs
+++ b/UVtools.Core/Operations/OperationCalculator.cs
@@ -390,7 +390,7 @@ namespace UVtools.Core.Operations
get => _layerHeight;
set
{
- if (!RaiseAndSetIfChanged(ref _layerHeight, value)) return;
+ if (!RaiseAndSetIfChanged(ref _layerHeight, Layer.RoundHeight(value))) return;
RaisePropertyChanged(nameof(XYResolution));
RaisePropertyChanged(nameof(XYResolutionUm));
RaisePropertyChanged(nameof(TiltAngleDegrees));
diff --git a/UVtools.Core/Operations/OperationCalibrateExposureFinder.cs b/UVtools.Core/Operations/OperationCalibrateExposureFinder.cs
index e9bdbb0..7f60893 100644
--- a/UVtools.Core/Operations/OperationCalibrateExposureFinder.cs
+++ b/UVtools.Core/Operations/OperationCalibrateExposureFinder.cs
@@ -78,6 +78,7 @@ namespace UVtools.Core.Operations
private decimal _multipleLayerHeightStep = 0.01m;
private bool _dontLiftSamePositionedLayers;
+ private bool _zeroLightOffSamePositionedLayers;
private bool _multipleExposures;
private ExposureGenTypes _exposureGenType = ExposureGenTypes.Linear;
private bool _exposureGenIgnoreBaseExposure;
@@ -600,6 +601,12 @@ namespace UVtools.Core.Operations
set => RaiseAndSetIfChanged(ref _dontLiftSamePositionedLayers, value);
}
+ public bool ZeroLightOffSamePositionedLayers
+ {
+ get => _zeroLightOffSamePositionedLayers;
+ set => RaiseAndSetIfChanged(ref _zeroLightOffSamePositionedLayers, value);
+ }
+
public bool MultipleExposures
{
get => _multipleExposures;
@@ -758,7 +765,7 @@ namespace UVtools.Core.Operations
private bool Equals(OperationCalibrateExposureFinder other)
{
- return _layerHeight == other._layerHeight && _bottomLayers == other._bottomLayers && _bottomExposure == other._bottomExposure && _normalExposure == other._normalExposure && _topBottomMargin == other._topBottomMargin && _leftRightMargin == other._leftRightMargin && _chamferLayers == other._chamferLayers && _erodeBottomIterations == other._erodeBottomIterations && _partMargin == other._partMargin && _enableAntiAliasing == other._enableAntiAliasing && _mirrorOutput == other._mirrorOutput && _baseHeight == other._baseHeight && _featuresHeight == other._featuresHeight && _featuresMargin == other._featuresMargin && _unitOfMeasure == other._unitOfMeasure && _holeDiametersPx == other._holeDiametersPx && _holeDiametersMm == other._holeDiametersMm && _barSpacing == other._barSpacing && _barLength == other._barLength && _barVerticalSplitter == other._barVerticalSplitter && _barThicknessesPx == other._barThicknessesPx && _barThicknessesMm == other._barThicknessesMm && _textFont == other._textFont && _textScale.Equals(other._textScale) && _textThickness == other._textThickness && _text == other._text && _multipleBrightness == other._multipleBrightness && _multipleBrightnessExcludeFrom == other._multipleBrightnessExcludeFrom && _multipleBrightnessValues == other._multipleBrightnessValues && _dontLiftSamePositionedLayers == other._dontLiftSamePositionedLayers && _multipleLayerHeight == other._multipleLayerHeight && _multipleLayerHeightMaximum == other._multipleLayerHeightMaximum && _multipleLayerHeightStep == other._multipleLayerHeightStep && _multipleExposures == other._multipleExposures && _exposureGenType == other._exposureGenType && _exposureGenIgnoreBaseExposure == other._exposureGenIgnoreBaseExposure && _exposureGenBottomStep == other._exposureGenBottomStep && _exposureGenNormalStep == other._exposureGenNormalStep && _exposureGenTests == other._exposureGenTests && Equals(_exposureTable, other._exposureTable) && _holeShape == other._holeShape;
+ return _layerHeight == other._layerHeight && _bottomLayers == other._bottomLayers && _bottomExposure == other._bottomExposure && _normalExposure == other._normalExposure && _topBottomMargin == other._topBottomMargin && _leftRightMargin == other._leftRightMargin && _chamferLayers == other._chamferLayers && _erodeBottomIterations == other._erodeBottomIterations && _partMargin == other._partMargin && _enableAntiAliasing == other._enableAntiAliasing && _mirrorOutput == other._mirrorOutput && _baseHeight == other._baseHeight && _featuresHeight == other._featuresHeight && _featuresMargin == other._featuresMargin && _unitOfMeasure == other._unitOfMeasure && _holeDiametersPx == other._holeDiametersPx && _holeDiametersMm == other._holeDiametersMm && _barSpacing == other._barSpacing && _barLength == other._barLength && _barVerticalSplitter == other._barVerticalSplitter && _barThicknessesPx == other._barThicknessesPx && _barThicknessesMm == other._barThicknessesMm && _textFont == other._textFont && _textScale.Equals(other._textScale) && _textThickness == other._textThickness && _text == other._text && _multipleBrightness == other._multipleBrightness && _multipleBrightnessExcludeFrom == other._multipleBrightnessExcludeFrom && _multipleBrightnessValues == other._multipleBrightnessValues && _dontLiftSamePositionedLayers == other._dontLiftSamePositionedLayers && _zeroLightOffSamePositionedLayers == other._zeroLightOffSamePositionedLayers && _multipleLayerHeight == other._multipleLayerHeight && _multipleLayerHeightMaximum == other._multipleLayerHeightMaximum && _multipleLayerHeightStep == other._multipleLayerHeightStep && _multipleExposures == other._multipleExposures && _exposureGenType == other._exposureGenType && _exposureGenIgnoreBaseExposure == other._exposureGenIgnoreBaseExposure && _exposureGenBottomStep == other._exposureGenBottomStep && _exposureGenNormalStep == other._exposureGenNormalStep && _exposureGenTests == other._exposureGenTests && Equals(_exposureTable, other._exposureTable) && _holeShape == other._holeShape;
}
public override bool Equals(object obj)
@@ -802,6 +809,7 @@ namespace UVtools.Core.Operations
hashCode.Add(_multipleLayerHeightMaximum);
hashCode.Add(_multipleLayerHeightStep);
hashCode.Add(_dontLiftSamePositionedLayers);
+ hashCode.Add(_zeroLightOffSamePositionedLayers);
hashCode.Add(_multipleExposures);
hashCode.Add((int) _exposureGenType);
hashCode.Add(_exposureGenIgnoreBaseExposure);
@@ -1156,7 +1164,7 @@ namespace UVtools.Core.Operations
if (!layerDifference.IsInteger()) return; // Not at right height to process with layer height
//Debug.WriteLine($"{currentHeight} / {layerHeight} = {layerDifference}, Floor={Math.Floor(layerDifference)}");
- using Mat mat = EmguExtensions.InitMat(SlicerFile.Resolution);
+ using var mat = EmguExtensions.InitMat(SlicerFile.Resolution);
int layerCountOnHeight = (int)Math.Floor(currentHeight / layerHeight);
bool isBottomLayer = layerCountOnHeight <= _bottomLayers;
bool isBaseLayer = currentHeight <= _baseHeight;
@@ -1263,7 +1271,7 @@ namespace UVtools.Core.Operations
progress++;
}
- for (decimal currentHeight = _layerHeight; currentHeight <= totalHeight; currentHeight += 0.01m)
+ for (decimal currentHeight = _layerHeight; currentHeight <= totalHeight; currentHeight += Layer.HeightPrecisionIncrement)
{
currentHeight = Layer.RoundHeight(currentHeight);
for (decimal layerHeight = _layerHeight; layerHeight <= endLayerHeight; layerHeight += _multipleLayerHeightStep)
@@ -1302,7 +1310,7 @@ namespace UVtools.Core.Operations
if (_dontLiftSamePositionedLayers)
{
- SlicerFile.LayerManager.SetNoLiftForSamePositionedLayers();
+ SlicerFile.LayerManager.SetNoLiftForSamePositionedLayers(_zeroLightOffSamePositionedLayers);
}
if (_mirrorOutput)
diff --git a/UVtools.Core/Operations/OperationLayerReHeight.cs b/UVtools.Core/Operations/OperationLayerReHeight.cs
index 7b26095..a7fa89e 100644
--- a/UVtools.Core/Operations/OperationLayerReHeight.cs
+++ b/UVtools.Core/Operations/OperationLayerReHeight.cs
@@ -78,9 +78,9 @@ namespace UVtools.Core.Operations
var list = new List<OperationLayerReHeightItem>();
for (byte i = 2; i < 255; i++) // Go lower heights
{
- if (layerHeight / i < 0.01m) break;
+ if (layerHeight / i < Layer.MinimumHeight) break;
if ((layerCount * (decimal)i).DecimalDigits() > 0) continue; // Cant multiply layers, no half layers!
- if ((layerHeight / i).DecimalDigits() > 3) continue; // Cant divide height, more than 3 digits
+ if ((layerHeight / i).DecimalDigits() > Layer.HeightPrecision) continue; // Cant divide height, more than 3 digits
var item = new OperationLayerReHeightItem(false, i, Layer.RoundHeight(layerHeight / i), layerCount * i);
list.Add(item);
@@ -88,9 +88,9 @@ namespace UVtools.Core.Operations
for (byte i = 2; i < 255; i++) // Go higher heights
{
- if (layerHeight * i > 0.20m) break;
+ if (layerHeight * i > Layer.MaximumHeight) break;
if ((layerCount / (decimal)i).DecimalDigits() > 0) continue; // Cant divide layers, no half layers!
- if ((layerHeight * i).DecimalDigits() > 3) continue; // Cant multiply height, more than 3 digits
+ if ((layerHeight * i).DecimalDigits() > Layer.HeightPrecision) continue; // Cant multiply height, more than 3 digits
var item = new OperationLayerReHeightItem(true, i, Layer.RoundHeight(layerHeight * i), layerCount / i);
list.Add(item);
diff --git a/UVtools.Core/UVtools.Core.csproj b/UVtools.Core/UVtools.Core.csproj
index e0cf444..01dd2dc 100644
--- a/UVtools.Core/UVtools.Core.csproj
+++ b/UVtools.Core/UVtools.Core.csproj
@@ -10,7 +10,7 @@
<RepositoryUrl>https://github.com/sn4k3/UVtools</RepositoryUrl>
<PackageProjectUrl>https://github.com/sn4k3/UVtools</PackageProjectUrl>
<Description>MSLA/DLP, file analysis, calibration, repair, conversion and manipulation</Description>
- <Version>2.8.3</Version>
+ <Version>2.8.4</Version>
<Copyright>Copyright © 2020 PTRTECH</Copyright>
<PackageIcon>UVtools.png</PackageIcon>
<Platforms>AnyCPU;x64</Platforms>
diff --git a/UVtools.WPF/Controls/Calibrators/CalibrateElephantFootControl.axaml b/UVtools.WPF/Controls/Calibrators/CalibrateElephantFootControl.axaml
index 416e9d9..82863cf 100644
--- a/UVtools.WPF/Controls/Calibrators/CalibrateElephantFootControl.axaml
+++ b/UVtools.WPF/Controls/Calibrators/CalibrateElephantFootControl.axaml
@@ -20,7 +20,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.LayerHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -39,9 +39,7 @@
Increment="1"
Minimum="1"
Maximum="1000"
- FormatString="F02"
- Value="{Binding Operation.BottomLayers}"
- />
+ Value="{Binding Operation.BottomLayers}"/>
<TextBlock Grid.Row="2" Grid.Column="4"
VerticalAlignment="Center"
Text="{Binding Operation.BottomHeight, StringFormat=\{0:F3\}mm}"/>
@@ -58,7 +56,6 @@
Increment="1"
Minimum="1"
Maximum="1000"
- FormatString="F02"
Value="{Binding Operation.NormalLayers}"/>
<TextBlock Grid.Row="2" Grid.Column="10"
IsEnabled="{Binding !Operation.SyncLayers}"
diff --git a/UVtools.WPF/Controls/Calibrators/CalibrateExposureFinderControl.axaml b/UVtools.WPF/Controls/Calibrators/CalibrateExposureFinderControl.axaml
index 4f428d7..5691f10 100644
--- a/UVtools.WPF/Controls/Calibrators/CalibrateExposureFinderControl.axaml
+++ b/UVtools.WPF/Controls/Calibrators/CalibrateExposureFinderControl.axaml
@@ -29,7 +29,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayWidth}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -44,7 +44,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -57,9 +57,8 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
- Value="{Binding Operation.LayerHeight}"
- />
+ FormatString="F3"
+ Value="{Binding Operation.LayerHeight}"/>
<TextBlock Grid.Row="2" Grid.Column="4"
VerticalAlignment="Center"
Text="mm"/>
@@ -85,7 +84,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BottomExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="4"
VerticalAlignment="Center"
@@ -99,7 +98,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.NormalExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="10"
VerticalAlignment="Center"
@@ -201,7 +200,7 @@
Increment="0.5"
Minimum="0.3"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BaseHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -215,7 +214,7 @@
Increment="0.5"
Minimum="0.5"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.FeaturesHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -229,7 +228,7 @@
Increment="0.5"
Minimum="1"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.FeaturesMargin}"/>
<TextBlock Grid.Row="0" Grid.Column="16"
VerticalAlignment="Center"
@@ -302,7 +301,7 @@
Increment="0.5"
Minimum="0.01"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BarSpacing}"/>
<TextBlock Grid.Row="10" Grid.Column="4"
VerticalAlignment="Center"
@@ -317,7 +316,7 @@
Increment="0.5"
Minimum="0.01"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BarLength}"/>
<TextBlock Grid.Row="10" Grid.Column="10"
VerticalAlignment="Center"
@@ -383,7 +382,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.TextScale}"/>
<TextBlock Grid.Row="16" Grid.Column="10"
VerticalAlignment="Center"
@@ -463,7 +462,7 @@
Increment="0.10"
Minimum="0.10"
Maximum="{Binding Operation.NormalExposure}"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.MultipleBrightnessGenExposureTime}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
@@ -560,7 +559,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.LayerHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -573,7 +572,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.1"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.MultipleLayerHeightStep}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -586,7 +585,7 @@
Increment="0.01"
Minimum="{Binding Operation.LayerHeight}"
Maximum="0.3"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.MultipleLayerHeightMaximum}"/>
<TextBlock Grid.Row="0" Grid.Column="16"
VerticalAlignment="Center"
@@ -614,17 +613,25 @@
<TextBlock Text="Only few printers support this, make sure your is supported or else it will print a malformed model.
&#x0a;After this, do not apply any modification which reconstruct the z positions of the layers."/>
- <StackPanel Orientation="Horizontal" Spacing="20">
<CheckBox
Content="Enable - For advanced users only!"
IsChecked="{Binding Operation.MultipleExposures}"/>
+ <StackPanel Orientation="Horizontal" Spacing="20">
+
<CheckBox
- ToolTip.Tip="The lift height will be set to 0 for sequential layers that share same z position.
-&#x0a;Some printers may not support this and always require a lift after each layer."
+ ToolTip.Tip="The lift height will be set to 0 for sequential layers that share same z position, saving moves and time.
+&#x0a;Some printers may not support this and always require a lift after each layer, in that case turning this on will not affect the print."
Content="Do not perform the lifting sequence for layers with same Z positioning"
IsEnabled="{Binding Operation.MultipleExposures}"
IsChecked="{Binding Operation.DontLiftSamePositionedLayers}"/>
+
+ <CheckBox
+ ToolTip.Tip="Sets the light-off delay to zero for each sequential layers with no lift's to save that additional time.
+&#x0a;Note that without a lift and a delay the UV LED and LCD will be almost always ON, that can lead to overheat and wear the LCD faster."
+ Content="Also set light-off delay to zero"
+ IsEnabled="{Binding Operation.DontLiftSamePositionedLayers}"
+ IsChecked="{Binding Operation.ZeroLightOffSamePositionedLayers}"/>
</StackPanel>
<TextBlock Text="Automatic exposure generation:"
@@ -668,7 +675,7 @@
Increment="0.01"
Minimum="0"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ExposureGenBottomStep}"/>
<TextBlock Grid.Row="2" Grid.Column="4"
VerticalAlignment="Center"
@@ -682,7 +689,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ExposureGenNormalStep}"/>
<TextBlock Grid.Row="2" Grid.Column="10"
VerticalAlignment="Center"
@@ -729,7 +736,7 @@
Increment="0.1"
Minimum="0.5"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ExposureGenManualBottom}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -742,7 +749,7 @@
Increment="0.1"
Minimum="0.1"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ExposureGenManualNormal}"/>
<TextBlock Grid.Row="0" Grid.Column="16"
VerticalAlignment="Center"
diff --git a/UVtools.WPF/Controls/Calibrators/CalibrateGrayscaleControl.axaml b/UVtools.WPF/Controls/Calibrators/CalibrateGrayscaleControl.axaml
index 76c82ff..a8de317 100644
--- a/UVtools.WPF/Controls/Calibrators/CalibrateGrayscaleControl.axaml
+++ b/UVtools.WPF/Controls/Calibrators/CalibrateGrayscaleControl.axaml
@@ -19,7 +19,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.LayerHeight}"
/>
<TextBlock Grid.Row="0" Grid.Column="4"
@@ -100,7 +100,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BottomExposure}"/>
<TextBlock Grid.Row="6" Grid.Column="4"
VerticalAlignment="Center"
@@ -114,7 +114,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.NormalExposure}"/>
<TextBlock Grid.Row="6" Grid.Column="10"
VerticalAlignment="Center"
diff --git a/UVtools.WPF/Controls/Calibrators/CalibrateStressTowerControl.axaml b/UVtools.WPF/Controls/Calibrators/CalibrateStressTowerControl.axaml
index 584caa5..d409854 100644
--- a/UVtools.WPF/Controls/Calibrators/CalibrateStressTowerControl.axaml
+++ b/UVtools.WPF/Controls/Calibrators/CalibrateStressTowerControl.axaml
@@ -29,7 +29,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayWidth}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -44,7 +44,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -58,7 +58,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.LayerHeight}"
/>
<TextBlock Grid.Row="2" Grid.Column="4"
@@ -86,7 +86,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BottomExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="4"
VerticalAlignment="Center"
@@ -100,7 +100,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.NormalExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="10"
VerticalAlignment="Center"
@@ -114,7 +114,7 @@
Increment="1"
Minimum="0"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BaseHeight}"/>
<TextBlock Grid.Row="6" Grid.Column="4"
VerticalAlignment="Center"
@@ -128,7 +128,7 @@
Increment="1"
Minimum="1"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BaseDiameter}"/>
<TextBlock Grid.Row="6" Grid.Column="10"
VerticalAlignment="Center"
@@ -142,7 +142,7 @@
Increment="1"
Minimum="0"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CeilHeight}"/>
<TextBlock Grid.Row="8" Grid.Column="4"
VerticalAlignment="Center"
@@ -157,7 +157,7 @@
Increment="1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BodyHeight}"/>
<TextBlock Grid.Row="8" Grid.Column="10"
VerticalAlignment="Center"
@@ -259,7 +259,7 @@
Increment="1"
Minimum="0.1"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.SpiralDiameter}"/>
<TextBlock Grid.Row="2" Grid.Column="4"
Text="mm"
@@ -274,7 +274,7 @@
Increment="1"
Minimum="0.01"
Maximum="359.99"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.SpiralAngleStepPerLayer}"/>
<TextBlock Grid.Row="2" Grid.Column="10"
Text="º/layer"
diff --git a/UVtools.WPF/Controls/Calibrators/CalibrateToleranceControl.axaml b/UVtools.WPF/Controls/Calibrators/CalibrateToleranceControl.axaml
index 909fe77..35a190e 100644
--- a/UVtools.WPF/Controls/Calibrators/CalibrateToleranceControl.axaml
+++ b/UVtools.WPF/Controls/Calibrators/CalibrateToleranceControl.axaml
@@ -29,7 +29,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayWidth}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -44,7 +44,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -58,7 +58,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.LayerHeight}"
/>
<TextBlock Grid.Row="2" Grid.Column="4"
@@ -86,7 +86,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BottomExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="4"
VerticalAlignment="Center"
@@ -100,7 +100,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.NormalExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="10"
VerticalAlignment="Center"
@@ -114,7 +114,7 @@
Increment="1"
Minimum="5"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ZSize}"/>
<TextBlock Grid.Row="6" Grid.Column="4"
VerticalAlignment="Center"
@@ -264,7 +264,7 @@
Increment="1.0"
Minimum="2"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.FemaleDiameter}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -278,7 +278,7 @@
Increment="1.0"
Minimum="2"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.FemaleHoleDiameter}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -335,7 +335,7 @@
Increment="0.01"
Minimum="-1000"
Maximum="0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.MaleThinnerOffset}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -349,7 +349,7 @@
Increment="0.01"
Minimum="-1000"
Maximum="-0.01"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.MaleThinnerStep}"/>
<TextBlock Grid.Row="0" Grid.Column="16"
VerticalAlignment="Center"
@@ -376,7 +376,7 @@
Increment="0.01"
Minimum="0"
Maximum="1000"
- FormatString="F02"
+ FormatString="F2"
IsEnabled="{Binding !Operation.FuseParts}"
Value="{Binding Operation.MaleThickerOffset}"/>
<TextBlock Grid.Row="2" Grid.Column="10"
@@ -394,7 +394,7 @@
Minimum="0.01"
Maximum="1000"
IsEnabled="{Binding !Operation.FuseParts}"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.MaleThickerStep}"/>
<TextBlock Grid.Row="2" Grid.Column="16"
VerticalAlignment="Center"
@@ -409,144 +409,7 @@
</Expander>
</Border>
- <!--
- <Border BorderBrush="Black" BorderThickness="1" Padding="5">
- <Expander IsExpanded="True">
- <Expander.Header>
- <TextBlock Text="Step 4: Validate the printed model with your measures"
- FontWeight="Bold"
- Cursor="Hand"/>
- </Expander.Header>
-
- <StackPanel Spacing="10">
-
- <StackPanel Orientation="Horizontal" Spacing="5">
- <TextBlock VerticalAlignment="Center" Text="X:"/>
- <NumericUpDown
-
- Increment="1"
- Minimum="0"
- Maximum="100"
- Width="100"
- FormatString="F02"
- Value="{Binding Operation.ObservedXSize}"/>
- <TextBlock VerticalAlignment="Center" Text="mm"/>
-
- <TextBlock VerticalAlignment="Center" Text="Y:"
- Margin="20,0,0,0"/>
- <NumericUpDown
-
- Increment="1"
- Minimum="0"
- Maximum="100"
- Width="100"
- FormatString="F02"
- Value="{Binding Operation.ObservedYSize}"/>
- <TextBlock VerticalAlignment="Center" Text="mm"/>
-
- <TextBlock VerticalAlignment="Center" Text="Z:"
- Margin="20,0,0,0"/>
- <NumericUpDown
-
- Increment="1"
- Minimum="0"
- Maximum="100"
- Width="100"
- FormatString="F02"
- Value="{Binding Operation.ObservedZSize}"/>
- <TextBlock VerticalAlignment="Center" Text="mm"/>
- </StackPanel>
-
- <Grid RowDefinitions="Auto,10,Auto,10,Auto"
- ColumnDefinitions="Auto,10,Auto">
- <TextBlock Grid.Row="0" Grid.Column="0"
- VerticalAlignment="Center"
- FontWeight="Bold"
- ToolTip.Tip="The calculated expected size for the part based on your input"
- Text="Expected size:"/>
-
- <TextBlock Grid.Row="0" Grid.Column="2" FontWeight="Bold"
- ToolTip.Tip="The calculated expected size for the part based on your input">
- <TextBlock.Text>
- <MultiBinding StringFormat="\{0\}mm x \{1\}mm x \{2\}mm">
- <Binding Path="Operation.RealXSize"/>
- <Binding Path="Operation.RealYSize"/>
- <Binding Path="Operation.RealZSize"/>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
-
- <TextBlock Grid.Row="2" Grid.Column="0"
- VerticalAlignment="Center"
- IsVisible="{Binding Operation.HollowModel}"
- FontWeight="Bold"
- ToolTip.Tip="The calculated expected wall thickness size for the part based on your input"
- Text="Expected wall size:"/>
-
- <TextBlock Grid.Row="2" Grid.Column="2" FontWeight="Bold"
- IsVisible="{Binding Operation.HollowModel}"
- ToolTip.Tip="The calculated expected wall thickness size for the part based on your input">
- <TextBlock.Text>
- <MultiBinding StringFormat="\{0\}mm x \{1\}mm">
- <Binding Path="Operation.WallThicknessRealXSize"/>
- <Binding Path="Operation.WallThicknessRealYSize"/>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
-
- <TextBlock Grid.Row="4" Grid.Column="0"
- VerticalAlignment="Center"
- FontWeight="Bold"
- ToolTip.Tip="The resultant scale factor you should resize your model with"
- Text="Resultant scale factor:"/>
-
- <TextBlock Grid.Row="4" Grid.Column="2" FontWeight="Bold"
- ToolTip.Tip="The resultant scale factor you should resize your model with">
- <TextBlock.Text>
- <MultiBinding StringFormat="\{0\}% x \{1\}% x \{2\}%">
- <Binding Path="Operation.ScaleXFactor"/>
- <Binding Path="Operation.ScaleYFactor"/>
- <Binding Path="Operation.ScaleZFactor"/>
- </MultiBinding>
- </TextBlock.Text>
- </TextBlock>
- </Grid>
- </StackPanel>
-
- </Expander>
- </Border>
-
- <Border BorderBrush="Black" BorderThickness="1" Padding="5">
- <Expander IsExpanded="True">
- <Expander.Header>
- <TextBlock Text="Step 5: Save a resize profile with the results"
- FontWeight="Bold"
- Cursor="Hand"/>
- </Expander.Header>
-
- <Grid ColumnDefinitions="Auto,10,*,5,Auto,5,Auto">
- <TextBlock VerticalAlignment="Center"
- Text="Profile name:"/>
- <TextBox Grid.Column="2" VerticalAlignment="Center"
- IsEnabled="{Binding IsProfileAddEnabled}"
- Text="{Binding ProfileName}"/>
- <Button Grid.Column="4" VerticalAlignment="Center"
- IsEnabled="{Binding IsProfileAddEnabled}"
- Command="{Binding AutoNameProfile}"
- ToolTip.Tip="Auto name the profile with the input values.
-&#x0a;Rename MyPrinterX to your printer name and MyResinX to your resin name."
- Content="Auto name"/>
- <Button Grid.Column="6" VerticalAlignment="Center"
- IsEnabled="{Binding IsProfileAddEnabled}"
- Command="{Binding AddProfile}">
- <Image Source="/Assets/Icons/plus-16x16.png"/>
- </Button>
- </Grid>
- </Expander>
- </Border>
- !-->
-
-
+
</StackPanel>
<Image Grid.Column="2"
diff --git a/UVtools.WPF/Controls/Calibrators/CalibrateXYZAccuracyControl.axaml b/UVtools.WPF/Controls/Calibrators/CalibrateXYZAccuracyControl.axaml
index 1d96018..97d2126 100644
--- a/UVtools.WPF/Controls/Calibrators/CalibrateXYZAccuracyControl.axaml
+++ b/UVtools.WPF/Controls/Calibrators/CalibrateXYZAccuracyControl.axaml
@@ -30,7 +30,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayWidth}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -45,7 +45,7 @@
Increment="0.1"
Minimum="0"
Maximum="10000"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.DisplayHeight}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"
@@ -59,7 +59,7 @@
Increment="0.01"
Minimum="0.01"
Maximum="0.30"
- FormatString="F02"
+ FormatString="F3"
Value="{Binding Operation.LayerHeight}"
/>
<TextBlock Grid.Row="2" Grid.Column="4"
@@ -87,7 +87,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.BottomExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="4"
VerticalAlignment="Center"
@@ -101,7 +101,7 @@
Increment="0.5"
Minimum="0.1"
Maximum="200"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.NormalExposure}"/>
<TextBlock Grid.Row="4" Grid.Column="10"
VerticalAlignment="Center"
@@ -115,7 +115,7 @@
Increment="1"
Minimum="5"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.XSize}"/>
<TextBlock Grid.Row="6" Grid.Column="4"
VerticalAlignment="Center"
@@ -129,7 +129,7 @@
Increment="1"
Minimum="5"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.YSize}"/>
<TextBlock Grid.Row="6" Grid.Column="10"
VerticalAlignment="Center"
@@ -143,7 +143,7 @@
Increment="1"
Minimum="5"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ZSize}"/>
<TextBlock Grid.Row="8" Grid.Column="4"
VerticalAlignment="Center"
@@ -213,7 +213,7 @@
Increment="0.5"
Minimum="0"
Maximum="100"
- FormatString="F02"
+ FormatString="F2"
IsEnabled="{Binding Operation.HollowModel}"
Value="{Binding Operation.WallThickness}"/>
<TextBlock Grid.Row="12" Grid.Column="10"
@@ -362,7 +362,7 @@
Minimum="0"
Maximum="100"
Width="150"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ObservedXSize}"/>
<TextBlock VerticalAlignment="Center" Text="mm"/>
@@ -374,7 +374,7 @@
Minimum="0"
Maximum="100"
Width="150"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ObservedYSize}"/>
<TextBlock VerticalAlignment="Center" Text="mm"/>
@@ -386,7 +386,7 @@
Minimum="0"
Maximum="100"
Width="150"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.ObservedZSize}"/>
<TextBlock VerticalAlignment="Center" Text="mm"/>
</StackPanel>
diff --git a/UVtools.WPF/Controls/Tools/ToolCalculatorControl.axaml b/UVtools.WPF/Controls/Tools/ToolCalculatorControl.axaml
index 2610afd..c179b3b 100644
--- a/UVtools.WPF/Controls/Tools/ToolCalculatorControl.axaml
+++ b/UVtools.WPF/Controls/Tools/ToolCalculatorControl.axaml
@@ -85,7 +85,7 @@
Minimum="0"
Maximum="100000"
Increment="0.01"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcMillimetersToPixels.DisplayWidth}"
/>
<TextBlock
@@ -107,7 +107,7 @@
Minimum="0"
Maximum="100000"
Increment="0.01"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcMillimetersToPixels.DisplayHeight}"
/>
<TextBlock
@@ -136,7 +136,7 @@
Minimum="0"
Maximum="100000"
Increment="0.5"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcMillimetersToPixels.Millimeters}"
/>
<TextBlock
@@ -271,7 +271,7 @@
Minimum="0"
Maximum="1000"
Increment="1.0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.LiftHeight}"/>
<TextBlock
Grid.Row="0"
@@ -292,7 +292,7 @@
Minimum="0"
Maximum="1000"
Increment="1.0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.LiftSpeed}"/>
<TextBlock
Grid.Row="2"
@@ -313,7 +313,7 @@
Minimum="0"
Maximum="1000"
Increment="1.0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.RetractSpeed}"/>
<TextBlock
Grid.Row="4"
@@ -334,7 +334,7 @@
Minimum="0"
Maximum="1000"
Increment="0.5"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.WaitTime}"/>
<TextBlock
Grid.Row="6"
@@ -413,7 +413,7 @@
Minimum="0"
Maximum="1000"
Increment="1.0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.BottomLiftHeight}"/>
<TextBlock
Grid.Row="0"
@@ -434,7 +434,7 @@
Minimum="0"
Maximum="1000"
Increment="1.0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.BottomLiftSpeed}"/>
<TextBlock
Grid.Row="2"
@@ -455,7 +455,7 @@
Minimum="0"
Maximum="1000"
Increment="0.5"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcLightOffDelay.BottomWaitTime}"/>
<TextBlock
Grid.Row="6"
@@ -587,7 +587,7 @@
Minimum="0"
Maximum="100000"
Increment="0.01"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcOptimalModelTilt.DisplayWidth}"
/>
<TextBlock
@@ -609,7 +609,7 @@
Minimum="0"
Maximum="100000"
Increment="0.01"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.CalcOptimalModelTilt.DisplayHeight}"
/>
<TextBlock
@@ -638,8 +638,7 @@
Minimum="0.01"
Maximum="0.20"
Increment="0.01"
- FormatString="F02"
-
+ FormatString="F3"
Value="{Binding Operation.CalcOptimalModelTilt.LayerHeight}"
/>
<TextBlock
diff --git a/UVtools.WPF/Controls/Tools/ToolDynamicLayerHeightControl.axaml b/UVtools.WPF/Controls/Tools/ToolDynamicLayerHeightControl.axaml
index 38e18af..731d1e6 100644
--- a/UVtools.WPF/Controls/Tools/ToolDynamicLayerHeightControl.axaml
+++ b/UVtools.WPF/Controls/Tools/ToolDynamicLayerHeightControl.axaml
@@ -10,39 +10,6 @@
<Grid RowDefinitions="Auto,0,Auto,10,Auto,10,Auto,10,Auto"
ColumnDefinitions="Auto,10,150,5,Auto,20,Auto,10,150,5,Auto">
- <!--
- <TextBlock
- Grid.Row="0" Grid.Column="0"
- VerticalAlignment="Center"
- ToolTip.Tip="The printer display width. Required to calculate the XY pixel resolution."
- Text="Display width:"/>
- <NumericUpDown Grid.Row="0" Grid.Column="2"
-
- Increment="0.1"
- Minimum="0"
- Maximum="10000"
- FormatString="F02"
- Value="{Binding Operation.DisplayWidth}"/>
- <TextBlock Grid.Row="0" Grid.Column="4"
- VerticalAlignment="Center"
- Text="mm"/>
-
- <TextBlock Grid.Row="0" Grid.Column="6"
- VerticalAlignment="Center"
- ToolTip.Tip="The printer display height. Required to calculate the XY pixel resolution."
- Text="Display height:"/>
- <NumericUpDown Grid.Row="0" Grid.Column="8"
-
- Increment="0.1"
- Minimum="0"
- Maximum="10000"
- FormatString="F02"
- Value="{Binding Operation.DisplayHeight}"/>
- <TextBlock Grid.Row="0" Grid.Column="10"
- VerticalAlignment="Center"
- Text="mm"/>
- !-->
-
<TextBlock Grid.Row="2" Grid.Column="0"
VerticalAlignment="Center"
ToolTip.Tip="Never use less than this minimum layer height, layers will always stack at least to this height."
diff --git a/UVtools.WPF/Controls/Tools/ToolRotateControl.axaml b/UVtools.WPF/Controls/Tools/ToolRotateControl.axaml
index 4181605..c83c242 100644
--- a/UVtools.WPF/Controls/Tools/ToolRotateControl.axaml
+++ b/UVtools.WPF/Controls/Tools/ToolRotateControl.axaml
@@ -11,7 +11,7 @@
Minimum="-359.99"
Maximum="359.99"
Increment="1.0"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Operation.AngleDegrees}"
/>
<TextBlock VerticalAlignment="Center" Text="degrees"/>
diff --git a/UVtools.WPF/UVtools.WPF.csproj b/UVtools.WPF/UVtools.WPF.csproj
index 192c8c1..14e4907 100644
--- a/UVtools.WPF/UVtools.WPF.csproj
+++ b/UVtools.WPF/UVtools.WPF.csproj
@@ -12,7 +12,7 @@
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<RepositoryUrl>https://github.com/sn4k3/UVtools</RepositoryUrl>
<RepositoryType>Git</RepositoryType>
- <Version>2.8.3</Version>
+ <Version>2.8.4</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
diff --git a/UVtools.WPF/Windows/SettingsWindow.axaml b/UVtools.WPF/Windows/SettingsWindow.axaml
index cd66987..1799cf3 100644
--- a/UVtools.WPF/Windows/SettingsWindow.axaml
+++ b/UVtools.WPF/Windows/SettingsWindow.axaml
@@ -1472,7 +1472,7 @@
Minimum="0"
Maximum="255"
Increment="0.5"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Settings.Automations.LightOffDelay}"/>
<TextBlock Grid.Row="0" Grid.Column="4"
VerticalAlignment="Center"
@@ -1489,7 +1489,7 @@
Minimum="0"
Maximum="255"
Increment="0.5"
- FormatString="F02"
+ FormatString="F2"
Value="{Binding Settings.Automations.BottomLightOffDelay}"/>
<TextBlock Grid.Row="0" Grid.Column="10"
VerticalAlignment="Center"