mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-09 01:52:32 +02:00
v2.17.0
- **Windows MSI:** - (Fix) Use the folder programs x64 instead of x86 for new installation path (#254) - (Improvement) Mark program and all files as x64 - (Improvement) Add UVtools logo to side panel and top banner - (Improvement) Add open-source logo to side panel - (Improvement) License text aligment and bold title - (Add) File format: OSLA / ODLP / OMSLA - Universal binary file format - (Add) Calibration - Lift height: Generates test models with various strategies and increments to measure the optimal lift height or peel forces for layers given the printed area - (Add) Layer Actions - Export layers to images (PNG, JPG/JPEG, JP2, TIF/TIFF, BMP, PBM, PGM, SR/RAS and SVG) - (Add) About box: License with link - (Add) Include a copy of the LICENSE on the packages - (Improvement) File formats: Implement `Wait time before cure` properties on file formats with light-off delay, when used it will calculate the right light-off delay with that extra time and set to `LightOffDelay` property - (Improvement) Change all date times to Utc instead of local - (Fix) Tool - Flip: 'Both' were not working correctly - (Fix) Linux: File 'UVtools.sh' with incorrect line break type, changed to \n (#258)
This commit is contained in:
@@ -15,7 +15,6 @@ using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Org.BouncyCastle.Asn1.Cms;
|
||||
using UVtools.Core.Extensions;
|
||||
using UVtools.Core.FileFormats;
|
||||
using UVtools.Core.Objects;
|
||||
@@ -89,10 +88,10 @@ namespace UVtools.Core.GCode
|
||||
|
||||
public enum GCodeShowImageTypes : byte
|
||||
{
|
||||
FilenameZeroPNG,
|
||||
FilenameNonZeroPNG,
|
||||
LayerIndexZero,
|
||||
LayerIndexNonZero,
|
||||
FilenamePng0Started,
|
||||
FilenamePng1Started,
|
||||
LayerIndex0Started,
|
||||
LayerIndex1Started,
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -103,7 +102,7 @@ namespace UVtools.Core.GCode
|
||||
private GCodePositioningTypes _gCodePositioningType = GCodePositioningTypes.Absolute;
|
||||
private GCodeTimeUnits _gCodeTimeUnit = GCodeTimeUnits.Milliseconds;
|
||||
private GCodeSpeedUnits _gCodeSpeedUnit = GCodeSpeedUnits.MillimetersPerMinute;
|
||||
private GCodeShowImageTypes _gCodeShowImageType = GCodeShowImageTypes.FilenameNonZeroPNG;
|
||||
private GCodeShowImageTypes _gCodeShowImageType = GCodeShowImageTypes.FilenamePng1Started;
|
||||
private bool _syncMovementsWithDelay;
|
||||
private bool _useTailComma = true;
|
||||
private bool _useComments = true;
|
||||
@@ -308,9 +307,7 @@ namespace UVtools.Core.GCode
|
||||
|
||||
public void AppendUVtools()
|
||||
{
|
||||
string arch = Environment.Is64BitOperatingSystem ? "64-bits" : "32-bits";
|
||||
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
AppendComment($"Generated by {About.Software} v{version.ToString(3)} {arch} @ {DateTime.Now}");
|
||||
AppendComment($"Generated by {About.Software} v{About.VersionStr} {About.Arch} @ {DateTime.UtcNow}");
|
||||
}
|
||||
|
||||
public void AppendStartGCode()
|
||||
@@ -538,19 +535,19 @@ namespace UVtools.Core.GCode
|
||||
|
||||
public string GetShowImageString(uint layerIndex) => _gCodeShowImageType switch
|
||||
{
|
||||
GCodeShowImageTypes.FilenameZeroPNG => $"{layerIndex}.png",
|
||||
GCodeShowImageTypes.FilenameNonZeroPNG => $"{layerIndex + 1}.png",
|
||||
GCodeShowImageTypes.LayerIndexZero => $"{layerIndex}",
|
||||
GCodeShowImageTypes.LayerIndexNonZero => $"{layerIndex + 1}",
|
||||
GCodeShowImageTypes.FilenamePng0Started => $"{layerIndex}.png",
|
||||
GCodeShowImageTypes.FilenamePng1Started => $"{layerIndex + 1}.png",
|
||||
GCodeShowImageTypes.LayerIndex0Started => $"{layerIndex}",
|
||||
GCodeShowImageTypes.LayerIndex1Started => $"{layerIndex + 1}",
|
||||
_ => throw new InvalidExpressionException($"Unhandled image type for {_gCodeShowImageType}")
|
||||
};
|
||||
|
||||
public string GetShowImageString(string value) => _gCodeShowImageType switch
|
||||
{
|
||||
GCodeShowImageTypes.FilenameZeroPNG => $"{value}.png",
|
||||
GCodeShowImageTypes.FilenameNonZeroPNG => $"{value}.png",
|
||||
GCodeShowImageTypes.LayerIndexZero => $"{value}",
|
||||
GCodeShowImageTypes.LayerIndexNonZero => $"{value}",
|
||||
GCodeShowImageTypes.FilenamePng0Started => $"{value}.png",
|
||||
GCodeShowImageTypes.FilenamePng1Started => $"{value}.png",
|
||||
GCodeShowImageTypes.LayerIndex0Started => $"{value}",
|
||||
GCodeShowImageTypes.LayerIndex1Started => $"{value}",
|
||||
_ => throw new InvalidExpressionException($"Unhandled image type for {_gCodeShowImageType}")
|
||||
};
|
||||
|
||||
@@ -752,8 +749,8 @@ namespace UVtools.Core.GCode
|
||||
if (match.Success && match.Groups.Count >= 2) // Begin new layer
|
||||
{
|
||||
var layerIndex = uint.Parse(match.Groups[1].Value);
|
||||
if (_gCodeShowImageType is GCodeShowImageTypes.FilenameNonZeroPNG or GCodeShowImageTypes
|
||||
.LayerIndexNonZero) layerIndex--;
|
||||
if (_gCodeShowImageType is GCodeShowImageTypes.FilenamePng1Started or GCodeShowImageTypes
|
||||
.LayerIndex1Started) layerIndex--;
|
||||
if (layerIndex > slicerFile.LayerCount)
|
||||
{
|
||||
throw new FileLoadException(
|
||||
|
||||
Reference in New Issue
Block a user