mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-08 17:42:31 +02:00
v2.14.0
- **File Formats:** - (Add) SL1S: Prusa SL1S Speed - (Add) CTB v4 support (318570758) - (Improvement) PHOTON, CBDDLP, CTB v2, PHZ: Disallow per layer settings, beside the format support, printers never use it - (Improvement) Longer Orange format with new found keys - (Improvement) CXDLP: Fix the resolution from CL-60 and trigger an error when a invalid resolution was set and unable to detect the printer model - **Prusa Slicer:** - (Add) UVtools Prusa SL1S SPEED - (Add) Longer Orange 120 - (Fix) Creality HALOT-ONE CL-60: Flip resolution & display and remove mirror - (Fix) Creality HALOT-SKY CL-89: Remove mirror - (Improvement) Longer Orange printers with better default settings - (Add) Button on `Help - Sponsor`: Open github sponsor webpage
This commit is contained in:
@@ -8,65 +8,67 @@ SET PRINT_DIR=sla_print
|
||||
SET PRINTER_DIR=printer
|
||||
|
||||
SET files[0]=UVtools Prusa SL1.ini
|
||||
SET files[1]=EPAX E6 Mono.ini
|
||||
SET files[2]=EPAX E10 Mono.ini
|
||||
SET files[3]=EPAX X1.ini
|
||||
SET files[4]=EPAX X10.ini
|
||||
SET files[5]=EPAX X10 4K Mono.ini
|
||||
SET files[6]=EPAX X133 4K Mono.ini
|
||||
SET files[7]=EPAX X156 4K Color.ini
|
||||
SET files[8]=EPAX X1K 2K Mono.ini
|
||||
SET files[9]=Zortrax Inkspire.ini
|
||||
SET files[10]=Nova3D Elfin.ini
|
||||
SET files[11]=Nova3D Bene4 Mono.ini
|
||||
SET files[12]=AnyCubic Photon.ini
|
||||
SET files[13]=AnyCubic Photon S.ini
|
||||
SET files[14]=AnyCubic Photon Zero.ini
|
||||
SET files[15]=AnyCubic Photon X.ini
|
||||
SET files[16]=AnyCubic Photon Mono.ini
|
||||
SET files[17]=AnyCubic Photon Mono SE.ini
|
||||
SET files[18]=AnyCubic Photon Mono X.ini
|
||||
SET files[19]=Elegoo Mars.ini
|
||||
SET files[20]=Elegoo Mars 2 Pro.ini
|
||||
SET files[21]=Elegoo Mars C.ini
|
||||
SET files[22]=Elegoo Saturn.ini
|
||||
SET files[23]=Peopoly Phenom.ini
|
||||
SET files[24]=Peopoly Phenom L.ini
|
||||
SET files[25]=Peopoly Phenom Noir.ini
|
||||
SET files[26]=Peopoly Phenom XXL.ini
|
||||
SET files[27]=QIDI Shadow5.5.ini
|
||||
SET files[28]=QIDI Shadow6.0 Pro.ini
|
||||
SET files[29]=QIDI S-Box.ini
|
||||
SET files[30]=QIDI I-Box Mono.ini
|
||||
SET files[31]=Phrozen Shuffle.ini
|
||||
SET files[32]=Phrozen Shuffle Lite.ini
|
||||
SET files[33]=Phrozen Shuffle XL.ini
|
||||
SET files[34]=Phrozen Shuffle XL Lite.ini
|
||||
SET files[35]=Phrozen Shuffle 16.ini
|
||||
SET files[36]=Phrozen Shuffle 4K.ini
|
||||
SET files[37]=Phrozen Sonic.ini
|
||||
SET files[38]=Phrozen Sonic 4K.ini
|
||||
SET files[39]=Phrozen Sonic Mighty 4K.ini
|
||||
SET files[40]=Phrozen Sonic Mini.ini
|
||||
SET files[41]=Phrozen Sonic Mini 4K.ini
|
||||
SET files[42]=Phrozen Transform.ini
|
||||
SET files[43]=Kelant S400.ini
|
||||
SET files[44]=Wanhao D7.ini
|
||||
SET files[45]=Wanhao D8.ini
|
||||
SET files[46]=Wanhao CGR Mini Mono.ini
|
||||
SET files[47]=Wanhao CGR Mono.ini
|
||||
SET files[48]=Creality LD-002R.ini
|
||||
SET files[49]=Creality LD-002H.ini
|
||||
SET files[50]=Creality LD-006.ini
|
||||
SET files[51]=Creality HALOT-ONE CL-60.ini
|
||||
SET files[52]=Creality HALOT-SKY CL-89.ini
|
||||
SET files[53]=Voxelab Polaris 5.5.ini
|
||||
SET files[54]=Voxelab Proxima 6.ini
|
||||
SET files[55]=Voxelab Ceres 8.9.ini
|
||||
SET files[56]=Longer Orange 10.ini
|
||||
SET files[57]=Longer Orange 30.ini
|
||||
SET files[58]=Longer Orange4K.ini
|
||||
SET files[59]=Uniz IBEE.ini
|
||||
SET files[1]=UVtools Prusa SL1S Speed.ini
|
||||
SET files[2]=EPAX E6 Mono.ini
|
||||
SET files[3]=EPAX E10 Mono.ini
|
||||
SET files[4]=EPAX X1.ini
|
||||
SET files[5]=EPAX X10.ini
|
||||
SET files[6]=EPAX X10 4K Mono.ini
|
||||
SET files[7]=EPAX X133 4K Mono.ini
|
||||
SET files[8]=EPAX X156 4K Color.ini
|
||||
SET files[9]=EPAX X1K 2K Mono.ini
|
||||
SET files[10]=Zortrax Inkspire.ini
|
||||
SET files[11]=Nova3D Elfin.ini
|
||||
SET files[12]=Nova3D Bene4 Mono.ini
|
||||
SET files[13]=AnyCubic Photon.ini
|
||||
SET files[14]=AnyCubic Photon S.ini
|
||||
SET files[15]=AnyCubic Photon Zero.ini
|
||||
SET files[16]=AnyCubic Photon X.ini
|
||||
SET files[17]=AnyCubic Photon Mono.ini
|
||||
SET files[18]=AnyCubic Photon Mono SE.ini
|
||||
SET files[19]=AnyCubic Photon Mono X.ini
|
||||
SET files[20]=Elegoo Mars.ini
|
||||
SET files[21]=Elegoo Mars 2 Pro.ini
|
||||
SET files[22]=Elegoo Mars C.ini
|
||||
SET files[23]=Elegoo Saturn.ini
|
||||
SET files[24]=Peopoly Phenom.ini
|
||||
SET files[25]=Peopoly Phenom L.ini
|
||||
SET files[26]=Peopoly Phenom Noir.ini
|
||||
SET files[27]=Peopoly Phenom XXL.ini
|
||||
SET files[28]=QIDI Shadow5.5.ini
|
||||
SET files[29]=QIDI Shadow6.0 Pro.ini
|
||||
SET files[30]=QIDI S-Box.ini
|
||||
SET files[31]=QIDI I-Box Mono.ini
|
||||
SET files[32]=Phrozen Shuffle.ini
|
||||
SET files[33]=Phrozen Shuffle Lite.ini
|
||||
SET files[34]=Phrozen Shuffle XL.ini
|
||||
SET files[35]=Phrozen Shuffle XL Lite.ini
|
||||
SET files[36]=Phrozen Shuffle 16.ini
|
||||
SET files[37]=Phrozen Shuffle 4K.ini
|
||||
SET files[38]=Phrozen Sonic.ini
|
||||
SET files[39]=Phrozen Sonic 4K.ini
|
||||
SET files[40]=Phrozen Sonic Mighty 4K.ini
|
||||
SET files[41]=Phrozen Sonic Mini.ini
|
||||
SET files[42]=Phrozen Sonic Mini 4K.ini
|
||||
SET files[43]=Phrozen Transform.ini
|
||||
SET files[44]=Kelant S400.ini
|
||||
SET files[45]=Wanhao D7.ini
|
||||
SET files[46]=Wanhao D8.ini
|
||||
SET files[47]=Wanhao CGR Mini Mono.ini
|
||||
SET files[48]=Wanhao CGR Mono.ini
|
||||
SET files[49]=Creality LD-002R.ini
|
||||
SET files[50]=Creality LD-002H.ini
|
||||
SET files[51]=Creality LD-006.ini
|
||||
SET files[52]=Creality HALOT-ONE CL-60.ini
|
||||
SET files[53]=Creality HALOT-SKY CL-89.ini
|
||||
SET files[54]=Voxelab Polaris 5.5.ini
|
||||
SET files[55]=Voxelab Proxima 6.ini
|
||||
SET files[56]=Voxelab Ceres 8.9.ini
|
||||
SET files[57]=Longer Orange 10.ini
|
||||
SET files[58]=Longer Orange 30.ini
|
||||
SET files[59]=Longer Orange 120.ini
|
||||
SET files[60]=Longer Orange 4K.ini
|
||||
SET files[61]=Uniz IBEE.ini
|
||||
|
||||
echo PrusaSlicer Printers Instalation
|
||||
echo This will replace printers, all changes will be discarded
|
||||
|
||||
+212
@@ -0,0 +1,212 @@
|
||||
//------------------------------------------------
|
||||
//--- 010 Editor v8.0.1 Binary Template
|
||||
//
|
||||
// File: ctb, cbddlp, photon
|
||||
// Authors: Tiago Conceição
|
||||
//------------------------------------------------
|
||||
|
||||
LittleEndian();
|
||||
|
||||
struct HEADER {
|
||||
uint Magic <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Version <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
float BedSizeX <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float BedSizeY <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float BedSizeZ <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
uint Unknown1 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
float TotalHeightMilimeter <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LayerHeightMilimeter <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LayerExposureSeconds <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float BottomExposureSeconds <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LightOffDelay <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint BottomLayersCount <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint ResolutionX <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint ResolutionY <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint PreviewLargeOffsetAddress <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint LayersDefinitionOffsetAddress <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint LayerCount <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint PreviewSmallOffsetAddress <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint PrintTime <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint ProjectorType <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint PrintParametersOffsetAddress <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint PrintParametersSize <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint AntiAliasLevel <fgcolor=cBlack, bgcolor=cRed>;
|
||||
ushort LightPWM <fgcolor=cBlack, bgcolor=cRed>;
|
||||
ushort BottomLightPWM <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint EncryptionKey <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint SlicerOffset <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint SlicerSize <fgcolor=cBlack, bgcolor=cRed>;
|
||||
} header;
|
||||
|
||||
struct PREVIEW {
|
||||
uint ResolutionX <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint ResolutionY <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint ImageOffset <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint ImageLength <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown1 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown3 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown4 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
byte Data[ImageLength] <fgcolor=cBlack, bgcolor=cRed>;
|
||||
};
|
||||
|
||||
struct PRINT_PARAMETERS {
|
||||
float BottomLiftHeight <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float BottomLiftSpeed <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftHeight <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftSpeed <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RetractSpeed <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float VolumeMl <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float WeightG <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float CostDollars <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float BottomLightOffDelay <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LightOffDelay <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
uint BottomLayerCount <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding1 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding3 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding4 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
};
|
||||
|
||||
struct SLICER_INFO {
|
||||
float BottomLiftDistance2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float BottomLiftSpeed2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftHeight2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftSpeed2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RetractHeight2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RetractSpeed2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RestTimeAfterLift <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
uint MachineNameAddress <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint MachineNameSize <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint EncryptionMode <fgcolor=cBlack, bgcolor=cRed>; // 0/8 for cbddlp files, 0xF (15) for ctb files, 0x2000000F (536870927) for v3 ctb files allow per layer parameters
|
||||
uint MysteriousId <fgcolor=cBlack, bgcolor=cRed>; // v3 = 305419896 | v4 = 27087675
|
||||
uint AntiAliasLevel <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint SoftwareVersion <fgcolor=cBlack, bgcolor=cRed>; // ctb v3 = 17171200 | ctb v4 = 16777216
|
||||
float RestTimeAfterRetract <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RestTimeAfterLift2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint TransitionLayerCount <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding1 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Padding3 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
if(MachineNameAddress > 0 && MachineNameSize > 0)
|
||||
{
|
||||
char MachineName[MachineNameSize] <fgcolor=cBlack, bgcolor=cRed>;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
if(header.PreviewLargeOffsetAddress > 0)
|
||||
{
|
||||
FSeek(header.PreviewLargeOffsetAddress);
|
||||
PREVIEW previewLarge <fgcolor=cBlack, bgcolor=cYellow>;
|
||||
}
|
||||
if(header.PreviewSmallOffsetAddress > 0)
|
||||
{
|
||||
FSeek(header.PreviewSmallOffsetAddress);
|
||||
PREVIEW previewSmall <fgcolor=cBlack, bgcolor=cYellow>;
|
||||
}
|
||||
|
||||
if(header.PrintParametersOffsetAddress > 0){
|
||||
FSeek(header.PrintParametersOffsetAddress);
|
||||
PRINT_PARAMETERS parameters <fgcolor=cBlack, bgcolor=cYellow>;
|
||||
}
|
||||
|
||||
if(header.SlicerOffset > 0){
|
||||
FSeek(header.SlicerOffset);
|
||||
SLICER_INFO SlicerInfo <fgcolor=cBlack, bgcolor=cYellow>;
|
||||
}
|
||||
|
||||
if(header.Version >= 4)
|
||||
{
|
||||
struct PRINT_PARAMETERS_V4
|
||||
{
|
||||
char Disclaimer[320] <fgcolor=cBlack, bgcolor=cYellow>;
|
||||
float BottomRetractSpeed <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float BottomRetractSpeed2 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
uint Padding1 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float Four1 <fgcolor=cWhite, bgcolor=cBlue>; // 4?
|
||||
uint Padding2 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float Four2 <fgcolor=cWhite, bgcolor=cBlue>; // 4?
|
||||
float RestTimeAfterRetract <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float RestTimeAfterLift <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float RestTimeBeforeLift <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float BottomRetractHeight2 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
float Unknown1 <fgcolor=cWhite, bgcolor=cBlue>; // 2955.996 or uint:1161347054 but changes
|
||||
uint Unknown2 <fgcolor=cWhite, bgcolor=cBlue>; // 73470 but changes
|
||||
uint Unknown3 <fgcolor=cWhite, bgcolor=cBlue>; // 5?
|
||||
uint Unknown4 <fgcolor=cWhite, bgcolor=cBlue>; // 139 but changes
|
||||
uint Padding3 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
uint Padding4 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
uint Padding5 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
uint Padding6 <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
uint Unknown5 <fgcolor=cWhite, bgcolor=cBlue>; // 23047 but changes
|
||||
uint Unknown6 <fgcolor=cWhite, bgcolor=cBlue>; // 320 but changes
|
||||
byte Reserved[420] <fgcolor=cWhite, bgcolor=cBlue>;
|
||||
} printParametersV4;
|
||||
}
|
||||
|
||||
typedef struct() {
|
||||
float LayerPositionZ <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LayerExposure <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LightOffSeconds <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint DataAddress <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint DataSize <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown1 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown3 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint Unknown4 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
} LAYER_DATA;
|
||||
|
||||
typedef struct() {
|
||||
LAYER_DATA LayerData <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint TotalSize <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftHeight <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftSpeed <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftHeight2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LiftSpeed2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RetractSpeed <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RetractHeight2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RetractSpeed2 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RestTimeBeforeLift <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RestTimeAfterLift <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float RestTimeAfterRetract <fgcolor=cBlack, bgcolor=cRed>;
|
||||
float LightPWM <fgcolor=cBlack, bgcolor=cRed>;
|
||||
} LAYER_DATAEX;
|
||||
|
||||
|
||||
typedef struct(int size) {
|
||||
byte layerDataBlock[size] <fgcolor=cBlack, bgcolor=cGreen>;
|
||||
} LAYER_RLE;
|
||||
|
||||
FSeek(header.LayersDefinitionOffsetAddress);
|
||||
struct LAYERS {
|
||||
local int aa;
|
||||
local int i;
|
||||
local uint currentPos;
|
||||
|
||||
for( aa = 0; aa < header.AntiAliasLevel; aa++)
|
||||
{
|
||||
for( i = 0; i < header.LayerCount; i++ ){
|
||||
LAYER_DATA layerData <fgcolor=cBlack, bgcolor=cYellow>;
|
||||
currentPos = FTell();
|
||||
|
||||
if(header.Version >= 3)
|
||||
{
|
||||
FSeek(layerData.DataAddress - 84);
|
||||
LAYER_DATAEX layerDataEx;
|
||||
}
|
||||
|
||||
FSeek(layerData.DataAddress);
|
||||
LAYER_RLE layerRLE(layerData.DataSize);
|
||||
FSeek(currentPos);
|
||||
}
|
||||
}
|
||||
} layers;
|
||||
+1
-1
@@ -17,7 +17,7 @@ typedef struct(int size) {
|
||||
} rgbPreviewImageRawData;
|
||||
|
||||
struct HEADER {
|
||||
char name[8] <fgcolor=cBlack, bgcolor=cWhite>;
|
||||
char Name[8] <fgcolor=cBlack, bgcolor=cWhite>;
|
||||
uint32 Uint_08 <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint32 Uint_0C <fgcolor=cBlack, bgcolor=cRed>;
|
||||
uint32 PrinterModel <fgcolor=cBlack, bgcolor=cRed>;
|
||||
|
||||
Reference in New Issue
Block a user