El Query Language, editando el diseño de forma eficaz.

El archivo de un diseño de PCB puede entenderse como una base de datos que contiene el conjunto de objetos que lo forman junto con sus propiedades. Editar este conjunto de objetos de forma eficaz acelera la labor del diseñador. 

Edición básica de objetos

El diseño de PCB contiene múltiples tipos de objetos: pistas, vías, polígonos, componentes… Cada uno de estos tipos de objetos posee un conjunto de propiedades. Por ejemplo, las propiedades de una pista son: anchura, capa, coordenada de inicio (X,Y), coordenada de fin (X,Y)... En Altium Designer, las propiedades son accesibles a través del panel Properties. Tras seleccionar un objeto, sus propiedades pueden ser modificadas. También se pueden seleccionar varios objetos y modificar sus propiedades al mismo tiempo.

Tras seleccionar una o varias pistas se puede acceder a sus propiedades y modificarlas. Del mismo modo se pueden editar otros objetos. 

Si el conjunto de objetos a editar es numeroso o no se conoce la posición exacta de estos objetos en el diseño, la selección de todos ellos uno por uno es lenta y laboriosa. La herramienta Query Language agiliza esta operación.

Edición avanzada de objetos, el Query Language.

El Query Language es una potente herramienta integrada en Altium Designer. Su aspecto es similar a un lenguaje de programación, pero su funcionalidad se asemeja a un motor de búsqueda. Está formado por declaraciones y operadores. Devuelve el conjunto de objetos que cumplan con las condiciones definidas por una expresión.

La declaración "Istrack" devuelve el conjunto de objetos de tipo track, es decir, todas las pistas. Del mismo modo existe "Isvia" o "Ispad". Se puede refinar el conjunto con "Ontoplayer", por ejemplo, "Istrack AND Ontoplayer" que devuelve el conjunto de pistas en la capa top. AND es un operador booleano. Otros operadores válidos son OR o NOT. Las declaraciones para acceder a las propiedades suelen tomar el nombre de la propiedad, de modo que para acceder a la propiedad anchura se usa "Width". Por ejemplo, "Width = 0.2". Esta expresión no tiene unidades y el resultado es impreciso. El prefijo ASMM define la expresión que precede en milímetros. La expresión "Istrack AND ASMM(Width = 0.2)" devuelve el conjunto de pistas con una anchura de 0.2mm.

Usado junto el panel PCB filter, el Query Language permite seleccionar el conjunto definido por la expresión. Para ello la opción Select del panel PCB Filter debe ser activada. Por ejemplo, para ensanchar todas las pistas conectadas a la net "PCIE_DC_3V3" en la capa "5_int4_(sign)" mayores a 0.5mm en anchura, se puede utilizar la expresión:

Istrack and OnLayer('5_int4_(sign)') AND ASMM (Width > 0.5) and InNet('PCIE_DC_3V3')

Una vez aplicada la expresión el conjunto de objetos que cumplen tal condición será seleccionado y sus propiedades serán accesibles a través del menú Properties.

El Query Language permite encontrar y editar objetos rápidamente. Esto asegura consistencia en el diseño.

Usando el Query Language como un experto

1. Documentación de referencia.

Para familiarizarte con el lenguaje y conocer los diferentes comandos, visita la documentación del lenguaje en este link

2.- Encontrar, seleccionar o resaltar objetos.

El Query Language permite encontrar cualquier conjunto de objetos en un diseño. Una vez encontrado, el conjunto puede ser seleccionado, centrado en la pantalla o resaltado. Prueba las diferentes opciones que ofrece el panel PCB Filter.

Opciones del panel PCB Filter

3.- Definición de reglas.

El Query Language también puede ser usado en el editor de reglas. Permite aplicar una regla a un conjunto específico de objetos. 

Esta regla de clearance afecta a todos los objetos excepto si son pads del footprint “TSOP65P490X110-8N” o si son pistas de la net “NetC183_1” y tienen una anchura de 0.3mm

4.- Usar la opción Opción Find similar object para obtener expresiones estándar 

El menú secundario que se obtiene tras seleccionar un objeto ofrece la opción “Find similar objects”. Esta opción permite encontrar objetos que comparten alguna de las características del objeto seleccionado. Si activamos la opción “Create Expression” tras ejecutar la búsqueda, Altium ofrece la expresión usada a través del menú “PCB FIlter”. Este es un buen punto de partida para crear la expresión necesaria y familiarizarse con nuevas declaraciones del Query Language.

Usando la opción “Find Similar Objects” se obtiene la expresión (ObjectKind = 'Pad') And (AsMM(HoleDiameter) = 0.7) para seleccionar todos los pads con un diámetro igual a 0.7mm

 

5.- También es válido en el editor de esquemas.

El Query Language también puede usarse en editor de esquemas. Por ejemplo, se puede encontrar todas las instancias del componente CMP-0697-00001-2 con la expresión:

(ObjectKind = 'Part') And (DesignItemID = 'CMP-0697-00001-2')

En este caso, el panel usado es SCH filter y permite ejecutar la búsqueda en una página del esquema o en todo el proyecto.

Opciones del panel PCB Filter.

6.- Guarda las expresiones más utilizadas en Favoritos

Una vez encontrada la expresión necesaria se puede guardar como una expresión favorita y usar en el futuro. 

Las expresiones usadas frecuentemente pueden añadirse a Favoritos.

Destreza en el manejo de la herramienta

A medida que la complejidad aumenta, es necesario un manejo avanzado de la herramienta para crear un diseño satisfactorio. El Query Language es una herramienta avanzada de Altium Designer que mejorará la calidad de tus diseños.

¿Cuál sería la expresión necesaria para encontrar las vías pasantes (vías Through Hole) con un agujero menor de 0.5mm? Deja la respuesta en los comentarios. ¿Necesitas ayuda con un expresión en particular? Deja un comentario o contáctame.

Acerca del autor

Jesus Castane


Jesús Castañé es diseñador de PCBs para la compañía ARRIVAL donde desarrollan la futura generación de automóviles eléctricos y autónomos. Cuenta con 10 años de experiencia como diseñador de PCBs en diferentes industrias: telecomunicaciones, automoción y electrónica de consumo. Posee la certificación CID+ otorgada por IPC.

Jesus Castane works as a PCB Designer at ARRIVAL developing the next generation of Electric and Smart vehicles. He has 10 years of experience in different industries: RF, automotive and consumer electronics. He is CID+ certified by IPC.

Seguir en LinkedIn Más contenido por Jesus Castane
Artículo anterior
Altium 365: Un nuevo horizonte en la producción electrónica colaborativa basada en la nube
Altium 365: Un nuevo horizonte en la producción electrónica colaborativa basada en la nube

Conoce Altium 365.

Artículo siguiente
Happy Holden en AltiumLive 2019: lecciones aprendidas
Happy Holden en AltiumLive 2019: lecciones aprendidas

Rick Hartley, Carl Schattke, Jeremy Blum o Happy Holden nos dejan sus impresiones sobre temas candentes y d...