Communitygithub.com

LTGOz/solidworks-agent-skill

Skill de agente IA que impulsa el modelado paramétrico de SolidWorks 2023 mediante recetas JSON (croquis, extrusión, revolución, corte, redondeo, chaflán, ensamblaje, múltiples variantes GV) más aserciones geométricas trimesh y verificación de cortes STL, con guía de errores COM práctica.

¿Qué es solidworks-agent-skill?

Este skill de agente IA permite automatizar completamente el modelado 3D paramétrico en SolidWorks 2023 a partir de descripciones textuales traducidas a recetas JSON. Soporta operaciones de croquizado 2D, extrusión, revolución, corte, redondeo, chaflán, ensamblaje, variables globales y ecuaciones para generar múltiples variantes de un mismo modelo. Incluye un puente Python (`sw_bridge.py`) que ejecuta la receta, guarda, exporta (STL, STEP, IGS, PNG) y realiza aserciones geométricas (volumen, estanqueidad, caja envolvente, IoU con golden) mediante trimesh. Además, ofrece un verificador de cortes STL (`stl_slicer.py`) y un analizador de diseño para fabricación (DFM) con reglas cuantitativas para inyección de plástico y prototipado 3D. Está diseñado para Windows con SolidWorks 2023 en ejecución y utiliza COM para la interacción, documentando exhaustivamente en `references/api-pitfalls.md` los errores y soluciones comunes de la API COM de SolidWorks. Es compatible con agentes como ZCode y Claude Code, y su flujo de trabajo es reproducible y auditable.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add LTGOz/solidworks-agent-skill

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

SolidWorks 2023 Modelado Automático Nativo (Impulsado por Recetas · Probado en la Práctica)

Convierte "describir objeto → receta JSON de modelado → SolidWorks lo dibuja directamente" en un solo comando, con verificación geométrica programática.

Estructura del Repositorio

RutaDescripción
sw_bridge.pyPuente principal: impulsado por recetas, un solo comando hace modelado → guardar → exportar → aserción
stl_slicer.pyVerificación de cortes STL ASCII (confirmación programática de contornos/agujeros/ranuras, sin depender de imágenes)
recipes/Ejemplos de recetas listas para usar (incluye autocomprobación de ciclo completo recipe_best_practices_test.json)
dfm_check.py + rules/Analizador de diseño para fabricación (DFM) de producto: reglas cuantitativas dobles para inyección (16 reglas) y 3D (14 reglas), revisión de tabla de parámetros de diseño + lint de recetas
skills/sw-dfm-injection/Skill derivado: DFM de inyección (DVT/producción en masa, reglas cuantitativas de espesor de pared/ángulo de desmoldeo/cierre/Boss/nervio/socavación)
skills/sw-dfm-proto/Skill derivado: DFM de prototipado 3D (EVT, reglas cuantitativas de características mínimas/salientes/holguras/agujeros de drenaje)
references/api-pitfalls.mdLecciones completas de errores: COM/firmas/VARIANT/EquationMgr/ROT, lectura obligatoria antes de desarrollar nuevas capacidades
references/recipe-cookbook.mdSintaxis detallada de recetas + plantillas + uso de múltiples variantes/aserciones
references/industry-best-practices.mdResumen de investigación de paradigmas de la industria + lista de mejoras futuras
docs/case_mcp1085_box.mdCaso de entrega práctico: caja de detección de tubería de dos capas
config.example.jsonPlantilla de configuración específica de la máquina (rutas de plantillas/ProgID/directorio de salida)

Requisitos del Entorno (Imprescindibles)

  1. Windows + SolidWorks 2023 original en ejecución. COM solo se puede adjuntar a una sesión interactiva (GetObject); no puede ejecutarse sin cabeza ni ser iniciado por script (las instancias iniciadas por COM no se registran en ROT, ver api-pitfalls §13).
  2. Python 3.10+, pip install -r requirements.txt (pywin32 / trimesh / manifold3d / numpy / pillow).
  3. Las rutas de plantillas para la versión china estándar ya están integradas como valores predeterminados; para la versión inglesa o plantillas personalizadas, copie config.example.json como config.json y modifíquelo.

Autocomprobación Rápida

python sw_bridge.py --demo block        # Crea un cubo + exporta + aserción geométrica todo en uno
python sw_bridge.py --demo vase         # Superficie rotacional con spline
python stl_slicer.py --stl demo_output/demo_block.STL --level 5   # Corta para ver la sección transversal

Flujo de Trabajo Estándar

  1. Escribir la receta JSON (sintaxis y plantillas en references/recipe-cookbook.md)
  2. Ejecutar: python sw_bridge.py --recipe-file recipes/xxx.json
  3. Verificar: La receta incorpora aserciones verify (estanqueidad/volumen/caja envolvente/IoU golden), si falla, toda la receta falla; luego usar stl_slicer.py para ver la sección transversal
  4. Generar imágenes: Múltiples operaciones view exportan PNG desde varios ángulos; fmt: step para aguas abajo
  5. Revisión estructural (para piezas de producto): python dfm_check.py --design tabla_de_parametros.json --process both — revisión DFM dual (inyección/prototipado 3D), FAIL significa puerta de acceso no superada; skills derivados en skills/

Resumen de Operaciones de Receta (Parámetros Completos en Cookbook)

opDescripción
new_part / new_assembly / openOperaciones de documento
sketch / sketch_end / centerline / spline / line / rect / circle / arcCroquizado (mm)
extrude / revolve / cut / fillet / chamferCaracterísticas (reintento automático con degradación en caso de fallo)
set_global_variable / add_equationVariables globales/ecuaciones → variantes GV para múltiples especificaciones del mismo modelo
view / save / export / add_component / import_meshVista/guardado/exportación stl·png·step·iges/ensamblaje/importación de malla
verifyCapa de aserciones trimesh (estanqueidad/volumen/caja envolvente/IoU golden)

Durante la ejecución, se congela automáticamente la actualización de gráficos/árbol de características (envoltura de rendimiento), y al final se ejecuta ForceRebuild3+ForceRebuildAll.

Reglas Estrictas Rápidas (Versión Completa en references/api-pitfalls.md)

  1. La unidad de longitud de la API es siempre metro, en la receta se escribe en mm (el puente convierte automáticamente).
  2. FeatureRevolve2 tiene 20 parámetros; las versiones generadas por la biblioteca de tipos con 4/5/7 parámetros son todas incorrectas.
  3. En enlace tardío, Callout/ExportData deben pasar VARIANT(VT_DISPATCH, None); el array de puntos de CreateSpline2 debe ser VT_ARRAY|VT_R8.
  4. Entrar y salir del croquis siempre con InsertSketch(True) (Toggle).
  5. Nombres localizados en chino: Plano frontal/Croquis1/Isométrica (configurable para cambiar a entorno inglés si es necesario).
  6. Si una característica compleja (>12 parámetros) falla → solución definitiva: grabar macro en SW → reproducir con RunMacro2.
  7. GetEquationMgr es solo propget, debe forzarse PROPERTYGET por dispid (ver api-pitfalls §12).
  8. Para firmas de API complejas, consulte primero la biblioteca de tipos (makepy) de la instalación de SW o grabe una macro, no adivine de memoria.

Nota de Compatibilidad de Versiones

Este paquete ha sido probado en SW2023 versión china estándar (incluyendo dispid 66286, ProgID .31, 20 parámetros de FeatureRevolve2 y otros detalles específicos de la versión). Para otras versiones de SW, el flujo principal es compatible, pero las constantes específicas de versión deben verificarse nuevamente siguiendo el método de api-pitfalls §12 (biblioteca de tipos makepy/grabación de macros).

Límites Probados / No Probados

  • ✅ Extrusión, revolución, spline, rectángulo/círculo/arco, corte, redondeo, chaflán, adición de componentes en ensamblaje, GV/ecuaciones, exportación STL/STEP/IGS/PNG, importación de malla, aserciones geométricas
  • ❌ Barrido/solevación/patrón/relaciones de ensamblaje no probados (teóricamente con el mismo enfoque, firma debe consultarse en la biblioteca de tipos o grabación de macro)

Skills relacionados