Communitygithub.com

Flujo de trabajo de ingeniería CAD

Skill reutilizable para Codex que permite flujos de trabajo fiables con FreeCAD e ingeniería CAD.

¿Qué es Flujo de trabajo de ingeniería CAD?

Este skill proporciona un flujo de trabajo sistemático y fiable para la ingeniería CAD con FreeCAD. Está diseñado para ser utilizado por agentes de IA (como Codex) que trabajan con repositorios de datos CAD. El skill diferencia claramente entre tareas de diseño digital (CAD/dibujo) y tareas de cualificación física de productos, evitando que criterios genéricos de ingeniería se conviertan en puertas de validación obligatorias. El proceso se divide en seis etapas: establecer el contrato (definir el alcance y las líneas base), inspeccionar el documento CAD antes de modificarlo, implementar el cambio de ingeniería más pequeño y completo, validar en capas (con múltiples pasos como recomputación, verificación de geometría y pruebas de colisiones), ensamblar un candidato de liberación coherente y reportar de manera veraz los resultados. El skill se apoya en varios documentos de referencia (como `baseline-and-source-truth.md` o `validation-matrix.md`) y scripts de Python (`run_inspect_fcstd.py`, `compare_fcstd_reports.py`) para garantizar la trazabilidad y la precisión.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add BackboneNeo/ai-skills-cad-engineering

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Flujo de trabajo de ingeniería CAD?

Trata las instrucciones del repositorio y los validadores propiedad del repositorio como autoritarios. Utiliza este skill para hacer el trabajo sistemático; nunca reemplaces los requisitos específicos del proyecto con suposiciones genéricas.

1. Establecer el contrato

  1. Lee cada AGENTS.md aplicable, la guía completa del proyecto, la instantánea del dibujo activo y el Issue solicitado antes de escribir.
  2. Identifica la etiqueta de línea base inmutable, la ruta CAD, SHA-256, el sistema de coordenadas, el sistema de unidades, el inventario actual de componentes, los cuerpos imprimibles esperados y el objetivo de liberación.
  3. Detente antes de editar si las fuentes de verdad entran en conflicto o la línea base no se puede verificar.
  4. Separa el resultado solicitado del contexto del Issue relacionado. No absorbas un trabajo pendiente en la tarea.
  5. Selecciona la pista de liberación declarada por el Issue, la política del repositorio o el usuario: CAD/dibujo digital o producto físicamente cualificado. Una liberación de dibujo no implica cualificación del producto.
  6. Clasifica cada criterio de aceptación como computacional, visual, físico o solo de operador según ese contrato autoritario. Para una pista de dibujo, términos como ajuste, instalación, extracción, clip, accionamiento, ruta o acceso significan validación digital de geometría/ruta a menos que el contrato exija explícitamente una muestra fabricada o una prueba práctica. Nunca promuevas un riesgo genérico de ingeniería a una puerta obligatoria, y nunca reportes un criterio físico como superado solo a partir de la geometría.

Lee baseline-and-source-truth.md al seleccionar o validar una línea base. Lee failure-patterns.md antes de reparar un candidato fallido existente.

2. Inspeccionar antes de modificar

  1. Abre el documento CAD nativo existente e inspecciona su árbol, tipos de objetos, expresiones, propiedades, ubicaciones, grupos, sólidos, visibilidad y estado de recomputación.

  2. Registra un informe de línea base legible por máquina. Cuando FreeCAD esté disponible, ejecuta:

    python scripts/run_inspect_fcstd.py --freecad FreeCADCmd.exe --file <baseline.FCStd> --output <baseline-report.json>

  3. No reconstruyas un documento nativo existente a partir de malla, STEP, capturas de pantalla, instantáneas o generadores bootstrap.

  4. No sobrescribas ubicaciones, colores, visibilidad, expresiones o ediciones manuales guardadas por el usuario a menos que la tarea requiera explícitamente esos cambios exactos.

  5. Trabaja en una nueva ruta versionada cuando las reglas del repositorio hagan inmutables las liberaciones históricas.

3. Implementar el cambio de ingeniería completo más pequeño

  1. Utiliza fuentes de componentes exactas y fijadas. Conserva juntos la fuente editable, el artefacto importado exacto, la revisión de procedencia y SHA-256.
  2. Coloca los componentes externos en el grupo de fuentes incrustadas del repositorio y deriva la geometría de montaje del modelo verificado.
  3. Reemplaza la geometría heredada en su feature nativa ascendente. Nunca ocultes un agujero, bolsillo, alivio o feature de montaje obsoleto fusionando un parche, placa, tapón, piel, relleno o reparación coplanar en un cuerpo terminado aguas abajo.
  4. Si no se puede recuperar el cuerpo pre-feature nativo o la cadena de construcción editable, detente con un bloqueador. No sustituyas geometría de reparación aditiva solo para obtener el envolvente final solicitado.
  5. Mantén la geometría de control editable y completamente restringida cuando el repositorio requiera control basado en Sketcher.
  6. Conecta cada feature de control al cuerpo imprimible final a través de una cadena de dependencia inspeccionable o una cadena booleana secuencial. La existencia de un croquis o cortador no prueba la integración.
  7. Elimina cortes, alivios, etiquetas, fuentes incrustadas activas y restos aguas abajo específicos de componentes obsoletos al reemplazar un componente.
  8. Limita los cambios colaterales. Preserva las ubicaciones de componentes no relacionados, cuerpos imprimibles, sistemas de coordenadas, apariencia y estructura del documento.

Para cada reemplazo o apertura redimensionada, lee y sigue native-feature-replacement.md. Lee component-integration.md para trabajo con componentes y parametric-geometry.md para modelado nativo y operaciones booleanas.

4. Validar en capas

Ejecuta la validación después de cada grupo de geometría significativo, no solo al final.

  1. Recalcula y rechaza errores del documento.
  2. Guarda, cierra, vuelve a abrir, recalcula, guarda y vuelve a abrir nuevamente.
  3. Confirma el recuento esperado de cuerpos imprimibles, recuento de sólidos, límites, volumen y topología.
  4. Demuestra que las features solicitadas afectan al cuerpo final previsto.
  5. Para un reemplazo, demuestra que el sólido local afectado es igual a la feature nativa no modificada con solo la nueva operación prevista aplicada. Rechaza contornos heredados residuales, dependencias de reparación aditiva, límites coplanares adicionales y cuerpos de relleno ocultos.
  6. Verifica colisiones y contactos requeridos por separado. Un contacto de montaje requerido no es una colisión no deseada.
  7. Verifica el orden de ensamblaje, la ruta de extracción, la ruta de inserción del conector, el eje del sujetador, el envolvente de la herramienta, el acceso al terminal, el espacio para cables, el radio de curvatura y la protección contra tensión digitalmente cuando corresponda. Etiqueta esta evidencia como geométrica; no reclames ajuste físico, fuerza o durabilidad.
  8. Prueba la editabilidad paramétrica en una copia desechable, luego restaura el parámetro original.
  9. Exporta los artefactos STL y STEP requeridos y vuelve a abrir cada exportación de forma independiente.
  10. Renderiza primeros planos con el componente mostrado y oculto para que la abertura nativa y la pared circundante sean revisables.
  11. Renderiza el FCStd guardado, no un modelo paralelo aproximado.
  12. Ejecuta cada prueba propiedad del repositorio exactamente como lo controla el ejecutor.

Genera un informe candidato con run_inspect_fcstd.py, luego compáralo con la línea base usando:

python scripts/compare_fcstd_reports.py --baseline <baseline-report.json> --candidate <candidate-report.json>

Lee validation-matrix.md para la evidencia requerida por cada puerta.

5. Ensamblar un candidato de liberación coherente

  1. Mantén el CAD nativo, las fuentes incrustadas, las exportaciones, la vista previa, el diseño, el manifiesto, la instantánea, la nota de versión y el índice activo mutuamente coherentes.
  2. Recalcula SHA-256 solo después de la generación final del artefacto. Vuelve a ejecutar la validación después de cualquier cambio en archivos con hash.
  3. Demuestra la inmutabilidad de la línea base histórica con un diff o hashes almacenados.
  4. Mantén vacíos los formatos solo manuales cuando la política del proyecto prohíba la generación automatizada.
  5. No crees ni apruebes una etiqueta o liberación cuando alguna puerta obligatoria esté incompleta.
  6. Permite una liberación de dibujo cuando sus puertas digitales requeridas pasen, incluso si la cualificación física opcional futura no se ha ejecutado. Nunca la etiquetes como lista para producción o físicamente cualificada.
  7. Crea una liberación cualificada para producto solo a partir de un commit de dibujo exacto después de que pasen la construcción física requerida, la medición, el ensamblaje y la aprobación del ingeniero.

Lee release-lifecycle.md para seleccionar la pista de liberación y la política de etiquetado. Lee release-gate.md antes de declarar la finalización.

6. Reportar con veracidad

  • Devuelve completed cuando todas las puertas requeridas por la tarea para la pista de liberación seleccionada pasen.
  • Devuelve blocked con el candidato completado preservado solo cuando una tarea autorizada o fuente del repositorio exija explícitamente una puerta física o de operador incompleta.
  • Devuelve no_change_needed solo después de demostrar que el estado solicitado ya existe.
  • Registra cupones, ciclos, vibraciones, asignaciones de pines, cableado u otras pruebas físicas no solicitadas como recomendaciones de seguimiento, no como bloqueadores. No inventes criterios de aceptación.
  • Enumera cada bloqueador por separado con evidencia y un paso procesable siguiente.
  • Distingue not_run, failed y passed. Nunca conviertas la ausencia de evidencia en éxito.
  • No ocultes bloqueadores de liberación en riesgos o texto de resumen.

Skills relacionados