diff options
author | Tiago Conceição <Tiago_caza@hotmail.com> | 2022-01-08 01:35:55 +0300 |
---|---|---|
committer | Tiago Conceição <Tiago_caza@hotmail.com> | 2022-01-08 01:35:55 +0300 |
commit | 82ca5ce2057b7147ed6a31300a60ab3d216da781 (patch) | |
tree | 19b3c9889a004a28a509d50f408c35cb778da82f | |
parent | 702b73d5e205a20933d2c2f8d89e9496f8873492 (diff) |
v2.27.6v2.27.6
- **PrusaSlicer:**
- (Fix) Printer: AnyCubic Photon Mono 4K - bed origin (#369)
- (Fix) Printer: AnyCubic Photon Mono X 6K - bed origin (#369)
- (Fix) Anycubic files: Soft-save on versions below 516 can corrupt the file (#396)
- (Fix) Pixel editor: Place a line on a mirrored virtual layer was previewing the line in the wrong orientation (#399)
-rw-r--r-- | CHANGELOG.md | 8 | ||||
-rw-r--r-- | PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini | 7 | ||||
-rw-r--r-- | PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini | 7 | ||||
-rw-r--r-- | UVtools.Core/Extensions/EmguExtensions.cs | 21 | ||||
-rw-r--r-- | UVtools.Core/FileFormats/PhotonWorkshopFile.cs | 2 | ||||
-rw-r--r-- | UVtools.Core/UVtools.Core.csproj | 2 | ||||
-rw-r--r-- | UVtools.WPF/MainWindow.LayerPreview.cs | 2 | ||||
-rw-r--r-- | UVtools.WPF/MainWindow.PixelEditor.cs | 63 | ||||
-rw-r--r-- | UVtools.WPF/UVtools.WPF.csproj | 2 |
9 files changed, 97 insertions, 17 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 0279b91..f621776 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 07/01/2022 - v2.27.6 + +- **PrusaSlicer:** + - (Fix) Printer: AnyCubic Photon Mono 4K - bed origin (#369) + - (Fix) Printer: AnyCubic Photon Mono X 6K - bed origin (#369) +- (Fix) Anycubic files: Soft-save on versions below 516 can corrupt the file (#396) +- (Fix) Pixel editor: Place a line on a mirrored virtual layer was previewing the line in the wrong orientation (#399) + ## 05/01/2022 - v2.27.5 - **Pixel Arithmetic:** diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini b/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini index 22c8d42..3041198 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini @@ -1,9 +1,9 @@ -# generated by PrusaSlicer 2.3.3+win64 on 2021-12-20 at 15:40:10 UTC +# generated by PrusaSlicer 2.4.0+win64 on 2022-01-06 at 23:03:19 UTC absolute_correction = 0 area_fill = 50 bed_custom_model = bed_custom_texture = -bed_shape = 0x0,132.9x0,132.9x80,0x80 +bed_shape = 0.75x2,133.65x2,133.65x82,0.75x82 default_sla_material_profile = Prusa Orange Tough 0.05 default_sla_print_profile = 0.05 Normal display_height = 84 @@ -34,5 +34,8 @@ printer_vendor = printhost_apikey = printhost_cafile = relative_correction = 1,1 +relative_correction_x = 1 +relative_correction_y = 1 +relative_correction_z = 1 slow_tilt_time = 8 thumbnails = 400x400,800x480 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini b/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini index 5d4da68..48b3036 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini @@ -1,9 +1,9 @@ -# generated by PrusaSlicer 2.3.3+win64 on 2021-12-20 at 15:40:01 UTC +# generated by PrusaSlicer 2.4.0+win64 on 2022-01-06 at 23:05:24 UTC absolute_correction = 0 area_fill = 50 bed_custom_model = bed_custom_texture = -bed_shape = 0x0,197x0,197x122.8,0x122.8 +bed_shape = 0.57x0.52,197.57x0.52,197.57x123.32,0.57x123.32 default_sla_material_profile = Prusa Orange Tough 0.05 default_sla_print_profile = 0.05 Normal display_height = 123.84 @@ -34,5 +34,8 @@ printer_vendor = printhost_apikey = printhost_cafile = relative_correction = 1,1 +relative_correction_x = 1 +relative_correction_y = 1 +relative_correction_z = 1 slow_tilt_time = 8 thumbnails = 400x400,800x480 diff --git a/UVtools.Core/Extensions/EmguExtensions.cs b/UVtools.Core/Extensions/EmguExtensions.cs index a56da53..730ec12 100644 --- a/UVtools.Core/Extensions/EmguExtensions.cs +++ b/UVtools.Core/Extensions/EmguExtensions.cs @@ -983,10 +983,27 @@ namespace UVtools.Core.Extensions { if (sides == 1) { - Point point1 = new(center.X - radius, center.Y); + var point1 = new Point(center.X - radius, center.Y); + var point2 = new Point(center.X + radius, center.Y); point1 = point1.Rotate(startingAngle, center); - Point point2 = new(center.X + radius, center.Y); point2 = point2.Rotate(startingAngle, center); + + if (flip is FlipType.Horizontal or FlipType.Both) + { + var newPoint1 = new Point(point2.X, point1.Y); + var newPoint2 = new Point(point1.X, point2.Y); + point1 = newPoint1; + point2 = newPoint2; + } + + if (flip is FlipType.Vertical or FlipType.Both) + { + var newPoint1 = new Point(point1.X, point2.Y); + var newPoint2 = new Point(point2.X, point1.Y); + point1 = newPoint1; + point2 = newPoint2; + } + CvInvoke.Line(src, point1, point2, color, thickness < 1 ? 1 : thickness, lineType); return; } diff --git a/UVtools.Core/FileFormats/PhotonWorkshopFile.cs b/UVtools.Core/FileFormats/PhotonWorkshopFile.cs index afcb3f3..78137af 100644 --- a/UVtools.Core/FileFormats/PhotonWorkshopFile.cs +++ b/UVtools.Core/FileFormats/PhotonWorkshopFile.cs @@ -1871,7 +1871,7 @@ namespace UVtools.Core.FileFormats outputFile.Seek(FileMarkSettings.HeaderAddress, SeekOrigin.Begin); Helpers.SerializeWriteFileStream(outputFile, HeaderSettings); - if (FileMarkSettings.ExtraAddress > 0) + if (FileMarkSettings.Version >= VERSION_516 && FileMarkSettings.ExtraAddress > 0) { outputFile.Seek(FileMarkSettings.ExtraAddress, SeekOrigin.Begin); Helpers.SerializeWriteFileStream(outputFile, ExtraSettings); diff --git a/UVtools.Core/UVtools.Core.csproj b/UVtools.Core/UVtools.Core.csproj index 8ce455b..e8fce27 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.27.5</Version> + <Version>2.27.6</Version> <Copyright>Copyright © 2020 PTRTECH</Copyright> <PackageIcon>UVtools.png</PackageIcon> <Platforms>AnyCPU;x64</Platforms> diff --git a/UVtools.WPF/MainWindow.LayerPreview.cs b/UVtools.WPF/MainWindow.LayerPreview.cs index fd40cfd..278cdba 100644 --- a/UVtools.WPF/MainWindow.LayerPreview.cs +++ b/UVtools.WPF/MainWindow.LayerPreview.cs @@ -2072,7 +2072,7 @@ namespace UVtools.WPF public void UpdatePixelEditorCursor() { Mat cursor = null; - MCvScalar _pixelEditorCursorColor = new( + var _pixelEditorCursorColor = new MCvScalar( Settings.PixelEditor.CursorColor.B, Settings.PixelEditor.CursorColor.G, Settings.PixelEditor.CursorColor.R, diff --git a/UVtools.WPF/MainWindow.PixelEditor.cs b/UVtools.WPF/MainWindow.PixelEditor.cs index 2a10a39..a1e93da 100644 --- a/UVtools.WPF/MainWindow.PixelEditor.cs +++ b/UVtools.WPF/MainWindow.PixelEditor.cs @@ -215,28 +215,78 @@ namespace UVtools.WPF } int halfBrush = operationDrawing.BrushSize / 2; + double angle = operationDrawing.RotationAngle; switch (operationDrawing.BrushShape) { case PixelDrawing.BrushShapeType.Line: Point point1 = new(location.X - halfBrush, location.Y); Point point2 = new(location.X + halfBrush, location.Y); - point1 = point1.Rotate(operationDrawing.RotationAngle, location); - point2 = point2.Rotate(operationDrawing.RotationAngle, location); if (_showLayerImageRotated) { if (_showLayerImageRotateCcwDirection) { - point1 = point1.Rotate(90, location); - point2 = point2.Rotate(90, location); + angle += 90; } else { - point1 = point1.Rotate(-90, location); - point2 = point2.Rotate(-90, location); + angle -= 90; } } + point1 = point1.Rotate(angle, location); + point2 = point2.Rotate(angle, location); + + + if (_showLayerImageFlipped) + { + if (_showLayerImageFlippedHorizontally) + { + var newPoint1 = new Point(point2.X, point1.Y); + var newPoint2 = new Point(point1.X, point2.Y); + + point1 = newPoint1; + point2 = newPoint2; + } + + if (_showLayerImageFlippedVertically) + { + var newPoint1 = new Point(point1.X, point2.Y); + var newPoint2 = new Point(point2.X, point1.Y); + + point1 = newPoint1; + point2 = newPoint2; + } + } + + /*if (_showLayerImageRotated) + { + if (!_showLayerImageFlipped || _showLayerImageFlippedHorizontally && _showLayerImageFlippedVertically) + { + if (_showLayerImageRotateCcwDirection) + { + angle -= 90; + } + else + { + angle += 90; + } + } + else + { + if (_showLayerImageRotateCcwDirection) + { + angle += 90; + } + else + { + angle -= 90; + } + } + }*/ + + + LayerCache.Canvas.DrawLine(point1.X, point1.Y, point2.X, point2.Y, new SKPaint { IsAntialias = operationDrawing.LineType == LineType.AntiAlias, @@ -276,7 +326,6 @@ namespace UVtools.WPF operationDrawing.LineType);*/ break; default: - var angle = operationDrawing.RotationAngle; if (_showLayerImageRotated) { if (!_showLayerImageFlipped || _showLayerImageFlippedHorizontally && _showLayerImageFlippedVertically) diff --git a/UVtools.WPF/UVtools.WPF.csproj b/UVtools.WPF/UVtools.WPF.csproj index e59a5d2..18ce52e 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.27.5</Version> + <Version>2.27.6</Version> <Platforms>AnyCPU;x64</Platforms> <PackageIcon>UVtools.png</PackageIcon> <PackageReadmeFile>README.md</PackageReadmeFile> |