> For the complete documentation index, see [llms.txt](https://aconite0101s-works.gitbook.io/aconite0101s-works-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aconite0101s-works.gitbook.io/aconite0101s-works-docs/blender/script/blendshape-remover.md).

# BlendShape Remover

Blender py script use to remove blendshape from mesh

<details>

<summary>Remove Shape Keys Except "Breasts" and "Basis"</summary>

```python
import bpy

# Get all selected mesh objects
selected_objects = [obj for obj in bpy.context.selected_objects if obj.type == 'MESH']

for obj in selected_objects:
    if obj.data.shape_keys is None:
        continue  # No shape keys to remove

    shape_keys = obj.data.shape_keys
    key_blocks = shape_keys.key_blocks

    to_remove = []

    # Identify keys to remove (not 'Basis' and not containing 'Breasts')
    for key in key_blocks:
        if key.name == "Basis":
            continue
        if "Breasts" in key.name:
            continue
        to_remove.append(key.name)

    # Remove shape keys safely
    for key_name in to_remove:
        obj.active_shape_key_index = key_blocks.keys().index(key_name)
        bpy.ops.object.shape_key_remove(all=False)
        print(f"Removed shape key: {key_name} from {obj.name}")

print("Done cleaning shape keys.")

```

</details>
