The ZIP archive holds the model as a set of files, its members. The pictures are PNG and JPEG, the materials and styles XML, and the model and its metadata trees of tagged values.
The members
| Member | Contents |
|---|---|
meta/model_thumbnail.png | The thumbnail, a PNG. |
meta/preview_thumbnail.png | A second picture, a PNG. |
meta/meta.dat | Metadata: the version, the units and the save history. |
materials/<name>/material.xml | One material, in XML. |
materials/<name>/<image> | The material’s texture image (JPEG seen). |
thumbnails/Component#N.png | Component thumbnails. |
styles/<name>/style.xml | A style, in XML. |
model.dat | The model, a tree of tagged values. Always the last member. |
The order seen is: the two pictures, meta.dat, the materials, the component
thumbnails, the styles and model.dat. A SketchUp 2023 file had 65 members;
the largest file seen, 693 MB, had 2,720, among them 1,361 material.xml
files whose textures were about 520 KB each.
Thumbnails
meta/model_thumbnail.png is the model’s thumbnail and
meta/preview_thumbnail.png a second picture of it, 256 × 256 pixels in the
files seen. Both are PNG files kept as Deflate
stored blocks, so their bytes can be
read straight from the file. meta.dat names them both, with the image
type 4, the same number the older files use for a PNG thumbnail.
meta.dat
A small tree of tagged values, 330 to 595 bytes once inflated in the files seen. It holds the version of the last save, the model’s units, a GUID, the names of the two pictures and the save history: every save of the model with the program, its version and the time. Its tags are listed on model.dat and meta.dat.
Materials
Each material has a folder under materials/ holding a
material.xml and, if it is textured, the texture image. The folder name is
the material name with characters such as < and >
replaced by _, so the material <Glass Blue Tint> is in
materials/_Glass Blue Tint_/; that rule is inferred from the names seen.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<materialDocument xmlns="http://sketchup.google.com/schemas/sketchup/1.0/material" xmlns:mat="http://sketchup.google.com/schemas/sketchup/1.0/material">
<mat:material name="<Glass Blue Tint>" type="2" workflow="0" colorRed="9" colorGreen="175" colorBlue="241" colorizeType="0" trans="0.52000000000000002" useTrans="1" hasTexture="1">
<mat:texture textureFilename="C:\Program Files\@Last Software\SketchUp 3.0\Materials\\glass-tinted.jpg" xScale="24" yScale="24" avgColor="4293970184">
<mat:images>
<mat:image id="1" path="./glass-tinted.jpg" file_name="glass-tinted.jpg" />
</mat:images>
</mat:texture>
</mat:material>
</materialDocument>
The attributes seen on mat:material:
| Attribute | Example | Meaning |
|---|---|---|
name | <Glass Blue Tint> | The material’s name, with XML escapes. |
type | 2 | Not decoded here. |
workflow | 0 | Not decoded here. |
colorRed, colorGreen, colorBlue | 9, 175, 241 | The colour, 0 to 255 each. |
colorizeType | 0 | Not decoded here. |
trans | 0.52000000000000002 | Read by the explorer as the opacity, when useTrans is 1. |
useTrans | 1 | Whether trans applies: 0 or 1. |
hasTexture | 1 | 1 when the material has a texture, given in the mat:texture element. |
The mat:texture element gives the original path of the texture file, its
scale and an average colour, and mat:image the image’s name in the
material’s folder. The original path in the example still names SketchUp 3.0’s own
materials folder, and the namespace URLs still name sketchup.google.com.
Some materials are named Layer_ and a tag’s name, such as
Layer_A-Wall; that these hold the tags’ colours is an inference. The
explorer lists every material with its colour, opacity and texture.
Component thumbnails
The members under thumbnails/, named Component#1.png,
Component#2.png and so on, are PNG thumbnails of the model’s
components. Which component each belongs to is not recorded here.
Styles
Each style is a style.xml in a folder under styles/. Every
file seen has two, [Simple Style] and [Simple Style]_1. Their
contents are not described here.
model.dat
The model itself: its geometry, components, tags, scenes and options, as one large tree of tagged values, always the last member of the archive. In the files seen it was 3.8 MB to 21.9 MB stored and 17.5 MB to 86.6 MB once inflated. Its layout, and what is known of its tags, is on model.dat and meta.dat.