user: Explain Wm Operators in complete detail according to the official Blender documentation.

assistant: in* *[**]**,* *(**optional**)*) – File sorting mode
        - **export_animation** (*boolean**,* *(**optional**)*) – Export Animation, Export multiple frames instead of the current frame only
        - **start_frame** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Start Frame, The first frame to be exported
        - **end_frame** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – End Frame, The last frame to be exported
        - **forward_axis** (enum in [`'X'`, `'Y'`, `'Z'`, `'NEGATIVE_X'`, `'NEGATIVE_Y'`, `'NEGATIVE_Z'`], (optional)) –

          Forward Axis

          - `X`
            X – Positive X axis.
          - `Y`
            Y – Positive Y axis.
          - `Z`
            Z – Positive Z axis.
          - `NEGATIVE_X`
            -X – Negative X axis.
          - `NEGATIVE_Y`
            -Y – Negative Y axis.
          - `NEGATIVE_Z`
            -Z – Negative Z axis.
        - **up_axis** (enum in [`'X'`, `'Y'`, `'Z'`, `'NEGATIVE_X'`, `'NEGATIVE_Y'`, `'NEGATIVE_Z'`], (optional)) –

          Up Axis

          - `X`
            X – Positive X axis.
          - `Y`
            Y – Positive Y axis.
          - `Z`
            Z – Positive Z axis.
          - `NEGATIVE_X`
            -X – Negative X axis.
          - `NEGATIVE_Y`
            -Y – Negative Y axis.
          - `NEGATIVE_Z`
            -Z – Negative Z axis.
        - **global_scale** (*float in* *[**0.0001**,* *10000**]**,* *(**optional**)*) – Scale, Value by which to enlarge or shrink the objects with respect to the world’s origin
        - **apply_modifiers** (*boolean**,* *(**optional**)*) – Apply Modifiers, Apply modifiers to exported meshes
        - **apply_transform** (*boolean**,* *(**optional**)*) – Apply Transform, Apply object transforms to exported vertices
        - **export_eval_mode** (enum in [`'DAG_EVAL_RENDER'`, `'DAG_EVAL_VIEWPORT'`], (optional)) –

          Object Properties, Determines properties like object visibility, modifiers etc., where they differ for Render and Viewport

          - `DAG_EVAL_RENDER`
            Render – Export objects as they appear in render.
          - `DAG_EVAL_VIEWPORT`
            Viewport – Export objects as they appear in the viewport.
        - **export_selected_objects** (*boolean**,* *(**optional**)*) – Export Selected Objects, Export only selected objects instead of all supported objects
        - **export_uv** (*boolean**,* *(**optional**)*) – Export UVs
        - **export_normals** (*boolean**,* *(**optional**)*) – Export Normals, Export per-face normals if the face is flat-shaded, per-face-corner normals if smooth-shaded
        - **export_colors** (*boolean**,* *(**optional**)*) – Export Colors, Export per-vertex colors
        - **export_materials** (*boolean**,* *(**optional**)*) – Export Materials, Export MTL library. There must be a Principled-BSDF node for image textures to be exported to the MTL file
        - **export_pbr_extensions** (*boolean**,* *(**optional**)*) – Export Materials with PBR Extensions, Export MTL library using PBR extensions (roughness, metallic, sheen, coat, anisotropy, transmission)
        - **path_mode** (enum in [`'AUTO'`, `'ABSOLUTE'`, `'RELATIVE'`, `'MATCH'`, `'STRIP'`, `'COPY'`], (optional)) –

          Path Mode, Method used to reference paths

          - `AUTO`
            Auto – Use relative paths with subdirectories only.
          - `ABSOLUTE`
            Absolute – Always write absolute paths.
          - `RELATIVE`
            Relative – Write relative paths where possible.
          - `MATCH`
            Match – Match absolute/relative setting with input path.
          - `STRIP`
            Strip – Write filename only.
          - `COPY`
            Copy – Copy the file to the destination path.
        - **export_triangulated_mesh** (*boolean**,* *(**optional**)*) – Export Triangulated Mesh, All ngons with four or more vertices will be triangulated. Meshes in the scene will not be affected. Behaves like Triangulate Modifier with ngon-method: “Beauty”, quad-method: “Shortest Diagonal”, min vertices: 4
        - **export_curves_as_nurbs** (*boolean**,* *(**optional**)*) – Export Curves as NURBS, Export curves in parametric form instead of exporting as mesh
        - **export_object_groups** (*boolean**,* *(**optional**)*) – Export Object Groups, Append mesh name to object name, separated by a ‘_’
        - **export_material_groups** (*boolean**,* *(**optional**)*) – Export Material Groups, Generate an OBJ group for each part of a geometry using a different material
        - **export_vertex_groups** (*boolean**,* *(**optional**)*) – Export Vertex Groups, Export the name of the vertex group of a face. It is approximated by choosing the vertex group with the most members among the vertices of a face
        - **export_smooth_groups** (*boolean**,* *(**optional**)*) – Export Smooth Groups, Generate smooth groups identifiers for each group of smooth faces, as unique integer values by default
        - **smooth_group_bitflags** (*boolean**,* *(**optional**)*) – Bitflags Smooth Groups, If exporting smoothgroups, generate ‘bitflags’ values for the groups, instead of unique integer values. The same bitflag value can be re-used for different groups of smooth faces, as long as they have no common sharp edges or vertices
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – Extension Filter
        - **collection** (*string**,* *(**optional**,* *never None**)*) – Collection

bpy.ops.wm.obj_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=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=8*, *display_type='DEFAULT'*, *sort_method=''*, *global_scale=1.0*, *clamp_size=0.0*, *forward_axis='NEGATIVE_Z'*, *up_axis='Y'*, *use_split_objects=True*, *use_split_groups=False*, *import_vertex_groups=False*, *validate_meshes=True*, *close_spline_loops=True*, *collection_separator=''*, *mtl_name_collision_mode='MAKE_UNIQUE'*, *filter_glob='\*.obj;\*.mtl'*)
:   Load a Wavefront OBJ scene

    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
        - **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
        - **global_scale** (*float in* *[**0.0001**,* *10000**]**,* *(**optional**)*) – Scale, Value by which to enlarge or shrink the objects with respect to the world’s origin
        - **clamp_size** (*float in* *[**0**,* *1000**]**,* *(**optional**)*) – Clamp Bounding Box, Resize the objects to keep bounding box under this value. Value 0 disables clamping
        - **forward_axis** (enum in [`'X'`, `'Y'`, `'Z'`, `'NEGATIVE_X'`, `'NEGATIVE_Y'`, `'NEGATIVE_Z'`], (optional)) –

          Forward Axis

          - `X`
            X – Positive X axis.
          - `Y`
            Y – Positive Y axis.
          - `Z`
            Z – Positive Z axis.
          - `NEGATIVE_X`
            -X – Negative X axis.
          - `NEGATIVE_Y`
            -Y – Negative Y axis.
          - `NEGATIVE_Z`
            -Z – Negative Z axis.
        - **up_axis** (enum in [`'X'`, `'Y'`, `'Z'`, `'NEGATIVE_X'`, `'NEGATIVE_Y'`, `'NEGATIVE_Z'`], (optional)) –

          Up Axis

          - `X`
            X – Positive X axis.
          - `Y`
            Y – Positive Y axis.
          - `Z`
            Z – Positive Z axis.
          - `NEGATIVE_X`
            -X – Negative X axis.
          - `NEGATIVE_Y`
            -Y – Negative Y axis.
          - `NEGATIVE_Z`
            -Z – Negative Z axis.
        - **use_split_objects** (*boolean**,* *(**optional**)*) – Split By Object, Import each OBJ ‘o’ as a separate object
        - **use_split_groups** (*boolean**,* *(**optional**)*) – Split By Group, Import each OBJ ‘g’ as a separate object
        - **import_vertex_groups** (*boolean**,* *(**optional**)*) – Vertex Groups, Import OBJ groups as vertex groups
        - **validate_meshes** (*boolean**,* *(**optional**)*) – Validate Meshes, Ensure the data is valid (when disabled, data may be imported which causes crashes displaying or editing)
        - **close_spline_loops** (*boolean**,* *(**optional**)*) – Detect Cyclic Curves, Join curve endpoints if overlapping control points are detected (if disabled, no curves will be cyclic)
        - **collection_separator** (*string**,* *(**optional**,* *never None**)*) – Path Separator, Character used to separate objects name into hierarchical structure
        - **mtl_name_collision_mode** (enum in [`'MAKE_UNIQUE'`, `'REFERENCE_EXISTING'`], (optional)) –

          Material Name Collision, How to handle naming collisions when importing materials

          - `MAKE_UNIQUE`
            Make Unique – Create new materials with unique names for each OBJ file.
          - `REFERENCE_EXISTING`
            Reference Existing – Use existing materials with same name instead of creating new ones.
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – Extension Filter

bpy.ops.wm.open_mainfile(*\**, *filepath=''*, *hide_props_region=True*, *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=False*, *filemode=8*, *display_type='DEFAULT'*, *sort_method=''*, *load_ui=True*, *use_scripts=False*, *display_file_selector=True*, *state=0*)
:   Open a Blender file

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **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
        - **load_ui** (*boolean**,* *(**optional**)*) – Load UI, Load user interface setup in the .blend file
        - **use_scripts** (*boolean**,* *(**optional**)*) – Trusted Source, Allow .blend file to execute scripts automatically, default available from system preferences
        - **display_file_selector** (*boolean**,* *(**optional**)*) – Display File Selector
        - **state** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – State

bpy.ops.wm.operator_cheat_sheet()
:   List all the operators in a text-block, useful for scripting

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

bpy.ops.wm.operator_defaults()
:   Set the active operator to its default values

bpy.ops.wm.operator_pie_enum(*\**, *data_path=''*, *prop_string=''*)
:   Undocumented, consider [contributing](https://developer.blender.org/).

    Parameters:
    :   - **data_path** (*string**,* *(**optional**,* *never None**)*) – Operator, Operator name (in Python as string)
        - **prop_string** (*string**,* *(**optional**,* *never None**)*) – Property, Property name (as a string)

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

bpy.ops.wm.operator_preset_add(*\**, *name=''*, *remove_name=False*, *remove_active=False*, *operator=''*)
:   Add or remove an Operator Preset

    Parameters:
    :   - **name** (*string**,* *(**optional**,* *never None**)*) – Name, Name of the preset, used to make the path name
        - **remove_name** (*boolean**,* *(**optional**)*) – remove_name
        - **remove_active** (*boolean**,* *(**optional**)*) – remove_active
        - **operator** (*string**,* *(**optional**,* *never None**)*) – Operator

    File:
    :   [startup/bl_operators/presets.py:119](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/presets.py#L119)

bpy.ops.wm.operator_presets_cleanup(*\**, *operator=''*, *properties=None*)
:   Remove outdated operator properties from presets that may cause problems

    Parameters:
    :   - **operator** (*string**,* *(**optional**,* *never None**)*) – operator
        - **properties** (`bpy_prop_collection` of `OperatorFileListElement`, (optional)) – properties

    File:
    :   [startup/bl_operators/presets.py:924](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/presets.py#L924)

bpy.ops.wm.owner_disable(*\**, *owner_id=''*)
:   Disable add-on for workspace

    Parameters:
    :   **owner_id** (*string**,* *(**optional**,* *never None**)*) – UI Tag

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

bpy.ops.wm.owner_enable(*\**, *owner_id=''*)
:   Enable add-on for workspace

    Parameters:
    :   **owner_id** (*string**,* *(**optional**,* *never None**)*) – UI Tag

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

bpy.ops.wm.path_open(*\**, *filepath=''*)
:   Open a path in a file browser

    Parameters:
    :   **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath

    File:
    :   [startup/bl_operators/wm.py:1167](h