- **Tools:**
   - (Add) PCB exposure: Converts a gerber file to a pixel perfect image given your printer LCD/resolution to exposure the copper traces.
   - (Improvement) Export settings now indent the XML to be more user friendly to edit
   - (Improvement) Layer import: Allow to have profiles
   - (Improvement) Layer import: Validates if selected files exists before execute
   - (Fix) Lithophane: Disallow having start threshold equal to end threshold
- (Add) Windows explorer: Right-click on files will show "Open with UVtools" on context menu which opens the selected file on UVtools (Windows MSI only)
- (Improvement) Island and overhang detection: Ignore detection on all layers that are in direct contact with the plate (On same first layer position)
- (Improvement) Cmd: Better error messages for convert command when using shared extensions and no extension
This commit is contained in:
Tiago Conceição
2022-05-02 01:02:13 +01:00
parent 2625c13cc3
commit 3130ebe0f2
45 changed files with 2751 additions and 302 deletions
+103
View File
@@ -0,0 +1,103 @@
//------------------------------------------------
//--- 010 Editor v8.0.1 Binary Template
//
// File: osf (vlare)
// Authors: Tiago Conceição
//------------------------------------------------
BigEndian();
struct PREVIEW {
BitfieldDisablePadding();
uint PreviewLength:24 <fgcolor=cBlack, bgcolor=cRed>;
ubyte PreviewData[PreviewLength] <fgcolor=cBlack, bgcolor=cGreen>;
};
struct HEADER {
uint HeaderLength <fgcolor=cBlack, bgcolor=cRed>;
ushort Version <fgcolor=cBlack, bgcolor=cRed>; // 1
ubyte ImageLog <fgcolor=cBlack, bgcolor=cRed>; // log 2
PREVIEW preview;
PREVIEW preview;
PREVIEW preview;
PREVIEW preview;
ushort ResolutionX <fgcolor=cBlack, bgcolor=cRed>;
ushort ResolutionY <fgcolor=cBlack, bgcolor=cRed>;
ushort PixelUmMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // (um, magnification 100 times: such as 100um write 10000, the same below)
ubyte Mirror <fgcolor=cBlack, bgcolor=cRed>; // (0x00 not mirrored, 0x01 X-axis mirroring, 0x02 Y-axis mirroring, 0x03 XY-axis mirroring)
ubyte BottomLightPWM <fgcolor=cBlack, bgcolor=cRed>;
ubyte LightPWM <fgcolor=cBlack, bgcolor=cRed>;
ubyte AntiAliasEnabled <fgcolor=cBlack, bgcolor=cRed>;
ubyte DistortionEnabled <fgcolor=cBlack, bgcolor=cRed>;
ubyte DelayedExposureActivationEnabled <fgcolor=cBlack, bgcolor=cRed>;
uint LayerCount <fgcolor=cBlack, bgcolor=cYellow>;
ushort NumberParameterSets <fgcolor=cBlack, bgcolor=cRed>; // 1
uint LastLayerIndex <fgcolor=cBlack, bgcolor=cYellow>;
uint LayerHeightUmMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // um magnification 100 times
ubyte BottomLayersCount <fgcolor=cBlack, bgcolor=cRed>;
uint ExposureTimeMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint BottomExposureTimeMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint SupportDelayTimeMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint BottomSupportDelayTimeMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
ubyte TransitionLayers <fgcolor=cBlack, bgcolor=cRed>;
ubyte TransitionType <fgcolor=cBlack, bgcolor=cRed>; // 0x00 linear transition
uint TransitionLayerIntervalTimeDifferenceMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint WaitTimeAfterCureMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint WaitTimeAfterLiftMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint WaitTimeBeforeCureMagnified100Times:24 <fgcolor=cBlack, bgcolor=cRed>; // s * 100
uint BottomLiftHeightSlowMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
uint BottomLiftHeightTotalMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
uint LiftHeightSlowMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
uint LiftHeightTotalMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
uint BottomRetractHeightTotalMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
uint RetractHeightSlowMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
uint RetractHeightTotalMagnified1000Times:24 <fgcolor=cBlack, bgcolor=cRed>; // magnification 1000 times
ubyte AccelerationType <fgcolor=cBlack, bgcolor=cRed>; // (0x00: S-shaped acceleration, 0x01: T-shaped acceleration, Default Value: S-shaped acceleration, currently only supports S-shaped acceleration)
ushort BottomLiftSpeedStartMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort BottomLiftSpeedSlowMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort BottomLiftSpeedFastMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ubyte BottomLiftAccelerationChange <fgcolor=cBlack, bgcolor=cRed>; // 5
ushort LiftSpeedStartMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort LiftSpeedSlowMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort LiftSpeedFastMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ubyte LiftAccelerationChange <fgcolor=cBlack, bgcolor=cRed>; // 5
ushort BottomRetractSpeedStartMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort BottomRetractSpeedSlowMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort BottomRetractFastMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ubyte BottomRetractAccelerationChange <fgcolor=cBlack, bgcolor=cRed>; // 5
ushort RetractSpeedStartMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort RetractSpeedSlowMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ushort RetractFastMagnified100Times <fgcolor=cBlack, bgcolor=cRed>; // magnification 100 times
ubyte RetractAccelerationChange <fgcolor=cBlack, bgcolor=cRed>; // 5
ubyte Reserved[23] <fgcolor=cWhite, bgcolor=cBlack>;
ubyte ProtocolType <fgcolor=cBlack, bgcolor=cRed>; // 0
} header;
struct LAYER_DEF {
ushort Mark <fgcolor=cBlack, bgcolor=cRed>; // (OD OA begins, indicating that the model + support is included; the beginning of 0D 0B, indicating that the layer only has support data)
uint NumberOfPixels <fgcolor=cBlack, bgcolor=cRed>;
ushort StartY <fgcolor=cBlack, bgcolor=cRed>;
};
struct LAYERS {
local int i = 0;
for( i = 0; i < header.LayerCount; i++ ){
LAYER_DEF layerDef <fgcolor=cBlack, bgcolor=cYellow>;
}
} layers;