mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-09 01:52:32 +02:00
140 lines
4.5 KiB
Plaintext
140 lines
4.5 KiB
Plaintext
//------------------------------------------------
|
|
//--- 010 Editor v8.0.1 Binary Template
|
|
//
|
|
// File: osla, omsla, odlp
|
|
// Authors: Tiago Conceição
|
|
//------------------------------------------------
|
|
|
|
LittleEndian();
|
|
|
|
struct FILE {
|
|
char Marker[8] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
ushort Version <fgcolor=cBlack, bgcolor=cWhite>;
|
|
|
|
char CreatedDateTime[20] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
char CreatedBy[50] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
char ModifiedDateTime[20] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
char ModifiedBy[50] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
} file;
|
|
|
|
struct HEADER {
|
|
uint TableSize <fgcolor=cBlack, bgcolor=cRed>;
|
|
uint ResolutionX <fgcolor=cBlack, bgcolor=cRed>;
|
|
uint ResolutionY <fgcolor=cBlack, bgcolor=cRed>;
|
|
|
|
float MachineZ <fgcolor=cBlack, bgcolor=cRed>;
|
|
float DisplayWidth <fgcolor=cBlack, bgcolor=cRed>;
|
|
float DisplayHeight <fgcolor=cBlack, bgcolor=cRed>;
|
|
enum <ubyte> { None, Horizontally, Vertically, Both } DisplayMirror <fgcolor=cBlack, bgcolor=cRed>;
|
|
|
|
char PreviewDataType[16] <fgcolor=cBlack, bgcolor=cRed>;
|
|
char LayerDataType[16] <fgcolor=cBlack, bgcolor=cRed>;
|
|
|
|
uint PreviewTableSize <fgcolor=cBlack, bgcolor=cRed>;
|
|
uint PreviewCount <fgcolor=cBlack, bgcolor=cRed>;
|
|
|
|
float LayerHeight <fgcolor=cBlack, bgcolor=cRed>;
|
|
ushort BottomLayersCount <fgcolor=cBlack, bgcolor=cRed>;
|
|
uint LayerCount <fgcolor=cBlack, bgcolor=cRed>;
|
|
uint LayerTableSize <fgcolor=cBlack, bgcolor=cRed>;
|
|
uint LayerDefinitionsAddress <fgcolor=cBlack, bgcolor=cRed>;
|
|
|
|
uint GCodeAddress <fgcolor=cBlack, bgcolor=cRed>;
|
|
|
|
uint PrintTime <fgcolor=cBlack, bgcolor=cRed>;
|
|
float MaterialMilliliters <fgcolor=cBlack, bgcolor=cRed>;
|
|
float MaterialCost <fgcolor=cBlack, bgcolor=cRed>;
|
|
char MaterialName[50] <fgcolor=cBlack, bgcolor=cRed>;
|
|
char MachineName[50] <fgcolor=cBlack, bgcolor=cRed>;
|
|
} header;
|
|
|
|
local int headerSize = sizeof(header);
|
|
if(header.TableSize > headerSize)
|
|
{
|
|
FSkip(header.TableSize - headerSize);
|
|
}
|
|
|
|
struct CUSTOM {
|
|
uint TableSize <fgcolor=cBlack, bgcolor=cWhite>;
|
|
if(TableSize > 0){
|
|
ubyte Data[TableSize] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
}
|
|
} custom;
|
|
|
|
|
|
struct PREVIEW {
|
|
ushort ResolutionX <fgcolor=cBlack, bgcolor=cPurple>;
|
|
ushort ResolutionY <fgcolor=cBlack, bgcolor=cPurple>;
|
|
uint ImageLength <fgcolor=cBlack, bgcolor=cPurple>;
|
|
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>;
|
|
ubyte ImageData[ImageLength] <fgcolor=cWhite, bgcolor=cBlack>;
|
|
};
|
|
|
|
struct GCODE{
|
|
uint GCodeSize <fgcolor=cWhite, bgcolor=cPurple>;
|
|
char GCodeText[GCodeSize] <fgcolor=cBlack, bgcolor=cWhite>;
|
|
};
|
|
|
|
local int i;
|
|
|
|
if(header.PreviewCount > 0)
|
|
{
|
|
struct PREVIEWS {
|
|
for( i = 0; i < header.PreviewCount; i++)
|
|
{
|
|
PREVIEW preview;
|
|
}
|
|
} previews;
|
|
}
|
|
|
|
if(header.LayerDefinitionsAddress > 0)
|
|
{
|
|
FSeek(header.LayerDefinitionsAddress);
|
|
struct LAYERS_DEF {
|
|
for( i = 0; i < header.LayerCount; i++)
|
|
{
|
|
LAYER_DEF layerDef <fgcolor=cPurple, bgcolor=cWhite>;
|
|
}
|
|
} layers_def;
|
|
|
|
struct LAYERS_DATA {
|
|
for( i = 0; i < header.LayerCount; i++)
|
|
{
|
|
FSeek(layers_def[0].layerDef[i].DataAddress);
|
|
LAYER_DATA layerData <fgcolor=cPurple, bgcolor=cWhite>;
|
|
}
|
|
} layers_data;
|
|
}
|
|
|
|
if(header.GCodeAddress > 0)
|
|
{
|
|
FSeek(header.GCodeAddress);
|
|
GCODE gcode;
|
|
}
|
|
|