Qu’est-ce qu’une requête ?
Le plus grand défi lorsque l’on travaille sur une conception électronique complexe est peut-être la gestion d’un grand nombre d’objets de conception. Des composants, étiquettes de net et chaînes de texte sur les feuilles de schéma jusqu’aux centaines de composants et de pistes qui constituent le routage sur le PCB, vous devez pouvoir accéder à ces objets, les examiner et les modifier. Comme dans la plupart des applications Windows, vous pouvez double-cliquer sur un objet et modifier ses propriétés. Cela convient pour un objet unique, mais ce n’est pas ce que vous souhaitez faire si vous devez modifier plus de 300 désignateurs de composants ou changer toutes les vias du PCB. Pour ce type de mise à jour, vous devez accéder simultanément à plusieurs objets.
Les éditeurs de schéma et de PCB d’Altium Designer reposent sur un puissant moteur de requêtes. En saisissant des requêtes dans ce moteur, vous pouvez filtrer afin de trouver et modifier précisément les objets dont vous avez besoin.
Le puissant système de filtrage et d’édition des données dans Altium Designer vous permet d’indiquer au logiciel de renvoyer un ensemble spécifié d’objets. Cette instruction est saisie sous la forme d’une requête. Une requête est une chaîne que vous saisissez à l’aide de mots-clés et d’une syntaxe spécifiques, qui renverra les objets ciblés. Ce que vous faites de ces objets dépend de vous. Vous souhaitez peut-être les mettre en surbrillance et atténuer tous les autres objets, ou peut-être voulez-vous parcourir ou trier leurs propriétés et modifier certains attributs qu’ils ont tous en commun.
Il existe plusieurs endroits où vous pouvez appliquer une requête, mais le centre de commande correspond aux Filter panneaux illustrés dans les images ci-dessous. Appuyez sur F12 pour afficher/masquer le panneau Filter .
Les panneaux PCB Filter et SCH Filter avec requêtes

Les panneaux PCBLIB Filter et SCHLIB Filter avec requêtes
Les commandes du panneau servent à définir à quels objets la requête sera appliquée et comment traiter les objets qui satisfont à la requête, ainsi que ceux qui n’y satisfont pas.
SCH Filter Panel

Localisez et mettez rapidement en surbrillance des objets à l’aide de requêtes logiques dans le panneau SCH Filter.
Résumé
Le panneau SCH Filter vous permet de construire des filtres par la création de requêtes logiques. Un filtre défini peut ensuite être appliqué au document schématique actif ou à tous les documents schématiques ouverts, ce qui vous permet de sélectionner et modifier plusieurs objets avec davantage de précision et d’efficacité.
Accès au panneau
Le panneau est accessible des façons suivantes :
-
Cliquez sur le bouton Panels en bas à droite de l’éditeur lorsque l’éditeur SCH est actif, puis sélectionnez SCH Filter dans le menu contextuel.
-
Cliquez sur View » Panels » SCH Filter.
-
Appuyez sur le raccourci clavier F12.
Les panneaux peuvent être configurés pour flotter dans l’espace de l’éditeur ou être ancrés sur les côtés de l’écran. Si le panneau SCH Filter se trouve actuellement dans un groupe de panneaux, utilisez l’onglet SCH Filter situé en bas des panneaux pour le faire passer au premier plan.
Définition de la portée du filtre
La première zone du panneau contient les commandes permettant de définir la portée du filtre :
La zone Limit search to fournit des commandes permettant d’affiner davantage la portée du filtre :
-
All Objects - appliquer le filtre à tous les objets de conception.
-
Selected Objects - appliquer le filtre uniquement aux objets de conception actuellement sélectionnés.
-
Non Selected Objects - appliquer le filtre uniquement aux objets de conception qui ne sont pas actuellement sélectionnés.
Le champ déroulant Consider objects in vous permet de contrôler l’endroit où le filtre est appliqué. Choisissez parmi les options suivantes :
-
Current Document - appliquer le filtrage uniquement au document schématique actif (par défaut).
-
Open Documents - appliquer le filtrage à tous les documents schématiques ouverts.
-
Project Documents - appliquer le filtrage à tous les documents schématiques ouverts qui sont des documents source du même projet parent.
Notez que le filtrage ne sera pas appliqué aux documents schématiques ouverts mais masqués.
Définition des requêtes de filtre
La zone centrale du panneau vous permet de construire des filtres en saisissant des requêtes logiques. Vous pouvez taper une requête directement dans le champ. Pendant la saisie, une liste d’invite de mots-clés possibles apparaît pour vous aider.
Le Query Helper est disponible pour vous aider à créer des requêtes. Cette fonction peut être très utile si vous n’êtes pas sûr de la syntaxe d’une requête ou des mots-clés possibles que vous pourriez vouloir utiliser. Pour utiliser le Query Helper, cliquez sur le bouton Helper pour ouvrir la boîte de dialogue Query Helper. Le moteur de requêtes sous-jacent analyse le document et répertorie tous les objets disponibles ainsi que des mots-clés génériques à utiliser dans les requêtes.
Utilisez la section supérieure de la boîte de dialogue pour composer une expression de requête, à l’aide des SCH Functions et System Functions disponibles. La section centrale de la boîte de dialogue fournit une gamme d’opérateurs à utiliser lors de la construction d’une expression. Utilisez le bouton Check Syntax pour vérifier qu’une expression est syntaxiquement correcte.
Lorsque l’expression de la requête a été définie comme souhaité, cliquez sur OK pour charger la zone centrale du panneau SCH Filter avec la requête, prête à appliquer le filtre.
Définition de la mise en surbrillance du filtre
Avant d’appliquer la requête, il est préférable de définir la manière dont vous souhaitez que le résultat du filtrage apparaisse visuellement dans l’espace de travail de conception. Les zones Objects passing/not passing the filter du panneau offrent diverses options qui constituent ensemble les commandes de mise en surbrillance pour le filtrage permanent.
Les options disponibles dans la zone Objects passing the filter vous permettent de contrôler l’affichage visuel dans l’espace de travail de tous les objets qui entrent dans la portée et correspondent à l’expression de requête spécifique du filtre :
-
Select - lorsqu’elle est activée (par défaut), les objets filtrés seront sélectionnés dans l’espace de travail.
-
Zoom - lorsqu’elle est activée (par défaut), les objets filtrés seront zoomés et centrés (lorsque cela est possible) dans la fenêtre de l’éditeur de conception.
Les options disponibles dans la zone Objects not passing the filter vous permettent de contrôler l’affichage visuel dans l’espace de travail de tous les objets qui n’entrent pas dans la portée et/ou ne correspondent pas à l’expression de requête spécifique du filtre :
-
Deselect - lorsqu’elle est activée (par défaut), tous les objets n’entrant pas dans la portée du filtre seront désélectionnés dans l’espace de travail.
-
Mask out - lorsqu’elle est activée (par défaut), les objets filtrés apparaîtront entièrement visibles dans la fenêtre de l’éditeur de conception tandis que tous les autres objets seront atténués. Lorsque le masquage est appliqué, tous les objets qui ne relèvent pas de la portée du filtre ne seront pas disponibles pour la sélection/l’édition.
Toute combinaison de ces options peut être activée. Par exemple, vous pouvez vouloir que tous les objets filtrés qui entrent dans la portée de votre requête soient zoomés, centrés et sélectionnés dans la fenêtre de l’éditeur de conception, tout en appliquant également un masquage pour supprimer l’encombrement des autres objets de conception.
Application et suppression du filtre
Une fois votre requête définie et les options du panneau configurées comme souhaité, le filtre peut être appliqué, soit en cliquant sur le bouton Apply, soit en appuyant sur Enter.
Pour supprimer le filtre actuellement appliqué depuis le panneau, effacez l’entrée de l’expression de requête dans le panneau, puis cliquez sur le bouton Apply ou appuyez sur Enter. Tous les objets de l’espace de travail de conception redeviendront entièrement visibles et disponibles pour la sélection/l’édition.
Menus contextuels
Un clic droit dans le panneau SCH Filter donne accès à des options et commandes supplémentaires via un menu contextuel.
Le menu fournit les commandes suivantes :
-
Add to Favorites - ajoute l’expression de requête actuellement affichée dans le panneau à la liste des requêtes favorites. La requête apparaîtra comme une nouvelle entrée dans l’onglet Favorites de la boîte de dialogue Expression Manager. Lorsqu’une requête est ajoutée à la liste des requêtes favorites, elle s’affiche en haut du menu contextuel. Les dix requêtes les plus récemment ajoutées à la liste des favoris seront affichées dans le menu (la plus récente en haut), ce qui vous permet d’accéder rapidement à vos expressions de requête favorites et de les réutiliser.
Gardez à l’esprit que le contenu de la liste
Favorites est commun au panneau
SCH Filter comme au panneau
SCHLIB Filter panel (et peut être alimenté depuis les deux). Certaines expressions de requête peuvent ne pas renvoyer de résultats lorsqu’elles sont utilisées dans l’éditeur de schéma, en particulier si elles ont été créées pour cibler des objets disponibles uniquement dans l’éditeur de bibliothèque schématique.
-
Organize Favorites - utilisez cette commande pour accéder à l’onglet Favorites de la boîte de dialogue Expression Manager, dans lequel vous pouvez organiser (renommer, supprimer) les entrées de la liste des requêtes favorites selon vos besoins.
-
Examples - cliquez pour accéder à un sous-menu de filtres d’exemple prédéfinis. Le choix d’un filtre d’exemple chargera l’expression de requête sous-jacente associée dans la zone centrale du panneau.
-
History - cliquez pour accéder à un sous-menu contenant les neuf expressions de requête les plus récemment utilisées, issues de l’historique des requêtes du panneau. Cliquez sur l’entrée More pour accéder à l’onglet History de la boîte de dialogue Expression Manager, dans lequel vous pouvez parcourir et appliquer une requête depuis la liste complète des requêtes historiques, et également effacer l’historique si nécessaire.
-
Show Scope Options - utilisez cette commande pour afficher ou masquer la zone de portée du filtre du panneau.
-
Show Masking Options - utilisez cette commande pour afficher ou masquer la zone de mise en surbrillance du filtre du panneau.
Gardez à l’esprit que le contenu de la liste History est commun à (et peut être alimenté depuis) le SCH Filter et le panneau SCHLIB Filter panel. Certaines expressions de requête peuvent ne pas renvoyer de résultats lorsqu’elles sont utilisées dans l’éditeur de schéma, en particulier si elles ont été créées pour cibler des objets disponibles uniquement dans l’éditeur de bibliothèque de schémas.
Remarques
Généralités
-
Appuyer sur la touche F12 permet de basculer la visibilité du panneau dans l’espace de travail.
-
Lors de l’utilisation de la boîte de dialogue Query Helper pour construire une requête, cliquer dans un mot-clé saisi ou sur un mot-clé dans l’une des listes disponibles puis appuyer sur F1 ouvrira l’aide correspondant à ce mot-clé. Un accès similaire à l’aide au niveau des mots-clés est disponible en cliquant dans un mot-clé dans la région centrale du panneau SCH Filter, puis en appuyant sur F1.
-
Selon la forme et la taille du panneau, le contenu sera organisé dynamiquement horizontalement ou verticalement.
Lors de la création d’expressions de requête
-
Il est fortement conseillé d’utiliser des parenthèses dès qu’il existe la moindre possibilité que la requête ne soit pas interprétée correctement.
-
Les parenthèses ont la priorité la plus élevée dans l’ordre de priorité défini pour les différents opérateurs fournis, lequel détermine la manière dont les requêtes sont interprétées par le logiciel (lorsque vous n’avez pas fourni de parenthèses). La séquence de cet ordre est la suivante :
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Cet ordre de priorité est similaire à celui utilisé dans les langages de type Pascal; une utilisation généreuse des parenthèses élimine les ambiguïtés et rend les requêtes résultantes plus faciles à lire pour les autres.
-
Les ambiguïtés sont résolues en procédant de gauche à droite.
-
Les parenthèses sont évaluées de l’intérieur vers l’extérieur et les niveaux égaux sont traités de gauche à droite.
-
Comme les options d’affichage des objets qui passent et ne passent pas le filtre appliqué sont séparées, vous pouvez effectivement appliquer de nouvelles requêtes de filtre pour vous appuyer sur les résultats d’un filtrage précédent.
-
Le filtrage appliqué lors de l’utilisation de requêtes depuis le panneau SCH Filter est permanent. Lors du masquage des objets de conception ne passant pas le filtre, l’étendue du masquage est contrôlée par la barre de défilement en bas du panneau.
-
Un filtre permanent doit être effacé en appliquant une requête vide depuis le panneau SCH Filter.
SCHLIB Filter Panel
Localisez et mettez rapidement en surbrillance les objets de bibliothèque de schémas à l’aide de requêtes logiques dans le panneau SCHLIB Filter.
Résumé
Le panneau SCHLIB Filter vous permet de construire des filtres par la création de requêtes logiques. Un filtre défini peut ensuite être appliqué au composant de bibliothèque de schémas actif ou à tous les composants de la bibliothèque de schémas active, ce qui vous permet de sélectionner et de modifier plusieurs objets avec davantage de précision et d’efficacité. L’affichage visuel des objets peut être spécifié selon qu’ils correspondent ou non aux critères de recherche du filtre.
Accès au panneau
Le panneau est accessible des façons suivantes :
-
Cliquez sur le bouton Panels en bas à droite de l’espace de travail, puis sélectionnez SCHLIB Filter.
-
Cliquez sur View » Panels » SCHLIB Filter dans les menus principaux.
-
Utilisez le raccourci clavier F12.
Les panneaux peuvent être configurés pour flotter dans l’espace de l’éditeur ou être ancrés sur les côtés de l’écran. Si le panneau SCHLIB Filter se trouve actuellement dans le groupe de panneaux Workspace ancrés à gauche, utilisez l’onglet SCHLIB Filter situé en bas des panneaux pour l’amener au premier plan.
Définition de la portée du filtre
La région de gauche du panneau SCHLIB Filter contient des commandes permettant de définir (limiter) la portée du filtre.
Les options de portée sont :
-
All Objects - appliquer le filtre à tous les objets de conception.
-
Selected Objects - appliquer le filtre uniquement aux objets de conception actuellement sélectionnés.
-
Non Selected Objects - appliquer le filtre uniquement aux objets de conception qui ne sont pas actuellement sélectionnés.
-
Whole Library - contrôler si le filtrage est appliqué uniquement au composant actif (option désactivée) ou à tous les composants du document de bibliothèque de schémas actif (option activée).
Définition des requêtes de filtre
La région centrale du panneau SCHLIB Filter vous permet de construire des filtres en saisissant des requêtes logiques.
Vous pouvez saisir directement une requête dans le champ et, au fur et à mesure de la saisie, une liste d’invite de mots-clés possibles apparaîtra pour vous aider.
Query Helper
En plus de la liste d’invite, le panneau propose également la fonction Query Helper pour aider à la création de requêtes. Cette fonction peut être très utile si vous n’êtes pas sûr de la syntaxe d’une requête ou des mots-clés possibles que vous pourriez vouloir utiliser. Pour utiliser Query Helper, cliquez sur le bouton Helper pour ouvrir la boîte de dialogue Query Helper. Le moteur de requêtes sous-jacent analyse le document et répertorie tous les objets disponibles, ainsi que des mots-clés génériques à utiliser dans les requêtes.
Utilisez la section supérieure de la boîte de dialogue pour composer une expression de requête à l’aide des SCH Functions et System Functions disponibles. La région centrale de la boîte de dialogue fournit une gamme d’opérateurs à utiliser lors de la construction d’une expression. Utilisez le bouton Check Syntax pour vérifier qu’une expression est syntaxiquement correcte.
Lorsque l’expression de la requête a été définie comme souhaité, cliquez sur OK pour charger la requête dans la région centrale du panneau SCHLIB Filter. Appliquez le filtre à l’aide du bouton Apply.
Lorsqu’il est appliqué à l’ensemble de la bibliothèque, les broches qui satisfont au filtre seront mises en surbrillance pour tous les autres composants.
Pour plus d’informations sur l’application des filtres, consultez la section Applying and Clearing a Filter ci-dessous.
Définition de la mise en surbrillance du filtre
Avant d’appliquer la requête dans le panneau SCHLIB Filter, il est préférable de définir la manière dont vous souhaitez que le résultat du filtrage apparaisse visuellement dans l’espace de travail de l’éditeur de conception. La région de droite du panneau fournit diverses options qui constituent collectivement les commandes de mise en surbrillance pour le filtrage permanent.
Les options Objects passing the filter vous permettent de contrôler la manière dont tous les objets qui relèvent de la portée et correspondent à l’expression de requête spécifique du filtre seront affichés visuellement dans l’espace de travail.
-
Select - lorsqu’elle est activée (par défaut), les objets filtrés seront sélectionnés dans l’espace de travail.
-
Zoom - lorsqu’elle est activée (par défaut), les objets filtrés seront zoomés et centrés (lorsque cela est possible) dans la fenêtre de l’éditeur de bibliothèque. L’action de zoom peut être déterminée par les options Zoom Library Components définies dans la page Schematic - Library AutoZoom de la boîte de dialogue Preferences.
Inversement, les options Objects not passing the filter vous permettent de contrôler la manière dont tous les objets qui ne do not relèvent pas de la portée et/ou ne correspondent pas à l’expression de requête spécifique du filtre seront affichés visuellement dans l’espace de travail.
-
Deselect - lorsqu’elle est activée (par défaut), tous les objets ne relevant pas de la portée du filtre seront désélectionnés dans l’espace de travail.
-
Mask out - lorsqu’elle est activée (par défaut), tous les objets ne relevant pas de la portée du filtre seront masqués dans la fenêtre de l’éditeur de bibliothèque. Utilisez le curseur pour définir le niveau de masquage.
Application et suppression d’un filtre
Une fois que vous avez défini une requête et configuré les options du panneau comme souhaité, le filtre peut être appliqué en cliquant sur le bouton Apply du panneau ou en appuyant sur Enter.
Pour effacer le filtre actuellement appliqué depuis le panneau, effacez (sélectionnez et supprimez) l’expression de requête dans la région centrale du panneau, puis cliquez soit sur le bouton Apply, soit appuyez sur Enter. Tous les objets de l’espace de travail de conception retrouveront leur visibilité complète et seront disponibles pour la sélection/modification.
Pour effacer le filtrage dans l’espace de travail tout en laissant l’expression de requête chargée dans la région centrale du panneau, utilisez le bouton Clear Current Filter (
) dans la barre d’outils Sch Lib Standard (raccourci Shift+C).
Menu contextuel
Un clic droit dans le panneau SCHLIB Filter donne accès à des options et commandes supplémentaires via un menu contextuel.
Le menu fournit les commandes suivantes :
-
Add to Favorites - utilisez pour ajouter l’expression de requête actuellement affichée dans la région centrale du panneau à la liste des requêtes favorites. La requête apparaîtra comme une nouvelle entrée dans l’onglet Favorites de la boîte de dialogue Expression Manager. Lorsqu’une requête est ajoutée à la liste des requêtes favorites, elle sera affichée en haut du menu contextuel. Les dix requêtes les plus récemment ajoutées à la liste des favoris seront affichées dans le menu (la plus récente en haut), ce qui vous permet d’accéder rapidement à vos expressions de requête favorites et de les réutiliser.
-
Organize Favorites - utilisez pour accéder à l’onglet Favorites de la boîte de dialogue Expression Manager, dans lequel vous pouvez organiser (renommer, supprimer) les entrées de la liste des requêtes favorites.
-
Examples - cliquez pour accéder à un sous-menu de filtres d’exemple prédéfinis. Le choix d’un filtre d’exemple chargera l’expression de requête sous-jacente associée dans la région centrale du panneau.
-
History - cliquez pour accéder à un sous-menu contenant les neuf expressions de requête les plus récemment utilisées issues de la liste d’historique des requêtes du panneau. Cliquez sur l’entrée More pour accéder à l’onglet History de la boîte de dialogue Expression Manager, dans lequel vous pouvez parcourir et appliquer une requête depuis la liste complète des requêtes historiques et également effacer la liste d’historique si nécessaire.
-
Show Scope Options - utilisez pour afficher ou masquer la région de portée du filtre du panneau.
-
Show Masking Options - utilisez pour afficher ou masquer la région de mise en surbrillance du filtre du panneau.
Les entrées supérieures du menu contextuel proposent une sélection des favoris actuels. Cliquez sur une entrée pour la charger dans le panneau.
Gardez à l’esprit que le contenu des listes Favorites et History est commun aux deux panneaux SCHLIB Filter et SCH Filter panel (et peut être renseigné depuis ceux-ci). Certaines expressions de requête peuvent ne pas renvoyer de résultats lorsqu’elles sont utilisées dans l’éditeur de schéma, en particulier si elles ont été créées pour cibler des objets disponibles uniquement dans l’éditeur de bibliothèque de schémas.
Notes
Généralités
-
Appuyer sur la touche F12 permet d’afficher ou de masquer le panneau dans l’espace de travail.
-
Le filtrage appliqué lors de l’utilisation de requêtes depuis le panneau SCHLIB Filter est permanent pendant la session. Un filtre permanent doit être effacé par une action Clear correspondante (en appliquant une requête vide depuis le panneau SCHLIB Filter).
-
Selon la forme et la taille du panneau SCHLIB Filter lui-même, le contenu sera disposé dynamiquement à l’horizontale ou à la verticale.
Création d’expressions de requête
-
Il est fortement recommandé d’utiliser des parenthèses dès qu’il existe la moindre possibilité que la requête ne soit pas interprétée correctement.
-
Les parenthèses ont la priorité la plus élevée dans l’ordre de priorité défini pour les différents opérateurs fournis, ordre qui détermine la manière dont les requêtes sont interprétées par le logiciel (lorsque l’utilisateur n’a pas ajouté de parenthèses). La séquence de cet ordre est la suivante :
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Cet ordre de priorité est similaire à celui utilisé dans les langages de type Pascal. Toutefois, une utilisation généreuse des parenthèses supprime toute ambiguïté et rend les requêtes résultantes plus faciles à lire pour les autres.
-
Les ambiguïtés sont résolues en procédant de gauche à droite.
-
Les parenthèses sont évaluées de l’intérieur vers l’extérieur et les niveaux équivalents sont traités de gauche à droite.
PCB Filter Panel

Le panneau PCB Filter
Résumé
Le panneau PCB Filter fournit des commandes permettant de construire des filtres par la création de requêtes logiques. Un filtre défini peut ensuite être appliqué au PCB actif, ce qui vous permet de sélectionner et de modifier plusieurs objets avec une grande précision et efficacité.
Accès au panneau
Le panneau est accessible depuis l’éditeur PCB des façons suivantes :
-
Cliquez sur le bouton Panels en bas à droite de l’espace de travail, puis sélectionnez PCB Filter.
-
Cliquez sur View » Panels » PCB Filter dans les menus principaux.
-
Utilisez le raccourci clavier F12 .
Les panneaux peuvent être configurés pour flotter dans l’espace de l’éditeur ou être ancrés sur les côtés de l’écran. Si le panneau PCB Filter se trouve actuellement dans un groupe de panneaux, utilisez l’onglet PCB Filter situé en bas des panneaux pour le faire passer au premier plan.
Sections du panneau
Le panneau PCB Filter est composé de trois zones. Les deux premières sont des zones de liste sélectionnables qui définissent ensemble la portée du filtrage : Object et Layer.
La troisième zone, Filter, affiche la requête créée en fonction des objets et des couches actuellement sélectionnés.
Création d’expressions de filtre simples
La zone principale du panneau fournit des commandes permettant de créer rapidement des expressions de filtre simples ciblant n’importe quelle combinaison d’objets. Les types d’objets sont organisés dans une « matrice d’objets », catégorisés selon qu’il s’agit d’objets de net (Net), d’objets de composant (Comp) ou d’objets libres (Free). La liste d’objets de base suivante est reproduite dans ces trois groupes :
-
Piste
-
Arc
-
Via
-
Pad
-
Remplissage
-
Région
L’objet Text est disponible dans les groupes Comp et Free , cependant, comme ce type d’objet n’est pas associé aux nets, il ne fait pas partie du groupe Net . En outre, le groupe Free comprend également : Component, Component Body, Room et Polygon.
Si ceux-ci sont définis sur « Component » et « Top Layer », par exemple, la vue de la carte mettra en évidence les composants de la couche supérieure. Les sélections dans les deux sections du panneau représentent l’effet cumulatif de plusieurs étapes de filtrage, ce qui permet de mettre rapidement en évidence tout type d’objet de conception.
L’ordre des colonnes est personnalisable. Cliquez sur l’en-tête d’une colonne et faites-la glisser horizontalement jusqu’à la nouvelle position souhaitée. Les positions valides sont indiquées par des flèches de position vertes.
Pour utiliser un objet dans la construction d’une expression de filtre, c’est-à-dire filtrer selon cet objet, activez la case à cocher correspondante associée à cet objet dans la matrice d’objets. Les commandes disponibles dans le menu contextuel de la zone vous permettent de cocher ou décocher rapidement toutes les entrées de la matrice, ou d’inverser l’état de toutes les cases à cocher de la matrice.
Cliquer sur le nom d’un objet entraînera la sélection de toutes les cases à cocher qui lui sont associées dans la matrice. Cliquer à nouveau les désélectionnera toutes. Vous pouvez également cliquer et faire glisser la souris, soit dans la colonne des noms d’objets, soit dans une colonne de groupe particulière, pour cocher/décocher plusieurs entrées à la fois. Notez que si une sélection effectuée de cette manière comprend au moins une case non cochée, ces cases non cochées seront cochées et celles qui l’étaient déjà le resteront. En revanche, si les cases all étaient déjà cochées, le résultat sera de décocher toutes les cases concernées par la sélection.
Utilisez la zone Layer du panneau pour restreindre le filtre à une ou plusieurs couches particulières, ou à une classe spécifique de couches. Les entrées répertoriées reflètent :
-
Les classes de couches définies pour la carte, dont les valeurs par défaut sont :
-
<All Layers>
-
<Component Layers>
-
<Electrical Layers>
-
<Signal Layers>
-
Les couches définies dans l’empilement de couches (tel que présenté dans le Layer Stack Editor).
-
Les couches de masque de pâte supérieure et inférieure.
Il est possible de sélectionner plusieurs couches à inclure dans le filtre en activant la case à cocher associée à chaque couche requise.
La zone
Layer se mettra automatiquement à jour si des classes de couches supplémentaires ont été définies ou si les noms de classes de couches définis par l’utilisateur ont été modifiés via la boîte de dialogue
Object Class Explorer. Elle se mettra également à jour pour refléter toute modification des couches dans l’empilement de couches.
Au fur et à mesure que vous effectuez vos sélections de filtrage, l’expression de requête résultante est construite dynamiquement et présentée dans la zone Filter du panneau. Une fois l’expression de requête de filtre définie comme souhaité, vous devez ensuite l’appliquer par une action distincte. Pour ce faire, cliquez sur le bouton Apply to All en bas du panneau. Sinon, si vous souhaitez l’appliquer uniquement aux objets actuellement sélectionnés dans l’espace de travail, cliquez sur le bouton Apply to Selected.
Le nombre d’objets correspondant au filtre (c’est-à-dire le nombre qui restent affichés dans l’espace de travail) est indiqué en bas à gauche du panneau. Si aucun filtrage n’est actuellement appliqué, cela est indiqué par l’entrée Not filtered.
Filtrage par objet
La sélection dans la liste Object du panneau filtrera la vue de la carte pour afficher les objets de conception primitifs. Tous les objets seront mis en évidence, sauf si cela est modifié par les paramètres des listes de filtre Object et/ou Layer .

La carte affichée avec Component Body et Pad (In Any Component) sélectionnés sous Object. Layer est défini sur <All>.

La carte affichée avec Object défini sur Tracks (In Any Net) et Pads (In Any Net). Layer est défini sur <All>.
Filtrage par couche
La sélection dans la liste Layer du panneau filtre la vue de la carte pour afficher les objets de la couche de conception physique désignée (couches de signal, de masque et de sérigraphie). Tous les objets valides de la couche seront mis en évidence, sauf si cela est modifié par les paramètres des listes de filtre Layer et/ou Objects .

La carte affichée avec Object défini sur Components et Pads (In Any Component). Layers est défini sur Top Layer.

La carte affichée avec Object défini sur Tracks (In Any Net). Layer est défini sur Bottom Layer.
Pour filtrer les objets sur la couche courante uniquement, sélectionnez l’entrée <Active Layers>.
Sélection des objets filtrés
L’action de filtrage collective fournie par le panneau facilite à la fois l’affichage et la sélection des objets de conception de carte qui vous intéressent.
Seuls les objets mis en évidence (filtrés) sont sélectionnables, ce qui facilite la localisation, la modification et la recherche d’informations sur l’objet.
Effacement du filtre
Effacez le filtre actuellement appliqué en cliquant sur le bouton Clear .
Notez qu’un filtre appliqué à l’espace de travail est persistant et doit être réinitialisé explicitement ou remplacé par un autre type de mécanisme de sélection, tel que celui du panneau PCB.
Définition du filtrage visuel
Le résultat visuel du filtrage appliqué au document dans l’espace de travail est déterminé par une série de commandes de mise en évidence. L’effet imposé dans la vue de l’éditeur peut être défini sur Normal, Mask ou Dim, où, en pratique, Mask produit l’effet de mise en évidence le plus évident.
La liste déroulante Normal / Mask / Dim propose des options permettant de contraster visiblement les objets filtrés et non filtrés dans l’espace de travail.

Sélectionnez le type de filtrage visuel appliqué à l’aide de la liste déroulante du mode de masquage.
L’effet visuel de mise en évidence pour chaque mode de masquage :
-
Normal - les objets filtrés sont visibles dans l’espace de travail et l’apparence des objets non filtrés reste inchangée.
-
Mask - les objets filtrés sont mis en évidence dans l’espace de travail tandis que tous les autres objets deviennent monochromes.
-
Dim - les objets filtrés sont mis en évidence dans l’espace de travail, tandis que tous les autres objets conservent leurs couleurs mais sont estompés.
Définition des requêtes de filtre
La zone centrale du panneau fournit des commandes permettant de construire des filtres par la saisie de requêtes logiques.
Vous pouvez saisir une requête directement dans le champ et, au fur et à mesure de la saisie, une liste de mots-clés possibles apparaît pour vous aider.
Deux fonctions sont disponibles pour faciliter la création de requêtes : le Query Helper et le Query Builder. Ces fonctions peuvent être très utiles si vous n’êtes pas sûr de la syntaxe d’une requête ou des mots-clés possibles que vous souhaitez utiliser.
Query Helper
Pour utiliser le Query Helper, cliquez sur le bouton Helper afin d’ouvrir la boîte de dialogue Query Helper. Le moteur de requêtes sous-jacent analyse le document et répertorie tous les objets disponibles ainsi que des mots-clés génériques à utiliser dans les requêtes.
Utilisez la section supérieure de la boîte de dialogue pour composer une expression de requête à l’aide des PCB Functions, PCB Object Lists et System Functions disponibles. La zone centrale de la boîte de dialogue fournit une série d’opérateurs à utiliser lors de la construction d’une expression. Utilisez le bouton Check Syntax pour vérifier qu’une expression est syntaxiquement correcte.
Lorsque l’expression de la requête a été définie comme souhaité, cliquez sur OK pour charger la requête dans la région centrale du panneau, prête à appliquer le filtre.
Query Builder
Pour utiliser le Query Builder, cliquez sur le bouton Builder du panneau afin d’ouvrir la boîte de dialogue Building Query from Board dialog. Cette boîte de dialogue vous permet de créer une requête pour cibler des objets spécifiques dans le document de conception en construisant une chaîne de conditions reliées par des AND et/ou des OR. Le côté gauche de la boîte de dialogue sert à spécifier la ou les conditions nécessaires pour cibler l’ensemble d’objets voulu. Au départ, l’entrée de la colonne Condition Type/Operator sera Add first condition. Un clic sur cette entrée affiche une liste déroulante des types de condition.
Les types de condition répertoriés ne refléteront que ceux pertinents pour une conception de carte.
Sélectionnez la condition souhaitée, puis cliquez dans la colonne Condition Value pour accéder à une liste déroulante des valeurs possibles pour ce type de condition. À mesure que vous définissez une condition dans la partie gauche de la boîte de dialogue, un aperçu de la requête en cours de construction s’affiche dans la partie droite.
Continuez à ajouter d’autres conditions pour affiner l’ensemble cible d’objets de conception selon les besoins. Les conditions peuvent être reliées par AND ou par OR. L’opérateur logique par défaut est AND, qui est automatiquement inséré lorsque vous ajoutez une autre condition.
Pour modifier l’opérateur logique entre les conditions, cliquez sur l’entrée AND ou OR dans la colonne Condition Type/Operator, puis sélectionnez l’opérateur requis. L’aperçu de la requête sera mis à jour en conséquence.
Spécification de la priorité
Les boutons
et
en haut de la boîte de dialogue Building Query from Board vous permettent d’ajouter et de supprimer des parenthèses autour de la condition actuellement sélectionnée (augmentation et diminution du retrait). Cela vous permet de créer une priorité pour certaines conditions logiquement reliées par AND ou par OR.
Par exemple, considérez la requête construite suivante :
InNet('5V') AND (OnLayer('TopLayer')
La première condition a été définie avec le type de condition Belongs to Net et la valeur 16M_IN. Une autre condition a ensuite été ajoutée à l’aide du type de condition Exists on Layer avec la valeur TopLayer.
Notez que la paire de parenthèses la plus externe est ajoutée automatiquement par le Builder et n’est pas affichée pendant la construction de l’expression de requête.
À ce stade, avec la deuxième condition sélectionnée dans la boîte de dialogue, le bouton flèche droite a été cliqué. Des parenthèses ont été automatiquement ajoutées autour de la deuxième condition et il est désormais possible d’ajouter une condition à l’intérieur de cette paire de parenthèses.
La troisième condition, avec le type de condition Object Kind is et la valeur Track, est ensuite ajoutée à l’intérieur des parenthèses.
Utilisez la liste déroulante Show Level en haut à gauche de la boîte de dialogue pour contrôler l’affichage visuel des niveaux dans votre chaîne structurée de conditions. Cela développe/réduit essentiellement l’affichage des parenthèses. L’ajout de parenthèses crée effectivement un nouveau niveau. Vous pouvez afficher les niveaux 1 à 5, mais pour tout niveau supplémentaire ajouté, utilisez l’option Show All Levels.
Vous pouvez également cliquer sur les symboles de développement ou de réduction (associés à une condition entre parenthèses) pour afficher le ou les niveaux suivants ou masquer le niveau actuel (et tous les niveaux inférieurs) respectivement. Les boutons
et
en haut de la boîte de dialogue peuvent également être utilisés pour développer ou réduire la condition actuellement sélectionnée.
Utilisez les boutons
et
en haut de la boîte de dialogue pour déplacer une condition sélectionnée dans la chaîne de requête. Pour une condition qui comporte des sous-niveaux (c’est-à-dire une condition entre parenthèses), toute condition de la structure de niveaux peut être déplacée. Lorsque les niveaux sont développés, une condition peut être déplacée vers le bas ou vers le haut à travers les niveaux. Lorsque les niveaux sont réduits, une condition sera déplacée à travers la structure de niveaux.
Pour supprimer une condition, sélectionnez-la puis cliquez soit sur le bouton
en haut de la boîte de dialogue, soit utilisez la touche Delete.
Lorsque l’expression de la requête a été définie comme souhaité, cliquez sur OK pour charger la requête dans la région centrale du panneau PCB Filter, prête à appliquer le filtre.
Création de règles de conception
Le panneau PCB Filter permet également de créer une règle de conception, dont la portée utilisera l’expression de requête actuellement définie dans la région centrale du panneau.
Pour ajouter une nouvelle règle de conception, cliquez sur le bouton Create Rule du panneau PCB Filter. La boîte de dialogue Choose Design Rule Type s’ouvrira.
Cette boîte de dialogue répertorie chacune des catégories et chacun des types de règles disponibles dans le document PCB. Choisissez le type de règle que vous souhaitez créer, puis cliquez sur OK (ou double-cliquez directement sur l’entrée). La boîte de dialogue PCB Rules and Constraints Editor s’ouvrira.
Le nom de la règle nouvellement créée apparaît sélectionné dans l’arborescence de navigation à gauche. L’expression de requête de la règle se trouve dans le volet supérieur droit de la boîte de dialogue.
Une règle du type choisi est créée et la fenêtre principale d’édition de la règle s’affiche, prête à vous permettre de définir des contraintes spécifiques pour la règle. L’expression de requête du panneau PCB Filter est saisie dans la zone Full Query de la boîte de dialogue. Affinez les paramètres de configuration de la règle selon les besoins, puis appliquez la nouvelle règle.
Application et suppression du filtre
Une fois que vous avez défini une requête et configuré les options du panneau comme souhaité, le filtre peut être appliqué soit en cliquant sur l’un des boutons Apply du panneau, soit en cliquant sur Enter.
Pour supprimer le filtre actuellement appliqué depuis le panneau, effacez (sélectionnez et supprimez) l’expression de requête dans la région centrale du panneau, puis cliquez soit sur l’un des boutons Apply, soit appuyez sur Enter. Tous les objets de l’espace de travail de conception retrouveront leur visibilité complète et pourront être sélectionnés/modifiés.
Menus contextuels
Un clic droit dans le panneau PCB Filter donne accès à des options et commandes supplémentaires via des menus contextuels.
Un clic droit dans la région Object ou Layer du panneau ouvre les options de menu contextuel suivantes :
-
Toggle Check - active cette option pour basculer les options. Les options actuellement sélectionnées seront désélectionnées tandis que les options désélectionnées seront sélectionnées.
-
Check All - active cette option pour sélectionner toutes les options disponibles.
-
Uncheck All - active cette option pour désélectionner toutes les options disponibles.
Remarques
Généralités
-
Appuyer sur la touche F12 permet de basculer la visibilité du panneau dans l’espace de travail.
-
Le Query Builder (boîte de dialogue Building Query from Board) fournit une méthode simple pour construire une requête, en utilisant des types de condition et des valeurs contextuels qui vous permettent uniquement de construire à l’aide de « blocs » pertinents. Pour une construction avancée de requêtes, avec spécification complète des mots-clés et syntaxe des opérateurs, utilisez la boîte de dialogue Query Helper.
-
Comme les options d’affichage des objets qui passent et ne passent pas le filtre appliqué sont séparées, vous pouvez effectivement appliquer de nouvelles requêtes de filtre pour vous appuyer sur les résultats d’un filtrage précédent.
Lors de la construction d’expressions de requête
-
Il est fortement conseillé d’utiliser des parenthèses dès qu’il existe une possibilité que la requête ne soit pas interprétée correctement.
-
Les parenthèses ont la priorité la plus élevée dans l’ordre de priorité défini pour les différents opérateurs fournis et qui détermine la manière dont les requêtes sont interprétées par le logiciel (lorsque l’utilisateur n’a pas fourni de parenthèses). La séquence de cet ordre est la suivante :
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Cet ordre de priorité est similaire à celui utilisé dans les langages de type Pascal. Toutefois, une utilisation généreuse des parenthèses élimine toute ambiguïté et rend les requêtes résultantes plus faciles à lire pour les autres.
-
Les ambiguïtés sont résolues en procédant de gauche à droite.
-
Les parenthèses sont évaluées de l’intérieur vers l’extérieur et les niveaux égaux sont traités de gauche à droite.
PCBLIB Filter Panel
Résumé
Le panneau PCBLIB Filter fournit des commandes permettant de construire des filtres par la création de requêtes logiques. Un filtre défini peut ensuite être appliqué à l’empreinte de composant PCB active, ou à toutes les empreintes de composant de la bibliothèque PCB active, ce qui vous permet de sélectionner et de modifier plusieurs objets avec une grande précision et efficacité.
Utilisez l’option Filter The Whole Library pour contrôler si le filtrage s’applique uniquement au composant actif (désactivé) ou à tous les composants du document de bibliothèque PCB actif (activé).
Accès au panneau
Le panneau est accessible depuis l’éditeur de bibliothèque PCB des manières suivantes :
-
Cliquez sur le bouton Panels en bas à droite de l’espace de travail, puis sélectionnez l’entrée PCBLIB Filter.
-
Cliquez sur View » Panels » PCBLIB Filter dans les menus principaux.
- Utilisez le raccourci clavier F12.
Les panneaux peuvent être configurés pour flotter dans l’espace de l’éditeur ou être ancrés sur les côtés de l’écran. Si le panneau PCBLIB Filter se trouve actuellement dans un groupe de panneaux, utilisez l’onglet PCBLIB Filter situé en bas des panneaux pour l’amener au premier plan.
Sections du panneau
Le panneau PCBLIB Filter est composé de trois zones. Les deux premières sont des zones de liste sélectionnables qui définissent ensemble la portée du filtrage : Object et Layer. La troisième zone, Filter, affiche la requête créée à partir des objets et des couches actuellement sélectionnés.
Création d’expressions de filtre simples
La zone principale du panneau fournit des commandes permettant de créer rapidement des expressions de filtre simples ciblant n’importe quelle combinaison d’objets. Les types d’objets sont organisés dans une « matrice d’objets », classés selon qu’il s’agit d’objets de net (Net), d’objets de composant (Comp) ou d’objets libres (Free). La liste d’objets de base suivante est reproduite dans ces trois groupes :
-
Piste
-
Arc
-
Via
-
Pastille
-
Remplissage
-
Région
L’objet Text est disponible dans les groupes Comp et Free . Cependant, comme ce type d’objet n’est pas associé aux nets, il ne fait pas partie du groupe Net . En outre, le groupe Free comprend également Component, ComponentBody, Room et Polygon.
Si ceux-ci sont définis sur « Components » et « Top Layer », par exemple, la vue de la carte mettra en évidence les composants de la couche supérieure. Les sélections dans les deux sections du panneau représentent l’effet cumulatif de plusieurs étapes de filtrage, ce qui permet de mettre rapidement en évidence tout type d’objet de conception.
L’ordre des colonnes est personnalisable. Cliquez sur l’en-tête d’une colonne et faites-le glisser horizontalement jusqu’à la nouvelle position souhaitée. Les positions valides sont indiquées par des flèches de positionnement vertes.
Pour utiliser un objet dans la construction d’une expression de filtre, c’est-à-dire filtrer selon cet objet, activez la case à cocher correspondante associée à cet objet dans la matrice d’objets. Les commandes disponibles dans le menu contextuel accessible par clic droit pour cette zone vous permettent respectivement de cocher ou décocher rapidement toutes les entrées de la matrice, ou d’inverser l’état de toutes les cases à cocher de la matrice.
Un clic sur l’entrée du nom d’un objet cochera toutes les cases qui lui sont associées dans la matrice. Un nouveau clic les décochera toutes. Vous pouvez également cliquer et faire glisser soit dans la colonne des noms d’objets, soit dans une colonne de groupe particulière, pour cocher/décocher plusieurs entrées à la fois. Notez que si, lors d’une sélection de cette manière, au moins une case décochée est incluse, les cases décochées seront cochées, et celles qui étaient déjà cochées le resteront. En revanche, si les cases all étaient déjà cochées, le résultat sera de décocher toutes les cases concernées par la sélection.
Utilisez la zone Layer pour restreindre le filtre à une ou plusieurs couches particulières, ou à une classe spécifique de couches. Les entrées répertoriées reflètent :
-
Les classes de couches définies pour la carte, dont les valeurs par défaut sont :
-
<All Layers>
-
<Component Layers>
-
<Electrical Layers>
-
<Signal Layers>
-
Les couches définies dans l’empilement de couches (tel que présenté dans Layer Stack).
-
Les couches de masque de pâte supérieure et inférieure.
Il est possible de sélectionner plusieurs couches à inclure dans le filtre en activant la case à cocher associée à chaque couche requise.
La zone
Layer se mettra automatiquement à jour si des classes de couches supplémentaires ont été définies ou si des noms de classes de couches définis par l’utilisateur ont été modifiés via la boîte de dialogue
Object Class Explorer. Elle se mettra également à jour pour refléter toute modification apportée aux couches dans l’empilement de couches.
Les classes de couches ne seront pas présentées dans la zone Layer .
Au fur et à mesure que vous effectuez vos sélections de filtrage, l’expression de requête résultante est construite dynamiquement et affichée dans la zone Filter du panneau. Une fois l’expression de requête du filtre définie comme souhaité, vous devez ensuite l’appliquer dans une action distincte. Pour ce faire, cliquez sur le bouton Apply to All en bas du panneau. Sinon, si vous souhaitez l’appliquer uniquement aux objets actuellement sélectionnés dans l’espace de travail, utilisez le bouton Apply to Selected.
Le nombre d’objets qui passent le filtre, c’est-à-dire le nombre qui restent affichés dans l’espace de travail, est indiqué en bas à gauche du panneau. Si aucun filtrage n’est actuellement appliqué, cela est indiqué par l’entrée Not filtered.
Application du filtrage
Les composants de bibliothèque PCB sont composés de types d’objets primitifs (arcs, pastilles, pistes, etc.) disposés sur différentes couches de la carte. Les objets sont soit de nature « libre », soit « possédés » par un objet de groupe. Notez que la sélection de Free dans la zone Object mettra en évidence uniquement les objets qui ne font pas partie d’un objet de groupe.
Le filtrage s’applique à tous les composants de la bibliothèque PCB active.
Filtrage par objet
La sélection dans la liste Object du panneau filtrera la vue de la carte pour afficher les objets de conception primitifs. Tous les objets seront mis en évidence, sauf modification par les paramètres de la liste de filtre Layer .

L’exemple de carte affiché avec Track et Arc sélectionnés sous Object. Layer est défini sur Top Overlay.
Filtrage par couche
La sélection dans la liste Layers du panneau filtrera la vue de la carte pour afficher les objets sur la couche de conception physique désignée (couches de signal, de masque et de sérigraphie). Tous les objets de couche valides seront mis en évidence, sauf modification par les paramètres de la liste de filtre Object .

L’exemple de carte affiché avec Object défini sur Pad. Layer ; Top Layer est défini sur Top Layer.
Pour filtrer uniquement les objets de la couche active, sélectionnez l’entrée <Active Layer>.
Sélection des objets filtrés
L’action de filtrage collective fournie par le panneau PCBLIB Filter facilite à la fois l’affichage et la sélection des objets de conception de carte pertinents.
Seuls les objets mis en évidence (filtrés) sont sélectionnables, ce qui permet de localiser, modifier et trouver facilement des informations sur l’objet.
Effacement du filtre
Effacez le filtre actuellement appliqué à l’aide du bouton Clear du panneau.
Notez qu’un filtre appliqué à l’espace de travail est persistant et doit être réinitialisé explicitement ou remplacé par un autre type de mécanisme de sélection, tel que celui du
PCB panel.
Définition du filtrage visuel
Le résultat visuel du filtrage appliqué au document dans l’espace de travail est déterminé par une série de commandes de mise en évidence. L’effet imposé dans la vue de l’éditeur peut être défini sur Normal, Mask ou Dim, sachant qu’en pratique, Mask produit l’effet de mise en évidence le plus évident.
La liste déroulante Normal / Mask / Dim propose des options permettant de contraster visiblement les objets filtrés et non filtrés dans l’espace de travail.

Sélectionnez le type de filtrage visuel appliqué à l’aide de la liste déroulante du mode de masquage.
L’effet de mise en évidence visuelle pour chaque mode de masquage :
-
Normal - les objets filtrés sont visibles dans l’espace de travail et l’apparence des objets non filtrés reste inchangée.
-
Mask - les objets filtrés sont mis en évidence dans l’espace de travail, tandis que tous les autres objets deviennent monochromes.
-
Dim - les objets filtrés sont mis en évidence dans l’espace de travail, tandis que tous les autres objets conservent leurs couleurs mais sont estompés.
Définition des requêtes de filtre
La zone centrale du panneau vous permet de construire des filtres en saisissant des requêtes logiques.
Vous pouvez saisir directement une requête dans le champ et, au fur et à mesure de la saisie, une liste d’invite de mots-clés possibles apparaîtra pour vous aider.
Deux fonctionnalités sont disponibles pour vous aider à créer des requêtes : Query Helper et Query Builder. Ces outils peuvent être très utiles si vous n’êtes pas sûr de la syntaxe d’une requête ou des mots-clés possibles que vous pourriez vouloir utiliser.
Query Helper
Pour utiliser Query Helper, cliquez sur le bouton Helper pour ouvrir la boîte de dialogue Query Helper. Le moteur de requête sous-jacent analyse le document et répertorie tous les objets disponibles, ainsi que les mots-clés génériques utilisables dans les requêtes.
Utilisez la section supérieure de la boîte de dialogue pour composer une expression de requête à l’aide des PCB Functions, PCB Object Lists et System Functions disponibles. La zone centrale de la boîte de dialogue fournit une gamme d’opérateurs à utiliser lors de la construction d’une expression. Utilisez le bouton Check Syntax pour vérifier qu’une expression est syntaxiquement correcte.
Lorsque l’expression de la requête a été définie comme souhaité, cliquez sur OK pour charger la zone centrale du panneau PCBLIB Filter avec la requête, prête à appliquer le filtre.
Query Builder
Pour utiliser Query Builder, cliquez sur le bouton Builder du panneau PCBLIB Filter pour ouvrir la boîte de dialogue Building Query from Board.
Cette boîte de dialogue vous permet de créer une requête pour cibler des objets spécifiques dans le document de conception, par simple construction d’une chaîne de conditions reliées par AND et/ou OR.
La partie gauche de la boîte de dialogue est l’endroit où vous spécifiez la ou les conditions requises pour cibler l’ensemble d’objets souhaité. Initialement, l’entrée dans la colonne Condition Type/Operator sera Add first condition. Cliquez une fois sur cette entrée pour ouvrir une liste déroulante des types de conditions.
Les types de conditions répertoriés ne refléteront que ceux qui sont pertinents pour une conception de carte.
Sélectionnez la condition, puis cliquez dans la colonne Condition Value pour accéder à une liste déroulante des valeurs possibles pour ce type de condition. Au fur et à mesure que vous définissez une condition dans la partie gauche de la boîte de dialogue, un aperçu de la requête en cours de construction s’affiche sur la partie droite.
Continuez à ajouter d’autres conditions afin de restreindre davantage l’ensemble cible d’objets de conception, selon les besoins. Les conditions peuvent être combinées avec les opérateurs AND ou OR. L’opérateur logique par défaut est AND et est automatiquement inséré lorsque vous ajoutez une autre condition.
Pour modifier l’opérateur logique entre les conditions, cliquez sur l’entrée AND ou OR dans la colonne Condition Type/Operator, puis sélectionnez l’opérateur souhaité. L’aperçu de la requête sera mis à jour en conséquence.
Spécification de la priorité
Les boutons
et
en haut de la boîte de dialogue Building Query from Board vous permettent d’ajouter et de supprimer des parenthèses autour de la condition actuellement sélectionnée (augmentation et diminution du retrait). Cela vous permet de définir une priorité pour certaines conditions combinées logiquement avec AND ou OR.
La première condition a été définie avec le type de condition Exists on Layer et la valeur Top Layer. Une autre condition a ensuite été ajoutée à l’aide du type de condition Object Kind is avec la valeur Arc.
Notez que la paire de parenthèses la plus externe est ajoutée automatiquement par le Builder et n’est pas affichée pendant la construction de l’expression de requête.
À ce stade, avec la deuxième condition sélectionnée dans la boîte de dialogue, le bouton flèche droite a été cliqué. Des parenthèses ont été automatiquement ajoutées autour de la deuxième condition, et il est désormais possible d’ajouter une condition à l’intérieur de cette paire de parenthèses.
La troisième condition, de type In Any Polygon , est ensuite ajoutée à l’intérieur des parenthèses.
Utilisez la liste déroulante Show All Levels en haut à gauche de la boîte de dialogue pour contrôler l’affichage visuel des niveaux dans votre chaîne structurée de conditions. Cela développe/réduit essentiellement l’affichage des parenthèses. L’ajout de parenthèses crée effectivement un nouveau niveau. Vous pouvez afficher les niveaux 1 à 5, mais pour tout niveau supplémentaire ajouté, utilisez l’option Show All Levels.
Vous pouvez également cliquer sur les symboles de développement ou de réduction associés à une condition entre parenthèses pour afficher le ou les niveaux suivants ou masquer le niveau actuel (ainsi que tous les niveaux inférieurs), respectivement. Les boutons
et
en haut de la boîte de dialogue peuvent également être utilisés pour développer ou réduire la condition actuellement sélectionnée.
Utilisez les boutons
et
en haut de la boîte de dialogue pour déplacer une condition sélectionnée dans la chaîne de requête en cours de construction. Pour une condition comportant des sous-niveaux (c’est-à-dire une condition entre parenthèses), toute condition de la structure de niveaux peut être déplacée. Lorsque les niveaux sont développés, une condition peut être déplacée vers le bas ou vers le haut à travers les niveaux. Lorsque les niveaux sont réduits, une condition sera déplacée à travers la structure de niveaux.
Pour supprimer une condition, sélectionnez-la puis cliquez sur le bouton
en haut de la boîte de dialogue ou utilisez la touche Delete.
Lorsque l’expression de requête a été définie comme souhaité, cliquez sur OK pour charger la région centrale du panneau PCBLIB Filter avec la requête, prête à appliquer le filtre.
Création de règles de conception
Le panneau PCBLIB Filter permet également de créer une règle de conception. Sa portée utilisera l’expression de requête actuellement définie dans la région centrale du panneau.
Pour ajouter une nouvelle règle de conception, cliquez sur le bouton Create Rule du panneau PCBLIB Filter. La boîte de dialogue Choose Design Rule Type s’ouvrira.
Cette boîte de dialogue répertorie chacune des catégories et chacun des types de règles disponibles dans le document PCB. Choisissez le type de règle que vous souhaitez créer, puis cliquez sur OK (ou double-cliquez directement sur l’entrée). La boîte de dialogue PCB Rules and Constraints Editor s’ouvrira.
Le nom de la règle nouvellement créée apparaît sélectionné dans l’arborescence de navigation à gauche. L’expression de requête de la règle se trouve dans le volet supérieur droit de la boîte de dialogue.
Une règle du type choisi est créée et la fenêtre principale d’édition de la règle s’affiche, prête à vous permettre de définir des contraintes spécifiques pour la règle. L’expression de requête du panneau PCBLIB Filter est saisie dans la zone Full Query de la boîte de dialogue. Affinez les paramètres de configuration de la règle selon les besoins, puis appliquez la nouvelle règle.
Application et suppression du filtre
Une fois la requête définie et les options du panneau configurées selon les besoins, le filtre peut être appliqué soit en cliquant sur le bouton Apply du panneau, soit en appuyant sur Enter.
Pour supprimer le filtre actuellement appliqué depuis le panneau, effacez (sélectionnez puis supprimez) l’expression de requête dans la région centrale du panneau, puis cliquez sur le bouton Apply ou appuyez sur Enter. Tous les objets de l’espace de travail de conception retrouveront leur visibilité complète et pourront de nouveau être sélectionnés/modifiés.
Menus contextuels
Faites un clic droit dans le panneau PCBLIB Filter pour accéder à des options et commandes supplémentaires via des menus contextuels.
Un clic droit dans la région Object ou Layer du panneau ouvre les options de menu contextuel suivantes :
-
Toggle Check - permet d’activer/de désactiver les options. Les options actuellement sélectionnées seront désélectionnées, tandis que les options désélectionnées seront sélectionnées.
-
Check All - permet de sélectionner toutes les options disponibles.
-
Uncheck All - permet de désélectionner toutes les options disponibles.
Remarques
Généralités
-
Appuyer sur la touche F12 permet de basculer la visibilité du panneau dans l’espace de travail.
-
Le générateur de requêtes (boîte de dialogue Building Query from Board) fournit une méthode simple pour construire une requête à l’aide de types et de valeurs de conditions contextuels qui vous permettent uniquement de construire avec des « blocs de construction » pertinents. Pour une construction avancée de requêtes avec spécification complète des mots-clés et syntaxe des opérateurs, utilisez la boîte de dialogue Query Helper.
-
Comme les options d’affichage des objets qui satisfont ou non au filtre appliqué sont séparées, vous pouvez effectivement appliquer de nouvelles requêtes de filtre pour vous appuyer sur les résultats d’un filtrage précédent.
Lors de la création d’expressions de requête
-
Il est fortement conseillé d’utiliser des parenthèses dès qu’il existe une possibilité que la requête ne soit pas interprétée correctement.
-
Les parenthèses ont la priorité la plus élevée dans l’ordre de priorité défini pour les différents opérateurs fournis et qui détermine la manière dont les requêtes sont interprétées par le logiciel (lorsque l’utilisateur n’a pas fourni de parenthèses). La séquence de cet ordre est la suivante :
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Cet ordre de priorité est similaire à celui utilisé dans les langages de type Pascal. Toutefois, une utilisation généreuse des parenthèses élimine toute ambiguïté et rend les requêtes résultantes plus faciles à lire pour les autres.
-
Les ambiguïtés sont résolues en procédant de gauche à droite.
-
Les parenthèses sont évaluées de l’intérieur vers l’extérieur et les niveaux égaux sont traités de gauche à droite.
Le langage de requête est également utilisé dans la boîte de dialogue PCB Rules and Constraints Editor pour définir les portées des règles de conception (consultez la page Defining, Scoping & Managing PCB Design Rules pour en savoir plus). Notez que l’ensemble des objets couverts par une règle de conception dépend non seulement de la requête, mais aussi du type de règle (par exemple, une règle Width ne s’applique qu’aux pistes, une règle Routing Via Style ne s’applique qu’aux vias, etc.) ; les résultats de mise en évidence/définition de portée des objets lors de l’utilisation de la même expression de requête dans le panneau Filter et dans la portée de la règle peuvent donc être différents.
Où se trouvent les résultats de la requête ?
Maintenant que vous avez écrit une requête dans le panneau Filter , comment accéder aux objets renvoyés par votre requête ? Il existe deux façons d’accéder aux objets et de les modifier dans l’environnement Altium Designer.
-
Graphiquement - après application d’un filtre, le comportement par défaut consiste à masquer (atténuer et rendre non modifiables) tous les objets qui n’ont pas satisfait à la requête, en ne laissant visibles que ceux qui l’ont satisfaite. Ce mode est excellent pour localiser et examiner les objets dans l’espace de travail. Comme les objets masqués ne sont pas modifiables, des commandes telles que Ctrl+A (tout sélectionner) ne s’appliquent qu’aux objets renvoyés par la requête.
-
List panneau - le panneau List (Shift+F12) est une vue de type feuille de calcul sur vos données de conception. Par défaut, il affiche tous les objets de conception, mais une fois un filtre appliqué, il n’affiche que les objets renvoyés par la requête. Le panneau List présente des comportements standard de type feuille de calcul pour le tri et la sélection, vous permettant de modifier directement une ou plusieurs cellules.
Le panneau PCB List et le panneau SCH List affichent les résultats des requêtes PSB/SCH dans la section précédente.
Options de mise en évidence
Lorsqu’une requête est appliquée (ou que la fonction de filtrage des données est utilisée d’une autre manière), chaque objet du document cible devient membre des résultats de cette action de filtrage. Toutefois, la manière dont les objets présents dans les résultats et les objets absents des résultats sont ensuite affichés dépend de l’option ou des options de mise en évidence sélectionnées dans le panneau Filter . Trois options de mise en évidence différentes sont disponibles et elles sont totalement indépendantes les unes des autres ; vous pouvez donc en sélectionner une, deux ou les trois.
Zoom
Lorsque l’option Zoom est activée au moment de l’application de la requête, la vue du document cible est mise à jour pour afficher la région occupée par tous les objets présents dans les résultats. Le fait que chacun des objets restants soit ou non affiché dans la vue mise à jour dépend de son emplacement par rapport à cette région ; chacun de ces objets peut donc être entièrement affiché, partiellement affiché ou ne pas être affiché du tout.
Cette option est souvent sélectionnée conjointement avec l’une ou les deux autres options. Si l’Mask option n’a pas été activée, les objets qui ne figurent pas dans les résultats continueront d’être affichés dans la vue graphique s’ils se trouvent à l’intérieur des limites mises à jour. À première vue, sélectionner cette option seule peut sembler inutile, mais il peut arriver que vous souhaitiez mettre à jour la vue graphique afin qu’elle englobe certains objets, sans modifier l’état de sélection ni l’état de masquage des objets du document.
Sélectionner
Lorsque l’option Select est activée, tous les objets présents dans les résultats sont à l’état sélectionné, tandis que tous les autres objets ne sont pas sélectionnés. Les objets sélectionnés sont affichés de manière plus distinctive que les objets non sélectionnés.
Si l’option Sélectionner est choisie lorsque la requête en cours est appliquée, tous les objets qui sont membres de l’ensemble de résultats acquièrent ensuite un état sélectionné, tandis que tous les autres objets (qui ne sont pas membres de l’ensemble de résultats) acquièrent à la place un état non sélectionné. Cette option est généralement sélectionnée juste avant des procédures d’édition globale, car seuls les objets actuellement sélectionnés voient alors leurs propriétés mises à jour. Mais il existe d’autres situations où l’option Sélectionner peut être utile, par exemple lorsque certains objets doivent être déplacés, copiés ou supprimés.
Masquer
L’option de Mask mise en évidence détermine la propriété de masquage mise à jour des objets dans le document cible. Lorsqu’elle est sélectionnée, tous les objets présents dans les résultats sont masqués, tandis que tous les autres objets sont démasqués. L’aspect principal des objets masqués est qu’eux-mêmes et leurs propriétés ne peuvent pas être modifiés. (Les objets masqués sont affichés en grisé dans la vue liste, mais ne sont pas affichés dans la vue liste à moins que l’option all objects ne soit actuellement sélectionnée dans le panneau List .) L’aspect principal des objets masqués est que l’objet et ses propriétés ne peuvent pas être modifiés.
Le Query Builder
L’éditeur PCB comprend une boîte de dialogue Query Builder dédiée. Cette boîte de dialogue vous permet de créer des requêtes complexes en choisissant des conditions de test dans des listes déroulantes. Un avantage du Query Builder est qu’il vous permet de créer une requête ciblant différents types d’objets.
La boîte de dialogue « Building Query » (qui fait partie de la fonctionnalité « Query Builder ») aide les utilisateurs moins expérimentés dans la spécification des requêtes ; une requête est générée automatiquement, dont le contenu correspond aux conditions spécifiées par le concepteur.
La section de gauche de cette boîte de dialogue contient des commandes dont le but est d’aider le concepteur à spécifier quelles propriétés sont requises pour que chacun des objets du document soit renvoyé par la requête générée par cette boîte de dialogue. À mesure que chacune de ces conditions est spécifiée ou modifiée, le contenu de la requête correspondante est mis à jour et affiché dans la section de droite de la boîte de dialogue. Si cette boîte de dialogue est ensuite fermée en cliquant sur son bouton OK (ou Apply), soit la requête associée sera alors appliquée, soit son contenu sera recopié dans le panneau Filter (selon la manière dont cette boîte de dialogue a été invoquée au départ).
La boîte de dialogue Query Builder peut être lancée depuis les emplacements suivants (comme indiqué dans l’image ci-dessous) :
-
Depuis le panneau PCB Filter, cliquez sur le bouton Query Builder pour créer une requête et charger la chaîne dans le panneau.
-
Depuis la boîte de dialogue PCB Rules and Constraints Editor dialog, cliquez sur le bouton Builder pour créer une requête définissant à quels objets cette règle s’applique.
Lorsque la boîte de dialogue Query Builder est ouverte depuis la boîte de dialogue PCB Rules and Constraints Editor, elle n’affiche que les options adaptées à ce type de règle.
L’image ci-dessous montre la boîte de dialogue Query Builder utilisée pour créer une requête ciblant à la fois les pastilles et les vias sur le net 5V.

La boîte de dialogue Query Builder
Options and Controls of the Query Builder Dialog
-
Show All Levels - utilisez la liste déroulante pour contrôler l’affichage visuel des niveaux dans la chaîne structurée de conditions. Cela développe/réduit essentiellement l’affichage des parenthèses. L’ajout de parenthèses crée un nouveau niveau et vous pouvez afficher les niveaux 1 à 5. Vous pouvez également cliquer sur les symboles développer (
) ou réduire (
) pour afficher le ou les niveaux suivants ou masquer le niveau actuel (et tous les niveaux inférieurs), respectivement.
-
- permet de supprimer les parenthèses autour de la condition actuellement sélectionnée (réduction du retrait). Cela vous permet de créer une priorité pour certaines conditions liées logiquement par AND ou par OR.
-
- permet d’ajouter des parenthèses autour de la condition actuellement sélectionnée (augmentation du retrait). Cela vous permet de créer une priorité pour certaines conditions liées logiquement par AND ou par OR.
-
- permet de déplacer vers le haut une condition sélectionnée dans la chaîne de requête en cours de création. Pour une condition comportant des sous-niveaux (c.-à-d. une condition entre parenthèses), n’importe quelle condition de la structure de niveaux peut être déplacée. Lorsque les niveaux sont développés, une condition peut être déplacée vers le haut à travers les niveaux. Lorsque les niveaux sont réduits, une condition est déplacée à travers la structure de niveaux.
-
- permet de déplacer vers le bas une condition sélectionnée dans la chaîne de requête en cours de création. Pour une condition comportant des sous-niveaux (c.-à-d. une condition entre parenthèses), n’importe quelle condition de la structure de niveaux peut être déplacée. Lorsque les niveaux sont développés, une condition peut être déplacée vers le bas à travers les niveaux. Lorsque les niveaux sont réduits, une condition est déplacée à travers la structure de niveaux.
-
- permet de développer les symboles pour afficher le ou les niveaux suivants.
-
- permet de réduire les symboles pour masquer le niveau actuel (et tous les niveaux inférieurs).
-
- permet de supprimer la condition sélectionnée.
-
Condition Type/Operator - utilisez cette zone pour spécifier la ou les conditions requises afin de cibler l’ensemble d’objets souhaité. Initialement, l’entrée de la colonne Condition Type/Operator sera Add first condition. Cliquez une fois sur cette entrée pour ouvrir une liste déroulante des types de conditions. La liste dépend de l’endroit depuis lequel la boîte de dialogue a été lancée. Si vous créez une requête pour une règle de conception particulière dans la boîte de dialogue PCB Rules And Constraints Editor , la liste des conditions ne reflétera que les types de conditions possibles pour ce type de règle particulier.
-
Condition Value - choisissez la première condition puis cliquez dans la colonne Condition Value pour accéder à une liste déroulante des valeurs possibles pour ce type de condition. À mesure que vous définissez une condition, un aperçu de la requête en cours de création s’affiche dans la zone Query Preview.
-
Ajoutez d’autres conditions pour affiner votre ensemble cible d’objets de conception selon les besoins. Les conditions peuvent être liées par AND ou par OR. L’opérateur logique par défaut est AND.
-
Pour modifier l’opérateur logique entre les conditions, cliquez sur l’entrée AND ou OR dans la colonne Condition Type/Operator , puis sélectionnez l’opérateur souhaité. L’aperçu de la requête sera mis à jour en conséquence.
-
La boîte de dialogue Query Builder (Building Query from Board ) constitue une méthode plus simple de construction d’une requête à l’aide de types et de valeurs de conditions contextuels qui vous permettent uniquement de construire avec des « briques » pertinentes. Pour une construction avancée de requêtes avec spécification complète des mots-clés et de la syntaxe des opérateurs, utilisez la boîte de dialogue Query Helper.
-
Vous pouvez ajuster n’importe quelle condition de votre chaîne de requête à tout moment en cliquant sur l’entrée correspondant à cette condition dans la colonne Condition Type/Operator , puis en choisissant la nouvelle condition requise parmi les entrées disponibles dans la liste déroulante. L’aperçu de la requête sera mis à jour en conséquence.
-
Utilisez les raccourcis clavier Ctrl+Up Arrow et Ctrl+Down Arrow pour déplacer l’entrée de condition sélectionnée vers le haut ou vers le bas dans la structure.
-
Utilisez les raccourcis clavier Ctrl+Right Arrow et Ctrl+Left Arrow pour augmenter ou diminuer le retrait à la position sélectionnée dans la structure (ajouter/supprimer des parenthèses).
Le Query Helper
L’étape suivante pour développer vos compétences en rédaction de requêtes consiste à utiliser la boîte de dialogue Query Helper . La boîte de dialogue Query Helper comprend une zone Query dans laquelle vous pouvez saisir la requête souhaitée, tout en utilisant également les boutons de syntaxe sous le champ Query (par ex., And, Or, <, Not, Like, etc.) ainsi qu’une liste complète de tous les mots-clés de requête dans le champ Categories .
La boîte de dialogue « Query Helper » fournit une assistance aux concepteurs qui souhaitent spécifier leurs propres requêtes. Une brève description est fournie pour chaque mot-clé répertorié, mais l’aide en ligne est accessible en appuyant sur la touche F1 lorsqu’un mot-clé est mis en surbrillance. Cela ouvre la boîte de dialogue Altium Designer Documentation Library, qui fournit des détails sur les objets d’un document renvoyés par le mot-clé mis en surbrillance, sur la manière d’utiliser ce mot-clé et sur un ou plusieurs exemples de son utilisation.
La boîte de dialogue est accessible des façons suivantes :
-
Cliquez sur le bouton Helper dans le panneau Filter .
PCB Filter accès au panneau
SCH Filter accès au panneau
-
Dans la boîte de dialogue File-based Libraries Search dialog (accessible en cliquant sur
dans le coin supérieur droit du panneau Components panel, puis en choisissant File-based Libraries Search dans le menu déroulant), cliquez sur le bouton Helper .
Le bouton Helper est disponible après avoir cliqué sur Advanced dans la boîte de dialogue File-based Libraries Search.
File-based Libraries Searchaccès à la boîte de dialogue
Utilisez la section Query en haut de la boîte de dialogue pour composer une expression de requête à l’aide des fonctions disponibles. Dans la zone de texte, vous pouvez consulter et/ou modifier davantage l’expression de recherche. Saisissez directement dans la zone de texte pour modifier l’expression de recherche. Pour rechercher des mots-clés spécifiques à ajouter, commencez à taper. Pendant la saisie, la boîte de dialogue propose un menu déroulant des mots-clés disponibles correspondant au texte que vous avez saisi jusqu’à présent. Cliquez sur un mot-clé pour compléter automatiquement votre saisie. Si le mot-clé souhaité est en surbrillance, appuyer sur Enter complète également automatiquement votre sélection.
Parcourez la Categories des mots-clés disponibles pour trouver celui que vous voulez. Utilisez le champ Mask si vous n’êtes pas sûr du mot-clé exact. Par exemple, dans la Query Helper de l’éditeur de schémas, saisir *har dans le champ Mask permet de trouver les mots-clés qui s’appliquent spécifiquement aux faisceaux, comme illustré dans l’image ci-dessous. Notez que le champ Mask fonctionne à la fois sur le champ de Name des mots-clés et sur le champ Description , ce qui peut en faire le moyen le plus rapide de trouver des mots-clés possibles.
Si vous appuyez sur F1 lorsqu’un mot-clé est en surbrillance ou que le curseur se trouve dans un mot-clé que vous avez saisi, la documentation de ce mot-clé s’ouvre. C’est la ressource la plus utile pour apprendre le comportement de base de chaque mot-clé de requête.
Double-cliquez sur un mot-clé dans la grille pour l’ajouter à la requête à la position actuelle du curseur.
La zone centrale de la boîte de dialogue comprend des boutons de syntaxe qui fournissent une gamme d’opérateurs à utiliser lors de la construction d’une expression. Pour plus d’informations sur la fonction individuelle de chaque bouton de syntaxe, consultez la section Logical Query Expression Operators ci-dessous. Utilisez le bouton Check Syntax (en bas à gauche de la boîte de dialogue) pour vérifier qu’une expression est syntaxiquement correcte.
Requêtes historiques
Lorsque vous saisissez et appliquez une nouvelle requête depuis un panneau de filtre (SCH Filter / SCHLIB Filter, PCB Filter / PCBLIB Filter), elle est ajoutée à une liste d’historique des requêtes. Cliquez sur le bouton History du panneau pour accéder à cette liste. La boîte de dialogue Expression Manager s’ouvre avec l’onglet History actif.
L’onglet History de la boîte de dialogue Expression Manager fournit une liste des expressions de requête utilisées précédemment. Ici, un exemple de requêtes historiques pour le schéma est présenté. Survolez l’image avec la souris pour voir un exemple similaire pour le PCB.
Pour utiliser une requête historique de la liste, sélectionnez son entrée puis cliquez sur le bouton Apply Expression, ou double-cliquez directement sur l’entrée. La boîte de dialogue se ferme et l’expression de la requête est chargée dans la zone centrale du panneau de filtre concerné.
Une requête historique peut être ajoutée à la liste des requêtes favorites en sélectionnant son entrée puis en cliquant sur le bouton Add To Favorites. Utilisez le bouton Clear History si vous souhaitez « vider » la liste d’historique.
Jusqu’à neuf des expressions de requête les plus récemment utilisées de la liste seront disponibles depuis le sous-menu History du menu contextuel du panneau de filtre.
Notez que le contenu de la liste History est commun à (et accessible depuis) les panneaux de filtre dans un domaine de conception (SCH Filter / SCHLIB Filter dans le domaine d’édition de schémas; PCB Filter / PCBLIB Filter dans le domaine d’édition PCB). Certaines expressions de requête peuvent ne pas renvoyer de résultats lorsqu’elles sont utilisées dans l’éditeur de schémas, en particulier si elles ont été créées pour cibler des objets disponibles uniquement dans l’éditeur de bibliothèque de schémas.
Requêtes favorites
Toute requête définie peut être ajoutée à une liste de requêtes favorites de deux façons :
-
Cliquez sur le bouton Add To Favorites ou faites un clic droit dans la zone principale Query Expression et choisissez la commande Add to Favorites dans le menu contextuel pour ajouter l’expression de requête actuellement définie dans la zone centrale du panneau de filtre actif.
-
Sélectionnez une entrée de requête historique dans l’onglet History de la boîte de dialogue Expression Manager, puis cliquez sur le bouton Add To Favorites.
Les expressions de requête favorites sont stockées et gérées depuis l’onglet Favorites de la boîte de dialogue Expression Manager. On peut y accéder à l’aide du bouton Favorites sur un panneau de filtre (SCH Filter / SCHLIB Filter, PCB Filter / PCBLIB Filter) ou en faisant un clic droit dans la zone principale Query Expression d’un panneau de filtre, puis en choisissant la commande Organize Favorites dans le menu contextuel. Depuis l’espace de conception, la boîte de dialogue est accessible à l’aide du raccourci clavier Y, puis en sélectionnant Organize Favorites dans le menu contextuel de filtrage.
Accédez à la liste de vos requêtes favorites depuis le panneau de filtre de l’éditeur ou depuis l’espace de conception, à l’aide du menu contextuel de filtrage.
Lorsqu’une expression de requête est ajoutée à la liste Favorites , un nom unique lui est attribué. Par défaut, un nom générique est attribué - Favorite_n - où n est le prochain numéro disponible non utilisé. Le nom d’une entrée peut être modifié à tout moment à l’aide de l’une des méthodes suivantes :
-
Sélectionner l’entrée de requête puis cliquer sur le bouton Rename.
-
Sélectionner l’entrée de requête puis choisir la commande Edit dans le menu contextuel obtenu par clic droit.
-
Sélectionner l’entrée de requête puis cliquer à nouveau dans le champ Name.
Dans chaque cas, saisissez le nouveau nom selon vos besoins puis cliquez en dehors du champ Name pour appliquer la modification.
Pour modifier une expression de requête favorite, sélectionnez son entrée dans la liste, puis cliquez sur le bouton Edit (ou faites un clic droit et choisissez Edit dans le menu contextuel). La boîte de dialogue Edit Favorite s’ouvre. Utilisez-la pour modifier le nom du favori, changer l’expression elle-même et également déterminer comment les objets de conception sont traités (à la fois ceux qui passent le filtre et ceux qui ne le passent pas).
Modifiez une requête favorite existante à l’aide de la boîte de dialogue Edit Favorite, présentée ici pour le schéma (à gauche) et le PCB (à droite).
Pour supprimer une requête de la liste Favorites , sélectionnez son entrée dans la liste puis cliquez soit sur le bouton Remove, soit choisissez la commande Remove dans le menu contextuel obtenu par clic droit. Une boîte de dialogue apparaît pour demander confirmation de la suppression.
Notez que le contenu de la liste Favorites est commun à (et accessible depuis) les panneaux de filtre dans un domaine de conception (SCH Filter / SCHLIB Filter dans le domaine d’édition de schémas; PCB Filter / PCBLIB Filter dans le domaine d’édition PCB). Certaines expressions de requête peuvent ne pas renvoyer de résultats lorsqu’elles sont utilisées dans l’éditeur de schémas, en particulier si elles ont été créées pour cibler des objets disponibles uniquement dans l’éditeur de bibliothèque de schémas.
Utilisation des requêtes favorites
Il existe trois façons d’utiliser vos requêtes favorites :
-
Depuis l’onglet Favorites de la boîte de dialogue Expression Manager - soit sélectionnez son entrée puis cliquez sur le bouton Apply Expression, soit double-cliquez sur son entrée. La boîte de dialogue se ferme et l’expression de la requête est chargée dans la zone centrale du panneau de filtre concerné.
-
Depuis le haut du menu contextuel du panneau de filtre (jusqu’à dix des expressions de requête les plus récemment ajoutées à la liste Favorites sont disponibles).
-
Depuis le menu contextuel de filtrage de l’espace de conception (appuyez sur Y) - jusqu’à dix expressions de requête favorites sont listées en haut du menu. L’expression de requête choisie sera chargée dans la zone centrale du panneau de filtre concerné.
Vous pouvez également définir un raccourci clavier pour un favori en personnalisant le menu Filter. Pour plus d’informations sur la personnalisation de l’environnement Altium Designer, consultez
Configuring and Customizing Altium Designer.
Utilisation des exemples préconfigurés
Les éditeurs de schémas et PCB sont tous deux fournis avec un ensemble d’exemples de requêtes préconfigurés. Ces exemples sont disponibles depuis le menu de filtrage, accessible soit par clic droit dans la zone d’expression du panneau de filtre, soit à l’aide du raccourci clavier Y dans l’espace de conception. Survolez Examples pour afficher le sous-menu correspondant.
Lorsque vous sélectionnez une entrée dans le sous-menu, la requête derrière ce filtre est appliquée. Pour afficher la requête réelle derrière l’un des exemples, consultez la liste History après l’avoir appliqué. Vous pouvez également accéder à cette liste dans le menu contextuel de filtrage.
Pour effacer le filtrage, appuyez sur
Shift+C dans l’espace de conception ou faites un clic droit dans l’espace de conception et sélectionnez la commande
Clear Filter dans le menu contextuel.
Outils de création de requêtes
Le moyen le plus simple d’écrire une requête est peut-être de laisser Altium Designer l’écrire pour vous ! Vous pouvez le faire en utilisant soit la boîte de dialogue Find Similar Objects , soit la boîte de dialogue Query Builder .
Boîte de dialogue Find Similar Objects
Lorsque vous utilisez la boîte de dialogue Find Similar Objects dialog, elle génère une requête pour trouver les objets requis. Si l’option Create Expression est activée, cette requête sera affichée dans le panneau Filter . C’est une excellente technique pour apprendre différents mots-clés de requête.
La boîte de dialogue Find Similar Objects s’ouvre lorsque vous faites un clic droit sur n’importe quel objet non masqué dans votre document de conception puis sélectionnez Find Similar Objects dans le menu contextuel.
Image de gauche : version PCB ; image de droite : version SCH
Cette boîte de dialogue vous permet de rechercher des objets similaires à celui sur lequel vous avez cliqué avec le bouton droit, puis de définir quels attributs de l'objet doivent être identiques (ou différents) pour qu'il y ait correspondance. Supposons que vous souhaitiez modifier toutes les pastilles GND de votre conception. Vous pouvez cliquer avec le bouton droit sur l'une de ces pastilles, choisir Find Similar Objects, puis remplacer la valeur du champ Net de Any (paramètre par défaut) par Same. Toutes les pastilles GND seront sélectionnées lorsque vous cliquerez sur Apply dans la boîte de dialogue. Si l'option Create Expression est activée, la requête suivante apparaîtra dans le panneau Filter : (ObjectKind = 'Pad') And (Net = 'GND').
À titre d'exemple dans un schéma, vous pouvez modifier la propriété Color de tous les objets d'alimentation ayant une propriété Text donnée (par ex. « GND ») dans un document pour lui attribuer la même valeur. Par exemple, dans un PCB, vous pouvez modifier la propriété Hole Size de tous les vias ayant une propriété Via Diameter donnée dans un document pour lui attribuer la même valeur.
Option Clear Existing
Activez l'option Clear Existing pour effacer toute sélection ou tout masque d'édition existant avant d'appliquer la recherche. Désactivez cette option si vous effectuez des recherches successives et qu'il est souhaitable que les résultats s'accumulent.
Barre d'outils Filter
Le Filter Toolbar est disponible pour les documents PCB et permet de masquer tous les objets d'un document sauf ceux ayant une propriété spécifiée, ou ceux faisant partie d'un composant spécifié. Le champ le plus à droite de la barre d'outils sert à définir le contenu d'une requête. Vous pouvez saisir la requête dans le champ ou utiliser la liste déroulante pour sélectionner parmi les requêtes récentes (une requête présente dans la liste History des requêtes). Il n'est pas possible de spécifier quelles options utiliser lorsque des requêtes sont appliquées depuis le Filter Toolbar et, dans tous les cas, toute requête précédente est effacée, puis les options Mask et Zoom sont utilisées avec la requête en cours. Pour utiliser les options de requête, utilisez le panneau Filter , la boîte de dialogue Query Builder, la boîte de dialogue Query Helper ou la boîte de dialogue Find Similar Objects .
-
Si la carte n'est pas routée, les connexions logiques associées au net choisi deviennent visibles lorsque le filtre est appliqué. Si la carte est routée, la piste routée associée au net choisi devient visible lorsque le filtre est appliqué.
-
Lorsqu'un masquage est appliqué, tous les objets hors du périmètre du filtre ne sont pas disponibles pour la sélection/l'édition. L'étendue du masquage appliqué peut être ajustée manuellement à l'aide du curseur Masked Objects, accessible dans la section Mask and Dim Settings de l'onglet View Options du panneau View Configuration panel.
-
Vous pouvez effacer manuellement un filtre existant (et appliqué) à tout moment à l'aide du raccourci clavier Shift+C ou en cliquant sur le bouton
de la barre d'outils Filter .
Opérateurs d'expressions de requête logique
Vous trouverez ci-dessous un résumé des opérateurs pouvant être utilisés lors de la définition d'expressions de requête logique avec le langage de requête.
Opérateurs arithmétiques
| Opérateur |
Description |
Exemple |
| + |
Opérateur d'addition |
NetPinCount + NetViaCount |
| - |
Opérateur de soustraction |
ArcStopAngle - ArcStartAngle |
| * |
Opérateur de multiplication |
PadXSize_BottomLayer * PadYSize_BottomLayer |
| / |
Opérateur de division |
HoleDiameter / ViaDiameter |
| Div |
Opérateur de division entière |
Color Div 65536
Cela calcule Color divisé par 65536 et la partie fractionnaire du résultat est ignorée |
| Mod |
Opérateur modulo |
Color Mod 256
Cela calcule le reste lorsque Color est divisé par 256, sans déterminer la partie fractionnaire du résultat |
Opérateurs logiques
| Opérateur |
Description |
Exemple |
| And |
Opérateur logique ET |
IsPad And OnMultiLayer
Pour être renvoyé, un objet doit être une pastille et se trouver sur la couche Multi-Layer |
| && |
Opérateur logique ET
(priorité inférieure) |
IsPad && OnMultiLayer
Pour être renvoyé, un objet doit être une pastille et se trouver sur la couche Multi-Layer |
| Or |
Opérateur logique OU |
IsPad Or IsVia
Pour être renvoyé, un objet doit être soit une pastille, soit un via |
| || |
Opérateur logique OU
(priorité inférieure) |
IsPad || IsVia
Pour être renvoyé, un objet doit être soit une pastille, soit un via |
| Xor |
Opérateur logique OU EXCLUSIF |
OnMultiLayer Xor (HoleDiameter <> 0)
Pour être renvoyé, un objet doit soit être sur la couche Multi-Layer et avoir un Hole Diameter égal à zéro, soit ne pas
se trouver sur la couche Multi-Layer et avoir un Hole Diameter différent de zéro. |
| Not |
Opérateur logique NON |
Not OnMultiLayer
Pour être renvoyé, un objet ne doit pas se trouver sur la couche Multi-Layer |
Lors de l'utilisation de l'opérateur Not dans des expressions de requête dans l'éditeur PCB pour exclure des primitives d'un type spécifique, notez que ces primitives ne seront pas exclues si elles font partie d'objets groupés et que ces objets groupés ne sont pas également exclus par l'expression. Par exemple, l'expression de requête Not IsPad renvoie tous les objets sauf les objets pastille libres, mais elle renvoie aussi les objets composant qui peuvent inclure des pastilles ; ainsi, les pastilles dans les composants seront renvoyées par cette expression. De plus, les pastilles peuvent être incluses dans des nets, qui sont également considérés comme des objets groupés dans l'éditeur PCB. Pour exclure tous les objets pastille, il convient d'utiliser l'expression de requête Not IsPad And Not IsComponent And Not IsNet.
Opérateurs de comparaison
| Opérateur |
Description |
Exemple |
| < |
Opérateur inférieur à |
HoleDiameter < 40
Pour être renvoyé, un objet doit avoir un Hole Diameter inférieur à 40 |
| <= |
Opérateur inférieur ou égal à |
HoleDiameter <= 40
Pour être renvoyé, un objet doit avoir un Hole Diameter inférieur ou égal à 40 |
| >= |
Opérateur supérieur ou égal à |
HoleDiameter >= 40
Pour être renvoyé, un objet doit avoir un Hole Diameter supérieur ou égal à 40 |
| > |
Opérateur supérieur à |
HoleDiameter > 40
Pour être renvoyé, un objet doit avoir un Hole Diameter supérieur à 40 |
| <> |
Opérateur différent de |
HoleDiameter <> 40
Pour être renvoyé, un objet doit avoir un Hole Diameter différent de 40 |
| = |
Opérateur égal à |
HoleDiameter = 40
Pour être renvoyé, un objet doit avoir un Hole Diameter égal à 40 |
| Between...And... |
Opérateur d'intervalle inclusif |
HoleDiameter Between 30 And 50
Pour être renvoyé, un objet doit avoir un Hole Diameter supérieur ou égal à 30 et
inférieur ou égal à 50. |
| Like |
Opérateur Like |
Name Like 'ADDR?*'
Cela renvoie les objets ayant une propriété Name dont la chaîne (texte) associée commence par ADDR et
contient au moins un caractère supplémentaire |
Caractères génériques
Les caractères génériques permettent de fournir des chaînes qui ne sont pas spécifiées exactement. Ces caractères sont généralement utilisés conjointement avec d'autres caractères, ce qui permet de fournir des chaînes partiellement spécifiées. Quelques mots-clés exceptionnels peuvent accepter des paramètres de chaîne qui ne sont pas spécifiés exactement, mais dans la plupart des cas, les chaînes ne peuvent contenir des caractères génériques que lorsqu'elles sont comparées par l'opérateur Like.
| Opérateur |
Description |
Exemple |
| ? |
Peut être remplacé par un seul caractère de n'importe quel type |
Footprint Like 'DIP1?'
Cela renvoie les objets ayant une propriété Footprint de DIP10, ou DIP12, ou DIP14, etc. |
| * |
Peut être remplacé par n'importe quel nombre de caractères, chacun pouvant être de n'importe quel type |
Footprint Like 'SIP*'
Cela renvoie les objets ayant une propriété Footprint de SIP1, ou SIP12, ou SIP216, etc. (Les objets ayant une propriété Footprint de SIP sont également renvoyés, car '*' peut aussi être remplacé par no caractères) |
Chaînes booléennes
| Opérateur |
Description |
Exemple |
| True |
Cela affirme la signification d'un mot-clé |
IsPad = True
Pour être renvoyé, un objet doit être une pastille |
| False |
Cela nie la signification d'un mot-clé |
IsVia = False
Pour être renvoyé, un objet ne doit pas être un via |
Parenthèses et ordre de priorité
Il est utile d'examiner l'ordre de priorité appliqué aux opérateurs utilisés dans les expressions de requête logique. Après tout, sans cette connaissance, une expression peut ne pas cibler les objets requis.
Les parenthèses ont la priorité la plus élevée dans un ordre de priorité défini pour les différents opérateurs, lequel détermine la manière dont les requêtes sont interprétées par le logiciel (lorsque l'utilisateur n'a pas fourni de parenthèses). La séquence de cet ordre, de la priorité la plus élevée à la plus faible, est la suivante :
-
Parenthèses ()
-
Not
-
^, *, /, Div, Mod, And
-
+, -, Or, Xor
-
=, <>, <, >, <=, >=
-
&&, ||
Cet ordre de priorité est similaire à celui utilisé dans les langages de type Pascal. Les ambiguïtés sont résolues en procédant de gauche à droite. Les parenthèses sont évaluées de l'intérieur vers l'extérieur et les niveaux égaux sont évalués de gauche à droite.
Il est fortement conseillé d'utiliser des parenthèses dès qu'il existe la moindre possibilité que la requête ne soit pas correctement interprétée. Une utilisation généreuse des parenthèses élimine les doutes et rend les requêtes résultantes plus faciles à lire pour les autres.
Fonctions de requête système globales

Fonctions de requête système globales affichées dans la boîte de dialogue Query Helper
Cette section détaille les mots-clés du langage de requête disponibles dans les documents schématiques, PCB et de bibliothèque dans Altium Designer. Pour obtenir de l’aide sur un mot-clé de requête spécifique, utilisez les sections repliables suivantes ou surlignez (ou cliquez dans) n’importe quel mot-clé donné — dans le Query Helper, un panneau Filter, ou le champ Query d’une règle de conception PCB — puis appuyez sur F1 pour accéder immédiatement à sa section.
Pour plus de détails sur les mots-clés du langage de requête disponibles dans des éditeurs et outils spécifiques d’Altium Designer, consultez les pages suivantes :
Fonctions arithmétiques
ABS
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur absolue de la valeur numérique du paramètre. Si cette valeur numérique est positive, le nombre renvoyé a la même valeur ; sinon, le nombre renvoyé est égal à la valeur numérique du paramètre multipliée par -1.
Syntaxe
ABS(X : Number / Numeric_String) : Number
Exemple d’utilisation
ABS(2.3)
Renvoie 2.3.
ABS(-7.2)
Renvoie 7.2.
CEIL
Résumé
Renvoie un nombre entier dont la valeur dépend de la nature de la valeur numérique du paramètre. Si cette valeur numérique est un entier exact, le nombre renvoyé a exactement la même valeur ; sinon, le nombre renvoyé est le plus petit entier supérieur à la valeur numérique du paramètre.
Syntaxe
CEIL(X : Number / Numeric_String) : Number
Exemple d’utilisation
CEIL(5.0)
Renvoie 5.
CEIL(5.33)
Renvoie 6.
CEIL(-5.0)
Renvoie -5.
CEIL(-5.33)
Renvoie -5.
FLOOR
Résumé
Renvoie un nombre entier dont la valeur dépend de la nature de la valeur numérique du paramètre. Si cette valeur numérique est un entier exact, le nombre renvoyé a exactement la même valeur ; sinon, le nombre renvoyé est le plus grand entier inférieur à la valeur numérique du paramètre.
Syntaxe
FLOOR(X : Number / Numeric_String) : Number
Exemple d’utilisation
FLOOR(5.0)
Renvoie 5.
FLOOR(5.33)
Renvoie 5.
FLOOR(-5.0)
Renvoie -5.
FLOOR(-5.33)
Renvoie -6.
FRAC
Résumé
Renvoie un nombre (réel) dont la valeur dépend de la nature de la valeur numérique du paramètre :
-
Si cette valeur numérique est positive mais n’est pas un entier exact, le nombre renvoyé est la différence entre la valeur numérique du paramètre et le plus grand entier inférieur à la valeur numérique du paramètre.
-
Si cette valeur numérique est négative mais n’est pas un entier exact, le nombre renvoyé est la différence entre la valeur numérique du paramètre et le plus petit entier supérieur à la valeur numérique du paramètre.
-
Si la valeur numérique du paramètre est un entier exact, le nombre renvoyé est 0.
Syntaxe
FRAC(X : Number / Numeric_String) : Number
Exemple d’utilisation
FRAC(5.0)
Renvoie 0.
FRAC(5.33)
Renvoie 0.33.
FRAC(-5.0)
Renvoie 0.
FRAC(-5.33)
Renvoie -0.33.
IIF
Résumé
Il s’agit d’une construction à usage spécial qui contient trois requêtes. La valeur de la première requête (entre la parenthèse ouvrante et la première virgule) est évaluée. Si elle est True, la deuxième requête (entre les virgules) est renvoyée ; sinon, la troisième requête (entre la deuxième virgule et la parenthèse fermante) est renvoyée.
Ce mot-clé est similaire dans son principe aux constructions « If ... Then ... Else ... » fournies par de nombreux langages de programmation.
Syntaxe
IIF(L : Boolean Query , A : Query , B : Query)
L, A, and B sont toutes des chaînes qui spécifient chacune une requête ; L doit être une requête booléenne (c’est-à-dire de nature à renvoyer soit un résultat True, soit False).
IIF(L,A,B) a un résultat identique à la requête composée de ((L = True) And A) Or ((L = False) And B). En tant que tel, il est particulièrement utile lorsque L est de nature complexe, car il ne doit être spécifié qu’une seule fois.
Exemple d’utilisation
IsArc And IIF(ArcStopAngle - ArcStartAngle >= 0 , ArcStopAngle - ArcStartAngle Between 30 And 60 , ArcStartAngle - ArcStopAngle Between 300 And 330)
Renvoie tous les arcs dont la longueur d’arc est supérieure ou égale à 30 degrés et inférieure ou égale à 60 degrés. (La propriété de longueur d’arc d’un arc est un angle déterminé en soustrayant sa propriété Start Angle de sa propriété Stop Angle. Une complication supplémentaire est qu’il est possible que la propriété Stop Angle d’un arc soit inférieure à sa propriété Start Angle, mais cette requête évalue correctement la véritable propriété de longueur d’arc pour tous les objets arc possibles.)
IsComponent And IIF(Layer = 'Top Layer' , Rotation <> 0 , Rotation <> 180)
Renvoie tous les composants situés sur la face supérieure du PCB dont la propriété Rotation n’est pas de 0 degré, ainsi que tous les composants situés sur la face inférieure du PCB dont la propriété Rotation n’est pas de 180 degrés. (Les objets composant ne peuvent résider que sur la couche de signal Top ou Bottom ; ainsi, tout composant qui n’est pas sur la couche de signal Top doit alors se trouver sur la couche de signal Bottom.)
INT
Résumé
Renvoie un nombre entier dont la valeur dépend de la nature de la valeur numérique du paramètre :
-
Si cette valeur numérique est positive mais n’est pas un entier exact, le nombre renvoyé est le plus grand entier inférieur à la valeur numérique du paramètre.
-
Si cette valeur numérique est négative mais n’est pas un entier exact, le nombre renvoyé est le plus petit entier supérieur à la valeur numérique du paramètre.
-
Si cette valeur numérique est un entier exact, le nombre renvoyé a exactement la même valeur.
Syntaxe
INT(X : Number / Numeric_String) : Number
Exemple d’utilisation
INT(5.0)
Renvoie 5.
INT(5.33)
Renvoie 5.
INT(-5.0)
Renvoie -5.
INT(-5.33)
Renvoie -5.
Conseils
Il s’agit d’un alias de la fonction arithmétique TRUNC.
MAX
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur maximale de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et n’importe quel nombre de paramètres peut être fourni.
Syntaxe
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d’utilisation
MAX(2)
Renvoie 2.
MAX(7,2,3)
Renvoie 7.
Conseils
Au moins un paramètre doit être fourni.
MIN
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur minimale de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et n’importe quel nombre de paramètres peut être fourni.
Syntaxe
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d’utilisation
MIN(2)
Renvoie 2.
MIN(7,2,3)
Renvoie 2.
Conseils
Au moins un paramètre doit être fourni.
POWER
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur numérique du premier paramètre élevée à la puissance de la valeur numérique du second paramètre.
Syntaxe
POWER(X : Number / Numeric_String , Y : Number / Numeric_String) : Number
Exemple d’utilisation
POWER(3,2)
Renvoie 9.
POWER(32,0.2)
Renvoie 2.
POWER(16,-0.5)
Renvoie 0.25.
ROUND
Résumé
Renvoie un nombre entier dont la valeur dépend de la nature de la valeur numérique du paramètre :
-
Si cette valeur numérique est un entier exact, le nombre renvoyé a exactement la même valeur.
-
Si cette valeur numérique n’est pas un entier exact, le nombre renvoyé est l’entier le plus proche de la valeur numérique du paramètre. Les nombres positifs exactement à mi-chemin entre deux entiers adjacents sont arrondis upwards, tandis que les nombres négatifs exactement à mi-chemin entre deux entiers adjacents sont arrondis downwards.
Syntaxe
ROUND(X : Number / Numeric_String) : Number
Exemple d’utilisation
ROUND(5.0)
Renvoie 5.
ROUND(5.33)
Renvoie 5.
ROUND(5.5)
Renvoie 6 (arrondi vers le haut).
ROUND(5.66)
Renvoie 6.
ROUND(-5.0)
Renvoie -5.
ROUND(-5.33)
Renvoie -5.
ROUND(-5.5)
Renvoie -6 (arrondi vers le bas).
ROUND(-5.66)
Renvoie -6.
SIGN
Résumé
Renvoie la valeur du signe du paramètre fourni. Autrement dit, elle renvoie un nombre entier dont la valeur dépend de la nature de la valeur numérique du paramètre :
-
Si cette valeur numérique est positive, le nombre renvoyé est 1.
-
Si cette valeur numérique est négative, le nombre renvoyé est -1.
-
Si cette valeur numérique est exactement zéro, le nombre renvoyé est 0.
Syntaxe
SIGN(X : Number / Numeric_String) : Number
Exemple d’utilisation
SIGN(5.33)
Renvoie 1.
SIGN(-5.33)
Renvoie -1.
SIGN(0)
Renvoie 0.
SQR
Résumé
Renvoie un nombre (réel) dont la valeur est égale au carré de la valeur numérique du paramètre.
Syntaxe
SQR(X : Number / Numeric_String) : Number
Exemple d’utilisation
SQR(2)
Renvoie 4.
SQR(14.1)
Renvoie 198.81.
SQR(-1.5)
Renvoie 2.25.
SQRT
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la racine carrée (positive) de la valeur numérique du paramètre.
Syntaxe
SQRT(X : Number / Numeric_String) : Number
Exemple d'utilisation
SQRT(4)
Renvoie 2.
SQRT(10)
Renvoie 3.1623.
TRUNC
Résumé
Renvoie un nombre entier dont la valeur dépend de la nature de la valeur numérique du paramètre :
-
Si cette valeur numérique est positive mais n'est pas un entier exact, le nombre renvoyé est le plus grand entier inférieur à la valeur numérique du paramètre.
-
Si cette valeur numérique est négative mais n'est pas un entier exact, le nombre renvoyé est le plus petit entier supérieur à la valeur numérique du paramètre.
-
Si cette valeur numérique est un entier exact, le nombre renvoyé a exactement la même valeur.
Syntaxe
TRUNC(X : Number / Numeric_String) : Number
Exemple d'utilisation
TRUNC(5.0)
Renvoie 5.
TRUNC(5.33)
Renvoie 5.
TRUNC(-5.0)
Renvoie -5.
TRUNC(-5.33)
Renvoie -5.
Conseils
Ceci est un alias de la fonction arithmétique INT.
ZERO
Résumé
Renvoie un nombre entier dont la valeur est soit 0 soit 1, selon la valeur numérique du paramètre. Si cette valeur numérique est zéro, le nombre renvoyé est 0 ; sinon, le nombre renvoyé est 1.
Syntaxe
ZERO(X : Number / Numeric_String) : Number
Exemple d'utilisation
ZERO(5.33)
Renvoie 1.
ZERO(-5.33)
Renvoie 1.
ZERO(0)
Renvoie 0.
Fonctions trigonométriques
ACOS
Résumé
Renvoie un nombre (réel) dont la valeur est égale à l'angle de l'arccosinus du nombre spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
ACOS(X : Number / Numeric_String) : Number
Exemple d'utilisation
ACOS(0)
Renvoie 1.5708.
ACOS(0.5)
Renvoie 1.0472.
ACOS(1)
Renvoie 0.
ASIN
Résumé
Renvoie un nombre (réel) dont la valeur est égale à l'angle de l'arcsinus du nombre spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
ASIN(X : Number / Numeric_String) : Number
Exemple d'utilisation
ASIN(0)
Renvoie 0.
ASIN(0.5)
Renvoie 0.5236.
ASIN(1)
Renvoie 1.5708.
ATAN
Résumé
Renvoie un nombre (réel) dont la valeur est égale à l'angle de l'arctangente du nombre spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
ATAN(X : Number / Numeric_String) : Number
Exemple d'utilisation
ATAN(0)
Renvoie 0.
ATAN(1)
Renvoie 0.7854.
ATAN(2.5)
Renvoie 1.1903.
COS
Résumé
Renvoie un nombre (réel) dont la valeur est égale au cosinus de l'angle spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
COS(X : Number / Numeric_String) : Number
Exemple d'utilisation
COS(0)
Renvoie 1.
COS(0.8)
Renvoie 0.6967.
COS(1.57)
Renvoie 0.0008.
COSH
Résumé
Renvoie un nombre (réel) dont la valeur est égale au cosinus hyperbolique de la valeur numérique du paramètre.
Syntaxe
COSH(X : Number / Numeric_String) : Number
Exemple d'utilisation
COSH(TextHeight / TextWidth) < 70.5
Renvoie les objets pour lesquels le cosinus hyperbolique du rapport entre leur distance TextHeight et leur distance TextWidth est inférieur à 70.5. (Cela équivaut à renvoyer les objets pour lesquels le rapport entre leur distance TextHeight et leur distance TextWidth est inférieur à 4.9487).
(TextHeight / TextWidth) >= COSH(2.3)
Renvoie les objets pour lesquels le rapport entre leur distance TextHeight et leur distance TextWidth est égal ou supérieur au cosinus hyperbolique de 2.3 (qui est 5.0372).
COTAN
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la cotangente de l'angle spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
COTAN(X : Number / Numeric_String) : Number
Exemple d'utilisation
COTAN(0.1)
Renvoie 9.9666.
COTAN(0.8)
Renvoie 0.9712.
COTAN(1.57)
Renvoie 0.0008.
SIN
Résumé
Renvoie un nombre (réel) dont la valeur est égale au sinus de l'angle spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
SIN(X : Number / Numeric_String) : Number
Exemple d'utilisation
SIN(0)
Renvoie 0.
SIN(0.8)
Renvoie 0.7174.
SIN(1.57)
Renvoie 1.0.
SINH
Résumé
Renvoie un nombre (réel) dont la valeur est égale au sinus hyperbolique de la valeur numérique du paramètre.
Syntaxe
SINH(X : Number / Numeric_String) : Number
Exemple d'utilisation
SINH(TextWidth / TextHeight) < 0.17
Renvoie les objets pour lesquels le sinus hyperbolique du rapport entre leur distance TextWidth et leur distance TextHeight est inférieur à 0.17. (Cela équivaut à renvoyer les objets pour lesquels le rapport entre leur distance TextWidth et leur distance TextHeight est inférieur à 0.1692).
(TextWidth / TextHeight) >= SINH(0.2)
Renvoie les objets pour lesquels le rapport entre leur distance TextWidth et leur distance TextHeight est égal ou supérieur au sinus hyperbolique de 0.2 (qui est 0.2013).
TAN
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la tangente de l'angle spécifié par la valeur numérique du paramètre ; cet angle est exprimé en radians (et non en degrés).
Syntaxe
TAN(X : Number / Numeric_String) : Number)
Exemple d'utilisation
TAN(0)
Renvoie 0.
TAN(0.8)
Renvoie 1.0296.
TAN(1.57)
Renvoie 1255.7656.
TANH
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la tangente hyperbolique de la valeur numérique du paramètre.
Syntaxe
TANH(X : Number / Numeric_String) : Number
Exemple d'utilisation
TANH(TextWidth / TextHeight) < 0.17
Renvoie les objets pour lesquels la tangente hyperbolique du rapport entre leur distance TextWidth et leur distance TextHeight est inférieure à 0.17. (Cela équivaut à renvoyer les objets pour lesquels le rapport entre leur distance TextWidth et leur distance TextHeight est inférieur à 0.1717).
(TextWidth / TextHeight) >= TANH(0.2)
Renvoie les objets pour lesquels le rapport entre leur distance TextWidth et leur distance TextHeight est égal ou supérieur à la tangente hyperbolique de 0.2 (qui est 0.1974).
Fonctions exponentielles et logarithmiques
EXP
Résumé
Renvoie un nombre (réel) dont la valeur est égale à e élevé à la puissance de la valeur numérique du paramètre. (Le nombre e est la base des logarithmes naturels et est approximativement égal à 2.7183).
Syntaxe
EXP(X : Number / Numeric_String) : Number
Exemple d'utilisation
EXP(0)
Renvoie 1.
EXP(1)
Renvoie 2.7183.
LG
Résumé
Renvoie un nombre (réel) dont la valeur est égale au logarithme en base 10 de la valeur numérique du paramètre.
Syntaxe
LG(X : Number / Numeric_String) : Number
Exemple d'utilisation
LG(1)
Renvoie 0.
LG(10)
Renvoie 1.
LG(25)
Renvoie 1.3979.
LN
Résumé
Renvoie un nombre (réel) dont la valeur est égale au logarithme naturel (ou en base e) de la valeur numérique du paramètre. (Le nombre e est 2.7183).
Syntaxe
LN(X : Number / Numeric_String) : Number
Exemple d'utilisation
LN(1)
Renvoie 0.
LN(2)
Renvoie 0.6931.
LN(10)
Renvoie 2.3026.
LOG
Résumé
Renvoie un nombre (réel) dont la valeur est égale au logarithme en base 2 de la valeur numérique du paramètre.
Syntaxe
LOG(X : Number / Numeric_String) : Number
Exemple d'utilisation
LOG(1)
Renvoie 0.
LOG(2)
Renvoie 1.
LOG(8)
Renvoie 3.
LOG(10)
Renvoie 3.3219.
Fonctions d'agrégation
AVG
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur moyenne de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et n'importe quel nombre de paramètres peut être fourni.
Syntaxe
AVG(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d'utilisation
AVG(2)
Renvoie 2.
AVG(7,2,3)
Renvoie 4.
Conseils
-
Au moins un paramètre doit être fourni.
MAX
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur maximale de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et n'importe quel nombre de paramètres peut être fourni.
Syntaxe
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d'utilisation
MAX(2)
Renvoie 2.
MAX(7,2,3)
Renvoie 7.
Conseils
Au moins un paramètre doit être fourni.
MIN
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur minimale de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et un nombre quelconque de paramètres peut être fourni.
Syntaxe
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d’utilisation
MIN(2)
Renvoie 2.
MIN(7,2,3)
Renvoie 2.
Conseils
Au moins un paramètre doit être fourni.
PROD
Résumé
Renvoie un nombre (réel) dont la valeur est égale au produit de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et un nombre quelconque de paramètres peut être fourni.
Syntaxe
PROD(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d’utilisation
PROD(2)
Renvoie 2.
PROD(7,2,3)
Renvoie 42.
Conseils
Au moins un paramètre doit être fourni.
SUM
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la somme de tous les paramètres fournis. Chaque paramètre doit être soit un nombre, soit une chaîne numérique, et un nombre quelconque de paramètres peut être fourni.
Syntaxe
SUM(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Exemple d’utilisation
SUM(2)
Renvoie 2.
SUM(7,2,3)
Renvoie 12.
Conseils
Au moins un paramètre doit être fourni.
Fonctions système
Copy
Résumé
Renvoie une sous-chaîne d’une chaîne. Il est possible de spécifier combien de caractères seront contenus dans la sous-chaîne renvoyée, ainsi que l’emplacement dans la chaîne qui sera le premier caractère de la sous-chaîne renvoyée.
Syntaxe
Copy(S : String , Index : Integer , Count : Integer) : String
S est une expression de type chaîne. Index et Count sont des expressions de type entier. Copy renvoie une sous-chaîne contenant Count caractères à partir de S[Index].
Si Index est supérieur à la longueur de S, Copy renvoie une chaîne vide.
Si Count spécifie plus de caractères qu’il n’en existe, seuls les caractères de S[Index] jusqu’à la fin de S sont renvoyés.
Exemple d’utilisation
Copy('Cats and dogs',1,1)
Renvoie 'C'. (Renvoie 1 caractère à partir de la 1re position dans la chaîne.)
Copy('Cats and dogs',2,1)
Renvoie 'a'. (Renvoie 1 caractère à partir de la 2e position dans la chaîne.)
Copy('Cats and dogs',13,1)
Renvoie 's'. (Renvoie 1 caractère à partir de la 13e position dans la chaîne.)
Copy('Cats and dogs',14,1)
Renvoie '' (une chaîne vide). (Renvoie 1 caractère à partir de la 14e position dans la chaîne ; cependant, la chaîne ne contient que 13 caractères, donc une chaîne vide est renvoyée.)
Copy('Cats and dogs',1,2)
Renvoie 'Ca'. (Renvoie 2 caractères à partir de la 1re position dans la chaîne.)
Copy('Cats and dogs',2,2)
Renvoie 'at'. (Renvoie 2 caractères à partir de la 2e position dans la chaîne.)
Copy('Cats and dogs',12,2)
Renvoie 'gs'. (Renvoie 2 caractères à partir de la 12e position dans la chaîne.)
Copy('Cats and dogs',13,2)
Renvoie 's'. (Renvoie 2 caractères à partir de la 13e position dans la chaîne ; cependant, la chaîne ne contient que 13 caractères, donc seul 1 caractère est renvoyé.)
Copy('Cats and dogs',15,2)
Renvoie '' (une chaîne vide). (Renvoie 2 caractères à partir de la 15e position dans la chaîne ; cependant, la chaîne ne contient que 13 caractères, donc une chaîne vide est renvoyée.)
Copy('Cats and dogs',1,6)
Renvoie 'Cats a'. (Renvoie 6 caractères à partir de la 1re position dans la chaîne.)
Copy('Cats and dogs',5,9)
Renvoie ' and dogs'. (Renvoie 9 caractères à partir de la 5e position dans la chaîne.)
Copy('Cats and dogs',8,5)
Renvoie 'd dog'. (Renvoie 5 caractères à partir de la 8e position dans la chaîne.)
Copy('Cats and dogs',8,6)
Renvoie 'd dogs'. (Renvoie 6 caractères à partir de la 8e position dans la chaîne.)
Copy('Cats and dogs',8,7)
Renvoie 'd dogs'. (Renvoie 7 caractères à partir de la 8e position dans la chaîne ; cependant, la chaîne ne contient que 13 caractères, donc seuls 6 caractères sont renvoyés.)
Length
Résumé
Renvoie le nombre de caractères contenus dans une chaîne.
Syntaxe
Length(S : String) : Integer
S est la chaîne dont le nombre de caractères doit être renvoyé.
Exemple d’utilisation
Length(Name) Between 4 And 7
Renvoie les objets ayant une propriété Name contenant entre 4 et 7 caractères.
Length('Cat')
Renvoie 3.
Length('Darryll')
Renvoie 7.
Length('Cats and dogs')
Renvoie 13.
Length('')
Renvoie 0.
Pos
Résumé
Renvoie la valeur d’index du premier caractère d’une sous-chaîne spécifiée apparaissant dans une chaîne donnée.
Syntaxe
Pos(Substr : String , S : String) : Integer
Pos recherche une sous-chaîne, Substr, dans une chaîne, S. Substr et S sont des expressions de type chaîne. Une valeur entière est renvoyée ; elle correspond à l’index du premier caractère de Substr.
Pos respecte la casse. Si Substr n’est pas trouvé, Pos renvoie zéro.
Exemple d’utilisation
Pos('T',Name) = 1
Renvoie tous les objets ayant une propriété Name dont la chaîne associée contient pour la première fois 'T' à sa première position ; 'T1' et 'Time Table' sont des exemples de telles chaînes. ('T' apparaît deux fois dans la chaîne 'Time Table', mais sa première occurrence est à la première position.)
Pos('A',Name) = 2
Renvoie tous les objets ayant une propriété Name dont la chaîne associée contient pour la première fois 'A' à sa deuxième position ; 'RA1' et 'CABLE CHART' sont des exemples de telles chaînes.
Pos('B',Name) = 0
Renvoie tous les objets ayant une propriété Name dont la chaîne associée ne contient 'B' à aucune position ; 'D1' et 'Time Table' sont des exemples de telles chaînes. (La chaîne 'Time Table' contient 'b' à sa huitième position, mais Pos respecte la casse.)
Pos('D',Name) > 0
Renvoie tous les objets ayant une propriété Name dont la chaîne associée contient 'D' à au moins une position, quel que soit l’emplacement ; 'Data Chart', 'U1D' et 'Install either D1 and D2 or D3 and D4, but never install all of these.' sont des exemples de telles chaînes.
Pos('Con',Name) = 1
Renvoie tous les objets ayant une propriété Name dont la chaîne associée contient pour la première fois 'Con' aux première, deuxième et troisième positions ; 'Concatenate' est un exemple d’une telle chaîne. (La première occurrence de 'Con' dans 'Concatenate' correspond aux trois premiers caractères ; le premier caractère de 'Con' est 'C', et son emplacement est le premier caractère de 'Concatenate'.)
Pos('ate',Name) = 5
Renvoie tous les objets ayant une propriété Name dont la chaîne associée contient pour la première fois 'ate' aux cinquième, sixième et septième positions ; 'Concatenate' est un exemple d’une telle chaîne. (La première occurrence de 'ate' dans 'Concatenate' correspond aux cinquième à septième caractères ; le premier caractère de 'ate' est 'a', et son emplacement est le cinquième caractère de 'Concatenate'.)
Pos('ate',Name) = 0
Renvoie tous les objets ayant une propriété Name dont la chaîne associée ne contient 'ate' nulle part ; 'C1' et 'TIME:' sont des exemples de telles chaînes.
Pred
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur numérique du paramètre moins 1,0.
Syntaxe
Pred(X : Number / Numeric_String) : Number
Exemple d’utilisation
Pred(4.1)
Renvoie 3.1.
Pred(41.313)
Renvoie 40.313.
Random
Résumé
Renvoie un nombre aléatoire compris entre 0 et X-1.
Syntaxe
Random(X) : Number
Exemple d’utilisation
Random(10)
Renvoie une valeur comprise entre 0 et 9.
Random(100)
Renvoie une valeur comprise entre 0 et 99.
Succ
Résumé
Renvoie un nombre (réel) dont la valeur est égale à la valeur numérique du paramètre plus 1,0.
Syntaxe
Succ(X : Number / Numeric_String) : Number
Exemple d’utilisation
Succ(2.1)
Renvoie 3.1.
Succ(41.313)
Renvoie 42.313.