search_part_catalog
Search open CAD catalogs for standard parts by abstracted specifications and receive ranked candidates with fit judgment, deep-links, and insert-or-macro recommendations.
Instructions
Busca una pieza ESTÁNDAR en catálogos abiertos y juzga su ajuste (search+judge).
Lane de reúso open-resource (docs/OPEN_RESOURCE_LANE.md). Cuando el diseñador pide una pieza estándar (tornillo, tuerca, balero, brida, perfil, conector…) que NO hace falta modelar de cero, resuelve la intención abstracta en candidatos rankeados de 3D ContentCentral / McMaster-Carr / TraceParts — cada uno con su deep-link, formatos, licencia, veredicto nativo-vs-tonto y recomendación insertar-vs-macro.
Modo v1 = DEEP-LINK: NO descarga geometría. Devuelve una URL de búsqueda por recurso; el diseñador descarga el archivo EN SU MÁQUINA. Luego: insertar+matear (place_and_mate / stack_components); si es NATIVA parametrica → editar cotas (list_dimensions / modify_dimension); si es sólido tonto (lo usual en catálogos) y hay que cambiar medidas → regenerar equivalente parametrico con la lane de macros (record_macro_job / run_macro_job).
Constraint #1: SÓLO texto abstracto (tipo, estándar, medida nominal, material) se vuelve consulta saliente — nunca geometría del cliente. Nada de terceros entra al repo; la geometría descargada se queda en el host.
[en: Search open CAD resources for a STANDARD part from abstracted text intent and judge fit (folds search + judge). v1 DEEP-LINK mode downloads NOTHING — it returns ranked candidates with a per-resource search URL, license, native-vs-dumb verdict, and an insert-vs-macro recommendation. The designer fetches the file onto their own machine; the existing geometry tools take over. Only abstracted text leaves the host.]
Args: spec: Structured ABSTRACTED part spec — generic fields only: type ("tuerca hexagonal"), standard ("DIN 934"), size ("M8x1.25"), material ("acero inoxidable A2"), nominal ({dim: value}, echoed back), query (explicit override). Never put customer geometry here. resources: subset of ["3dcontentcentral","mcmaster","traceparts"] (default all; unknown names ignored). top_n: max candidates (default 3). needs_edit: True if the designer will change dimensions — drives the insert-vs-macro recommendation (a dumb catalog .sldprt → macro lane).
Returns: {"query": str, "needs_edit": bool, "count": int, "note": str, "candidates": [{"resource","title","standard","part_number","nominal", "formats","native_vs_dumb","license_class","deep_link","deep_link_note", "fit_verdict","fit_score","recommendation"}, ...]} # ranked by fit_score
Reúso-primero: si hay una carpeta indexada localmente, llama PRIMERO a query_part_library; usa esta herramienta cuando NO exista local y convenga traer un estándar del catálogo abierto.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | ||
| top_n | No | ||
| resources | No | ||
| needs_edit | No |