Photon File Validator Is Archived: Use UVtools Instead
Photon File Validator is archived and supports older .photon files. Use UVtools to check current Anycubic Mono files for islands, resin traps and settings.
A resin printer never sees the model. It sees a stack of black-and-white images and a table of timings, packaged in a binary file. Everything that happens on the machine is decided by that file, which means every problem worth catching is visible in it before the vat is ever filled. A file validator is the tool that reads the stack the way the printer will read it and reports what is wrong.
This is a different check from looking at the model in the slicer. The slicer’s 3D view shows geometry and support struts. The sliced file shows what each individual layer will cure, which is the level at which resin printing actually fails.
What is inside a Photon file
Anycubic’s Photon Workshop writes a family of proprietary binary formats, and the extension encodes the target machine rather than a generic capability. The early Photon used .photon; ChiTuBox’s equivalent output was .cbddlp; the Photon Workshop lineage runs through .pws and .pw0 to the .pwm-prefixed formats used by the Mono series and the shorter .pm-prefixed formats used by more recent machines. Current slicer and firmware pairings are listed on Anycubic’s firmware and software download page.
Whatever the extension, the contents follow the same shape. There is a header carrying the machine’s screen resolution and physical build dimensions. There is a settings block holding layer height, normal exposure time, bottom exposure time, bottom layer count, light-off delay, and lift heights and speeds. There is a preview thumbnail. And there is the layer data itself, one run-length-encoded bitmap per layer at the native pixel grid of the masking display.
Two consequences follow directly. First, a file sliced for one screen resolution and sent to a machine with a different one is either rejected or printed at the wrong scale, because the pixel grid is the coordinate system. Second, the exposure settings travel inside the file, so they can be inspected and corrected without going back to the slicer.
What a validator checks
The checks that matter are geometric properties of the layer stack, and they are cheap to compute once the stack is decoded.
Islands. An island is a group of lit pixels on a layer that has no cured material anywhere beneath it. The printer will happily cure it, but it is attached to nothing, so it stays in the vat instead of rising with the plate. This is the failure the original Photon File Validator was written to find, and it remains the single most valuable check.
Overhangs. A layer region that is supported only at its edge, with a large unsupported span beyond, is not a true island but is still likely to deform or tear during the peel. Validators flag these by the fraction of the region that overhangs the layer below.
Resin traps and suction cups. A hollowed model with no drain hole, or a cup-shaped feature oriented so that it faces downward, encloses liquid resin. During the lift stroke that trapped volume has to either pull the model off the plate, tear a hole in it, or drag the vat film upward. Trap detection walks the interior voids of the stack and reports enclosed volumes.
Empty layers and touching bounds. An empty layer in the middle of a stack is a slicing artefact that separates the print. A layer whose lit pixels run into the edge of the pixel grid means the model exceeds the build area in X or Y and has been clipped.
Print height and layer count. Compared against the machine profile in the header, this catches a model that is taller than the Z travel.
Thin features. Walls or pins narrower than a couple of pixels on the masking display will not resolve, regardless of exposure. A validator can report the minimum feature width per layer so these are caught before the print rather than after.
Why islands are the expensive failure
An island is not merely a missing piece of model. The cured fragment sinks and settles somewhere in the vat, usually on the film at the bottom. On the next lift the plate presses the fragment into the film. Over a few dozen layers the fragment grows into a hard blob welded to the film, and from then on every layer of every print in that vat carries a defect.
Two outcomes follow, both expensive. The film is a consumable and can be punctured by the blob, dumping resin into the machine. And on a monochrome LCD the panel sits directly under the film, so pressure concentrated on a hard object is transmitted to the glass. Fishing a cured lump out of a vat is a five-minute job when it is caught early and a replacement-parts job when it is not.
This is why the check belongs before the print rather than after. The slicer’s own support generator is not a validator: automatic supports routinely leave small features unsupported, particularly on the first few millimetres of a model where the geometry is changing fast.
The tooling
The original Photon File Validator, published by the Photonsters group, is a small Java application that opens .photon and .cbddlp files, renders each layer, and highlights islands and overhangs, and flags geometry sitting too close to the build border. Its format coverage stops at that early generation, so it does not open files written for the current Mono machines. The project is also archived: its own README states that it is no longer maintained and points users to UVtools instead. Treat it as the origin of the idea rather than as current tooling.
UVtools is the tool that covers current formats. It opens the Photon Workshop family alongside the formats used by other vendors, decodes the layer stack, and runs an issue-detection pass covering islands, overhangs, resin traps and suction cups, empty layers, touching bounds, and print height. It can repair some classes of issue directly in the file, and it exposes the settings block for editing, so exposure or lift parameters can be corrected without a re-slice. The UVtools tools reference documents each operation.
The important distinction between the two is not age but scope. A validator reports; UVtools reports and edits. Editing a sliced file is powerful and easy to misuse, because a repaired island is still an unsupported feature and a repaired file has no record of what the model was supposed to look like. Repair belongs to cases where re-slicing is genuinely impractical.
A pre-print routine
- Slice in Photon Workshop, ChiTuBox, or Lychee with the profile that matches the machine and the resin.
- Open the sliced file in UVtools and run issue detection.
- Read the issue list by layer, not by count. Ten islands on one layer near the plate is a support problem in one place; ten islands scattered across the model is an orientation problem.
- Fix the cause in the slicer: add supports, change orientation, add a drain hole for a trapped volume, thicken a feature that fell below the pixel limit.
- Re-slice and re-check. Support edits frequently create new issues elsewhere.
- Before sending the file, confirm the settings block reads the way it should: layer height, normal exposure, bottom exposure, bottom layer count, and lift.
- Check the layer preview at the first, middle, and last layers. A stack that looks correct at those three points is rarely wrong in between.
That settings check in step six is worth doing every time, because a resin change alters exposure and a profile carried over from a previous resin is one of the most common ways a geometrically perfect file still fails. Starting values for exposure and bottom-layer burn-in can be estimated with the resin exposure calculator, and the reasons those values differ between materials are set out in the guide to Anycubic resin types.
What a validator cannot tell you
It reports geometry, not physics. It has no view of whether a support strut is thick enough to survive the peel force, whether the model is oriented so that cross-sectional area stays low, whether the resin is at a workable temperature, or whether the exposure is right for the material in the vat. A file with zero reported issues can still fail for any of those reasons.
It also cannot judge the first few layers. Adhesion to the plate is governed by bottom exposure, bottom layer count, and how flat the plate sits against the masking screen, none of which are geometry. That last one is covered in the guide to Anycubic bed leveling and Z offset.
Common mistakes
Validating the model instead of the sliced file. Treating the slicer’s automatic supports as sufficient without a check. Repairing islands in the file rather than supporting them in the slicer. Ignoring resin traps on hollowed models because they printed fine at a smaller scale. Carrying a settings profile across a resin change. Sending a file sliced for a different machine profile. Running the check once and skipping it after a support edit, which is exactly when new islands appear.
For the trade-offs that make this workflow specific to resin in the first place, see resin MSLA compared with high-speed FDM.
Sources
Related
Anycubic Resin Exposure Time Settings Explained
What Anycubic's exposure, bottom exposure, bottom layer, transition and off time settings do, the wiki's per-printer values, and how to check with R_E_R_F.
Anycubic Photon Mono Resin Sticking to FEP: Causes and Fixes
A symptom-based guide covers leveling, exposure, resin temperature, peel force, and FEP film condition, with Photon Mono settings and verification steps.
Resin Types Compared: Which Anycubic Resin to Print With
Standard, high-speed, ABS-like, tough, plant-based, and water-washable resins are compared by exposure, durability, cleanup, and best uses.