user: Describe Exporting to Alembic Files from the Blender manual or Python API, including usage steps and snippets.

assistant: This section describes the effect of the different export options.

### General

[image reference removed]

General options.

Scale
:   This sets the global scale of the Alembic file. Keep it at the default value of 1.0 to use
    Blender’s units.

Include – Selection Only
:   When enabled, exports only the selected objects. When disabled, all objects are exported.

### Scene

[image reference removed]

Scene options.

Frame Start, End
:   Sets the frame range to export to Alembic. This defaults to the current scene frame range.

Sub-frame Sampling
:   These options control the sub-frame sampling of animations.

    Samples Transform
    :   Transform Samples sets the number of times per frame at which animated transformations
        are sampled and written to Alembic.

    Geometry
    :   Geometry Samples sets the same, but then for animated geometry.

    Shutter Open, Close
    :   Shutter Open/Close define the interval [open, close] over which those samples are taken.
        The valid range is -1 to 1, where -1 indicates the previous frame,
        0 indicates the current frame, and 1 indicates the next frame.

        For example, if information for detailed mesh motion blur is desired, some subframes around
        the current frame can be written to Alembic by using a sample count of 5,
        Shutter Open at -0.25 and Shutter Close at 0.25.
        This mimics a “180 degree” shutter, opening 90 degrees before the frame
        and closing 90 degrees after the frame.

Use Instancing
:   Exports data of [duplicated](../../scene_layout/object/editing/duplicate_linked.xhtml)
    or [instanced](../../scene_layout/object/properties/instancing/index.xhtml) objects as Alembic instances;
    speeds up the export and can be disabled for compatibility with other software.

Custom Properties
:   When enabled (which it is by default), custom properties are exported to Alembic as well.
    The following custom property types are supported:

    - Numbers (`int`, `float`) and strings. These are exported as arrays of
      a single element, so `47` will be exported as `[47]` to Alembic,
      and `"Agent"` to `["Agent"]`. This matches the behavior of
      many other DCCs.
    - Lists of numbers and strings. These are exported as-is, so `[327, 47]` is exported as `[327, 47]`.
    - Matrices and nested arrays of numbers. These are flattened into one long list,
      so a 3×2 matrix of numbers will become a list of 6 numbers. Similarly,
      nested lists `[[1, 2, 3], [4, 5], [6]]` will be exported as `[1, 2, 3, 4, 5, 6]`.
    - Numbers can be animated as well.

Flatten Hierarchy
:   When disabled, parent/child relations between objects are exported too. Any parent object that
    is not exported itself, but with children that *are* exported, is replaced by an empty.
    When enabled, parent/child relations are not exported, and transformations are all written in world coordinates.

Settings
:   Determines visibility of objects, modifier settings,
    and other areas where there are different settings for viewport and rendering.

    Render:
    :   Use Render settings for object visibility, modifier settings, etc.

    Viewport:
    :   Use Viewport settings for object visibility, modifier settings, etc.

### Geometry

[image reference removed]

Geometry options.

UV Coordinates
:   When enabled, UV maps are exported. Although the Alembic standard only supports
    a single UV map, Blender exports all UV maps in a way that should be readable by other software.

Merge UVs
:   When enabled, UVs sharing the same vertex and location will be merged into a single UV.
    The exported file can be slightly smaller.

Normals
:   When enabled, an object’s [Normals](../../glossary/index.xhtml#term-Normal) are exported.
    See [Custom Split Normals of Meshes](#custom-split-normals-of-meshes) below for more information.

Color Attributes
:   When enabled, exports Color Attributes.

Face Sets
:   Exports the material names per face. The material data is not exported but only material names.

Subdivisions
:   Apply
    :   Applies any [Subdivision Surface modifiers](../../modeling/modifiers/generate/subdivision_surface.xhtml)
        before writing to Alembic.

    Use Schema
    :   Writes polygonal meshes using the “SubD” Alembic schema, rather than the “PolyMesh” schema.
        This sets an import option for the program, with which the file is opened,
        to apply its form of a non-destructive subdivision.

Triangulate
:   Triangulates the mesh before writing to Alembic. For more detail on the specific option see
    the [Triangulate modifier](../../modeling/modifiers/generate/triangulate.xhtml).

### Particle Systems

[image reference removed]

Particle Systems options.

Alembic has no support for Particle Systems, in the same way that it does not support armatures.

Export Hair
:   Hair is exported as animated zero-width curves.

Export Particles
:   Particles are exported as animated points.