diff --git a/CHANGELOG.md b/CHANGELOG.md index f94a7d5e..4bf0086c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 02/01/2022 - v3.10.0 + +- (Add) File format: Anet N7 (#635) +- (Add) PrusaSlicer Printer: Anet N7 (#635) +- (Improvement) Each layer can now be aware of it own resolution +- (Improvement) Better set of file resolution from layers when using a compression codec other than png +- (Fix) Anet N4 printer reset on latest firmware (#633) +- (Fix) PrusaSlicer printers: Change thumbnails resolution to match file preview resolution (Fix stretch images) + ## 31/12/2022 - v3.9.5 - (Add) File format: Anet N4 (#632) diff --git a/PrusaSlicer/printer/AnyCubic Photon D2.ini b/PrusaSlicer/printer/AnyCubic Photon D2.ini index f7b43557..08106b6b 100644 --- a/PrusaSlicer/printer/AnyCubic Photon D2.ini +++ b/PrusaSlicer/printer/AnyCubic Photon D2.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon M3 Max.ini b/PrusaSlicer/printer/AnyCubic Photon M3 Max.ini index dc3cf8d6..79a0039f 100644 --- a/PrusaSlicer/printer/AnyCubic Photon M3 Max.ini +++ b/PrusaSlicer/printer/AnyCubic Photon M3 Max.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon M3 Plus.ini b/PrusaSlicer/printer/AnyCubic Photon M3 Plus.ini index 713830b7..584780f7 100644 --- a/PrusaSlicer/printer/AnyCubic Photon M3 Plus.ini +++ b/PrusaSlicer/printer/AnyCubic Photon M3 Plus.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon M3 Premium.ini b/PrusaSlicer/printer/AnyCubic Photon M3 Premium.ini index f1a2925c..f91522e6 100644 --- a/PrusaSlicer/printer/AnyCubic Photon M3 Premium.ini +++ b/PrusaSlicer/printer/AnyCubic Photon M3 Premium.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon M3.ini b/PrusaSlicer/printer/AnyCubic Photon M3.ini index 09cc39bc..55bbfb03 100644 --- a/PrusaSlicer/printer/AnyCubic Photon M3.ini +++ b/PrusaSlicer/printer/AnyCubic Photon M3.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini b/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini index c9d367c8..d54a62ed 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono 4K.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono SE.ini b/PrusaSlicer/printer/AnyCubic Photon Mono SE.ini index ed8287e3..0b0514df 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono SE.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono SE.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono SQ.ini b/PrusaSlicer/printer/AnyCubic Photon Mono SQ.ini index e151aa61..a609c94f 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono SQ.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono SQ.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini b/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini index 8655a957..da255634 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono X 6K.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono X.ini b/PrusaSlicer/printer/AnyCubic Photon Mono X.ini index 26f4de05..f318c291 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono X.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono X.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono X2.ini b/PrusaSlicer/printer/AnyCubic Photon Mono X2.ini index 52b7a0ce..da830a3e 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono X2.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono X2.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Mono.ini b/PrusaSlicer/printer/AnyCubic Photon Mono.ini index 8e961190..d1edc0f8 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Mono.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon S.ini b/PrusaSlicer/printer/AnyCubic Photon S.ini index e546faba..5a352a7a 100644 --- a/PrusaSlicer/printer/AnyCubic Photon S.ini +++ b/PrusaSlicer/printer/AnyCubic Photon S.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Ultra.ini b/PrusaSlicer/printer/AnyCubic Photon Ultra.ini index ad566171..707f0498 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Ultra.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Ultra.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon X.ini b/PrusaSlicer/printer/AnyCubic Photon X.ini index c20e937f..a267b747 100644 --- a/PrusaSlicer/printer/AnyCubic Photon X.ini +++ b/PrusaSlicer/printer/AnyCubic Photon X.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon Zero.ini b/PrusaSlicer/printer/AnyCubic Photon Zero.ini index b2bcb7f5..1627f91b 100644 --- a/PrusaSlicer/printer/AnyCubic Photon Zero.ini +++ b/PrusaSlicer/printer/AnyCubic Photon Zero.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 224x168 diff --git a/PrusaSlicer/printer/AnyCubic Photon.ini b/PrusaSlicer/printer/AnyCubic Photon.ini index 3a091098..e454c155 100644 --- a/PrusaSlicer/printer/AnyCubic Photon.ini +++ b/PrusaSlicer/printer/AnyCubic Photon.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Creality CT-005 Pro.ini b/PrusaSlicer/printer/Creality CT-005 Pro.ini index df40aef4..d8356de8 100644 --- a/PrusaSlicer/printer/Creality CT-005 Pro.ini +++ b/PrusaSlicer/printer/Creality CT-005 Pro.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality CT-133 Pro.ini b/PrusaSlicer/printer/Creality CT-133 Pro.ini index 28fdd027..4ae8ab3f 100644 --- a/PrusaSlicer/printer/Creality CT-133 Pro.ini +++ b/PrusaSlicer/printer/Creality CT-133 Pro.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot Lite CL-89L.ini b/PrusaSlicer/printer/Creality Halot Lite CL-89L.ini index e20c09ee..8ca4ff4e 100644 --- a/PrusaSlicer/printer/Creality Halot Lite CL-89L.ini +++ b/PrusaSlicer/printer/Creality Halot Lite CL-89L.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot Max CL-133.ini b/PrusaSlicer/printer/Creality Halot Max CL-133.ini index 761ccd2e..5cc5fb7a 100644 --- a/PrusaSlicer/printer/Creality Halot Max CL-133.ini +++ b/PrusaSlicer/printer/Creality Halot Max CL-133.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot One CL-60.ini b/PrusaSlicer/printer/Creality Halot One CL-60.ini index 44365754..490b6f00 100644 --- a/PrusaSlicer/printer/Creality Halot One CL-60.ini +++ b/PrusaSlicer/printer/Creality Halot One CL-60.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot One Plus CL-79.ini b/PrusaSlicer/printer/Creality Halot One Plus CL-79.ini index 8ba45eb9..f4c82911 100644 --- a/PrusaSlicer/printer/Creality Halot One Plus CL-79.ini +++ b/PrusaSlicer/printer/Creality Halot One Plus CL-79.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot One Pro CL-70.ini b/PrusaSlicer/printer/Creality Halot One Pro CL-70.ini index c5f2d1ec..1ae7d923 100644 --- a/PrusaSlicer/printer/Creality Halot One Pro CL-70.ini +++ b/PrusaSlicer/printer/Creality Halot One Pro CL-70.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot Ray CL925.ini b/PrusaSlicer/printer/Creality Halot Ray CL925.ini index e05342cf..ad51f87f 100644 --- a/PrusaSlicer/printer/Creality Halot Ray CL925.ini +++ b/PrusaSlicer/printer/Creality Halot Ray CL925.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot Sky CL-89.ini b/PrusaSlicer/printer/Creality Halot Sky CL-89.ini index 3983d695..55b7b02f 100644 --- a/PrusaSlicer/printer/Creality Halot Sky CL-89.ini +++ b/PrusaSlicer/printer/Creality Halot Sky CL-89.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality Halot Sky Plus CL-92.ini b/PrusaSlicer/printer/Creality Halot Sky Plus CL-92.ini index f763d25f..30fe95b0 100644 --- a/PrusaSlicer/printer/Creality Halot Sky Plus CL-92.ini +++ b/PrusaSlicer/printer/Creality Halot Sky Plus CL-92.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 116x116,90x290,90x290 diff --git a/PrusaSlicer/printer/Creality LD-002H.ini b/PrusaSlicer/printer/Creality LD-002H.ini index 28a51783..d6f8fc46 100644 --- a/PrusaSlicer/printer/Creality LD-002H.ini +++ b/PrusaSlicer/printer/Creality LD-002H.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Creality LD-002R.ini b/PrusaSlicer/printer/Creality LD-002R.ini index d5ea06d9..3ce85df5 100644 --- a/PrusaSlicer/printer/Creality LD-002R.ini +++ b/PrusaSlicer/printer/Creality LD-002R.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Creality LD-006.ini b/PrusaSlicer/printer/Creality LD-006.ini index 0bfaa6f2..628a8359 100644 --- a/PrusaSlicer/printer/Creality LD-006.ini +++ b/PrusaSlicer/printer/Creality LD-006.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX DX1 PRO.ini b/PrusaSlicer/printer/EPAX DX1 PRO.ini index b24bcf5d..040cb5f2 100644 --- a/PrusaSlicer/printer/EPAX DX1 PRO.ini +++ b/PrusaSlicer/printer/EPAX DX1 PRO.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX DX10 Pro 5K.ini b/PrusaSlicer/printer/EPAX DX10 Pro 5K.ini index c4cf49c8..25a4adb6 100644 --- a/PrusaSlicer/printer/EPAX DX10 Pro 5K.ini +++ b/PrusaSlicer/printer/EPAX DX10 Pro 5K.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX DX10 Pro 8K.ini b/PrusaSlicer/printer/EPAX DX10 Pro 8K.ini index 4e33d443..5131caea 100644 --- a/PrusaSlicer/printer/EPAX DX10 Pro 8K.ini +++ b/PrusaSlicer/printer/EPAX DX10 Pro 8K.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX E10 5K.ini b/PrusaSlicer/printer/EPAX E10 5K.ini index f935bc7e..24d5f991 100644 --- a/PrusaSlicer/printer/EPAX E10 5K.ini +++ b/PrusaSlicer/printer/EPAX E10 5K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX E10 8K.ini b/PrusaSlicer/printer/EPAX E10 8K.ini index 8f16870e..893c8ce8 100644 --- a/PrusaSlicer/printer/EPAX E10 8K.ini +++ b/PrusaSlicer/printer/EPAX E10 8K.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX E10 Mono.ini b/PrusaSlicer/printer/EPAX E10 Mono.ini index c186b4e9..8dbf5550 100644 --- a/PrusaSlicer/printer/EPAX E10 Mono.ini +++ b/PrusaSlicer/printer/EPAX E10 Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX E6 Mono.ini b/PrusaSlicer/printer/EPAX E6 Mono.ini index e8306d47..258e12a2 100644 --- a/PrusaSlicer/printer/EPAX E6 Mono.ini +++ b/PrusaSlicer/printer/EPAX E6 Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X1 4KS.ini b/PrusaSlicer/printer/EPAX X1 4KS.ini index 09072ade..f10a046b 100644 --- a/PrusaSlicer/printer/EPAX X1 4KS.ini +++ b/PrusaSlicer/printer/EPAX X1 4KS.ini @@ -1,4 +1,4 @@ -# generated by PrusaSlicer 2.4.0+win64 on 2022-02-19 at 22:22:10 UTC +# generated by PrusaSlicer 2.4.1+win64 on 2022-03-25 at 20:16:04 UTC absolute_correction = 0 area_fill = 50 bed_custom_model = @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X1.ini b/PrusaSlicer/printer/EPAX X1.ini index 08aaa22f..aac69c98 100644 --- a/PrusaSlicer/printer/EPAX X1.ini +++ b/PrusaSlicer/printer/EPAX X1.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X10 4K Mono.ini b/PrusaSlicer/printer/EPAX X10 4K Mono.ini index 5934dd22..fb1276f0 100644 --- a/PrusaSlicer/printer/EPAX X10 4K Mono.ini +++ b/PrusaSlicer/printer/EPAX X10 4K Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X10 5K.ini b/PrusaSlicer/printer/EPAX X10 5K.ini index f7d3c720..5bfa5519 100644 --- a/PrusaSlicer/printer/EPAX X10 5K.ini +++ b/PrusaSlicer/printer/EPAX X10 5K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X10.ini b/PrusaSlicer/printer/EPAX X10.ini index 557eb46c..4fb9753a 100644 --- a/PrusaSlicer/printer/EPAX X10.ini +++ b/PrusaSlicer/printer/EPAX X10.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X133 4K Mono.ini b/PrusaSlicer/printer/EPAX X133 4K Mono.ini index 1c9f25f2..5d56d143 100644 --- a/PrusaSlicer/printer/EPAX X133 4K Mono.ini +++ b/PrusaSlicer/printer/EPAX X133 4K Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X133 6K.ini b/PrusaSlicer/printer/EPAX X133 6K.ini index ae2badfe..e4b04693 100644 --- a/PrusaSlicer/printer/EPAX X133 6K.ini +++ b/PrusaSlicer/printer/EPAX X133 6K.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X156 4K Color.ini b/PrusaSlicer/printer/EPAX X156 4K Color.ini index 9c0ffbce..bec2c940 100644 --- a/PrusaSlicer/printer/EPAX X156 4K Color.ini +++ b/PrusaSlicer/printer/EPAX X156 4K Color.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/EPAX X1K 2K Mono.ini b/PrusaSlicer/printer/EPAX X1K 2K Mono.ini index 7db4ecb8..78956c09 100644 --- a/PrusaSlicer/printer/EPAX X1K 2K Mono.ini +++ b/PrusaSlicer/printer/EPAX X1K 2K Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Jupiter.ini b/PrusaSlicer/printer/Elegoo Jupiter.ini index c2ffd2f3..5653a09e 100644 --- a/PrusaSlicer/printer/Elegoo Jupiter.ini +++ b/PrusaSlicer/printer/Elegoo Jupiter.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Mars 2 Pro.ini b/PrusaSlicer/printer/Elegoo Mars 2 Pro.ini index d72d70d5..fe7de6e5 100644 --- a/PrusaSlicer/printer/Elegoo Mars 2 Pro.ini +++ b/PrusaSlicer/printer/Elegoo Mars 2 Pro.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Mars 2.ini b/PrusaSlicer/printer/Elegoo Mars 2.ini index 095b70c7..b78c68b6 100644 --- a/PrusaSlicer/printer/Elegoo Mars 2.ini +++ b/PrusaSlicer/printer/Elegoo Mars 2.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Mars 3.ini b/PrusaSlicer/printer/Elegoo Mars 3.ini index 09040873..3eba6561 100644 --- a/PrusaSlicer/printer/Elegoo Mars 3.ini +++ b/PrusaSlicer/printer/Elegoo Mars 3.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Mars C.ini b/PrusaSlicer/printer/Elegoo Mars C.ini index 1f3cb39a..000f7556 100644 --- a/PrusaSlicer/printer/Elegoo Mars C.ini +++ b/PrusaSlicer/printer/Elegoo Mars C.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Mars.ini b/PrusaSlicer/printer/Elegoo Mars.ini index 8e0d8efa..b24cf2e2 100644 --- a/PrusaSlicer/printer/Elegoo Mars.ini +++ b/PrusaSlicer/printer/Elegoo Mars.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Saturn 2.ini b/PrusaSlicer/printer/Elegoo Saturn 2.ini index dfc74b1a..6b51f8e4 100644 --- a/PrusaSlicer/printer/Elegoo Saturn 2.ini +++ b/PrusaSlicer/printer/Elegoo Saturn 2.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Saturn 8K.ini b/PrusaSlicer/printer/Elegoo Saturn 8K.ini index c710d165..f560b583 100644 --- a/PrusaSlicer/printer/Elegoo Saturn 8K.ini +++ b/PrusaSlicer/printer/Elegoo Saturn 8K.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Elegoo Saturn.ini b/PrusaSlicer/printer/Elegoo Saturn.ini index 36a1217b..22182908 100644 --- a/PrusaSlicer/printer/Elegoo Saturn.ini +++ b/PrusaSlicer/printer/Elegoo Saturn.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/FlashForge Explorer MAX.ini b/PrusaSlicer/printer/FlashForge Explorer MAX.ini index 79eca85a..4b75fc0c 100644 --- a/PrusaSlicer/printer/FlashForge Explorer MAX.ini +++ b/PrusaSlicer/printer/FlashForge Explorer MAX.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Focus 13.3.ini b/PrusaSlicer/printer/FlashForge Focus 13.3.ini index 81c75848..d3146d39 100644 --- a/PrusaSlicer/printer/FlashForge Focus 13.3.ini +++ b/PrusaSlicer/printer/FlashForge Focus 13.3.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Focus 8.9.ini b/PrusaSlicer/printer/FlashForge Focus 8.9.ini index 71ce817d..3f7226d2 100644 --- a/PrusaSlicer/printer/FlashForge Focus 8.9.ini +++ b/PrusaSlicer/printer/FlashForge Focus 8.9.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Foto 13.3.ini b/PrusaSlicer/printer/FlashForge Foto 13.3.ini index 9f8422f9..a2c99c24 100644 --- a/PrusaSlicer/printer/FlashForge Foto 13.3.ini +++ b/PrusaSlicer/printer/FlashForge Foto 13.3.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Foto 6.0.ini b/PrusaSlicer/printer/FlashForge Foto 6.0.ini index 239f105e..3caf1f91 100644 --- a/PrusaSlicer/printer/FlashForge Foto 6.0.ini +++ b/PrusaSlicer/printer/FlashForge Foto 6.0.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Foto 8.9.ini b/PrusaSlicer/printer/FlashForge Foto 8.9.ini index f6bc6362..a691055d 100644 --- a/PrusaSlicer/printer/FlashForge Foto 8.9.ini +++ b/PrusaSlicer/printer/FlashForge Foto 8.9.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Foto 8.9S.ini b/PrusaSlicer/printer/FlashForge Foto 8.9S.ini index c905d7fc..ab811552 100644 --- a/PrusaSlicer/printer/FlashForge Foto 8.9S.ini +++ b/PrusaSlicer/printer/FlashForge Foto 8.9S.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/FlashForge Hunter.ini b/PrusaSlicer/printer/FlashForge Hunter.ini index d32dd719..bc7a6650 100644 --- a/PrusaSlicer/printer/FlashForge Hunter.ini +++ b/PrusaSlicer/printer/FlashForge Hunter.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 128x128,200x240 diff --git a/PrusaSlicer/printer/Longer Orange 10.ini b/PrusaSlicer/printer/Longer Orange 10.ini index 43954f7b..bd987d23 100644 --- a/PrusaSlicer/printer/Longer Orange 10.ini +++ b/PrusaSlicer/printer/Longer Orange 10.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 120x150 diff --git a/PrusaSlicer/printer/Longer Orange 120.ini b/PrusaSlicer/printer/Longer Orange 120.ini index b29b1f78..781e4cc8 100644 --- a/PrusaSlicer/printer/Longer Orange 120.ini +++ b/PrusaSlicer/printer/Longer Orange 120.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 120x150 diff --git a/PrusaSlicer/printer/Longer Orange 30.ini b/PrusaSlicer/printer/Longer Orange 30.ini index cc91c42b..3560ac91 100644 --- a/PrusaSlicer/printer/Longer Orange 30.ini +++ b/PrusaSlicer/printer/Longer Orange 30.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 120x150 diff --git a/PrusaSlicer/printer/Longer Orange 4K.ini b/PrusaSlicer/printer/Longer Orange 4K.ini index 9de296cc..8e9236a2 100644 --- a/PrusaSlicer/printer/Longer Orange 4K.ini +++ b/PrusaSlicer/printer/Longer Orange 4K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 120x150 diff --git a/PrusaSlicer/printer/Peopoly Phenom Forge.ini b/PrusaSlicer/printer/Peopoly Phenom Forge.ini index 08fba783..39fdde2d 100644 --- a/PrusaSlicer/printer/Peopoly Phenom Forge.ini +++ b/PrusaSlicer/printer/Peopoly Phenom Forge.ini @@ -38,4 +38,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 148x80,300x140,208x116,404x240 diff --git a/PrusaSlicer/printer/Peopoly Phenom L.ini b/PrusaSlicer/printer/Peopoly Phenom L.ini index 5696a43b..bce37994 100644 --- a/PrusaSlicer/printer/Peopoly Phenom L.ini +++ b/PrusaSlicer/printer/Peopoly Phenom L.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Peopoly Phenom Noir.ini b/PrusaSlicer/printer/Peopoly Phenom Noir.ini index 98726f19..42d259fa 100644 --- a/PrusaSlicer/printer/Peopoly Phenom Noir.ini +++ b/PrusaSlicer/printer/Peopoly Phenom Noir.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Peopoly Phenom XXL.ini b/PrusaSlicer/printer/Peopoly Phenom XXL.ini index db192e5b..be047479 100644 --- a/PrusaSlicer/printer/Peopoly Phenom XXL.ini +++ b/PrusaSlicer/printer/Peopoly Phenom XXL.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Peopoly Phenom.ini b/PrusaSlicer/printer/Peopoly Phenom.ini index c7b8a41a..485d427e 100644 --- a/PrusaSlicer/printer/Peopoly Phenom.ini +++ b/PrusaSlicer/printer/Peopoly Phenom.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Shuffle 16.ini b/PrusaSlicer/printer/Phrozen Shuffle 16.ini index 7417f45a..ff654da6 100644 --- a/PrusaSlicer/printer/Phrozen Shuffle 16.ini +++ b/PrusaSlicer/printer/Phrozen Shuffle 16.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Shuffle 4K.ini b/PrusaSlicer/printer/Phrozen Shuffle 4K.ini index 91e9e504..e097c8b4 100644 --- a/PrusaSlicer/printer/Phrozen Shuffle 4K.ini +++ b/PrusaSlicer/printer/Phrozen Shuffle 4K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Shuffle Lite.ini b/PrusaSlicer/printer/Phrozen Shuffle Lite.ini index abb2cf2b..ea499614 100644 --- a/PrusaSlicer/printer/Phrozen Shuffle Lite.ini +++ b/PrusaSlicer/printer/Phrozen Shuffle Lite.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Shuffle XL Lite.ini b/PrusaSlicer/printer/Phrozen Shuffle XL Lite.ini index c6196571..978ba230 100644 --- a/PrusaSlicer/printer/Phrozen Shuffle XL Lite.ini +++ b/PrusaSlicer/printer/Phrozen Shuffle XL Lite.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Shuffle XL.ini b/PrusaSlicer/printer/Phrozen Shuffle XL.ini index 651461d8..39b9bca8 100644 --- a/PrusaSlicer/printer/Phrozen Shuffle XL.ini +++ b/PrusaSlicer/printer/Phrozen Shuffle XL.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Shuffle.ini b/PrusaSlicer/printer/Phrozen Shuffle.ini index 43e99b7f..a94f37cb 100644 --- a/PrusaSlicer/printer/Phrozen Shuffle.ini +++ b/PrusaSlicer/printer/Phrozen Shuffle.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic 4K.ini b/PrusaSlicer/printer/Phrozen Sonic 4K.ini index b48fcd23..f980c8b6 100644 --- a/PrusaSlicer/printer/Phrozen Sonic 4K.ini +++ b/PrusaSlicer/printer/Phrozen Sonic 4K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mega 8K.ini b/PrusaSlicer/printer/Phrozen Sonic Mega 8K.ini index 74ea551c..a353f5c5 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mega 8K.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mega 8K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mighty 4K.ini b/PrusaSlicer/printer/Phrozen Sonic Mighty 4K.ini index 9fc0045b..df5a4383 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mighty 4K.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mighty 4K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mighty 8K.ini b/PrusaSlicer/printer/Phrozen Sonic Mighty 8K.ini index b3c8735b..2cbf2c1a 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mighty 8K.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mighty 8K.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mini 4K.ini b/PrusaSlicer/printer/Phrozen Sonic Mini 4K.ini index 1260ca8d..13e44914 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mini 4K.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mini 4K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mini 8K.ini b/PrusaSlicer/printer/Phrozen Sonic Mini 8K.ini index 57f990f7..4cdfb0d7 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mini 8K.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mini 8K.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Phrozen Sonic Mini.ini b/PrusaSlicer/printer/Phrozen Sonic Mini.ini index 39c3a6f2..01606765 100644 --- a/PrusaSlicer/printer/Phrozen Sonic Mini.ini +++ b/PrusaSlicer/printer/Phrozen Sonic Mini.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x150 diff --git a/PrusaSlicer/printer/Phrozen Sonic.ini b/PrusaSlicer/printer/Phrozen Sonic.ini index cbfd4e49..555edfc1 100644 --- a/PrusaSlicer/printer/Phrozen Sonic.ini +++ b/PrusaSlicer/printer/Phrozen Sonic.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 \ No newline at end of file diff --git a/PrusaSlicer/printer/Phrozen Transform.ini b/PrusaSlicer/printer/Phrozen Transform.ini index 5d1dfea1..9e226431 100644 --- a/PrusaSlicer/printer/Phrozen Transform.ini +++ b/PrusaSlicer/printer/Phrozen Transform.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 854x480,472x240 diff --git a/PrusaSlicer/printer/QIDI I-Box Mono.ini b/PrusaSlicer/printer/QIDI I-Box Mono.ini index bd20e34b..211ed69c 100644 --- a/PrusaSlicer/printer/QIDI I-Box Mono.ini +++ b/PrusaSlicer/printer/QIDI I-Box Mono.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/QIDI S-Box.ini b/PrusaSlicer/printer/QIDI S-Box.ini index 8e8d1eb3..ce676d80 100644 --- a/PrusaSlicer/printer/QIDI S-Box.ini +++ b/PrusaSlicer/printer/QIDI S-Box.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/QIDI Shadow5.5.ini b/PrusaSlicer/printer/QIDI Shadow5.5.ini index f45b4162..29e87e1e 100644 --- a/PrusaSlicer/printer/QIDI Shadow5.5.ini +++ b/PrusaSlicer/printer/QIDI Shadow5.5.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini b/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini index 4ebd8cac..e903979c 100644 --- a/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini +++ b/PrusaSlicer/printer/QIDI Shadow6.0 Pro.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/UniFormation GKtwo.ini b/PrusaSlicer/printer/UniFormation GKtwo.ini index be7912af..4b3aebd4 100644 --- a/PrusaSlicer/printer/UniFormation GKtwo.ini +++ b/PrusaSlicer/printer/UniFormation GKtwo.ini @@ -39,4 +39,4 @@ relative_correction_x = 1 relative_correction_y = 1 relative_correction_z = 1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Uniz IBEE.ini b/PrusaSlicer/printer/Uniz IBEE.ini index 45b4cb31..b16a2962 100644 --- a/PrusaSlicer/printer/Uniz IBEE.ini +++ b/PrusaSlicer/printer/Uniz IBEE.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 640x480 diff --git a/PrusaSlicer/printer/Voxelab Ceres 8.9.ini b/PrusaSlicer/printer/Voxelab Ceres 8.9.ini index fc63f38d..6b3b397b 100644 --- a/PrusaSlicer/printer/Voxelab Ceres 8.9.ini +++ b/PrusaSlicer/printer/Voxelab Ceres 8.9.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Voxelab Polaris 5.5.ini b/PrusaSlicer/printer/Voxelab Polaris 5.5.ini index 45990db5..0a2df370 100644 --- a/PrusaSlicer/printer/Voxelab Polaris 5.5.ini +++ b/PrusaSlicer/printer/Voxelab Polaris 5.5.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Voxelab Proxima 6.ini b/PrusaSlicer/printer/Voxelab Proxima 6.ini index 400d2447..8a686884 100644 --- a/PrusaSlicer/printer/Voxelab Proxima 6.ini +++ b/PrusaSlicer/printer/Voxelab Proxima 6.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 400x300,200x125 diff --git a/PrusaSlicer/printer/Zortrax Inkspire.ini b/PrusaSlicer/printer/Zortrax Inkspire.ini index f35d066a..a700fcb3 100644 --- a/PrusaSlicer/printer/Zortrax Inkspire.ini +++ b/PrusaSlicer/printer/Zortrax Inkspire.ini @@ -35,4 +35,4 @@ printhost_apikey = printhost_cafile = relative_correction = 1,1 slow_tilt_time = 8 -thumbnails = 400x400,800x480 +thumbnails = 320x180 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d786fc52..42ef146e 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,7 @@ -- (Add) File format: Anet N4 (#632) -- (Add) PrusaSlicer Printer: Anet N4 (#632) +- (Add) File format: Anet N7 (#635) +- (Add) PrusaSlicer Printer: Anet N7 (#635) +- (Improvement) Each layer can now be aware of it own resolution +- (Improvement) Better set of file resolution from layers when using a compression codec other than png +- (Fix) Anet N4 printer reset on latest firmware (#633) +- (Fix) PrusaSlicer printers: Change thumbnails resolution to match file preview resolution (Fix stretch images) diff --git a/UVtools.Core/FileFormats/AnetFile.cs b/UVtools.Core/FileFormats/AnetFile.cs index 9b825075..80addf34 100644 --- a/UVtools.Core/FileFormats/AnetFile.cs +++ b/UVtools.Core/FileFormats/AnetFile.cs @@ -32,6 +32,8 @@ public sealed class AnetFile : FileFormat { #region Constants + private const uint DEFAULT_VERSION = 3; + public const ushort RESOLUTION_N4_X = 1440; public const ushort RESOLUTION_N4_Y = 2560; @@ -67,7 +69,7 @@ public enum AnetPrinter : byte #region Header - public class AnetHeader + public class Header { [FieldOrder(0)][FieldEndianness(Endianness.Big)] public int VersionLength { get; set; } = 2; [FieldOrder(1)][FieldEncoding("UTF-16BE")][FieldLength(nameof(VersionLength))] public string Version { get; set; } = "3"; @@ -271,7 +273,7 @@ uint GetBits(uint pos, uint count = 1) #region Properties - public AnetHeader HeaderSettings { get; private set; } = new(); + public Header HeaderSettings { get; private set; } = new(); public override FileFormatType FileType => FileFormatType.Binary; @@ -296,6 +298,19 @@ uint GetBits(uint pos, uint count = 1) }; public override Size[]? ThumbnailsOriginalSize { get; } = { new(260, 140) }; + public override uint[] AvailableVersions { get; } = { 3 }; + + public override uint DefaultVersion => DEFAULT_VERSION; + + public override uint Version + { + get => uint.Parse(HeaderSettings.Version); + set + { + base.Version = value; + HeaderSettings.Version = base.Version.ToString(); + } + } public override FlipDirection DisplayMirror { @@ -425,7 +440,7 @@ protected override void OnBeforeEncode(bool isPartialEncode) default: throw new ArgumentOutOfRangeException(nameof(PrinterModel), FileExtension); } - HeaderSettings.XYPixelSize = PixelSizeMax; + HeaderSettings.XYPixelSize = Math.Round(PixelSizeMax, 3); } protected override void EncodeInternally(OperationProgress progress) @@ -483,7 +498,7 @@ protected override void EncodeInternally(OperationProgress progress) protected override void DecodeInternally(OperationProgress progress) { using var inputFile = new FileStream(FileFullPath!, FileMode.Open, FileAccess.Read); - HeaderSettings = Helpers.Deserialize(inputFile); + HeaderSettings = Helpers.Deserialize
(inputFile); if (HeaderSettings.Version is not "3") { throw new FileLoadException($"Not a valid N4 file: Version doesn't match, got {HeaderSettings.Version} instead of 3)", FileFullPath); diff --git a/UVtools.Core/FileFormats/CTBEncryptedFile.cs b/UVtools.Core/FileFormats/CTBEncryptedFile.cs index 26e55de9..0b95f59f 100644 --- a/UVtools.Core/FileFormats/CTBEncryptedFile.cs +++ b/UVtools.Core/FileFormats/CTBEncryptedFile.cs @@ -17,7 +17,7 @@ namespace UVtools.Core.FileFormats; -public class CTBEncryptedFile : FileFormat +public sealed class CTBEncryptedFile : FileFormat { #region Constants @@ -671,21 +671,13 @@ void RleRGB15() public override uint ResolutionX { get => Settings.ResolutionX; - set - { - Settings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = Settings.ResolutionX = value; } public override uint ResolutionY { get => Settings.ResolutionY; - set - { - Settings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = Settings.ResolutionY = value; } public override float LayerHeight @@ -698,26 +690,22 @@ public override float LayerHeight } } - public override byte AntiAliasing { get => 8; set { } } + public override byte AntiAliasing + { + get => 8; + set { } + } public override float DisplayWidth { get => Settings.DisplayWidth; - set - { - Settings.DisplayWidth = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = Settings.DisplayWidth = (float)Math.Round(value, 2); } public override float DisplayHeight { get => Settings.DisplayHeight; - set - { - Settings.DisplayHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = Settings.DisplayHeight = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/CWSFile.cs b/UVtools.Core/FileFormats/CWSFile.cs index e55bf489..863f4aa1 100644 --- a/UVtools.Core/FileFormats/CWSFile.cs +++ b/UVtools.Core/FileFormats/CWSFile.cs @@ -173,7 +173,7 @@ public sealed class InkConfig #endregion -public class CWSFile : FileFormat +public sealed class CWSFile : FileFormat { #region Constants @@ -383,7 +383,7 @@ public override uint ResolutionX SliceBuildConfig.XResolution = OutputSettings.XResolution = SliceSettings.Xres = (ushort) value; - RaisePropertyChanged(); + base.ResolutionX = value; } } @@ -395,28 +395,20 @@ public override uint ResolutionY SliceBuildConfig.YResolution = OutputSettings.YResolution = SliceSettings.Yres = (ushort) value; - RaisePropertyChanged(); + base.ResolutionY = value; } } public override float DisplayWidth { get => OutputSettings.PlatformXSize; - set - { - OutputSettings.PlatformXSize = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = OutputSettings.PlatformXSize = (float)Math.Round(value, 2); } public override float DisplayHeight { get => OutputSettings.PlatformYSize; - set - { - OutputSettings.PlatformYSize = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = OutputSettings.PlatformYSize = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/CXDLPFile.cs b/UVtools.Core/FileFormats/CXDLPFile.cs index 023470aa..7bf46edf 100644 --- a/UVtools.Core/FileFormats/CXDLPFile.cs +++ b/UVtools.Core/FileFormats/CXDLPFile.cs @@ -30,7 +30,7 @@ namespace UVtools.Core.FileFormats; -public class CXDLPFile : FileFormat +public sealed class CXDLPFile : FileFormat { #region Constants private const byte HEADER_SIZE = 9; // CXSW3DV2 @@ -473,30 +473,23 @@ public override uint Version public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = (ushort) value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = (ushort)value; } public override float DisplayWidth { - get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 3); + get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 2); set { - SlicerInfoSettings.DisplayWidth = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayWidth = value.ToString(CultureInfo.InvariantCulture); + base.DisplayWidth = value; } } @@ -505,8 +498,9 @@ public override float DisplayHeight get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayHeight, CultureInfo.InvariantCulture), 3); set { - SlicerInfoSettings.DisplayHeight = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayHeight = value.ToString(CultureInfo.InvariantCulture); + base.DisplayHeight = value; } } diff --git a/UVtools.Core/FileFormats/CXDLPv1File.cs b/UVtools.Core/FileFormats/CXDLPv1File.cs index 29254597..2dda82d3 100644 --- a/UVtools.Core/FileFormats/CXDLPv1File.cs +++ b/UVtools.Core/FileFormats/CXDLPv1File.cs @@ -15,8 +15,6 @@ using System.Drawing; using System.Globalization; using System.IO; -using System.Linq; -using System.Text; using System.Threading.Tasks; using UVtools.Core.Extensions; using UVtools.Core.Layers; @@ -24,7 +22,7 @@ namespace UVtools.Core.FileFormats; -public class CXDLPv1File : FileFormat +public sealed class CXDLPv1File : FileFormat { #region Constants private const byte HEADER_SIZE = 9; // CXSW3DV2 @@ -346,30 +344,23 @@ public void Validate() public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = (ushort)value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = (ushort)value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = (ushort)value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = (ushort)value; } public override float DisplayWidth { - get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 3); + get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 2); set { - SlicerInfoSettings.DisplayWidth = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayWidth = value.ToString(CultureInfo.InvariantCulture); + base.DisplayWidth = value; } } @@ -378,8 +369,9 @@ public override float DisplayHeight get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayHeight, CultureInfo.InvariantCulture), 3); set { - SlicerInfoSettings.DisplayHeight = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayHeight = value.ToString(CultureInfo.InvariantCulture); + base.DisplayHeight = value; } } diff --git a/UVtools.Core/FileFormats/ChituboxFile.cs b/UVtools.Core/FileFormats/ChituboxFile.cs index c87766d0..8096e3e1 100644 --- a/UVtools.Core/FileFormats/ChituboxFile.cs +++ b/UVtools.Core/FileFormats/ChituboxFile.cs @@ -25,11 +25,11 @@ namespace UVtools.Core.FileFormats; -public class ChituboxFile : FileFormat +public sealed class ChituboxFile : FileFormat { #region Constants - public const byte USED_VERSION = 3; + public const byte DEFAULT_VERSION = 3; public const uint MAGIC_CBDDLP = 0x12FD0019; // 318570521 public const uint MAGIC_CTB = 0x12FD0086; // 318570630 @@ -69,7 +69,7 @@ public class Header /// /// Gets the software version /// - [FieldOrder(1)] public uint Version { get; set; } = USED_VERSION; + [FieldOrder(1)] public uint Version { get; set; } = DEFAULT_VERSION; /// /// Gets dimensions of the printer’s X output volume, in millimeters. @@ -1241,7 +1241,7 @@ public override PrintParameterModifier[]? PrintParameterPerLayerModifiers { public override uint[] AvailableVersions { get; } = { 1, 2, 3, 4 }; - public override uint DefaultVersion => USED_VERSION; + public override uint DefaultVersion => DEFAULT_VERSION; public override uint Version { @@ -1256,41 +1256,25 @@ public override uint Version public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = value; } public override float DisplayWidth { get => HeaderSettings.BedSizeX; - set - { - HeaderSettings.BedSizeX = (float) Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = HeaderSettings.BedSizeX = (float) Math.Round(value, 2); } public override float DisplayHeight { get => HeaderSettings.BedSizeY; - set - { - HeaderSettings.BedSizeY = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = HeaderSettings.BedSizeY = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/ChituboxZipFile.cs b/UVtools.Core/FileFormats/ChituboxZipFile.cs index e6fe7141..2b0f9554 100644 --- a/UVtools.Core/FileFormats/ChituboxZipFile.cs +++ b/UVtools.Core/FileFormats/ChituboxZipFile.cs @@ -24,7 +24,7 @@ namespace UVtools.Core.FileFormats; -public class ChituboxZipFile : FileFormat +public sealed class ChituboxZipFile : FileFormat { #region Constants @@ -146,41 +146,25 @@ public class Header public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = value; } public override float DisplayWidth { get => HeaderSettings.MachineX; - set - { - HeaderSettings.MachineX = value; - RaisePropertyChanged(); - } + set => base.DisplayWidth = HeaderSettings.MachineX = (float)Math.Round(value, 2); } public override float DisplayHeight { get => HeaderSettings.MachineY; - set - { - HeaderSettings.MachineY = value; - RaisePropertyChanged(); - } + set => base.DisplayHeight = HeaderSettings.MachineY = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/FDGFile.cs b/UVtools.Core/FileFormats/FDGFile.cs index f2a7db1b..abd57e27 100644 --- a/UVtools.Core/FileFormats/FDGFile.cs +++ b/UVtools.Core/FileFormats/FDGFile.cs @@ -25,7 +25,7 @@ namespace UVtools.Core.FileFormats; -public class FDGFile : FileFormat +public sealed class FDGFile : FileFormat { #region Constants private const uint MAGIC = 0xBD3C7AC8; // 3174857416 @@ -681,42 +681,26 @@ public override uint Version public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = value; } public override float DisplayWidth { get => HeaderSettings.BedSizeX; - set - { - HeaderSettings.BedSizeX = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = HeaderSettings.BedSizeX = (float)Math.Round(value, 2); } public override float DisplayHeight { get => HeaderSettings.BedSizeY; - set - { - HeaderSettings.BedSizeY = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = HeaderSettings.BedSizeY = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/FileFormat.cs b/UVtools.Core/FileFormats/FileFormat.cs index 2f0f473f..af6dfced 100644 --- a/UVtools.Core/FileFormats/FileFormat.cs +++ b/UVtools.Core/FileFormats/FileFormat.cs @@ -1585,7 +1585,7 @@ public virtual float DisplayWidth get => _displayWidth; set { - if (!RaiseAndSetIfChanged(ref _displayWidth, value)) return; + if (!RaiseAndSetIfChanged(ref _displayWidth, (float)Math.Round(value, 2))) return; NotifyAspectChange(); } } @@ -1598,7 +1598,7 @@ public virtual float DisplayHeight get => _displayHeight; set { - if(!RaiseAndSetIfChanged(ref _displayHeight, value)) return; + if(!RaiseAndSetIfChanged(ref _displayHeight, (float)Math.Round(value, 2))) return; NotifyAspectChange(); } } @@ -1661,43 +1661,17 @@ public virtual float MachineZ /// /// Gets or sets the pixels per mm on X direction /// - public virtual float Xppmm - { - get => DisplayWidth > 0 ? ResolutionX / DisplayWidth : 0; - set - { - RaisePropertyChanged(nameof(Xppmm)); - RaisePropertyChanged(nameof(Ppmm)); - RaisePropertyChanged(nameof(PpmmMax)); - } - } + public virtual float Xppmm => DisplayWidth > 0 ? ResolutionX / DisplayWidth : 0; /// /// Gets or sets the pixels per mm on Y direction /// - public virtual float Yppmm - { - get => DisplayHeight > 0 ? ResolutionY / DisplayHeight : 0; - set - { - RaisePropertyChanged(nameof(Yppmm)); - RaisePropertyChanged(nameof(Ppmm)); - RaisePropertyChanged(nameof(PpmmMax)); - } - } + public virtual float Yppmm => DisplayHeight > 0 ? ResolutionY / DisplayHeight : 0; /// /// Gets or sets the pixels per mm /// - public SizeF Ppmm - { - get => new(Xppmm, Yppmm); - set - { - Xppmm = value.Width; - Yppmm = value.Height; - } - } + public SizeF Ppmm => new(Xppmm, Yppmm); /// /// Gets the maximum (Width or Height) pixels per mm @@ -5033,8 +5007,6 @@ public void SaveAs(string? filePath = null, OperationProgress? progress = null) slicerFile.MaterialMilliliters = MaterialMilliliters; slicerFile.MaterialGrams = MaterialGrams; slicerFile.MaterialCost = MaterialCost; - slicerFile.Xppmm = Xppmm; - slicerFile.Yppmm = Yppmm; slicerFile.PrintTime = PrintTime; slicerFile.PrintHeight = PrintHeight; diff --git a/UVtools.Core/FileFormats/FlashForgeSVGXFile.cs b/UVtools.Core/FileFormats/FlashForgeSVGXFile.cs index abd6ccca..81cfd87d 100644 --- a/UVtools.Core/FileFormats/FlashForgeSVGXFile.cs +++ b/UVtools.Core/FileFormats/FlashForgeSVGXFile.cs @@ -176,7 +176,7 @@ public override string ToString() } -public class FlashForgeSVGXFile : FileFormat +public sealed class FlashForgeSVGXFile : FileFormat { #region Constants #endregion @@ -279,42 +279,26 @@ public override string ToString() public override uint ResolutionX { get => SVGDocument.PrintParameters.ResolutionX; - set - { - SVGDocument.PrintParameters.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = SVGDocument.PrintParameters.ResolutionX = value; } public override uint ResolutionY { get => SVGDocument.PrintParameters.ResolutionY; - set - { - SVGDocument.PrintParameters.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = SVGDocument.PrintParameters.ResolutionY = value; } public override float DisplayWidth { get => SVGDocument.PrintParameters.DisplayWidth; - set - { - SVGDocument.PrintParameters.DisplayWidth = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = SVGDocument.PrintParameters.DisplayWidth = (float)Math.Round(value, 2); } public override float DisplayHeight { get => SVGDocument.PrintParameters.DisplayHeight; - set - { - SVGDocument.PrintParameters.DisplayHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = SVGDocument.PrintParameters.DisplayHeight = (float)Math.Round(value, 2); } public override FlipDirection DisplayMirror diff --git a/UVtools.Core/FileFormats/GR1File.cs b/UVtools.Core/FileFormats/GR1File.cs index 0d49aa5f..1c66ab1b 100644 --- a/UVtools.Core/FileFormats/GR1File.cs +++ b/UVtools.Core/FileFormats/GR1File.cs @@ -14,8 +14,6 @@ using System.Drawing; using System.Globalization; using System.IO; -using System.Linq; -using System.Text; using System.Threading.Tasks; using UVtools.Core.Extensions; using UVtools.Core.Layers; @@ -23,7 +21,7 @@ namespace UVtools.Core.FileFormats; -public class GR1File : FileFormat +public sealed class GR1File : FileFormat { #region Constants @@ -180,30 +178,23 @@ public sealed class PageBreak public override uint ResolutionX { get => SlicerInfoSettings.ResolutionX; - set - { - SlicerInfoSettings.ResolutionX = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = SlicerInfoSettings.ResolutionX = (ushort) value; } public override uint ResolutionY { get => SlicerInfoSettings.ResolutionY; - set - { - SlicerInfoSettings.ResolutionY = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionY = SlicerInfoSettings.ResolutionY = (ushort)value; } public override float DisplayWidth { - get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 3); + get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 2); set { - SlicerInfoSettings.DisplayWidth = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayWidth = value.ToString(CultureInfo.InvariantCulture); + base.DisplayWidth = value; } } @@ -212,8 +203,9 @@ public override float DisplayHeight get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayHeight, CultureInfo.InvariantCulture), 3); set { - SlicerInfoSettings.DisplayHeight = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayHeight = value.ToString(CultureInfo.InvariantCulture); + base.DisplayHeight = value; } } diff --git a/UVtools.Core/FileFormats/GenericZIPFile.cs b/UVtools.Core/FileFormats/GenericZIPFile.cs index 44b4e50f..bfa2ed8f 100644 --- a/UVtools.Core/FileFormats/GenericZIPFile.cs +++ b/UVtools.Core/FileFormats/GenericZIPFile.cs @@ -55,7 +55,7 @@ public void Update() } #endregion -public class GenericZIPFile : FileFormat +public sealed class GenericZIPFile : FileFormat { #region Constants private const string ManifestFileName = "manifest.uvtools"; @@ -73,41 +73,25 @@ public class GenericZIPFile : FileFormat public override uint ResolutionX { get => ManifestFile.ResolutionX; - set - { - ManifestFile.ResolutionX = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = ManifestFile.ResolutionX = (ushort) value; } public override uint ResolutionY { get => ManifestFile.ResolutionY; - set - { - ManifestFile.ResolutionY = (ushort)value; - RaisePropertyChanged(); - } + set => base.ResolutionY = ManifestFile.ResolutionY = (ushort)value; } public override float DisplayWidth { get => ManifestFile.DisplayWidth; - set - { - ManifestFile.DisplayWidth = value; - RaisePropertyChanged(); - } + set => base.DisplayWidth = ManifestFile.DisplayWidth = (float)Math.Round(value, 2); } public override float DisplayHeight { get => ManifestFile.DisplayHeight; - set - { - ManifestFile.DisplayHeight = value; - RaisePropertyChanged(); - } + set => base.DisplayHeight = ManifestFile.DisplayHeight = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/ImageFile.cs b/UVtools.Core/FileFormats/ImageFile.cs index c0a51eb1..c9d1e998 100644 --- a/UVtools.Core/FileFormats/ImageFile.cs +++ b/UVtools.Core/FileFormats/ImageFile.cs @@ -7,7 +7,7 @@ namespace UVtools.Core.FileFormats; -public class ImageFile : FileFormat +public sealed class ImageFile : FileFormat { public override FileFormatType FileType => FileFormatType.Binary; @@ -50,29 +50,16 @@ public override uint ResolutionY public override float DisplayWidth { get => ResolutionX; - set - { - ResolutionX = (uint) value; - RaisePropertyChanged(); - } + set => base.DisplayWidth = ResolutionX = (uint) value; } public override float DisplayHeight { get => ResolutionY; - set - { - ResolutionY = (uint) value; - RaisePropertyChanged(); - } + set => base.DisplayHeight = ResolutionY = (uint) value; } public override float LayerHeight { get; set; } = 0.01f; - /*public override float PrintTime { get; } = 0; - public override float UsedMaterial { get; } = 0; - public override float MaterialCost { get; } = 0; - public override string MaterialName { get; } = null; - public override string MachineName { get; } = null;*/ private Mat ImageMat { get; set; } = null!; diff --git a/UVtools.Core/FileFormats/JXSFile.cs b/UVtools.Core/FileFormats/JXSFile.cs index 497bc6b4..ed31bb08 100644 --- a/UVtools.Core/FileFormats/JXSFile.cs +++ b/UVtools.Core/FileFormats/JXSFile.cs @@ -6,8 +6,6 @@ * of this license document, but changing it is not allowed. */ -using Emgu.CV; -using Emgu.CV.CvEnum; using System; using System.Collections.Generic; using System.ComponentModel; @@ -27,10 +25,13 @@ namespace UVtools.Core.FileFormats; -public class JXSFile : FileFormat +public sealed class JXSFile : FileFormat { #region Constants + public const uint RESOLUTION_X = 4920; + public const uint RESOLUTION_Y = 2880; + public const string ConfigFileName = "config.ini"; public const string ControlFilename = "control.json"; @@ -149,42 +150,24 @@ public sealed class JXSControl public override uint ResolutionX { - get => 4920; + get => base.ResolutionX; set { - if (value != ResolutionX) throw new ArgumentOutOfRangeException(nameof(ResolutionX), $"{nameof(ResolutionX)} can not be different from {ResolutionX}"); - RaisePropertyChanged(); + if (value != RESOLUTION_X) throw new ArgumentOutOfRangeException(nameof(ResolutionX), $"{nameof(ResolutionX)} can not be different from {RESOLUTION_X}"); + base.ResolutionX = value; } } public override uint ResolutionY { - get => 2880; + get => base.ResolutionY; set { - if(value != ResolutionY) throw new ArgumentOutOfRangeException(nameof(ResolutionY), $"{nameof(ResolutionY)} can not be different from {ResolutionY}"); - RaisePropertyChanged(); + if (value != RESOLUTION_Y) throw new ArgumentOutOfRangeException(nameof(ResolutionY), $"{nameof(ResolutionY)} can not be different from {RESOLUTION_Y}"); + base.ResolutionY = value; } } - public override float DisplayWidth - { - get => 221.40f; - set => RaisePropertyChanged(); - } - - public override float DisplayHeight - { - get => 129.60f; - set => RaisePropertyChanged(); - } - - public override float MachineZ - { - get => 245; - set => RaisePropertyChanged(); - } - public override FlipDirection DisplayMirror => FlipDirection.Vertically; public override float LayerHeight @@ -305,12 +288,6 @@ public override float MaterialMilliliters } } - public override string MachineName - { - get => "Uniformation GKone"; - set {} - } - public override object[] Configs => new object[] { ConfigFile }; #endregion @@ -318,6 +295,12 @@ public override string MachineName #region Constructor public JXSFile() { + ResolutionX = RESOLUTION_X; + ResolutionY = RESOLUTION_Y; + DisplayWidth = 221.40f; + DisplayHeight = 129.60f; + MachineZ = 245; + MachineName = "Uniformation GKone"; GCode = new GCodeBuilder { UseTailComma = true, diff --git a/UVtools.Core/FileFormats/LGSFile.cs b/UVtools.Core/FileFormats/LGSFile.cs index 028320e3..5b6de72a 100644 --- a/UVtools.Core/FileFormats/LGSFile.cs +++ b/UVtools.Core/FileFormats/LGSFile.cs @@ -22,7 +22,7 @@ namespace UVtools.Core.FileFormats; -public class LGSFile : FileFormat +public sealed class LGSFile : FileFormat { #region Sub Classes @@ -296,7 +296,7 @@ public override uint ResolutionX set { HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); + base.ResolutionX = value; } } @@ -306,27 +306,7 @@ public override uint ResolutionY set { HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } - } - - public override float Xppmm - { - get => HeaderSettings.PixelPerMmX > 0 ? HeaderSettings.PixelPerMmX : base.Xppmm; - set - { - HeaderSettings.PixelPerMmX = value; - base.Xppmm = value; - } - } - - public override float Yppmm - { - get => HeaderSettings.PixelPerMmY > 0 ? HeaderSettings.PixelPerMmY : base.Yppmm; - set - { - HeaderSettings.PixelPerMmY = value; - base.Yppmm = value; + base.ResolutionY = value; } } @@ -448,16 +428,6 @@ public override float LiftSpeed public override float RetractSpeed => LiftSpeed; - /*public override float PrintTime => 0; - - public override float UsedMaterial => 0; - - public override float MaterialCost => 0; - - public override string MaterialName => "Unknown"; - public override string MachineName => null;*/ - - public override object[] Configs => new object[] { HeaderSettings }; #endregion @@ -465,6 +435,20 @@ public override float LiftSpeed #region Constructors public LGSFile() { + PropertyChanged += (_, e) => + { + switch (e.PropertyName) + { + case nameof(Xppmm): + HeaderSettings.PixelPerMmX = Xppmm; + RaisePropertyChanged(nameof(DisplayWidth)); + break; + case nameof(Yppmm): + HeaderSettings.PixelPerMmY = Yppmm; + RaisePropertyChanged(nameof(DisplayHeight)); + break; + } + }; } #endregion diff --git a/UVtools.Core/FileFormats/MDLPFile.cs b/UVtools.Core/FileFormats/MDLPFile.cs index 0c79666d..aed0d718 100644 --- a/UVtools.Core/FileFormats/MDLPFile.cs +++ b/UVtools.Core/FileFormats/MDLPFile.cs @@ -23,7 +23,7 @@ namespace UVtools.Core.FileFormats; -public class MDLPFile : FileFormat +public sealed class MDLPFile : FileFormat { #region Constants @@ -184,30 +184,23 @@ public sealed class PageBreak public override uint ResolutionX { get => SlicerInfoSettings.ResolutionX; - set - { - SlicerInfoSettings.ResolutionX = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = SlicerInfoSettings.ResolutionX = (ushort) value; } public override uint ResolutionY { get => SlicerInfoSettings.ResolutionY; - set - { - SlicerInfoSettings.ResolutionY = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionY = SlicerInfoSettings.ResolutionY = (ushort) value; } public override float DisplayWidth { - get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 3); + get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayWidth, CultureInfo.InvariantCulture), 2); set { - SlicerInfoSettings.DisplayWidth = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayWidth = value.ToString(CultureInfo.InvariantCulture); + base.DisplayWidth = value; } } @@ -216,8 +209,9 @@ public override float DisplayHeight get => (float)Math.Round(float.Parse(SlicerInfoSettings.DisplayHeight, CultureInfo.InvariantCulture), 3); set { - SlicerInfoSettings.DisplayHeight = Math.Round(value, 3).ToString(CultureInfo.InvariantCulture); - RaisePropertyChanged(); + value = (float)Math.Round(value, 2); + SlicerInfoSettings.DisplayHeight = value.ToString(CultureInfo.InvariantCulture); + base.DisplayHeight = value; } } diff --git a/UVtools.Core/FileFormats/OSFFile.cs b/UVtools.Core/FileFormats/OSFFile.cs index 8009dc84..248415f6 100644 --- a/UVtools.Core/FileFormats/OSFFile.cs +++ b/UVtools.Core/FileFormats/OSFFile.cs @@ -21,10 +21,10 @@ namespace UVtools.Core.FileFormats; -public class OSFFile : FileFormat +public sealed class OSFFile : FileFormat { #region Constants - public const ushort USED_VERSION = 4; + public const ushort DEFAULT_VERSION = 4; #endregion #region Sub Classes @@ -38,7 +38,7 @@ public class OSFHeader [FieldOrder(1)] [FieldEndianness(Endianness.Big)] - public ushort Version { get; set; } = USED_VERSION; + public ushort Version { get; set; } = DEFAULT_VERSION; [FieldOrder(2)] [FieldEndianness(Endianness.Big)] @@ -363,7 +363,7 @@ internal Mat DecodeImage(OSFFile parent) public override uint[] AvailableVersions { get; } = { 4 }; - public override uint DefaultVersion => USED_VERSION; + public override uint DefaultVersion => DEFAULT_VERSION; public override uint Version { @@ -378,25 +378,15 @@ public override uint Version public override uint ResolutionX { get => Settings.ResolutionX; - set - { - Settings.ResolutionX = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = Settings.ResolutionX = (ushort) value; } public override uint ResolutionY { get => Settings.ResolutionY; - set - { - Settings.ResolutionY = (ushort)value; - RaisePropertyChanged(); - } + set => base.ResolutionY = Settings.ResolutionY = (ushort)value; } - - public override FlipDirection DisplayMirror { get => Settings.Mirror switch diff --git a/UVtools.Core/FileFormats/OSLAFile.cs b/UVtools.Core/FileFormats/OSLAFile.cs index 7569d020..f4e1fd9f 100644 --- a/UVtools.Core/FileFormats/OSLAFile.cs +++ b/UVtools.Core/FileFormats/OSLAFile.cs @@ -22,7 +22,7 @@ namespace UVtools.Core.FileFormats; -public class OSLAFile : FileFormat +public sealed class OSLAFile : FileFormat { #region Constants @@ -316,42 +316,26 @@ public class GCodeDef public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = value; } public override float DisplayWidth { get => HeaderSettings.DisplayWidth; - set - { - HeaderSettings.DisplayWidth = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = HeaderSettings.DisplayWidth = (float)Math.Round(value, 2); } public override float DisplayHeight { get => HeaderSettings.DisplayHeight; - set - { - HeaderSettings.DisplayHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = HeaderSettings.DisplayHeight = (float)Math.Round(value, 2); } public override float MachineZ diff --git a/UVtools.Core/FileFormats/PHZFile.cs b/UVtools.Core/FileFormats/PHZFile.cs index 28db18a1..450a21db 100644 --- a/UVtools.Core/FileFormats/PHZFile.cs +++ b/UVtools.Core/FileFormats/PHZFile.cs @@ -25,7 +25,7 @@ namespace UVtools.Core.FileFormats; -public class PHZFile : FileFormat +public sealed class PHZFile : FileFormat { #region Constants private const uint MAGIC_PHZ = 0x9FDA83AE; @@ -697,52 +697,32 @@ public override uint Version public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = value; } public override float DisplayWidth { get => HeaderSettings.BedSizeX; - set - { - HeaderSettings.BedSizeX = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = HeaderSettings.BedSizeX = (float)Math.Round(value, 2); } public override float DisplayHeight { get => HeaderSettings.BedSizeY; - set - { - HeaderSettings.BedSizeY = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = HeaderSettings.BedSizeY = (float)Math.Round(value, 2); } public override float MachineZ { get => HeaderSettings.BedSizeZ > 0 ? HeaderSettings.BedSizeZ : base.MachineZ; - set - { - HeaderSettings.BedSizeZ = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.MachineZ = HeaderSettings.BedSizeZ = (float)Math.Round(value, 2); } public override FlipDirection DisplayMirror diff --git a/UVtools.Core/FileFormats/PhotonSFile.cs b/UVtools.Core/FileFormats/PhotonSFile.cs index 58491c30..8fe30354 100644 --- a/UVtools.Core/FileFormats/PhotonSFile.cs +++ b/UVtools.Core/FileFormats/PhotonSFile.cs @@ -20,7 +20,7 @@ namespace UVtools.Core.FileFormats; -public class PhotonSFile : FileFormat +public sealed class PhotonSFile : FileFormat { #region Constants public const byte RLEEncodingLimit = 128; @@ -34,13 +34,6 @@ public class PhotonSFile : FileFormat #endregion - #region Members - - private uint _resolutionX = RESOLUTION_X; - private uint _resolutionY = RESOLUTION_Y; - - #endregion - #region Sub Classes #region Header @@ -250,8 +243,8 @@ public Mat Decode(bool consumeRle = true) #region Properties - public Header HeaderSettings { get; protected internal set; } = new(); - public LayerHeader LayerSettings { get; protected internal set; } = new(); + public Header HeaderSettings { get; private set; } = new(); + public LayerHeader LayerSettings { get; private set; } = new(); public override FileFormatType FileType => FileFormatType.Binary; public override string ConvertMenuGroup => "Chitubox"; @@ -281,38 +274,6 @@ public Mat Decode(bool consumeRle = true) public override Size[]? ThumbnailsOriginalSize { get; } = {new(224, 168) }; - public override uint ResolutionX - { - get => _resolutionX; - set - { - if(!RaiseAndSetIfChanged(ref _resolutionX, value)) return; - HeaderSettings.XYPixelSize = PixelSizeMax; - } - } - - public override uint ResolutionY - { - get => _resolutionY; - set - { - if (!RaiseAndSetIfChanged(ref _resolutionY, value)) return; - HeaderSettings.XYPixelSize = PixelSizeMax; - } - } - - public override float DisplayWidth - { - get => DISPLAY_WIDTH; - set { } - } - - public override float DisplayHeight - { - get => DISPLAY_HEIGHT; - set { } - } - public override FlipDirection DisplayMirror { get => FlipDirection.Horizontally; @@ -329,12 +290,6 @@ public override float LayerHeight } } - public override float MachineZ - { - get => MACHINE_Z; - set { } - } - public override uint LayerCount { get => base.LayerCount; @@ -422,8 +377,6 @@ public override float MaterialMilliliters } } - public override string MachineName => "Anycubic Photon S"; - public override object[] Configs => new object[] { HeaderSettings }; #endregion @@ -431,11 +384,22 @@ public override float MaterialMilliliters #region Constructors public PhotonSFile() { + ResolutionX = RESOLUTION_X; + ResolutionY = RESOLUTION_Y; + DisplayWidth = DISPLAY_WIDTH; + DisplayHeight = DISPLAY_HEIGHT; + MachineZ = MACHINE_Z; + MachineName = "Anycubic Photon S"; } #endregion #region Methods - + + protected override void OnBeforeEncode(bool isPartialEncode) + { + HeaderSettings.XYPixelSize = Math.Round(PixelSizeMax, 3); + } + protected override void EncodeInternally(OperationProgress progress) { //throw new NotSupportedException("PhotonS is read-only format, please use pws instead!"); diff --git a/UVtools.Core/FileFormats/PhotonWorkshopFile.cs b/UVtools.Core/FileFormats/PhotonWorkshopFile.cs index 349b6488..8417c2b3 100644 --- a/UVtools.Core/FileFormats/PhotonWorkshopFile.cs +++ b/UVtools.Core/FileFormats/PhotonWorkshopFile.cs @@ -23,7 +23,7 @@ namespace UVtools.Core.FileFormats; -public class PhotonWorkshopFile : FileFormat +public sealed class PhotonWorkshopFile : FileFormat { #region Constants public const byte VERSION_1 = 1; // 0x1 @@ -1199,21 +1199,13 @@ public override uint Version public override uint ResolutionX { get => HeaderSettings.ResolutionX; - set - { - HeaderSettings.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = HeaderSettings.ResolutionX = value; } public override uint ResolutionY { get => HeaderSettings.ResolutionY; - set - { - HeaderSettings.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = HeaderSettings.ResolutionY = value; } public override float DisplayWidth @@ -1241,11 +1233,7 @@ public override float DisplayWidth _ => 0 }; } - set - { - MachineSettings.DisplayWidth = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = MachineSettings.DisplayWidth = (float)Math.Round(value, 2); } public override float DisplayHeight { @@ -1272,11 +1260,7 @@ public override float DisplayHeight _ => 0 }; } - set - { - MachineSettings.DisplayHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = MachineSettings.DisplayHeight = (float)Math.Round(value, 2); } public override float MachineZ @@ -1304,11 +1288,7 @@ public override float MachineZ _ => 0 }; } - set - { - MachineSettings.MachineZ = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.MachineZ = MachineSettings.MachineZ = (float)Math.Round(value, 2); } public override FlipDirection DisplayMirror diff --git a/UVtools.Core/FileFormats/SL1File.cs b/UVtools.Core/FileFormats/SL1File.cs index ca2df926..f052eb9b 100644 --- a/UVtools.Core/FileFormats/SL1File.cs +++ b/UVtools.Core/FileFormats/SL1File.cs @@ -22,7 +22,7 @@ namespace UVtools.Core.FileFormats; -public class SL1File : FileFormat +public sealed class SL1File : FileFormat { #region Constants @@ -361,51 +361,31 @@ public override string ToString() public override uint ResolutionX { get => PrinterSettings.DisplayPixelsX; - set - { - PrinterSettings.DisplayPixelsX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = PrinterSettings.DisplayPixelsX = value; } public override uint ResolutionY { get => PrinterSettings.DisplayPixelsY; - set - { - PrinterSettings.DisplayPixelsY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = PrinterSettings.DisplayPixelsY = value; } public override float DisplayWidth { get => PrinterSettings.DisplayWidth; - set - { - PrinterSettings.DisplayWidth = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = PrinterSettings.DisplayWidth = (float)Math.Round(value, 2); } public override float DisplayHeight { get => PrinterSettings.DisplayHeight; - set - { - PrinterSettings.DisplayHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = PrinterSettings.DisplayHeight = (float)Math.Round(value, 2); } public override float MachineZ { get => PrinterSettings.MaxPrintHeight; - set - { - PrinterSettings.MaxPrintHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.MachineZ = PrinterSettings.MaxPrintHeight = (float)Math.Round(value, 2); } public override FlipDirection DisplayMirror @@ -427,7 +407,7 @@ public override FlipDirection DisplayMirror public override byte AntiAliasing { - get => (byte)(PrinterSettings.GammaCorrection > 0 ? 4 : 1); + get => (byte)(PrinterSettings.GammaCorrection > 0 ? 8 : 1); set => PrinterSettings.GammaCorrection = value > 0 ? 1 : 0; } diff --git a/UVtools.Core/FileFormats/UVJFile.cs b/UVtools.Core/FileFormats/UVJFile.cs index 786f3ae8..90d002e9 100644 --- a/UVtools.Core/FileFormats/UVJFile.cs +++ b/UVtools.Core/FileFormats/UVJFile.cs @@ -20,7 +20,7 @@ namespace UVtools.Core.FileFormats; -public class UVJFile : FileFormat +public sealed class UVJFile : FileFormat { #region Constants @@ -242,41 +242,25 @@ public override string ToString() public override uint ResolutionX { get => JsonSettings.Properties.Size.X; - set - { - JsonSettings.Properties.Size.X = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = JsonSettings.Properties.Size.X = (ushort) value; } public override uint ResolutionY { get => JsonSettings.Properties.Size.Y; - set - { - JsonSettings.Properties.Size.Y = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionY = JsonSettings.Properties.Size.Y = (ushort)value; } public override float DisplayWidth { get => JsonSettings.Properties.Size.Millimeter.X; - set - { - JsonSettings.Properties.Size.Millimeter.X = (float) Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = JsonSettings.Properties.Size.Millimeter.X = (float)Math.Round(value, 2); } public override float DisplayHeight { get => JsonSettings.Properties.Size.Millimeter.Y; - set - { - JsonSettings.Properties.Size.Millimeter.Y = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = JsonSettings.Properties.Size.Millimeter.Y = (float)Math.Round(value, 2); } public override FlipDirection DisplayMirror { get; set; } diff --git a/UVtools.Core/FileFormats/VDAFile.cs b/UVtools.Core/FileFormats/VDAFile.cs index 76abdf3e..556d2ab5 100644 --- a/UVtools.Core/FileFormats/VDAFile.cs +++ b/UVtools.Core/FileFormats/VDAFile.cs @@ -142,7 +142,7 @@ public VDALayer(uint index, float zPosition, string? filename) } #endregion -public class VDAFile : FileFormat +public sealed class VDAFile : FileFormat { #region Constants @@ -163,7 +163,7 @@ public override uint ResolutionX { get { - var resolution = ManifestFile.Machines.Resolution.Split('*', StringSplitOptions.TrimEntries); + var resolution = ManifestFile.Machines.Resolution.Split('*', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); if (resolution.Length < 2) return 0; uint.TryParse(resolution[0], out var xRes); return xRes; @@ -171,7 +171,7 @@ public override uint ResolutionX set { ManifestFile.Machines.Resolution = $"{value}*{ResolutionY}P"; - RaisePropertyChanged(); + base.ResolutionX = value; } } @@ -179,7 +179,7 @@ public override uint ResolutionY { get { - var resolution = ManifestFile.Machines.Resolution.Split('*', StringSplitOptions.TrimEntries); + var resolution = ManifestFile.Machines.Resolution.Split('*', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); if (resolution.Length < 2) return 0; resolution[1] = resolution[1].TrimEnd('P'); uint.TryParse(resolution[1], out var yRes); @@ -188,7 +188,7 @@ public override uint ResolutionY set { ManifestFile.Machines.Resolution = $"{ResolutionX}*{value}P"; - RaisePropertyChanged(); + base.ResolutionY = value; } } @@ -202,16 +202,15 @@ public override float DisplayWidth if (ushort.TryParse(umStr, out var um) && um > 0) { - return (float) Math.Round(ResolutionX * um / 1000f, 2); + ManifestFile.Machines.XLength = (float) Math.Round(ResolutionX * um / 1000f, 2); } return ManifestFile.Machines.XLength; } set { - ManifestFile.Machines.XLength = (float) Math.Round(value, 2); - ManifestFile.Machines.PixelXSize = $"{Math.Round(value / ResolutionX * 1000, 2)}um"; - RaisePropertyChanged(); + base.DisplayWidth = ManifestFile.Machines.XLength = (float) Math.Round(value, 2); + ManifestFile.Machines.PixelXSize = $"{PixelWidthMicrons}um"; } } @@ -225,16 +224,15 @@ public override float DisplayHeight if (ushort.TryParse(umStr, out var um) && um > 0) { - return (float)Math.Round(ResolutionY * um / 1000f, 2); + ManifestFile.Machines.YWidth = (float)Math.Round(ResolutionY * um / 1000f, 2); } return ManifestFile.Machines.YWidth; } set { - ManifestFile.Machines.YWidth = (float)Math.Round(value, 2); - ManifestFile.Machines.PixelYSize = $"{Math.Round(value / ResolutionY * 1000, 2)}um"; - RaisePropertyChanged(); + base.DisplayHeight = ManifestFile.Machines.YWidth = (float)Math.Round(value, 2); + ManifestFile.Machines.PixelYSize = $"{PixelHeightMicrons}um"; } } diff --git a/UVtools.Core/FileFormats/VDTFile.cs b/UVtools.Core/FileFormats/VDTFile.cs index 8f7a4e91..bb08eb3d 100644 --- a/UVtools.Core/FileFormats/VDTFile.cs +++ b/UVtools.Core/FileFormats/VDTFile.cs @@ -20,7 +20,7 @@ namespace UVtools.Core.FileFormats; -public class VDTFile : FileFormat +public sealed class VDTFile : FileFormat { #region Constants @@ -293,51 +293,31 @@ public override uint Version public override uint ResolutionX { get => ManifestFile.Machine.ResolutionX; - set - { - ManifestFile.Machine.ResolutionX = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionX = ManifestFile.Machine.ResolutionX = (ushort) value; } public override uint ResolutionY { get => ManifestFile.Machine.ResolutionY; - set - { - ManifestFile.Machine.ResolutionY = (ushort) value; - RaisePropertyChanged(); - } + set => base.ResolutionY = ManifestFile.Machine.ResolutionY = (ushort) value; } public override float DisplayWidth { get => ManifestFile.Machine.DisplayWidth; - set - { - ManifestFile.Machine.DisplayWidth = (float) Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayWidth = ManifestFile.Machine.DisplayWidth = (float) Math.Round(value, 2); } public override float DisplayHeight { get => ManifestFile.Machine.DisplayHeight; - set - { - ManifestFile.Machine.DisplayHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.DisplayHeight = ManifestFile.Machine.DisplayHeight = (float)Math.Round(value, 2); } public override float MachineZ { get => ManifestFile.Machine.ZHeight > 0 ? ManifestFile.Machine.ZHeight : base.MachineZ; - set - { - ManifestFile.Machine.ZHeight = (float)Math.Round(value, 2); - RaisePropertyChanged(); - } + set => base.MachineZ = ManifestFile.Machine.ZHeight = (float)Math.Round(value, 2); } public override FlipDirection DisplayMirror diff --git a/UVtools.Core/FileFormats/ZCodeFile.cs b/UVtools.Core/FileFormats/ZCodeFile.cs index 30ab1f4f..1105fba8 100644 --- a/UVtools.Core/FileFormats/ZCodeFile.cs +++ b/UVtools.Core/FileFormats/ZCodeFile.cs @@ -142,7 +142,7 @@ public class ZcodePrintJob public ZcodePrintJob Job = new(); } -public class ZCodeFile : FileFormat +public sealed class ZCodeFile : FileFormat { #region Constants @@ -240,21 +240,13 @@ public class ZCodeFile : FileFormat public override uint ResolutionX { get => ManifestFile.Device.ResolutionX; - set - { - ManifestFile.Device.ResolutionX = value; - RaisePropertyChanged(); - } + set => base.ResolutionX = ManifestFile.Device.ResolutionX = value; } public override uint ResolutionY { get => ManifestFile.Device.ResolutionY; - set - { - ManifestFile.Device.ResolutionY = value; - RaisePropertyChanged(); - } + set => base.ResolutionY = ManifestFile.Device.ResolutionY = value; } public override float DisplayWidth diff --git a/UVtools.Core/FileFormats/ZCodexFile.cs b/UVtools.Core/FileFormats/ZCodexFile.cs index 9f465e0a..69a0aa96 100644 --- a/UVtools.Core/FileFormats/ZCodexFile.cs +++ b/UVtools.Core/FileFormats/ZCodexFile.cs @@ -24,7 +24,7 @@ namespace UVtools.Core.FileFormats; -public class ZCodexFile : FileFormat +public sealed class ZCodexFile : FileFormat { #region Constants @@ -189,29 +189,6 @@ public class LayerData public override Size[]? ThumbnailsOriginalSize { get; } = {new(320, 180)}; - public override uint ResolutionX - { - get => 1440; - set { } - } - - public override uint ResolutionY - { - get => 2560; - set { } - } - - public override float DisplayWidth - { - get => 74.67f; - set {} - } - public override float DisplayHeight - { - get => 132.88f; - set { } - } - public override FlipDirection DisplayMirror { get => FlipDirection.Horizontally; @@ -242,7 +219,6 @@ public override uint LayerCount { base.LayerCount = ResinMetadataSettings.TotalLayersCount = base.LayerCount; UserSettings.MaxLayer = LastLayerIndex; - } } @@ -356,6 +332,10 @@ public override string MachineName public ZCodexFile() { + ResolutionX = 1440; + ResolutionY = 2560; + DisplayWidth = 74.67f; + DisplayHeight = 132.88f; GCode = new() { UseComments = true, diff --git a/UVtools.Core/UVtools.Core.csproj b/UVtools.Core/UVtools.Core.csproj index 86b39e89..cedcbf9d 100644 --- a/UVtools.Core/UVtools.Core.csproj +++ b/UVtools.Core/UVtools.Core.csproj @@ -10,7 +10,7 @@ https://github.com/sn4k3/UVtools https://github.com/sn4k3/UVtools MSLA/DLP, file analysis, calibration, repair, conversion and manipulation - 3.9.5 + 3.10.0 Copyright © 2020 PTRTECH UVtools.png AnyCPU;x64 diff --git a/UVtools.Installer/Code/HeatGeneratedFileList.wxs b/UVtools.Installer/Code/HeatGeneratedFileList.wxs index 816b6dd2..008cb57a 100644 --- a/UVtools.Installer/Code/HeatGeneratedFileList.wxs +++ b/UVtools.Installer/Code/HeatGeneratedFileList.wxs @@ -926,6 +926,9 @@ + + + @@ -1891,6 +1894,7 @@ + diff --git a/UVtools.Installer/Code/Product.wxs b/UVtools.Installer/Code/Product.wxs index b348b497..7117eaed 100644 --- a/UVtools.Installer/Code/Product.wxs +++ b/UVtools.Installer/Code/Product.wxs @@ -153,7 +153,7 @@ - + diff --git a/UVtools.WPF/UVtools.WPF.csproj b/UVtools.WPF/UVtools.WPF.csproj index 8e760b74..60e1fc2f 100644 --- a/UVtools.WPF/UVtools.WPF.csproj +++ b/UVtools.WPF/UVtools.WPF.csproj @@ -12,7 +12,7 @@ LICENSE https://github.com/sn4k3/UVtools Git - 3.9.5 + 3.10.0 AnyCPU;x64 UVtools.png README.md diff --git a/build/createRelease.sh b/build/createRelease.sh index 128ee599..343f9eaf 100644 --- a/build/createRelease.sh +++ b/build/createRelease.sh @@ -19,7 +19,7 @@ rootDir="$PWD" buildDir="$rootDir/build" coreDir="$rootDir/UVtools.Core" #version="$(grep -oP '\K(\d\.\d\.\d)(?=<\/Version>)' "$coreDir/UVtools.Core.csproj")" # Not supported on recent macos! -version="$(perl -nle'print $& while m{\K(\d\.\d\.\d)(?=<\/Version>)}g' "$coreDir/UVtools.Core.csproj")" +version="$(perl -nle'print $& while m{\K(\d+\.\d+\.\d+)(?=<\/Version>)}g' "$coreDir/UVtools.Core.csproj")" platformsDir="$buildDir/platforms" runtimePlatformDir="$platformsDir/$runtime" publishName="UVtools_${runtime}_v$version"