user: What is Wm Operators and how is it used in Blender Python scripting?

assistant: # Wm Operators

bpy.ops.wm.alembic_export(*\**, *filepath=''*, *check_existing=True*, *filter_blender=False*, *filter_backup=False*, *filter_image=False*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=True*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=8*, *display_type='DEFAULT'*, *sort_method=''*, *filter_glob='\*.abc'*, *start=-2147483648*, *end=-2147483648*, *xsamples=1*, *gsamples=1*, *sh_open=0.0*, *sh_close=1.0*, *selected=False*, *flatten=False*, *collection=''*, *uvs=True*, *packuv=True*, *normals=True*, *vcolors=False*, *orcos=True*, *face_sets=False*, *subdiv_schema=False*, *apply_subdiv=False*, *curves_as_mesh=False*, *use_instancing=True*, *global_scale=1.0*, *triangulate=False*, *quad_method='SHORTEST_DIAGONAL'*, *ngon_method='BEAUTY'*, *export_hair=True*, *export_particles=True*, *export_custom_properties=True*, *as_background_job=False*, *evaluation_mode='RENDER'*, *init_scene_frame_range=True*)
:   Export current scene in an Alembic archive

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode
        - **start** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Start Frame, Start frame of the export, use the default value to take the start frame of the current scene
        - **end** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – End Frame, End frame of the export, use the default value to take the end frame of the current scene
        - **xsamples** (*int in* *[**1**,* *128**]**,* *(**optional**)*) – Transform Samples, Number of times per frame transformations are sampled
        - **gsamples** (*int in* *[**1**,* *128**]**,* *(**optional**)*) – Geometry Samples, Number of times per frame object data are sampled
        - **sh_open** (*float in* *[**-1**,* *1**]**,* *(**optional**)*) – Shutter Open, Time at which the shutter is open
        - **sh_close** (*float in* *[**-1**,* *1**]**,* *(**optional**)*) – Shutter Close, Time at which the shutter is closed
        - **selected** (*boolean**,* *(**optional**)*) – Selected Objects Only, Export only selected objects
        - **flatten** (*boolean**,* *(**optional**)*) – Flatten Hierarchy, Do not preserve objects’ parent/children relationship
        - **collection** (*string**,* *(**optional**,* *never None**)*) – Collection
        - **uvs** (*boolean**,* *(**optional**)*) – UV Coordinates, Export UV coordinates
        - **packuv** (*boolean**,* *(**optional**)*) – Merge UVs
        - **normals** (*boolean**,* *(**optional**)*) – Normals, Export normals
        - **vcolors** (*boolean**,* *(**optional**)*) – Color Attributes, Export color attributes
        - **orcos** (*boolean**,* *(**optional**)*) – Generated Coordinates, Export undeformed mesh vertex coordinates
        - **face_sets** (*boolean**,* *(**optional**)*) – Face Sets, Export per face shading group assignments
        - **subdiv_schema** (*boolean**,* *(**optional**)*) – Use Subdivision Schema, Export meshes using Alembic’s subdivision schema
        - **apply_subdiv** (*boolean**,* *(**optional**)*) – Apply Subdivision Surface, Export subdivision surfaces as meshes
        - **curves_as_mesh** (*boolean**,* *(**optional**)*) – Curves as Mesh, Export curves and NURBS surfaces as meshes
        - **use_instancing** (*boolean**,* *(**optional**)*) – Use Instancing, Export data of duplicated objects as Alembic instances; speeds up the export and can be disabled for compatibility with other software
        - **global_scale** (*float in* *[**0.0001**,* *1000**]**,* *(**optional**)*) – Scale, Value by which to enlarge or shrink the objects with respect to the world’s origin
        - **triangulate** (*boolean**,* *(**optional**)*) – Triangulate, Export polygons (quads and n-gons) as triangles
        - **quad_method** (enum in [Modifier Triangulate Quad Method Items](bpy_types_enum_items/modifier_triangulate_quad_method_items.html#rna-enum-modifier-triangulate-quad-method-items), (optional)) – Quad Method, Method for splitting the quads into triangles
        - **ngon_method** (enum in [Modifier Triangulate Ngon Method Items](bpy_types_enum_items/modifier_triangulate_ngon_method_items.html#rna-enum-modifier-triangulate-ngon-method-items), (optional)) – N-gon Method, Method for splitting the n-gons into triangles
        - **export_hair** (*boolean**,* *(**optional**)*) – Export Hair, Exports hair particle systems as animated curves
        - **export_particles** (*boolean**,* *(**optional**)*) – Export Particles, Exports non-hair particle systems
        - **export_custom_properties** (*boolean**,* *(**optional**)*) – Export Custom Properties, Export custom properties to Alembic .userProperties
        - **as_background_job** (*boolean**,* *(**optional**)*) – Run as Background Job, Enable this to run the import in the background, disable to block Blender while importing. This option is deprecated; EXECUTE this operator to run in the foreground, and INVOKE it to run as a background job
        - **evaluation_mode** (enum in [`'RENDER'`, `'VIEWPORT'`], (optional)) –

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

          - `RENDER`
            Render – Use Render settings for object visibility, modifier settings, etc.
          - `VIEWPORT`
            Viewport – Use Viewport settings for object visibility, modifier settings, etc.

bpy.ops.wm.alembic_import(*\**, *filepath=''*, *directory=''*, *files=None*, *check_existing=False*, *filter_blender=False*, *filter_backup=False*, *filter_image=False*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=True*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=8*, *relative_path=True*, *display_type='DEFAULT'*, *sort_method=''*, *filter_glob='\*.abc'*, *scale=1.0*, *set_frame_range=True*, *validate_meshes=False*, *always_add_cache_reader=False*, *is_sequence=False*, *as_background_job=False*)
:   Load an Alembic archive

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **directory** (*string**,* *(**optional**,* *never None**)*) – Directory, Directory of the file
        - **files** (`bpy_prop_collection` of `OperatorFileListElement`, (optional)) – Files
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **relative_path** (*boolean**,* *(**optional**)*) – Relative Path, Select the file relative to the blend file
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode
        - **scale** (*float in* *[**0.0001**,* *1000**]**,* *(**optional**)*) – Scale, Value by which to enlarge or shrink the objects with respect to the world’s origin
        - **set_frame_range** (*boolean**,* *(**optional**)*) – Set Frame Range, If checked, update scene’s start and end frame to match those of the Alembic archive
        - **validate_meshes** (*boolean**,* *(**optional**)*) – Validate Meshes, Ensure the data is valid (when disabled, data may be imported which causes crashes displaying or editing)
        - **always_add_cache_reader** (*boolean**,* *(**optional**)*) – Always Add Cache Reader, Add cache modifiers and constraints to imported objects even if they are not animated so that they can be updated when reloading the Alembic archive
        - **is_sequence** (*boolean**,* *(**optional**)*) – Is Sequence, Set to true if the cache is split into separate files
        - **as_background_job** (*boolean**,* *(**optional**)*) – Run as Background Job, Enable this to run the export in the background, disable to block Blender while exporting. This option is deprecated; EXECUTE this operator to run in the foreground, and INVOKE it to run as a background job

bpy.ops.wm.append(*\**, *filepath=''*, *directory=''*, *filename=''*, *files=None*, *check_existing=False*, *filter_blender=True*, *filter_backup=False*, *filter_image=False*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=True*, *filemode=1*, *display_type='DEFAULT'*, *sort_method=''*, *link=False*, *do_reuse_local_id=False*, *clear_asset_data=False*, *autoselect=True*, *active_collection=True*, *instance_collections=False*, *instance_object_data=True*, *set_fake=False*, *use_recursive=True*)
:   Append from a Library .blend file

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **directory** (*string**,* *(**optional**,* *never None**)*) – Directory, Directory of the file
        - **filename** (*string**,* *(**optional**,* *never None**)*) – File Name, Name of the file
        - **files** (`bpy_prop_collection` of `OperatorFileListElement`, (optional)) – Files
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode
        - **link** (*boolean**,* *(**optional**)*) – Link, Link the objects or data-blocks rather than appending
        - **do_reuse_local_id** (*boolean**,* *(**optional**)*) – Re-Use Local Data, Try to re-use previously matching appended data-blocks instead of appending a new copy
        - **clear_asset_data** (*boolean**,* *(**optional**)*) – Clear Asset Data, Don’t add asset meta-data or tags from the original data-block
        - **autoselect** (*boolean**,* *(**optional**)*) – Select, Select new objects
        - **active_collection** (*boolean**,* *(**optional**)*) – Active Collection, Put new objects on the active collection
        - **instance_collections** (*boolean**,* *(**optional**)*) – Instance Collections, Create instances for collections, rather than adding them directly to the scene
        - **instance_object_data** (*boolean**,* *(**optional**)*) – Instance Object Data, Create instances for object data which are not referenced by any objects
        - **set_fake** (*boolean**,* *(**optional**)*) – Fake User, Set “Fake User” for appended items (except objects and collections)
        - **use_recursive** (*boolean**,* *(**optional**)*) – Localize All, Localize all appended data, including those indirectly linked from other libraries

bpy.ops.wm.batch_rename(*\**, *data_type='OBJECT'*, *data_source='SELECT'*, *actions=None*)
:   Rename multiple items at once

    Parameters:
    :   - **data_type** (enum in [`'OBJECT'`, `'COLLECTION'`, `'MATERIAL'`, `'MESH'`, `'CURVE'`, `'META'`, `'VOLUME'`, `'GREASEPENCIL'`, `'ARMATURE'`, `'LATTICE'`, `'LIGHT'`, `'LIGHT_PROBE'`, `'CAMERA'`, `'SPEAKER'`, `'BONE'`, `'NODE'`, `'SEQUENCE_STRIP'`, `'ACTION_CLIP'`, `'SCENE'`, `'BRUSH'`], (optional)) – Type, Type of data to rename
        - **data_source** (enum in [`'SELECT'`, `'ALL'`], (optional)) – Source
        - **actions** (`bpy_prop_collection` of `BatchRenameAction`, (optional)) – actions

    File:
    :   [startup/bl_operators/wm.py:3280](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/wm.py#L3280)

bpy.ops.wm.blend_strings_utf8_validate()
:   Check and fix all strings in current .blend file to be valid UTF-8 Unicode (needed for some old, 2.4x area files)

    File:
    :   [startup/bl_operators/file.py:289](https://projects.blender.org/blender/blender