Encrust
All guides

Printing · Guide 16 of 16

Open a sliced file and check its layers

5 min read

File, then Open sliced file..., opens a .goo, .ctb, .pwmx or any other container Encrust reads, whichever slicer wrote it. The right column lists what the header states, and the slider steps through the layers it decodes to. Nothing is added to your plate.

Before you start

You need a sliced file on your disk, from any slicer, and Encrust installed (Install Encrust). No printer or resin profile has to be loaded: an opened file states its own machine, panel and exposure, and the profiles in the window don’t change the file’s own numbers. One row is the exception: the Exposure under This layer reads the resin loaded in the window, as the step below says. Your first print opens a file Encrust wrote; this guide opens anyone’s.

Open the file

  1. Choose File, then Open sliced file…, and pick the file under the “Sliced file” filter. Dropping it on the window does the same.
  2. The status bar reads “Opened” and the path, and the window switches to Preview.

The slider starts on the last layer. The filter lists .goo, .ctb, .cbddlp, .photon, .pwmx, .pwmo, .pwms, .sl1, .sl1s, .zip, .cxdlp, .svgx and .cws. A dropped file is also taken as a sliced file for the other Anycubic extensions, such as .pw0 or .pm3. A dropped file whose extension is none of these goes to the model importer, even if its bytes are a sliced file.

Opening reads the file’s tables and decodes a layer only when you look at it.

Read what the header states

The column on the right opens on a section headed with the file’s name. Its rows are the file’s own words:

  • Format: the extension and, where the container states one, its version, such as .ctb v4.
  • Machine, Slicer, Resin: only the ones the container has a place for. A .ctb or .cbddlp names neither slicer nor resin, and the rows are left out rather than guessed.
  • Panel: the resolution in pixels, and in millimetres where the container records the display size.
  • Stack: the layer count and the height they add up to.
  • Layer height, Exposure (normal, then bottom with the number of bottom layers) and Greys.
  • Print time and States, the resin volume in ml the file says it takes, when the container has them.

Greys is how many grey levels the layer data can carry, and it differs by container:

Container Greys
.svgx 2 (its layers are polygons)
.cbddlp 9 (eight one-bit passes)
Anycubic 16 (four bits)
.ctb 128 (seven bits)
.cxdlp 256 at version 3, 128 at version 4
.goo, .sl1, .zip, .cws 256 (full eight bits)

If the section ends with “This container records no panel size, so an area cannot be worked out from it.”, the file gives no display size in millimetres, as a .ctb and a .cbddlp don’t. Cured area in the next step has nothing to measure by, so don’t read it.

Step through the layers

Drag the section slider, the vertical rail on the right edge of the stage. Under the file’s section, This layer shows:

  • Layer, counted from one as a printer’s screen counts it.
  • Z height, from the file’s layer table.
  • Exposure, which for an opened file comes from the resin loaded in the window, not from the file. Read the file’s exposure from its own section above.
  • Cured area, counted from the decoded mask: the lit pixels times the pixel size.

The picture on the stage is the decoded layer, which is what the file’s layer data holds, as opposed to what the header says about it. It may be drawn smaller than the panel for speed. The area is not: it is counted on the layer at the panel’s own resolution.

Don’t copy a foreign file’s exposure into your own resin profile unquestioned. The numbers belong to that printer and resin, and your resin maker’s instructions come first.

Compare the header with the layers

Encrust’s window shows the header’s “States” volume but doesn’t total what the layers cure. The command line does: encrust info file.ctb prints the header, then decodes every layer, checks that each one covers the whole panel, and adds “lit pixels” and, where the panel size is known, “masks cure” in mm³.

The report shows both the header and the mask-derived numbers so you can compare them on your own files. Where the two disagree, the decoded masks are what Encrust measures; whether the printer’s screen matches them depends on the printer.

encrust info file.ctb --layer 120 --png layer.png writes one layer, counted from one, as an 8-bit greyscale PNG.

Recognise a file by its first bytes

When a name has no extension or one no reader claims, encrust info reads the first 16 bytes and decides from them. The extension wins when it names a reader. In the window this route is not taken for a drop, which goes by name alone; use the command line for such a file. The signatures:

First bytes Container
ANYCUBIC Anycubic (.pwmx and relatives)
PK a zip: .sl1, a .zip of PNGs or .cws, told apart by the entries inside
DLP-II .svgx
CXSW3D at byte 4 .cxdlp
07 00 00 00 44 4C 50 00 at byte 4 .goo
86 00 FD 12 or 06 01 FD 12 .ctb (magic 0x12FD0086 or 0x12FD0106, stored little-endian)
19 00 FD 12 .cbddlp and .photon (magic 0x12FD0019)

One read settles it, so no reader is run on a file that is not its own. A name that claims the wrong reader gets no second chance: a .sl1 renamed to .zip is read as a .zip, not sniffed.

Close the file

File, then Close sliced file (the item appears only while a file is open) puts the plate back under the slider.

If something goes wrong

“no reader recognises this file”

The name claims no reader and the first bytes match none of the signatures above. It is another format, a mesh, or a file damaged at the start.

“… version N is not supported”

The container is one Encrust reads, but at a revision it doesn’t, such as a .pwmx at a Photon Workshop revision it doesn’t read, or a .cxdlp at an older version. The message names the format and the version. Re-slice the file in the slicer that wrote it, with an older or newer file version if it offers one.

The file opens with an error about a count or a panel

A header that claims more layers or rows than the file has bytes for is refused, and so is a panel above 256 megapixels, about three times the largest panel in our printer list. Encrust refuses a malformed file rather than crashing on it. Re-export it from the slicer.

“has no layers”

The container parsed and its layer table is empty. Slice it again.