- **Command line arguments:**
   - (Add) Convert files: UVtools.exe -c \<inputfile\> \<outputfile1/ext1\> [outputfile2/ext2]
   - (Add) Extract files: UVtools.exe -e \<inputfile\> [output_folder]
   - https://github.com/sn4k3/UVtools#command-line-arguments
- **File formats:**
   - (Add) Implement TSMC (Two Stage Motor Control) for the supported formats
   - (Add) Implement 'Bottom retract speed' for the supported formats
   - (Add) LGS: Support for lgs120 and lg4k (#218)
   - (Add) CTB: Special/virtual file extensions .v2.ctb, .v3.ctb, .v4.ctb to force a convertion to the set version (2 to 4). The .ctb is Version 3 by default when creating/converting files
   - (Improvement) Better performance for file formats that decode images in sequential pixels groups
- **GCode:**
  - (Improvement) Better parsing of the movements / lifts
  - (Improvement) Better handling of lifts performed after cure the layer
  - (Improvement) More fail-safe checks and sanitize of gcode while parsing
- (Improvement) CTBv3: Enable per layer settings if disabled when fast save without reencode
- (Upgrade) .NET from 5.0.8 to 5.0.9
- (Fix) PrusaSlicer printer: Longer Orange 4k with correct resolution and display size
- (Fix) Odd error when changing properties too fast in multi-thread
This commit is contained in:
Tiago Conceição
2021-08-12 23:19:47 +01:00
parent b8e05db113
commit 80a9adbcd0
39 changed files with 1965 additions and 376 deletions
+10 -8
View File
@@ -12,9 +12,6 @@ typedef struct() {
BYTE LayerRLE[DataSize] <fgcolor=cBlack, bgcolor=cRed>;
} layerData;
typedef struct(int size) {
BYTE layerDataBlock[size] <fgcolor=cBlack, bgcolor=0x00FF00>;
} rgbPreviewImageRawData;
struct HEADER {
char Name[8] <fgcolor=cBlack, bgcolor=cWhite>;
@@ -62,15 +59,20 @@ struct HEADER {
uint32 Uint_a8 <fgcolor=cBlack, bgcolor=cRed>;
uint32 PreviewSizeX <fgcolor=cBlack, bgcolor=cRed>;
uint32 PreviewSizeY <fgcolor=cBlack, bgcolor=cRed>;
} header;
rgbPreviewImageRawData preview(PreviewSizeX*PreviewSizeY*2);
if(PrinterModel == 120) // .lgs120
{
byte preview_data[header.PreviewSizeX*header.PreviewSizeY*2];
if(header.PrinterModel == 120) // .lgs120
{
struct PNG_PREVIEW {
uint32 pngLength <fgcolor=cBlack, bgcolor=cRed>;
byte png[pngLength] <fgcolor=cBlack, bgcolor=cYellow>;
}
} header;
ushort padding <fgcolor=cBlack, bgcolor=cRed>;
} png_preview;
}
struct LAYERS {
local int i;
+20 -3
View File
@@ -25,7 +25,7 @@ struct HEADER {
float MachineZ <fgcolor=cBlack, bgcolor=cRed>;
float DisplayWidth <fgcolor=cBlack, bgcolor=cRed>;
float DisplayHeight <fgcolor=cBlack, bgcolor=cRed>;
byte DisplayMirror <fgcolor=cBlack, bgcolor=cRed>;
ubyte DisplayMirror <fgcolor=cBlack, bgcolor=cRed>;
char PreviewDataType[16] <fgcolor=cBlack, bgcolor=cRed>;
char LayerDataType[16] <fgcolor=cBlack, bgcolor=cRed>;
@@ -66,16 +66,33 @@ struct PREVIEW {
ushort ResolutionX <fgcolor=cBlack, bgcolor=cPurple>;
ushort ResolutionY <fgcolor=cBlack, bgcolor=cPurple>;
uint ImageLength <fgcolor=cBlack, bgcolor=cPurple>;
byte ImageData[ImageLength] <fgcolor=cWhite, bgcolor=cBlack>;
ubyte ImageData[ImageLength] <fgcolor=cWhite, bgcolor=cBlack>;
};
struct LAYER_DEF {
uint DataAddress <fgcolor=cBlack, bgcolor=cPurple>;
float PositionZ <fgcolor=cBlack, bgcolor=cPurple>;
float LiftHeight <fgcolor=cBlack, bgcolor=cPurple>;
float LiftSpeed <fgcolor=cBlack, bgcolor=cPurple>;
float LiftHeight2 <fgcolor=cBlack, bgcolor=cPurple>;
float LiftSpeed2 <fgcolor=cBlack, bgcolor=cPurple>;
float WaitTimeAfterLift <fgcolor=cBlack, bgcolor=cPurple>;
float RetractSpeed <fgcolor=cBlack, bgcolor=cPurple>;
float RetractHeight2 <fgcolor=cBlack, bgcolor=cPurple>;
float RetractSpeed2 <fgcolor=cBlack, bgcolor=cPurple>;
float WaitTimeBeforeCure <fgcolor=cBlack, bgcolor=cPurple>;
float ExposureTime <fgcolor=cBlack, bgcolor=cPurple>;
float WaitTimeAfterCure <fgcolor=cBlack, bgcolor=cPurple>;
ubyte LightPWM <fgcolor=cBlack, bgcolor=cPurple>;
uint BoundingRectangleX <fgcolor=cBlack, bgcolor=cPurple>;
uint BoundingRectangleY <fgcolor=cBlack, bgcolor=cPurple>;
uint BoundingRectangleWidth <fgcolor=cBlack, bgcolor=cPurple>;
uint BoundingRectangleHeight <fgcolor=cBlack, bgcolor=cPurple>;
};
struct LAYER_DATA{
uint ImageLength <fgcolor=cWhite, bgcolor=cBlack>;
byte ImageData[ImageLength] <fgcolor=cWhite, bgcolor=cBlack>;
ubyte ImageData[ImageLength] <fgcolor=cWhite, bgcolor=cBlack>;
};
struct GCODE{