Extensiones de Altium Designer
Altium Designer's extension model lets you add functionality that runs inside the design environment itself – not alongside it.
Las extensiones son DLL compiladas creadas con el SDK de Altium Designer en C# o C++. Se integran en la arquitectura cliente-servidor de Altium Designer como módulos de primera clase, indistinguibles de la funcionalidad incorporada desde la perspectiva del usuario. Una extensión puede añadir elementos de menú, paneles, barras de herramientas y comandos; acceder y modificar el modelo completo de objetos de diseño, incluidos los datos de PCB, esquemáticos, BOM y proyectos; y generar salidas como parte del flujo de trabajo normal de Outjob.
Este es un modelo diferente al de los scripts. Los scripts se interpretan en tiempo de ejecución y están limitados al subconjunto de la API de scripting. Las extensiones están compiladas, tienen acceso completo al SDK y pueden implementar sus propios editores de documentos y generadores de salida. Para cualquier cosa que necesite ejecutarse de forma fiable a escala, integrarse profundamente con el entorno de diseño o distribuirse a varios ingenieros como una herramienta con soporte, las extensiones son el enfoque correcto.
Para Qué Se Usan Realmente las Extensiones
-
Custom panels and UI within Altium Designer – el caso de uso más común. Una extensión añade un panel acoplable que muestra información de un sistema externo —estado de componentes desde el ERP, datos aprobados del fabricante desde una base de datos interna, datos en vivo de la cadena de suministro— directamente dentro del entorno de diseño. Los ingenieros ven lo que necesitan sin cambiar de herramienta.
-
Proprietary output generators – el sistema Outjob de Altium Designer admite generadores de salida personalizados que se integran como tipos de salida de primera clase. Una extensión puede generar salidas en formatos no compatibles de forma nativa —formatos de netlist personalizados, estructuras de datos de fabricación propietarias, plantillas internas de documentación— e integrarlas en el flujo de trabajo existente de salida y liberación.
-
Design rule extensions – las extensiones pueden añadir comprobaciones DRC personalizadas que se ejecutan dentro del sistema DRC nativo del editor de PCB. La comprobación aparece en el mismo panel, produce los mismos marcadores de violación y realiza cross-probing hacia los mismos objetos que el DRC integrado. Los ingenieros no necesitan saber que una comprobación es personalizada.
-
Automation beyond scripting – las extensiones pueden automatizar secuencias complejas de operaciones de diseño que no son prácticas en scripts: iterar sobre diseños grandes, realizar operaciones por lotes en varios archivos, integrarse con API externas durante el trabajo de diseño. Como las extensiones están compiladas, se ejecutan con el nivel de rendimiento de la propia aplicación.
Extensión vs. Scripting: Cuándo Usar Cada Uno
Use scripting para iteración rápida, automatización puntual y tareas que necesitan modificarse con frecuencia. Los scripts son más rápidos de escribir y más fáciles de cambiar.
Use extensiones cuando necesite acceso completo al SDK, fiabilidad de nivel de producción, componentes de interfaz de usuario, editores de documentos o generadores de salida personalizados, o distribución como herramienta gestionada en todo su equipo. Las extensiones requieren una fase de compilación y un entorno de desarrollo, pero esa inversión compensa en cualquier cosa que se convierta en una parte estándar del flujo de trabajo de su equipo.
Distribución y Mantenimiento
Las extensiones se distribuyen y gestionan a través del Altium Workspace. Una vez publicadas, los ingenieros instalan las extensiones desde su Workspace sin necesidad de distribución manual de archivos ni pasos de instalación local. Las actualizaciones se gestionan mediante el mismo mecanismo. Esto hace que las extensiones sean prácticas como herramientas de equipo, no solo como utilidades individuales, porque el problema de la distribución y las actualizaciones ya está resuelto.
Cuándo las Extensiones No Son la Opción Correcta
Si su necesidad es una automatización simple o una transformación de datos de una sola vez, el scripting le permitirá lograrlo más rápido y con menos sobrecarga. Las extensiones tienen sentido cuando la funcionalidad debe ser fiable, mantenible y estar disponible para varios ingenieros como parte compatible del flujo de trabajo. Si no está seguro de con cuál empezar, empiece con scripting: las extensiones son el siguiente paso natural si el script supera sus limitaciones.