We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShirshovDIM/retopoflow_blender_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
33_selection_tools.feature•4.54 KiB
Feature: Topology Selection Tools
As a retopology artist
I want to select mesh elements by topology criteria
So that I can quickly identify and work on problem areas
Background:
Given the MCP server is running
And the Blender addon is connected
And a mesh object is active in Edit Mode
# ============================================================================
# select_by_valence - Select Vertices by Edge Count
# ============================================================================
Scenario: Select vertices by valence threshold
Given a mesh with mixed vertex valence
When I call select_by_valence with object_name="Mesh" and min_valence=5
Then vertices with >= 5 edges are selected
And the selection_count is returned
And I can see the selection in the viewport
Scenario Outline: Select different valence levels
When I call select_by_valence with min_valence=<valence>
Then only vertices with >= <valence> edges are selected
Examples:
| valence |
| 3 |
| 5 |
| 6 |
Scenario: No vertices match valence criteria
Given a mesh with maximum valence 4
When I call select_by_valence with min_valence=5
Then selection_count is 0
And a message indicates no vertices match criteria
# ============================================================================
# select_triangles - Select All Triangle Faces
# ============================================================================
Scenario: Select all triangle faces
Given a mesh containing triangles and quads
When I call select_triangles with object_name="Mesh"
Then all triangle faces are selected
And the selection_count matches triangle count
And quad faces remain unselected
Scenario: No triangles to select
Given a mesh with only quad faces
When I call select_triangles
Then selection_count is 0
And a message indicates no triangles found
# ============================================================================
# select_ngons - Select All N-gon Faces
# ============================================================================
Scenario: Select all n-gon faces
Given a mesh containing n-gons
When I call select_ngons with object_name="Mesh"
Then all n-gon faces (5+ vertices) are selected
And the selection_count matches n-gon count
And quads and triangles remain unselected
Scenario: No n-gons to select
Given a mesh with only quads and triangles
When I call select_ngons
Then selection_count is 0
And a message indicates no n-gons found
# ============================================================================
# select_edge_loop - Select Complete Edge Loop
# ============================================================================
Scenario: Select edge loop by edge index
Given a mesh with complete edge loops
When I call select_edge_loop with object_name="Mesh" and edge_index=42
Then the complete edge loop containing edge 42 is selected
And the selection_count indicates loop edge count
Scenario: Select edge loop on boundary
Given a mesh with boundary edges
When I call select_edge_loop with edge_index on a boundary edge
Then the boundary edge loop is selected
And partial loop is handled correctly
Scenario: Invalid edge index
When I call select_edge_loop with edge_index=999999
Then I receive an error message
And the error indicates edge index out of range
# ============================================================================
# Combined Selection Workflows
# ============================================================================
Scenario: Select all topology problems at once
Given a mesh with triangles, n-gons, and high-valence vertices
When I call select_triangles
And I extend selection with select_ngons
And I extend selection with select_by_valence with min_valence=5
Then all problem topology is selected
And I can review or fix the issues
# ============================================================================
# Error Handling
# ============================================================================
Scenario: Select on non-mesh object
Given a curve object is active
When I call select_triangles
Then I receive an error message
And the error indicates object must be a mesh
Scenario: Select in Object Mode
Given a mesh in Object Mode
When I call select_by_valence
Then the mesh is switched to Edit Mode automatically
And the selection is performed