Che cos’è una query?
Forse la sfida più grande quando si lavora su un progetto elettronico complesso è gestire un gran numero di oggetti di progetto. Dai componenti, alle etichette di net e alle stringhe di testo nei fogli schematici, fino alle centinaia di componenti e tracce che costituiscono il routing sul PCB, è necessario poter accedere a questi oggetti, esaminarli e modificarli. Come nella maggior parte delle applicazioni Windows, è possibile fare doppio clic su un oggetto e modificarne le proprietà. Questo va bene per un singolo oggetto, ma non è qualcosa che si desidera fare se occorre modificare più di 300 stringhe di designatore dei componenti o cambiare tutti i via sul PCB. Per questo tipo di aggiornamenti, è necessario accedere contemporaneamente a più oggetti.
Alla base degli editor schematico e PCB di Altium Designer c’è un potente motore di query. Inserendo query in questo motore è possibile filtrare e trovare, quindi modificare, esattamente gli oggetti richiesti.
Il potente sistema di filtro e modifica dei dati in Altium Designer consente di indicare al software di restituire un insieme specificato di oggetti. Questa istruzione viene inserita sotto forma di query. Una query è una stringa immessa utilizzando parole chiave e sintassi specifiche, che restituirà gli oggetti desiderati. Cosa fare con questi oggetti dipende da te. Potresti volerli evidenziare e attenuare tutti gli altri oggetti, oppure potresti voler sfogliare o ordinare le loro proprietà e modificare attributi specifici che condividono tutti.
Esistono diversi punti in cui è possibile applicare una query, ma il centro di comando sono i Filter pannelli mostrati nelle immagini qui sotto. Premi F12 per visualizzare/nascondere il Filter pannello.
I pannelli PCB Filter e SCH Filter con query

I pannelli PCBLIB Filter e SCHLIB Filter con query
I controlli nel pannello vengono utilizzati per definire a quali oggetti verrà applicata la query e come gestire gli oggetti che soddisfano la query, così come quelli che non la soddisfano.
SCH Filter Panel

Individua ed evidenzia rapidamente gli oggetti utilizzando query logiche nel pannello SCH Filter.
Riepilogo
Il pannello SCH Filter consente di costruire filtri tramite la creazione di query logiche. Un filtro definito può quindi essere applicato al documento schematico attivo o a tutti i documenti schematici aperti, consentendo di selezionare e modificare più oggetti con maggiore precisione ed efficienza.
Accesso al pannello
È possibile accedere al pannello nei seguenti modi:
-
Fai clic sul pulsante Panels in basso a destra dell’editor quando l’editor SCH è attivo, quindi seleziona SCH Filter dal menu a comparsa.
-
Fai clic su View » Panels » SCH Filter.
-
Premi il tasto di scelta rapida F12.
I pannelli possono essere configurati come mobili nell’area dell’editor oppure ancorati ai lati dello schermo. Se il pannello SCH Filter si trova attualmente in un gruppo di pannelli, usa la scheda SCH Filter situata nella parte inferiore dei pannelli per portarlo in primo piano.
Definizione dell’ambito del filtro
La prima area del pannello contiene i controlli per definire l’ambito del filtro:
L’area Limit search to fornisce controlli per affinare ulteriormente l’ambito del filtro:
-
All Objects - applica il filtro a tutti gli oggetti di progetto.
-
Selected Objects - applica il filtro solo agli oggetti di progetto attualmente selezionati.
-
Non Selected Objects - applica il filtro solo agli oggetti di progetto che non sono attualmente selezionati.
Il campo a discesa Consider objects in consente di controllare dove viene applicato il filtro. Scegli tra le seguenti opzioni:
-
Current Document - applica il filtro solo al documento schematico attivo (predefinito).
-
Open Documents - applica il filtro a tutti i documenti schematici aperti.
-
Project Documents - applica il filtro a tutti i documenti schematici aperti che sono documenti sorgente dello stesso progetto padre.
Si noti che il filtro non verrà applicato ai documenti schematici aperti ma nascosti.
Definizione delle query di filtro
L’area centrale del pannello consente di costruire filtri tramite l’immissione di query logiche. È possibile digitare una query direttamente nel campo. Durante la digitazione, verrà visualizzato un elenco di possibili parole chiave come supporto.
Query Helper è disponibile per fornire supporto nella creazione delle query. Questa funzione può essere molto utile se non si è sicuri della sintassi di una query o delle possibili parole chiave che si potrebbero voler usare. Per usare Query Helper, fai clic sul pulsante Helper per aprire la finestra di dialogo Query Helper. Il motore di query sottostante analizza il documento ed elenca tutti gli oggetti disponibili insieme a parole chiave generiche da usare nelle query.
Usa la sezione superiore della finestra di dialogo per comporre un’espressione di query, utilizzando i SCH Functions e i System Functions disponibili. La sezione centrale della finestra di dialogo fornisce una gamma di operatori da usare durante la costruzione di un’espressione. Usa il pulsante Check Syntax per verificare che un’espressione sia sintatticamente corretta.
Quando l’espressione della query è stata definita come richiesto, facendo clic su OK verrà caricata la query nell’area centrale del pannello SCH Filter, pronta per applicare il filtro.
Definizione dell’evidenziazione del filtro
Prima di applicare la query, è consigliabile definire come si desidera che il risultato del filtro appaia visivamente nell’area di lavoro del progetto. Le aree Objects passing/not passing the filter del pannello offrono varie opzioni che nel loro insieme costituiscono i controlli di evidenziazione per il filtro permanente.
Le opzioni disponibili nell’area Objects passing the filter consentono di controllare la visualizzazione visiva nell’area di lavoro di tutti gli oggetti che rientrano nell’ambito e corrispondono alla specifica espressione di query del filtro:
-
Select - quando abilitata (predefinita), gli oggetti filtrati verranno selezionati nell’area di lavoro.
-
Zoom - quando abilitata (predefinita), gli oggetti filtrati verranno ingranditi e centrati (ove possibile) nella finestra dell’editor di progetto.
Le opzioni disponibili nell’area Objects not passing the filter consentono di controllare la visualizzazione visiva nell’area di lavoro di tutti gli oggetti che non rientrano nell’ambito e/o non corrispondono alla specifica espressione di query del filtro:
-
Deselect - quando abilitata (predefinita), tutti gli oggetti che non rientrano nell’ambito del filtro verranno deselezionati nell’area di lavoro.
-
Mask out - quando abilitata (predefinita), gli oggetti filtrati appariranno completamente visibili nella finestra dell’editor di progetto mentre tutti gli altri oggetti verranno attenuati. Con la mascheratura applicata, tutti gli oggetti che non rientrano nell’ambito del filtro non saranno disponibili per la selezione/modifica.
È possibile abilitare qualsiasi combinazione di queste opzioni. Ad esempio, potresti voler fare in modo che tutti gli oggetti filtrati che rientrano nell’ambito della tua query vengano ingranditi, centrati e selezionati nella finestra dell’editor di progetto, applicando al contempo la mascheratura per eliminare il disordine degli altri oggetti di progetto.
Applicazione e cancellazione del filtro
Una volta definita la query e impostate le opzioni nel pannello come richiesto, il filtro può essere applicato facendo clic sul pulsante Apply oppure premendo Enter.
Per cancellare il filtro attualmente applicato dall’interno del pannello, elimina il contenuto dell’espressione di query nel pannello, quindi fai clic sul pulsante Apply oppure premi Enter. Tutti gli oggetti nell’area di lavoro del progetto diventeranno completamente visibili e disponibili per la selezione/modifica.
Menu contestuali
Facendo clic con il pulsante destro all’interno del pannello SCH Filter si accede a opzioni e comandi aggiuntivi tramite un menu a comparsa.
Il menu fornisce i seguenti comandi:
-
Add to Favorites - aggiunge l’espressione di query attualmente visualizzata nel pannello all’elenco delle query preferite. La query apparirà come una nuova voce nella scheda Favorites della finestra di dialogo Expression Manager. Quando una query viene aggiunta all’elenco delle query preferite, verrà visualizzata nella parte superiore del menu contestuale. Le dieci query aggiunte più di recente all’elenco dei preferiti verranno visualizzate nel menu (la più recente in alto), consentendoti di accedere rapidamente alle tue espressioni di query preferite e riutilizzarle.
Tieni presente che il contenuto dell’elenco
Favorites è comune a (e può essere popolato da) sia il pannello
SCH Filter sia il pannello
SCHLIB Filter panel. Alcune espressioni di query potrebbero non restituire risultati se utilizzate nell’editor schematico, soprattutto se sono state create per individuare oggetti disponibili solo nell’editor della libreria schematica.
-
Organize Favorites - usa questo comando per accedere alla scheda Favorites della finestra di dialogo Expression Manager, nella quale puoi organizzare (rinominare, eliminare) le voci nell’elenco delle query preferite secondo necessità.
-
Examples - fai clic per accedere a un sottomenu di filtri di esempio predefiniti. Scegliendo un filtro di esempio verrà caricata nell’area centrale del pannello l’espressione di query associata sottostante.
-
History - fai clic per accedere a un sottomenu contenente le nove espressioni di query usate più di recente prese dall’elenco della cronologia delle query del pannello. Fai clic sulla voce More per accedere alla scheda History della finestra di dialogo Expression Manager, nella quale puoi sfogliare e applicare una query dall’elenco completo delle query storiche e anche cancellare l’elenco della cronologia secondo necessità.
-
Show Scope Options - usa questo comando per attivare/disattivare la visualizzazione dell’area dell’ambito del filtro del pannello.
-
Show Masking Options - usa questo comando per attivare/disattivare la visualizzazione dell’area di evidenziazione del filtro del pannello.
Tieni presente che il contenuto dell’elenco History è comune a (e può essere popolato da) sia il SCH Filter sia il pannello SCHLIB Filter. Alcune espressioni di query potrebbero non restituire risultati quando vengono utilizzate nell’editor schematico, soprattutto se sono state create per individuare oggetti disponibili solo nell’editor della libreria schematica.
Note
Generale
-
Premendo il tasto F12 si attiva/disattiva la visibilità del pannello nell’area di lavoro.
-
Quando si utilizza la finestra di dialogo Query Helper per costruire una query, facendo clic all’interno di una parola chiave digitata oppure su una parola chiave in uno degli elenchi disponibili e premendo F1 si aprirà la guida relativa a quella specifica parola chiave. Un accesso simile alla guida a livello di parola chiave è disponibile facendo clic su una parola chiave nella regione centrale del pannello SCH Filter e premendo poi F1.
-
A seconda della forma e delle dimensioni del pannello, il contenuto verrà disposto dinamicamente in orizzontale o in verticale.
Durante la creazione delle espressioni di query
-
Si consiglia vivamente di usare le parentesi ogni volta che esiste anche la minima possibilità che la query possa non essere interpretata correttamente.
-
Le parentesi hanno la precedenza più alta all’interno dell’ordine di precedenza definito per i vari operatori disponibili, che determina come le query vengono interpretate dal software (quando non vengono fornite parentesi). La sequenza di questo ordine è la seguente:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Questo ordine di precedenza è simile a quello utilizzato nei linguaggi di tipo Pascal; un uso abbondante delle parentesi elimina i dubbi e rende le query risultanti più facili da leggere per gli altri.
-
Le ambiguità vengono risolte procedendo da sinistra a destra.
-
Le parentesi vengono valutate dall’interno verso l’esterno e i livelli uguali vengono elaborati da sinistra a destra.
-
Poiché le opzioni di visualizzazione per gli oggetti che soddisfano e non soddisfano il filtro applicato sono separate, è possibile applicare efficacemente nuove query di filtro basandosi sui risultati del filtraggio precedente.
-
Il filtraggio applicato quando si usano le Query dal pannello SCH Filter è permanente. Quando si mascherano gli oggetti di progetto che non soddisfano il filtro, l’entità della mascheratura è controllata dalla barra di scorrimento nella parte inferiore del pannello.
-
Un filtro permanente deve essere cancellato applicando una query vuota dal pannello SCH Filter.
SCHLIB Filter Panel
Individua e metti rapidamente in evidenza gli oggetti della Schematic Library usando query logiche nel pannello SCHLIB Filter.
Riepilogo
Il pannello SCHLIB Filter consente di costruire filtri tramite la creazione di query logiche. Un filtro definito può quindi essere applicato al componente della libreria schematica attivo o a tutti i componenti della libreria schematica attiva, consentendo di selezionare e modificare più oggetti con maggiore precisione ed efficienza. La visualizzazione degli oggetti può essere specificata in base a quelli che corrispondono ai criteri di ricerca del filtro e a quelli che non vi corrispondono.
Accesso al pannello
È possibile accedere al pannello nei seguenti modi:
-
Fai clic sul pulsante Panels in basso a destra nell’area di lavoro, quindi seleziona SCHLIB Filter.
-
Fai clic su View » Panels » SCHLIB Filter dai menu principali.
-
Usa il tasto di scelta rapida F12.
I pannelli possono essere configurati come mobili nello spazio dell’editor oppure ancorati ai lati dello schermo. Se il pannello SCHLIB Filter si trova attualmente nel gruppo di pannelli Workspace ancorati sulla sinistra, usa la scheda SCHLIB Filter situata nella parte inferiore dei pannelli per portarlo in primo piano.
Definizione dell’ambito del filtro
La regione sinistra del pannello SCHLIB Filter contiene i controlli per definire (limitare) l’ambito del filtro.
Le opzioni dell’ambito sono:
-
All Objects - applica il filtro a tutti gli oggetti di progetto.
-
Selected Objects - applica il filtro solo agli oggetti di progetto attualmente selezionati.
-
Non Selected Objects - applica il filtro solo agli oggetti di progetto che non sono attualmente selezionati.
-
Whole Library - controlla se il filtraggio viene applicato solo al componente attivo (opzione disabilitata) oppure a tutti i componenti del documento della libreria schematica attivo (opzione abilitata).
Definizione delle query di filtro
La regione centrale del pannello SCHLIB Filter consente di costruire filtri tramite l’immissione di query logiche.
Puoi digitare una query direttamente nel campo e, mentre scrivi, verrà visualizzato un elenco di possibili parole chiave come supporto.
Query Helper
Insieme all’elenco dei suggerimenti, il pannello offre anche la funzione Query Helper per assistere nella creazione delle query. Questa funzione può essere molto utile se non si è sicuri della sintassi di una query o delle possibili parole chiave da usare. Per usare Query Helper, fai clic sul pulsante Helper per aprire la finestra di dialogo Query Helper. Il Query Engine sottostante analizza il documento ed elenca tutti gli oggetti disponibili, insieme alle parole chiave generiche da usare nelle query.
Usa la sezione superiore della finestra di dialogo per comporre un’espressione di query utilizzando i SCH Functions e i System Functions disponibili. La regione centrale della finestra di dialogo fornisce una serie di operatori da usare durante la costruzione di un’espressione. Usa il pulsante Check Syntax per verificare che un’espressione sia sintatticamente corretta.
Quando l’espressione della query è stata definita come richiesto, fai clic su OK per caricare la query nella regione centrale del pannello SCHLIB Filter. Applica il filtro usando il pulsante Apply.
Quando viene applicato all’intera libreria, i pin che soddisfano il filtro verranno evidenziati anche per tutti gli altri componenti.
Per ulteriori informazioni sull’applicazione dei filtri, consulta la sezione Applying and Clearing a Filter qui sotto.
Definizione dell’evidenziazione del filtro
Prima di applicare la query nel pannello SCHLIB Filter, è consigliabile definire come si desidera che il risultato del filtraggio appaia visivamente nell’area di lavoro dell’editor di progettazione. La regione destra del pannello fornisce varie opzioni che nel loro insieme costituiscono i controlli di evidenziazione per il filtraggio permanente.
Le opzioni Objects passing the filter consentono di controllare come tutti gli oggetti che rientrano nell’ambito e corrispondono alla specifica espressione di query del filtro verranno visualizzati nell’area di lavoro.
-
Select - quando abilitato (predefinito), gli oggetti filtrati verranno selezionati nell’area di lavoro.
-
Zoom - quando abilitato (predefinito), gli oggetti filtrati verranno ingranditi e centrati (ove possibile) nella finestra dell’editor della libreria. L’azione di zoom può essere determinata dalle opzioni Zoom Library Components impostate nella pagina Schematic - Library AutoZoom della finestra di dialogo Preferences.
Viceversa, le opzioni Objects not passing the filter consentono di controllare come tutti gli oggetti che do not non rientrano nell’ambito e/o non corrispondono alla specifica espressione di query del filtro verranno visualizzati nell’area di lavoro.
-
Deselect - quando abilitato (predefinito), tutti gli oggetti che non rientrano nell’ambito del filtro verranno deselezionati nell’area di lavoro.
-
Mask out - quando abilitato (predefinito), tutti gli oggetti che non rientrano nell’ambito del filtro verranno mascherati nella finestra dell’editor della libreria. Usa il cursore per definire il livello di mascheratura.
Applicazione e cancellazione di un filtro
Dopo aver definito una query e impostato le opzioni nel pannello come richiesto, il filtro può essere applicato facendo clic sul pulsante Apply del pannello oppure premendo Enter.
Per cancellare dal pannello il filtro attualmente applicato, elimina (seleziona ed elimina) l’espressione di query nella regione centrale del pannello, quindi fai clic sul pulsante Apply oppure premi Enter. Tutti gli oggetti nell’area di lavoro del progetto verranno ripristinati alla piena visibilità e saranno disponibili per la selezione/modifica.
Per cancellare il filtraggio nell’area di lavoro e lasciare l’espressione di query caricata nella regione centrale del pannello, usa il pulsante Clear Current Filter (
) sulla barra degli strumenti Sch Lib Standard (scelta rapida Shift+C).
Menu contestuale
Facendo clic con il pulsante destro all’interno del pannello SCHLIB Filter si accede a opzioni e comandi aggiuntivi tramite un menu a comparsa.
Il menu fornisce i seguenti comandi:
-
Add to Favorites - usa per aggiungere l’espressione di query attualmente visualizzata nella regione centrale del pannello all’elenco delle query preferite. La query apparirà come una nuova voce nella scheda Favorites della finestra di dialogo Expression Manager. Quando una query viene aggiunta all’elenco delle query preferite, verrà visualizzata nella parte superiore del menu contestuale. Le dieci query aggiunte più di recente all’elenco dei preferiti verranno visualizzate nel menu (la più recente in alto), consentendoti di accedere rapidamente alle tue espressioni di query preferite e riutilizzarle.
-
Organize Favorites - usa per accedere alla scheda Favorites della finestra di dialogo Expression Manager, nella quale puoi organizzare (rinominare, eliminare) le voci nell’elenco delle query preferite.
-
Examples - fai clic per accedere a un sottomenu di filtri di esempio predefiniti. Scegliendo un filtro di esempio verrà caricata nella regione centrale del pannello l’espressione di query associata sottostante.
-
History - fai clic per accedere a un sottomenu contenente le nove espressioni di query usate più di recente prese dall’elenco della cronologia delle query del pannello. Fai clic sulla voce More per accedere alla scheda History della finestra di dialogo Expression Manager, nella quale puoi sfogliare e applicare una query dall’elenco completo delle query storiche e anche cancellare l’elenco della cronologia secondo necessità.
-
Show Scope Options - usa per attivare/disattivare la visualizzazione della regione dell’ambito del filtro del pannello.
-
Show Masking Options - usa per attivare/disattivare la visualizzazione della regione di evidenziazione del filtro del pannello.
Le voci superiori del menu contestuale offrono una selezione dei Preferiti correnti. Fai clic su una voce per caricarla nel pannello.
Tieni presente che il contenuto di entrambi gli elenchi Favorites e History è comune a (e può essere popolato da) entrambi il SCHLIB Filter e il pannello SCH Filter panel. Alcune espressioni di query potrebbero non restituire risultati quando vengono utilizzate nell’editor schematico soprattutto se sono state create per indirizzare oggetti disponibili solo nell’editor Schematic Library.
Note
Generale
-
Premendo il tasto F12 verrà attivata/disattivata la visibilità del pannello nell’area di lavoro.
-
Il filtraggio applicato quando si usano le Query dal pannello SCHLIB Filter è permanente per la sessione. Un filtro permanente deve essere cancellato tramite una corrispondente azione Clear (applicando una query vuota dal pannello SCHLIB Filter).
-
A seconda della forma e delle dimensioni del pannello SCHLIB Filter stesso, il contenuto verrà disposto dinamicamente in orizzontale o in verticale.
Creazione di espressioni di query
-
Si consiglia vivamente di usare le parentesi ogni volta che esiste la possibilità che la query non venga interpretata correttamente.
-
Le parentesi hanno la precedenza più alta all’interno di un ordine di precedenza definito per i vari operatori forniti e che determina come le query vengono interpretate dal software (quando l’utente non ha fornito parentesi). La sequenza di questo ordine è la seguente:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Questo ordine di precedenza è simile a quello usato nei linguaggi di tipo Pascal. Tuttavia, un uso generoso delle parentesi elimina i dubbi e rende le query risultanti più facili da leggere per gli altri.
-
Le ambiguità vengono risolte procedendo da sinistra a destra.
-
Le parentesi vengono valutate dall’interno verso l’esterno e i livelli uguali vengono elaborati da sinistra a destra.
PCB Filter Panel

Il pannello PCB Filter
Riepilogo
Il pannello PCB Filter fornisce controlli per costruire filtri tramite la creazione di query logiche. Un filtro definito può quindi essere applicato al PCB attivo, consentendo di selezionare e modificare più oggetti con grande precisione ed efficienza.
Accesso al pannello
È possibile accedere al pannello dall’editor PCB nei seguenti modi:
-
Fare clic sul pulsante Panels in basso a destra nell’area di lavoro, quindi selezionare PCB Filter.
-
Fare clic su View » Panels » PCB Filter dai menu principali.
-
Usare il tasto di scelta rapida F12 .
I pannelli possono essere configurati come mobili nello spazio dell’editor oppure ancorati ai lati dello schermo. Se il pannello PCB Filter si trova attualmente in un gruppo di pannelli, usare la scheda PCB Filter situata nella parte inferiore dei pannelli per portarlo in primo piano.
Sezioni del pannello
Il pannello PCB Filter è composto da tre aree. Le prime due sono aree elenco selezionabili che definiscono collettivamente l’ambito del filtraggio: Object e Layer.
La terza area, Filter, mostra la query creata in base agli oggetti e ai layer attualmente selezionati.
Creazione di espressioni di filtro semplici
L’area principale del pannello fornisce controlli per creare rapidamente espressioni di filtro semplici che interessano qualsiasi combinazione di oggetti. I tipi di oggetto sono disposti in una “matrice di oggetti”, categorizzati in base al fatto che siano oggetti net (Net), oggetti componente (Comp) oppure oggetti liberi (Free). Il seguente elenco di oggetti principali è replicato in questi tre gruppi:
-
Track
-
Arc
-
Via
-
Pad
-
Fill
-
Region
L’oggetto Text è disponibile come parte dei raggruppamenti Comp e Free ; tuttavia, poiché questo tipo di oggetto non è net-aware, non fa parte del raggruppamento Net . Inoltre, il raggruppamento Free include anche: Component, Component Body, Room e Polygon.
Se questi sono impostati, ad esempio, su “Component” e “Top Layer”, la vista della scheda evidenzierà i componenti del layer superiore. Le selezioni in entrambe le sezioni del pannello rappresentano l’effetto cumulativo di più fasi di filtraggio, che possono essere usate per evidenziare rapidamente qualsiasi tipo di oggetto di progetto.
L’ordine delle colonne è personalizzabile. Fare clic sull’intestazione di una colonna e trascinarla orizzontalmente nella nuova posizione desiderata. Le posizioni valide sono evidenziate da frecce di posizionamento verdi.
Per usare un oggetto nella costruzione di un’espressione di filtro, cioè per filtrare in base a quell’oggetto, abilitare la relativa casella di controllo associata a quell’oggetto all’interno della matrice di oggetti. I comandi disponibili nel menu contestuale dell’area consentono di selezionare o deselezionare rapidamente tutte le voci della matrice o di invertire lo stato di tutte le caselle di controllo nella matrice.
Fare clic sulla voce del nome di un oggetto farà sì che tutte le caselle di controllo associate ad esso nella matrice vengano selezionate. Facendo nuovamente clic, verranno tutte deselezionate. In alternativa, fare clic e trascinare il mouse, sia nella colonna del nome dell’oggetto sia in una particolare colonna di gruppo, per selezionare/deselezionare più voci contemporaneamente. Si noti che se la selezione effettuata in questo modo include almeno una casella non selezionata, tali caselle non selezionate verranno selezionate e le caselle già selezionate rimarranno selezionate. Tuttavia, se le caselle all erano già tutte selezionate, il risultato sarà la deselezione di tutte le caselle coinvolte nella selezione.
Usare l’area Layer del pannello per limitare il filtro a un particolare layer o a più layer o a una specifica classe di layer. Le voci elencate riflettono:
-
Le classi di layer definite per la scheda, i cui valori predefiniti sono:
-
<All Layers>
-
<Component Layers>
-
<Electrical Layers>
-
<Signal Layers>
-
I layer definiti nello stack dei layer (come presentati nel Layer Stack Editor).
-
I layer superiore e inferiore della paste mask.
È possibile selezionare più layer da includere nel filtro attivando di conseguenza la casella di controllo associata a ciascun layer richiesto.
L’area
Layer si aggiornerà automaticamente se sono state definite classi di layer aggiuntive o se i nomi delle classi di layer definite dall’utente sono stati modificati tramite la finestra di dialogo
Object Class Explorer. Si aggiornerà inoltre per riflettere eventuali modifiche ai layer nello stack dei layer.
Man mano che si effettuano le selezioni di filtraggio, l’espressione di query risultante viene costruita dinamicamente e presentata nell’area Filter del pannello. Una volta definita l’espressione di query del filtro come richiesto, è necessario applicarla come azione separata. Per farlo, fare clic sul pulsante Apply to All nella parte inferiore del pannello. In alternativa, se si desidera applicarla solo agli oggetti attualmente selezionati nell’area di lavoro, fare clic sul pulsante Apply to Selected.
Il numero di oggetti che superano il filtro (cioè il numero che rimane visualizzato nell’area di lavoro) è indicato in basso a sinistra del pannello. Se al momento non è applicato alcun filtro, ciò è indicato dalla voce Not filtered.
Filtraggio per oggetto
La selezione nell’elenco Object del pannello filtrerà la vista della scheda per mostrare gli oggetti di progetto primitivi. Tutti gli oggetti verranno evidenziati a meno che non siano modificati dalle impostazioni negli elenchi di filtro Object e/o Layer .

La scheda mostrata con Component Body e Pad (In Any Component) selezionati in Object. Layer è impostato su <All>.

La scheda mostrata con Object impostato su Tracks (In Any Net) e Pads (In Any Net). Layer è impostato su <All>.
Filtraggio per layer
La selezione nell’elenco Layer del pannello filtra la vista della scheda per mostrare gli oggetti sul layer fisico di progetto indicato (layer Signal, Mask e Silkscreen). Tutti gli oggetti di layer validi verranno evidenziati a meno che non siano modificati dalle impostazioni negli elenchi di filtro Layer e/o Objects .

La scheda mostrata con Object impostato su Components e Pads (In Any Component). Layers è impostato su Top Layer.

La scheda mostrata con Object impostato su Tracks (In Any Net). Layer è impostato su Bottom Layer.
Per filtrare solo gli oggetti sul layer corrente, selezionare la voce <Active Layers>.
Selezione degli oggetti filtrati
L’azione di filtro collettiva fornita dal pannello aiuta sia nella visualizzazione sia nella selezione degli oggetti di progettazione della scheda di interesse.
Solo gli oggetti evidenziati (filtrati) sono selezionabili, rendendo semplice individuare, modificare e trovare informazioni sull’oggetto.
Cancellazione del filtro
Cancellare il filtro attualmente applicato facendo clic sul pulsante Clear .
Si noti che un filtro applicato all’area di lavoro è persistente e deve essere reimpostato in modo specifico o sostituito con un altro tipo di meccanismo di selezione, come quello del pannello PCB.
Impostazione del filtraggio visivo
Il risultato visivo del filtraggio applicato al documento nell’area di lavoro è determinato da una serie di controlli di evidenziazione. L’effetto imposto nella vista dell’editor può essere impostato su Normal, Mask o Dim, dove in pratica Mask ha l’effetto di evidenziazione più evidente.
L’elenco a discesa Normal / Mask / Dim offre opzioni per contrastare visibilmente gli oggetti filtrati e non filtrati all’interno dell’area di lavoro.

Selezionare il tipo di filtraggio visivo applicato usando l’elenco a discesa della modalità di mascheramento.
L’effetto di evidenziazione visiva per ciascuna modalità di mascheramento:
-
Normal - gli oggetti filtrati sono visibili nell’area di lavoro e l’aspetto degli oggetti non filtrati rimane invariato.
-
Mask - gli oggetti filtrati sono evidenziati nell’area di lavoro mentre tutti gli altri oggetti diventano monocromatici.
-
Dim - gli oggetti filtrati sono evidenziati nell’area di lavoro mentre tutti gli altri oggetti mantengono i propri colori ma risultano ombreggiati.
Definizione di query di filtro
L’area centrale del pannello fornisce controlli per costruire filtri tramite l’immissione di query logiche.
È possibile digitare una query direttamente nel campo e, durante la digitazione, viene visualizzato un elenco di possibili parole chiave come supporto.
Sono disponibili due funzioni che aiutano nella creazione delle query: Query Helper e Query Builder. Queste funzioni possono essere molto utili se non si è sicuri della sintassi di una query o delle possibili parole chiave da utilizzare.
Query Helper
Per utilizzare Query Helper, fare clic sul pulsante Helper per aprire la finestra di dialogo Query Helper. Il Query Engine sottostante analizza il documento ed elenca tutti gli oggetti disponibili insieme alle parole chiave generiche da usare nelle query.
Utilizzare la sezione superiore della finestra di dialogo per comporre un'espressione di query usando i PCB Functions, PCB Object Lists e System Functions disponibili. La regione centrale della finestra di dialogo fornisce una gamma di operatori da usare durante la costruzione di un'espressione. Utilizzare il pulsante Check Syntax per verificare che un'espressione sia sintatticamente corretta.
Quando l'espressione della query è stata definita come richiesto, fare clic su OK per caricare la query nella regione centrale del pannello, pronta per applicare il filtro.
Query Builder
Per utilizzare Query Builder, fare clic sul pulsante Builder del pannello per aprire la finestra di dialogo Building Query from Board dialog. Questa finestra di dialogo consente di creare una query per individuare oggetti specifici nel documento di progetto costruendo una stringa di condizioni collegate con AND e/o OR. Il lato sinistro della finestra di dialogo viene utilizzato per specificare le condizioni necessarie per individuare l'insieme di oggetti richiesto. Inizialmente, la voce nella colonna Condition Type/Operator sarà Add first condition. Facendo clic una volta su questa voce verrà visualizzato un elenco a discesa dei tipi di condizione.
I tipi di condizione elencati rifletteranno solo quelli pertinenti a un progetto di scheda.
Selezionare la condizione desiderata, quindi fare clic nella colonna Condition Value per accedere a un elenco a discesa dei possibili valori per quel tipo di condizione. Man mano che si definisce una condizione nel lato sinistro della finestra di dialogo, sul lato destro viene mostrata un'anteprima della query attualmente costruita.
Continuare ad aggiungere ulteriori condizioni per restringere l'insieme di oggetti di progetto di destinazione secondo necessità. Le condizioni possono essere collegate tra loro con AND o OR. L'operatore logico predefinito è AND, che viene inserito automaticamente quando si aggiunge un'altra condizione.
Per modificare l'operatore logico tra le condizioni, fare clic sulla voce AND o OR nella colonna Condition Type/Operator, quindi selezionare l'operatore richiesto. L'anteprima della query verrà aggiornata di conseguenza.
Specifica della precedenza
I pulsanti
e
nella parte superiore della finestra di dialogo Building Query from Board consentono di aggiungere e rimuovere parentesi attorno alla condizione attualmente selezionata (aumentando e diminuendo il rientro). Ciò consente di creare una precedenza per determinate condizioni logicamente collegate con AND o OR.
Ad esempio, si consideri la seguente query costruita:
InNet('5V') AND (OnLayer('TopLayer')
La prima condizione è stata impostata sul tipo di condizione Belongs to Net con valore 16M_IN. È stata quindi aggiunta un'altra condizione usando il tipo di condizione Exists on Layer con il valore TopLayer.
Si noti che la coppia di parentesi più esterna viene aggiunta automaticamente dal Builder e non viene visualizzata durante la costruzione dell'espressione di query.
In questa fase, con la seconda condizione selezionata nella finestra di dialogo, è stato fatto clic sul pulsante freccia destra. Le parentesi sono state aggiunte automaticamente attorno alla seconda condizione e ora è disponibile la possibilità di aggiungere una condizione all'interno di quella coppia di parentesi.
La terza condizione con tipo di condizione Object Kind is e valore Track viene quindi aggiunta all'interno delle parentesi.
Utilizzare il menu a discesa Show Level in alto a sinistra della finestra di dialogo per controllare la visualizzazione dei livelli nella stringa strutturata di condizioni. In pratica, questo espande/comprime la visualizzazione delle parentesi. L'aggiunta di parentesi crea di fatto un nuovo livello. È possibile visualizzare i livelli 1-5, ma per eventuali livelli aggiuntivi usare l'opzione Show All Levels.
In alternativa, fare clic sui simboli di espansione o compressione (associati a una condizione tra parentesi) per mostrare il/i livello/i successivo/i o nascondere il livello corrente (e tutti i livelli sottostanti), rispettivamente. I pulsanti
e
nella parte superiore della finestra di dialogo possono essere usati anche per espandere o comprimere la condizione attualmente selezionata.
Utilizzare i pulsanti
e
nella parte superiore della finestra di dialogo per spostare una condizione selezionata nella stringa di query. Per una condizione che ha sottolivelli (cioè una condizione tra parentesi), è possibile spostare qualsiasi condizione nella struttura dei livelli. Quando i livelli sono espansi, una condizione può essere spostata verso il basso o verso l'alto attraverso i livelli. Quando i livelli sono compressi, una condizione verrà spostata attraverso la struttura dei livelli.
Per eliminare una condizione, selezionarla e fare clic sul pulsante
nella parte superiore della finestra di dialogo oppure usare il tasto Delete.
Quando l'espressione della query è stata definita come richiesto, fare clic su OK per caricare la query nella regione centrale del pannello PCB Filter, pronta per applicare il filtro.
Creazione di regole di progettazione
Il pannello PCB Filter offre anche la possibilità di creare una regola di progettazione, il cui ambito utilizzerà l'espressione di query attualmente definita nella regione centrale del pannello.
Per aggiungere una nuova regola di progettazione, fare clic sul pulsante Create Rule del pannello PCB Filter. Si aprirà la finestra di dialogo Choose Design Rule Type.
Questa finestra di dialogo elenca ciascuna delle categorie di regole e dei tipi di regola disponibili nel documento PCB. Scegliere il tipo di regola che si desidera creare, quindi fare clic su OK (oppure fare doppio clic direttamente sulla voce). Si aprirà la finestra di dialogo PCB Rules and Constraints Editor.
Il nome della regola appena creata può essere visto selezionato nell'albero di navigazione sul lato sinistro. L'espressione di query della regola si trova nel riquadro in alto a destra della finestra di dialogo.
Viene creata una regola del tipo scelto e viene visualizzata la finestra principale di modifica della regola, pronta per definire vincoli specifici per la regola. L'espressione di query del pannello PCB Filter viene inserita nella regione Full Query della finestra di dialogo. Perfezionare le impostazioni di configurazione della regola secondo necessità e applicare la nuova regola.
Applicazione e cancellazione del filtro
Una volta definita una query e impostate le opzioni nel pannello come richiesto, il filtro può essere applicato facendo clic su uno dei pulsanti Apply del pannello oppure facendo clic su Enter.
Per cancellare il filtro attualmente applicato dall'interno del pannello, cancellare (selezionare ed eliminare) l'espressione di query nella regione centrale del pannello, quindi fare clic su uno dei pulsanti Apply oppure premere Enter. Tutti gli oggetti nell'area di lavoro del progetto verranno ripristinati alla piena visibilità e saranno disponibili per la selezione/modifica.
Menu contestuali
Facendo clic con il pulsante destro del mouse all'interno del pannello PCB Filter si accede a opzioni e comandi aggiuntivi tramite menu a comparsa.
Facendo clic con il pulsante destro del mouse nella regione Object o Layer del pannello si aprono le seguenti opzioni del menu contestuale:
-
Toggle Check - abilita per attivare/disattivare le opzioni. Le opzioni attualmente selezionate verranno deselezionate mentre quelle deselezionate verranno selezionate.
-
Check All - abilita per selezionare tutte le opzioni disponibili.
-
Uncheck All - abilita per deselezionare tutte le opzioni disponibili.
Note
Generale
-
Premendo il tasto F12 si attiva/disattiva la visibilità del pannello nell'area di lavoro.
-
Query Builder (finestra di dialogo Building Query from Board) fornisce un metodo semplice per costruire una query, usando tipi di condizione e valori sensibili che consentono di costruire solo con "blocchi" pertinenti. Per la costruzione avanzata di query, con specifica completa di parole chiave e sintassi degli operatori, usare la finestra di dialogo Query Helper.
-
Poiché le opzioni di visualizzazione per gli oggetti che superano e non superano il filtro applicato sono separate, è possibile applicare efficacemente nuove query di filtro per basarsi sui risultati del filtraggio precedente.
Durante la costruzione delle espressioni di query
-
È fortemente consigliato usare le parentesi ogni volta che esiste la possibilità che la query non venga interpretata correttamente.
-
Le parentesi hanno la precedenza più alta all'interno di un ordine di precedenza definito per i vari operatori forniti e che determina come le query vengono interpretate dal software (quando l'utente non ha fornito parentesi). La sequenza di questo ordine è la seguente:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Questo ordine di precedenza è simile a quello usato nei linguaggi di tipo Pascal. Tuttavia, un uso generoso delle parentesi elimina i dubbi e rende le query risultanti più facili da leggere per gli altri.
-
Le ambiguità vengono risolte procedendo da sinistra a destra.
-
Le parentesi vengono valutate dall'interno verso l'esterno e i livelli uguali vengono elaborati da sinistra a destra.
PCBLIB Filter Panel
Riepilogo
Il pannello PCBLIB Filter fornisce controlli per costruire filtri tramite la creazione di query logiche. Un filtro definito può quindi essere applicato all'impronta del componente PCB attiva, oppure a tutte le impronte dei componenti nella libreria PCB attiva, consentendo di selezionare e modificare più oggetti con grande precisione ed efficienza.
Utilizzare l'opzione Filter The Whole Library per controllare se il filtraggio viene applicato solo al componente attivo (disabilitato) oppure a tutti i componenti nel documento della libreria PCB attiva (abilitato).
Accesso al pannello
Il pannello è accessibile dal PCB Library Editor nei seguenti modi:
-
Fare clic sul pulsante Panels in basso a destra dell'area di lavoro, quindi selezionare la voce PCBLIB Filter.
-
Fare clic su View » Panels » PCBLIB Filter dai menu principali.
- Usa il tasto di scelta rapida F12.
I pannelli possono essere configurati come mobili nello spazio dell'editor oppure ancorati ai lati dello schermo. Se il pannello PCBLIB Filter si trova attualmente in un gruppo di pannelli, usa la scheda PCBLIB Filter situata nella parte inferiore dei pannelli per portarlo in primo piano.
Sezioni del pannello
Il pannello PCBLIB Filter è composto da tre aree. Le prime due sono aree elenco selezionabili che definiscono collettivamente l'ambito del filtro: Object e Layer. La terza area, Filter, visualizza la query creata in base agli oggetti e ai layer attualmente selezionati.
Creazione di espressioni di filtro semplici
L'area principale del pannello fornisce controlli per creare rapidamente espressioni di filtro semplici che interessano qualsiasi combinazione di oggetti. I tipi di oggetto sono disposti in una "matrice degli oggetti", categorizzati in base al fatto che siano oggetti di net (Net), oggetti di componente (Comp) oppure oggetti liberi (Free). Il seguente elenco di oggetti principali è replicato in questi tre gruppi:
-
Track
-
Arc
-
Via
-
Pad
-
Fill
-
Region
L'oggetto Text è disponibile come parte dei raggruppamenti Comp e Free ; tuttavia, poiché questo tipo di oggetto non è associato alle net, non fa parte del raggruppamento Net . Inoltre, il raggruppamento Free include anche Component, ComponentBody, Room e Polygon.
Se questi sono impostati, ad esempio, su "Components" e "Top Layer", la vista della scheda evidenzierà i componenti del layer superiore. Le selezioni in entrambe le sezioni del pannello rappresentano l'effetto cumulativo di più fasi dell'azione di filtraggio, che possono essere usate per evidenziare rapidamente qualsiasi tipo di oggetto di progetto.
L'ordine delle colonne è personalizzabile. Fai clic sull'intestazione di una colonna e trascinala orizzontalmente nella nuova posizione desiderata. Le posizioni valide sono evidenziate da frecce di posizionamento verdi.
Per usare un oggetto nella costruzione di un'espressione di filtro, cioè per filtrare in base a quell'oggetto, abilita la casella di controllo pertinente associata a quell'oggetto all'interno della matrice degli oggetti. I comandi disponibili nel menu contestuale accessibile con il tasto destro per l'area consentono rispettivamente di selezionare o deselezionare rapidamente tutte le voci della matrice, oppure di invertire lo stato di tutte le caselle di controllo nella matrice.
Facendo clic sulla voce del nome di un oggetto, tutte le caselle di controllo associate a esso nella matrice verranno selezionate. Facendo di nuovo clic, verranno tutte deselezionate. In alternativa, fai clic e trascina sia nella colonna del nome dell'oggetto sia in una particolare colonna di gruppo per selezionare/deselezionare più voci contemporaneamente. Nota che se, selezionando in questo modo, è inclusa almeno una casella non selezionata, le caselle non selezionate verranno selezionate e quelle già selezionate rimarranno selezionate. Tuttavia, se le caselle all erano già tutte selezionate, il risultato sarà la deselezione di tutte le caselle coinvolte nella selezione.
Usa l'area Layer per limitare il filtro a un particolare layer o a più layer o a una specifica classe di layer. Le voci elencate riflettono:
-
Le classi di layer definite per la scheda, i cui valori predefiniti sono:
-
<All Layers>
-
<Component Layers>
-
<Electrical Layers>
-
<Signal Layers>
-
I layer definiti nello stack dei layer (come presentati nel Layer Stack).
-
I layer superiore e inferiore della pasta saldante.
È possibile selezionare più layer da includere nel filtro attivando la casella di controllo associata per ciascun layer richiesto.
L'area
Layer si aggiornerà automaticamente se sono state definite classi di layer aggiuntive o se i nomi delle classi di layer definite dall'utente sono stati modificati tramite la finestra di dialogo
Object Class Explorer . Si aggiornerà inoltre per riflettere eventuali modifiche ai layer nello stack dei layer.
Le classi di layer non verranno presentate nell'area Layer .
Man mano che effettui le selezioni di filtraggio, l'espressione di query risultante viene costruita dinamicamente e presentata nell'area Filter del pannello. Una volta definita come richiesto l'espressione di query del filtro, è necessario applicarla come azione separata. Per farlo, fai clic sul pulsante Apply to All nella parte inferiore del pannello. In alternativa, se desideri applicarla solo agli oggetti attualmente selezionati nell'area di lavoro, usa il pulsante Apply to Selected.
Il numero di oggetti che superano il filtro, cioè il numero che rimane visualizzato nell'area di lavoro, è indicato in basso a sinistra nel pannello. Se al momento non è applicato alcun filtro, ciò è indicato dalla voce Not filtered.
Applicazione del filtro
I componenti della PCB Library sono composti da tipi di oggetti primitivi (Arcs, Pads, Tracks, ecc.) disposti su diversi layer della scheda. Gli oggetti sono di natura "libera" oppure "posseduti" da un oggetto di gruppo. Nota che selezionando Free nell'area Object verranno evidenziati solo quegli oggetti che non fanno parte di un oggetto di gruppo.
Il filtraggio si applica a tutti i componenti nella PCB Library attiva.
Filtraggio per oggetto
La selezione nell'elenco Object del pannello filtrerà la vista della scheda per mostrare gli oggetti di progetto primitivi. Tutti gli oggetti verranno evidenziati a meno che non siano modificati dalle impostazioni nell'elenco di filtro Layer .

L'esempio di scheda mostrato con Track e Arc selezionati in Object. Layer è impostato su Top Overlay.
Filtraggio per layer
La selezione nell'elenco Layers del pannello filtrerà la vista della scheda per mostrare gli oggetti sul layer fisico di progetto indicato (layer Signal, Mask e Silkscreen). Tutti gli oggetti di layer validi verranno evidenziati a meno che non siano modificati dalle impostazioni nell'elenco di filtro Object .

L'esempio di scheda mostrato con Object impostato su Pad. Layer è impostato su Top Layer.
Per filtrare solo gli oggetti sul layer corrente, seleziona la voce <Active Layer>.
Selezione degli oggetti filtrati
L'azione di filtro collettiva fornita dal pannello PCBLIB Filter aiuta sia nella visualizzazione sia nella selezione degli oggetti di progettazione della scheda di interesse.
Solo gli oggetti evidenziati (filtrati) sono selezionabili, rendendo semplice individuare, modificare e trovare informazioni sull'oggetto.
Cancellazione del filtro
Cancella il filtro attualmente applicato con il pulsante Clear del pannello.
Nota che un filtro applicato all'area di lavoro è persistente e deve essere reimpostato in modo specifico o sovrascritto con un altro tipo di meccanismo di selezione, come quello del pannello
PCB panel.
Impostazione del filtraggio visivo
Il risultato visivo del filtro applicato al documento nell'area di lavoro è determinato da una serie di controlli di evidenziazione. L'effetto imposto nella vista dell'editor può essere impostato su Normal, Mask oppure Dim; in pratica, Mask ha l'effetto di evidenziazione più evidente.
L'elenco a discesa Normal / Mask / Dim fornisce opzioni per contrastare visibilmente gli oggetti filtrati e non filtrati all'interno dell'area di lavoro.

Seleziona il tipo di filtraggio visivo applicato usando l'elenco a discesa della modalità di mascheramento.
L'effetto di evidenziazione visiva per ciascuna modalità di mascheramento:
-
Normal - gli oggetti filtrati sono visibili nell'area di lavoro e l'aspetto degli oggetti non filtrati rimane invariato.
-
Mask - gli oggetti filtrati sono evidenziati nell'area di lavoro mentre tutti gli altri oggetti diventano monocromatici.
-
Dim - gli oggetti filtrati sono evidenziati nell'area di lavoro mentre tutti gli altri oggetti mantengono i loro colori ma risultano attenuati.
Definizione delle query di filtro
L'area centrale del pannello consente di costruire filtri tramite l'immissione di query logiche.
Puoi digitare una query direttamente nel campo e, mentre digiti, apparirà un elenco di possibili parole chiave come aiuto.
Sono disponibili due funzioni di supporto per la creazione delle query: Query Helper e Query Builder. Questi strumenti possono essere molto utili se non sei sicuro della sintassi di una query o delle possibili parole chiave che potresti voler usare.
Query Helper
Per usare Query Helper, fai clic sul pulsante Helper per aprire la finestra di dialogo Query Helper. Il Query Engine sottostante analizza il documento ed elenca tutti gli oggetti disponibili, insieme a parole chiave generiche da usare nelle query.
Usa la sezione superiore della finestra di dialogo per comporre un'espressione di query usando i PCB Functions, PCB Object Lists e System Functions disponibili. L'area centrale della finestra di dialogo fornisce una gamma di operatori da usare durante la costruzione di un'espressione. Usa il pulsante Check Syntax per verificare che un'espressione sia sintatticamente corretta.
Quando l'espressione della query è stata definita come richiesto, fai clic su OK per caricare la query nell'area centrale del pannello PCBLIB Filter, pronta per applicare il filtro.
Query Builder
Per usare Query Builder, fai clic sul pulsante Builder del pannello PCBLIB Filter per aprire la finestra di dialogo Building Query from Board.
Questa finestra di dialogo consente di creare una query per individuare oggetti specifici nel documento di progetto, tramite la semplice costruzione di una stringa di condizioni collegate con AND e/o OR.
Il lato sinistro della finestra di dialogo è il punto in cui specifichi le condizioni richieste per individuare l'insieme di oggetti necessario. Inizialmente, la voce nella colonna Condition Type/Operator sarà Add first condition. Fai clic una volta su questa voce per aprire un elenco a discesa dei tipi di condizione.
I tipi di condizione elencati rifletteranno solo quelli pertinenti a un progetto di scheda.
Seleziona la condizione, quindi fai clic nella colonna Condition Value per accedere a un elenco a discesa dei possibili valori per quel tipo di condizione. Man mano che definisci una condizione nel lato sinistro della finestra di dialogo, sul lato destro viene mostrata un'anteprima della query attualmente costruita.
Continua ad aggiungere ulteriori condizioni per restringere, secondo necessità, l’insieme di destinazione degli oggetti di progettazione. Le condizioni possono essere combinate con AND oppure con OR. L’operatore logico predefinito è AND e viene inserito automaticamente quando aggiungi un’altra condizione.
Per modificare l’operatore logico tra le condizioni, fai clic sulla voce AND o OR nella colonna Condition Type/Operator, quindi seleziona l’operatore richiesto. L’anteprima della query verrà aggiornata di conseguenza.
Specificare la precedenza
I pulsanti
e
nella parte superiore della finestra di dialogo Building Query from Board consentono di aggiungere e rimuovere parentesi attorno alla condizione attualmente selezionata (aumentando e diminuendo il rientro). Questo consente di creare una precedenza per determinate condizioni combinate logicamente con AND o con OR.
La prima condizione è stata impostata sul tipo di condizione Exists on Layer con valore Top Layer. È stata quindi aggiunta un’altra condizione utilizzando il tipo di condizione Object Kind is con il valore Arc.
Si noti che la coppia di parentesi più esterna viene aggiunta automaticamente da Builder e non viene visualizzata durante la costruzione dell’espressione della query.
In questa fase, con la seconda condizione selezionata nella finestra di dialogo, è stato fatto clic sul pulsante con la freccia destra. Le parentesi sono state aggiunte automaticamente attorno alla seconda condizione ed è ora disponibile la possibilità di aggiungere una condizione all’interno di quella coppia di parentesi.
La terza condizione con tipo di condizione In Any Polygon viene quindi aggiunta all’interno delle parentesi.
Usa l’elenco a discesa Show All Levels in alto a sinistra nella finestra di dialogo per controllare la visualizzazione dei livelli nella stringa strutturata di condizioni. In pratica, questo espande/comprime la visualizzazione delle parentesi. L’aggiunta di parentesi crea di fatto un nuovo livello. Puoi visualizzare i livelli 1-5, ma per eventuali livelli aggiuntivi usa l’opzione Show All Levels.
In alternativa, fai clic sui simboli di espansione o compressione associati a una condizione tra parentesi per mostrare rispettivamente il/i livello/i successivo/i oppure nascondere il livello corrente (e tutti i livelli sottostanti). Anche i pulsanti
e
nella parte superiore della finestra di dialogo possono essere usati per espandere o comprimere la condizione attualmente selezionata.
Usa i pulsanti
e
nella parte superiore della finestra di dialogo per spostare una condizione selezionata nella stringa di query in costruzione. Per una condizione che ha sottolivelli (cioè una condizione tra parentesi), è possibile spostare qualsiasi condizione nella struttura dei livelli. Quando i livelli sono espansi, una condizione può essere spostata verso il basso o verso l’alto attraverso i livelli. Quando i livelli sono compressi, una condizione verrà spostata attraverso la struttura dei livelli.
Per eliminare una condizione, selezionala e fai clic sul pulsante
nella parte superiore della finestra di dialogo oppure usa il tasto Delete.
Quando l’espressione della query è stata definita come richiesto, fai clic su OK per caricare la regione centrale del pannello PCBLIB Filter con la query, pronta per applicare il filtro.
Creazione di regole di progettazione
Il pannello PCBLIB Filter offre anche la possibilità di creare una regola di progettazione. Il suo ambito utilizzerà l’espressione di query attualmente definita nella regione centrale del pannello.
Per aggiungere una nuova regola di progettazione, fai clic sul pulsante Create Rule del pannello PCBLIB Filter. Si aprirà la finestra di dialogo Choose Design Rule Type.
Questa finestra di dialogo elenca ciascuna delle categorie di regole e dei tipi di regola disponibili nel documento PCB. Scegli il tipo di regola che desideri creare, quindi fai clic su OK (oppure fai doppio clic direttamente sulla voce). Si aprirà la finestra di dialogo PCB Rules and Constraints Editor.
Il nome della regola appena creata è visibile selezionato nell’albero di navigazione sul lato sinistro. L’espressione di query della regola si trova nel riquadro in alto a destra della finestra di dialogo.
Viene creata una regola del tipo scelto e viene visualizzata la finestra principale di modifica della regola, pronta per consentirti di definire vincoli specifici per la regola. L’espressione di query del pannello PCBLIB Filter viene inserita nell’area Full Query della finestra di dialogo. Perfeziona le impostazioni di configurazione della regola secondo necessità e applica la nuova regola.
Applicazione e cancellazione del filtro
Una volta definita la query e impostate le opzioni nel pannello come richiesto, il filtro può essere applicato sia facendo clic sul pulsante Apply del pannello sia premendo Enter.
Per cancellare dal pannello il filtro attualmente applicato, cancella (seleziona ed elimina) l’espressione di query nella regione centrale del pannello, quindi fai clic sul pulsante Apply oppure premi Enter. Tutti gli oggetti nell’area di lavoro del progetto verranno ripristinati alla piena visibilità e saranno disponibili per la selezione/modifica.
Menu del tasto destro
Fai clic con il pulsante destro del mouse all’interno del pannello PCBLIB Filter per accedere a opzioni e comandi aggiuntivi tramite menu contestuali.
Facendo clic con il pulsante destro del mouse nella regione Object o Layer del pannello si aprono le seguenti opzioni del menu contestuale:
-
Toggle Check - abilita per attivare/disattivare le opzioni. Le opzioni attualmente selezionate verranno deselezionate, mentre quelle deselezionate verranno selezionate.
-
Check All - abilita per selezionare tutte le opzioni disponibili.
-
Uncheck All - abilita per deselezionare tutte le opzioni disponibili.
Note
Generale
-
Premendo il tasto F12 verrà attivata/disattivata la visibilità del pannello nell’area di lavoro.
-
Query Builder (finestra di dialogo Building Query from Board) fornisce un metodo semplice per costruire una query utilizzando tipi di condizione e valori sensibili al contesto che consentono di costruire solo con “blocchi” pertinenti. Per la costruzione avanzata di query con specifica completa di parole chiave e sintassi degli operatori, usa la finestra di dialogo Query Helper.
-
Poiché le opzioni di visualizzazione per gli oggetti che superano e non superano il filtro applicato sono separate, puoi applicare efficacemente nuove query di filtro per basarti sui risultati del filtraggio precedente.
Durante la costruzione delle espressioni di query
-
È fortemente consigliato usare le parentesi ogni volta che esiste la possibilità che la query possa non essere interpretata correttamente.
-
Le parentesi hanno la precedenza più alta all’interno di un ordine di precedenza definito per i vari operatori forniti e che determina come le query vengono interpretate dal software (quando l’utente non ha fornito parentesi). La sequenza di questo ordine è la seguente:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
Questo ordine di precedenza è simile a quello usato nei linguaggi di tipo Pascal. Tuttavia, un uso generoso delle parentesi elimina i dubbi e rende le query risultanti più facili da leggere per gli altri.
-
Le ambiguità vengono risolte procedendo da sinistra a destra.
-
Le parentesi vengono valutate dall’interno verso l’esterno e i livelli uguali vengono elaborati da sinistra a destra.
Il linguaggio di query viene utilizzato anche nella finestra di dialogo PCB Rules and Constraints Editor per definire gli ambiti delle regole di progettazione (consulta la pagina Defining, Scoping & Managing PCB Design Rules per saperne di più). Nota che l’insieme di oggetti incluso nell’ambito di una regola di progettazione dipende non solo dalla query ma anche dal tipo di regola (ad esempio, una regola Width si applica solo alle tracce, una regola Routing Via Style si applica solo ai via, ecc.), quindi i risultati dell’evidenziazione/della definizione dell’ambito degli oggetti quando si usa la stessa espressione di query nel pannello Filter e nell’ambito della regola potrebbero essere diversi.
Dove sono i risultati della query?
Ora che hai scritto una query nel pannello Filter , come accedi agli oggetti restituiti dalla tua query? Esistono due modi per accedere agli oggetti e modificarli nell’ambiente Altium Designer.
-
Graficamente - dopo aver applicato un filtro, il comportamento predefinito consiste nel mascherare (attenuare e rendere non modificabili) tutti gli oggetti che non hanno soddisfatto la query, lasciando solo quelli che l’hanno soddisfatta. Questa modalità è eccellente per individuare e rivedere gli oggetti nell’area di lavoro. Poiché gli oggetti mascherati non sono modificabili, comandi come Ctrl+A (seleziona tutto) si applicano solo agli oggetti restituiti dalla query.
-
List pannello - il pannello List (Shift+F12) è una vista dei dati di progettazione simile a un foglio di calcolo. Per impostazione predefinita visualizza tutti gli oggetti di progettazione, ma una volta applicato un filtro visualizza solo gli oggetti restituiti dalla query. Il pannello List presenta comportamenti standard simili a quelli di un foglio di calcolo per l’ordinamento e la selezione, consentendoti di modificare direttamente una o più celle.
I pannelli PCB List e SCH List mostrano i risultati delle query PSB/SCH nella sezione precedente.
Opzioni di evidenziazione
Ogni volta che viene applicata una query (o viene altrimenti utilizzata la funzione di filtraggio dei dati), ogni oggetto all’interno del documento di destinazione diventa membro dei risultati di tale azione di filtraggio. Tuttavia, il modo in cui gli oggetti presenti nei risultati e gli oggetti che non sono presenti nei risultati vengono successivamente visualizzati dipende dalle opzioni di evidenziazione selezionate nel pannello Filter . Sono disponibili tre diverse opzioni di evidenziazione e le opzioni sono totalmente indipendenti tra loro, quindi puoi selezionarne una, due o tutte.
Zoom
Quando l’opzione Zoom è abilitata al momento dell’applicazione della query, la vista del documento di destinazione viene aggiornata per visualizzare la regione occupata da tutti gli oggetti presenti nei risultati. L’eventuale visualizzazione di ciascun oggetto rimanente nella vista aggiornata dipende dalla sua posizione rispetto a quella regione, quindi ciascuno di tali oggetti può risultare completamente visualizzato, parzialmente visualizzato oppure non visualizzato affatto.
Questa opzione viene spesso selezionata insieme a una o a entrambe le altre opzioni. Se l'opzione Mask non è stata abilitata, gli oggetti che non sono presenti nei risultati continueranno comunque a essere visualizzati nella vista grafica se si trovano entro i limiti aggiornati. A prima vista, selezionare questa opzione da sola potrebbe sembrare inutile, ma potrebbero esserci situazioni in cui si desidera aggiornare la vista grafica in modo che includa determinati oggetti, senza però modificare lo stato di selezione o lo stato di mascheratura di alcuno degli oggetti del documento.
Seleziona
Quando l'opzione Select è abilitata, tutti gli oggetti presenti nei risultati si trovano nello stato selezionato, mentre tutti gli altri oggetti non sono selezionati. Gli oggetti selezionati vengono visualizzati in modo più distintivo rispetto agli oggetti non selezionati.
Se l'opzione Select è selezionata quando viene applicata la query corrente, tutti gli oggetti che sono membri dell'insieme dei risultati acquisiscono successivamente uno stato selezionato, mentre tutti gli altri oggetti (che non sono membri dell'insieme dei risultati) acquisiscono invece uno stato non selezionato. Questa opzione viene in genere selezionata immediatamente prima delle procedure di modifica globale, poiché in quel momento vengono aggiornate solo le proprietà degli oggetti attualmente selezionati. Tuttavia, ci sono anche altre occasioni in cui l'opzione Select può essere utile, ad esempio quando determinati oggetti devono essere spostati, copiati o eliminati.
Maschera
L'opzione di evidenziazione Mask determina la proprietà di mascheratura aggiornata degli oggetti nel documento di destinazione. Quando è selezionata, tutti gli oggetti presenti nei risultati sono mascherati, mentre tutti gli altri oggetti non sono mascherati. L'aspetto principale degli oggetti mascherati è che essi e le loro proprietà non possono essere modificati. (Gli oggetti mascherati vengono visualizzati attenuati nella vista elenco, ma non vengono mostrati nella vista elenco a meno che l'opzione all objects non sia attualmente selezionata nel pannello List .) L'aspetto principale degli oggetti mascherati è che l'oggetto e le sue proprietà non possono essere modificati.
Il Query Builder
L'editor PCB include una finestra di dialogo dedicata Query Builder. Questa finestra di dialogo consente di creare query complesse scegliendo condizioni di test da elenchi a discesa. Un vantaggio di Query Builder è che consente di creare una query che si rivolge a diversi tipi di oggetti.
La finestra di dialogo 'Building Query' (parte della funzionalità 'Query Builder') aiuta gli utenti meno esperti nella definizione delle query; viene generata automaticamente una query il cui contenuto corrisponde alle condizioni specificate dal progettista.
La sezione sinistra di questa finestra di dialogo contiene controlli il cui scopo è assistere il progettista nel compito di specificare quali proprietà sono richieste affinché ciascuno degli oggetti del documento venga restituito dalla query generata da questa finestra di dialogo. Man mano che ciascuna di queste condizioni viene specificata o modificata, il contenuto della query corrispondente viene aggiornato e visualizzato nella sezione destra della finestra di dialogo. Se questa finestra di dialogo viene quindi chiusa facendo clic sul pulsante OK (o Apply), la query associata verrà applicata oppure il suo contenuto verrà ricopiato nel pannello Filter (a seconda di come questa finestra di dialogo è stata inizialmente richiamata).
La finestra di dialogo Query Builder può essere avviata dai seguenti punti (come mostrato nell'immagine sotto):
-
Dal pannello PCB Filter, fare clic sul pulsante Query Builder per creare una query e caricare la stringa nel pannello.
-
Dalla finestra di dialogo PCB Rules and Constraints Editor dialog, fare clic sul pulsante Builder per creare una query che definisce a quali oggetti si applica questa regola.
Quando si accede alla finestra di dialogo Query Builder dalla finestra di dialogo PCB Rules and Constraints Editor, verranno visualizzate solo le opzioni adatte a quel tipo di regola.
L'immagine seguente mostra la finestra di dialogo Query Builder utilizzata per creare una query che si rivolge sia ai pad sia alle via sulla net 5V.

La finestra di dialogo Query Builder
Options and Controls of the Query Builder Dialog
-
Show All Levels - utilizzare l'elenco a discesa per controllare la visualizzazione dei livelli nella stringa strutturata delle condizioni. In pratica, questo espande/comprime la visualizzazione delle parentesi. L'aggiunta di parentesi crea un nuovo livello ed è possibile visualizzare i livelli da 1 a 5. In alternativa, fare clic sui simboli di espansione (
) o compressione (
) per mostrare i livelli successivi o nascondere il livello corrente (e tutti i livelli sottostanti), rispettivamente.
-
- utilizzare per rimuovere le parentesi attorno alla condizione attualmente selezionata (riducendo il rientro). Ciò consente di creare una precedenza per determinate condizioni logicamente in AND o logicamente in OR.
-
- utilizzare per aggiungere parentesi attorno alla condizione attualmente selezionata (aumentando il rientro). Ciò consente di creare una precedenza per determinate condizioni logicamente in AND o logicamente in OR.
-
- per spostare verso l'alto una condizione selezionata nella stringa di query in costruzione. Per una condizione che ha sottolivelli (cioè una condizione tra parentesi), è possibile spostare qualsiasi condizione nella struttura dei livelli. Quando i livelli sono espansi, una condizione può essere spostata verso l'alto attraverso i livelli. Quando i livelli sono compressi, una condizione verrà spostata oltre la struttura dei livelli.
-
- per spostare verso il basso una condizione selezionata nella stringa di query in costruzione. Per una condizione che ha sottolivelli (cioè una condizione tra parentesi), è possibile spostare qualsiasi condizione nella struttura dei livelli. Quando i livelli sono espansi, una condizione può essere spostata verso il basso attraverso i livelli. Quando i livelli sono compressi, una condizione verrà spostata oltre la struttura dei livelli.
-
- utilizzare per espandere i simboli e mostrare i livelli successivi.
-
- utilizzare per comprimere i simboli e nascondere il livello corrente (e tutti i livelli sottostanti).
-
- utilizzare per eliminare la condizione selezionata.
-
Condition Type/Operator - utilizzare questa area per specificare le condizioni richieste per individuare l'insieme di oggetti necessario. Inizialmente, la voce nella colonna Condition Type/Operator sarà Add first condition. Fare clic una volta su questa voce per aprire un elenco a discesa dei tipi di condizione. L'elenco dipende dal punto da cui è stata aperta la finestra di dialogo. Se si sta creando una query per una specifica regola di progettazione nella finestra di dialogo PCB Rules And Constraints Editor , l'elenco delle condizioni rifletterà solo i tipi di condizione possibili per quel particolare tipo di regola.
-
Condition Value - scegliere la prima condizione, quindi fare clic nella colonna Condition Value per accedere a un elenco a discesa dei possibili valori per quel tipo di condizione. Man mano che si definisce una condizione, un'anteprima della query attualmente costruita viene mostrata nell'area Query Preview.
-
Aggiungere ulteriori condizioni per restringere l'insieme di oggetti di progettazione di destinazione secondo necessità. Le condizioni possono essere combinate con AND o OR. L'operatore logico predefinito è AND.
-
Per modificare l'operatore logico tra le condizioni, fare clic sulla voce AND o OR nella colonna Condition Type/Operator , quindi selezionare l'operatore richiesto. L'anteprima della query verrà aggiornata di conseguenza.
-
La finestra di dialogo Query Builder (Building Query from Board ) è un metodo più semplice per costruire una query utilizzando tipi di condizione e valori sensibili che consentono di costruire solo con 'blocchi' pertinenti. Per la costruzione avanzata di query con specifica completa delle parole chiave e sintassi degli operatori utilizzare la finestra di dialogo Query Helper.
-
È possibile modificare qualsiasi condizione nella stringa di query in qualsiasi momento facendo clic sulla voce relativa a quella condizione nella colonna Condition Type/Operator , quindi scegliendo la nuova condizione richiesta tra le voci disponibili nell'elenco a discesa. L'anteprima della query verrà aggiornata di conseguenza.
-
Utilizzare le scorciatoie da tastiera Ctrl+Up Arrow e Ctrl+Down Arrow per spostare la voce della condizione selezionata verso l'alto o verso il basso nella struttura.
-
Utilizzare le scorciatoie da tastiera Ctrl+Right Arrow e Ctrl+Left Arrow per aumentare o diminuire il rientro nella posizione selezionata della struttura (aggiungere/rimuovere parentesi).
Il Query Helper
Il passaggio successivo nello sviluppo delle proprie competenze di scrittura delle query consiste nell'utilizzare la finestra di dialogo Query Helper . La finestra di dialogo Query Helper include una casella Query in cui è possibile inserire la query desiderata, utilizzando anche i pulsanti di sintassi sotto il campo Query (ad esempio, And, Or, <, Not, Like, ecc.) nonché un elenco completo di tutte le parole chiave delle query nel campo Categories .
La finestra di dialogo 'Query Helper' fornisce assistenza ai progettisti che desiderano specificare le proprie query. Per ogni parola chiave elencata viene fornita una breve descrizione, ma è possibile accedere alla guida online premendo il tasto F1 mentre una parola chiave è evidenziata. Questo richiama la finestra di dialogo Altium Designer Documentation Library, che fornisce dettagli su quali oggetti all'interno di un documento vengono restituiti dalla parola chiave evidenziata, su come utilizzare tale parola chiave e su uno o più esempi del suo utilizzo.
È possibile accedere alla finestra di dialogo nei seguenti modi:
-
Fare clic sul pulsante Helper nel pannello Filter .
PCB Filter accesso dal pannello
SCH Filter accesso dal pannello
-
Nella finestra di dialogo File-based Libraries Search dialog (a cui si accede facendo clic su
nell'angolo superiore destro del pannello Components panel, quindi scegliendo File-based Libraries Search dal menu a discesa), fare clic sul pulsante Helper .
Il pulsante Helper è disponibile dopo aver fatto clic su Advanced nella finestra di dialogo File-based Libraries Search.
File-based Libraries Searchaccesso alla finestra di dialogo
Usa la sezione Query nella parte superiore della finestra di dialogo per comporre un’espressione di query, utilizzando le funzioni disponibili. Nella casella di testo puoi rivedere e/o modificare ulteriormente l’espressione di ricerca. Digita direttamente nella casella di testo per modificare l’espressione di ricerca. Per cercare parole chiave specifiche da aggiungere, inizia a digitare. Mentre digiti, la finestra di dialogo offrirà un menu a discesa con le parole chiave disponibili che corrispondono al testo che hai scritto finora. Fai clic su una parola chiave per completare automaticamente la digitazione della selezione. Se la parola chiave desiderata è evidenziata, premendo Enter verrà completata automaticamente anche la selezione.
Sfoglia l’elenco Categories delle parole chiave disponibili per trovare quella desiderata. Usa il campo Mask se non sei sicuro di quale sia la parola chiave esatta. Ad esempio, nel Query Helper dell’editor schematico, inserendo *har nel campo Mask verranno trovate parole chiave che si applicano specificamente agli harness, come mostrato nell’immagine seguente. Nota che il campo Mask funziona sia sul campo Name della parola chiave sia sul campo Description , quindi può essere il modo più rapido per trovare possibili parole chiave.
Se premi F1 quando una parola chiave è evidenziata o il cursore si trova all’interno di una parola chiave che hai inserito, si aprirà la documentazione relativa a quella parola chiave. Questa è la risorsa più utile per apprendere il comportamento di base di ciascuna parola chiave di query.
Fai doppio clic su una parola chiave nella griglia per aggiungerla alla query nella posizione corrente del cursore.
La regione centrale della finestra di dialogo include pulsanti di sintassi che forniscono una gamma di operatori da usare durante la costruzione di un’espressione. Per ulteriori informazioni sulla funzione specifica di ciascun pulsante di sintassi, visita la sezione Logical Query Expression Operators qui sotto. Usa il pulsante Check Syntax (in basso a sinistra nella finestra di dialogo) per verificare che un’espressione sia sintatticamente corretta.
Query storiche
Quando inserisci e applichi una nuova query da un pannello filtro (SCH Filter / SCHLIB Filter, PCB Filter / PCBLIB Filter), questa verrà aggiunta a un elenco della cronologia delle query. Fai clic sul pulsante History nel pannello per accedere a questo elenco. Si apre la finestra di dialogo Expression Manager con la scheda History attiva.
La scheda History della finestra di dialogo Expression Manager fornisce un elenco delle espressioni di query usate in passato. Qui viene mostrato un esempio di query storiche per lo Schematic . Passa il mouse sopra l’immagine per vedere un elenco di esempio simile per il PCB.
Per usare una query storica dall’elenco, seleziona la relativa voce e fai clic sul pulsante Apply Expression oppure fai doppio clic direttamente sulla voce. La finestra di dialogo si chiuderà e l’espressione della query verrà caricata nella regione centrale del pannello filtro pertinente.
Una query storica può essere aggiunta all’elenco delle query preferite selezionando la relativa voce e facendo clic sul pulsante Add To Favorites. Usa il pulsante Clear History se vuoi “svuotare” l’elenco della cronologia.
Fino a nove delle espressioni di query usate più di recente dall’elenco saranno disponibili per l’uso dal sottomenu History accessibile con il clic destro del pannello filtro.
Nota che il contenuto dell’elenco History è comune ai pannelli filtro in un dominio di progettazione (ed è accessibile da essi) (SCH Filter / SCHLIB Filter nel dominio di modifica Schematic; PCB Filter / PCBLIB Filter nel dominio di modifica PCB). Alcune espressioni di query potrebbero non restituire risultati quando vengono usate nello Schematic Editor, soprattutto se sono state create per individuare oggetti disponibili solo nello Schematic Library Editor.
Query preferite
Qualsiasi query definita può essere aggiunta a un elenco di query preferite in due modi:
-
Fai clic sul pulsante Add To Favorites oppure fai clic con il pulsante destro nella regione principale Query Expression e scegli il comando Add to Favorites dal menu contestuale per aggiungere l’espressione di query attualmente definita nella regione centrale del pannello filtro attivo.
-
Seleziona una voce di query storica nella scheda History della finestra di dialogo Expression Manager, quindi fai clic sul pulsante Add To Favorites.
Le espressioni di query preferite vengono memorizzate e gestite dalla scheda Favorites della finestra di dialogo Expression Manager. È possibile accedervi usando il pulsante Favorites su un pannello filtro (SCH Filter / SCHLIB Filter, PCB Filter / PCBLIB Filter) oppure facendo clic con il pulsante destro nella regione principale Query Expression di un pannello filtro e scegliendo il comando Organize Favorites dal menu contestuale. Dallo spazio di progettazione, è possibile accedere alla finestra di dialogo usando il tasto di scelta rapida Y, quindi selezionando Organize Favorites dal menu popup di filtro.
Accedi a un elenco delle tue query preferite dal pannello filtro dell’editor o dallo spazio di progettazione, usando il menu popup di filtro.
Quando un’espressione di query viene aggiunta all’elenco Favorites , le viene assegnato un nome univoco. Per impostazione predefinita, viene assegnato un nome generico - Favorite_n - dove n è il numero successivo disponibile non ancora usato. Il nome di una voce può essere modificato in qualsiasi momento usando uno dei seguenti metodi:
-
Selezionando la voce della query e facendo clic sul pulsante Rename.
-
Selezionando la voce della query e scegliendo il comando Edit dal menu del clic destro.
-
Selezionando la voce della query e facendo poi nuovamente clic all’interno del campo Name.
In ogni caso, digita il nuovo nome come richiesto, quindi fai clic fuori dal campo Name per applicare la modifica.
Per modificare un’espressione di query preferita, seleziona la relativa voce nell’elenco, quindi fai clic sul pulsante Edit (oppure fai clic con il pulsante destro e scegli Edit dal menu contestuale). Si aprirà la finestra di dialogo Edit Favorite. Usa la finestra di dialogo per modificare il nome del preferito, cambiare l’espressione stessa e anche determinare come vengono gestiti gli oggetti di progetto (sia quelli che superano il filtro sia quelli che non lo superano).
Modifica una query preferita esistente usando la finestra di dialogo Edit Favorite, mostrata qui per Schematic (a sinistra) e PCB (a destra).
Per rimuovere una query dall’elenco Favorites , seleziona la relativa voce nell’elenco, quindi fai clic sul pulsante Remove oppure scegli il comando Remove dal menu del clic destro. Apparirà una finestra di dialogo che richiede la conferma della rimozione.
Nota che il contenuto dell’elenco Favorites è comune ai pannelli filtro in un dominio di progettazione (ed è accessibile da essi) (SCH Filter / SCHLIB Filter nel dominio di modifica Schematic; PCB Filter / PCBLIB Filter nel dominio di modifica PCB). Alcune espressioni di query potrebbero non restituire risultati quando vengono usate nello Schematic Editor, soprattutto se sono state create per individuare oggetti disponibili solo nello Schematic Library Editor.
Uso delle query preferite
Esistono tre modi per usare le tue query preferite:
-
Dalla scheda Favorites della finestra di dialogo Expression Manager - seleziona la relativa voce e fai clic sul pulsante Apply Expression oppure fai doppio clic sulla voce stessa. La finestra di dialogo si chiuderà e l’espressione della query verrà caricata nella regione centrale del pannello filtro pertinente.
-
Dalla parte superiore del menu del clic destro del pannello filtro (sono disponibili fino a dieci delle espressioni di query aggiunte più di recente all’elenco Favorites ).
-
Dal menu popup di filtro dello spazio di progettazione (premi Y) - fino a dieci espressioni di query preferite sono elencate nella parte superiore del menu. L’espressione di query scelta verrà caricata nella regione centrale del pannello filtro pertinente.
Puoi anche definire un tasto di scelta rapida per un preferito personalizzando il menu Filter. Per ulteriori informazioni sulla personalizzazione dell’ambiente Altium Designer, vedi
Configuring and Customizing Altium Designer.
Uso degli esempi preconfezionati
Sia gli editor schematici sia quelli PCB includono un insieme di query di esempio preconfezionate. Questi esempi sono disponibili dal menu di filtro, accessibile facendo clic con il pulsante destro nella regione dell’espressione del pannello filtro oppure usando il tasto di scelta rapida Y nello spazio di progettazione. Passa il mouse su Examples per visualizzare il sottomenu.
Quando selezioni una voce nel sottomenu, viene applicata la query associata a quel filtro. Per visualizzare la query effettiva dietro uno degli esempi, guarda nell’elenco History dopo averla applicata. Puoi anche accedere a questo elenco nel menu popup di filtro.
Per cancellare il filtro, premi
Shift+C nello spazio di progettazione oppure fai clic con il pulsante destro nello spazio di progettazione e seleziona il comando
Clear Filter nel menu contestuale.
Strumenti per la creazione di query
Forse il modo più semplice per scrivere una query è lasciare che Altium Designer la scriva per te! Puoi farlo usando la finestra di dialogo Find Similar Objects oppure la finestra di dialogo Query Builder .
Finestra di dialogo Find Similar Objects
Quando usi la finestra di dialogo Find Similar Objects dialog, questa genera una query per trovare gli oggetti richiesti. Se l’opzione Create Expression è abilitata, tale query verrà visualizzata nel pannello Filter . Questa è una tecnica eccellente per imparare diverse parole chiave di query.
La finestra di dialogo Find Similar Objects si apre quando fai clic con il pulsante destro su qualsiasi oggetto non mascherato nel documento di progetto e poi selezioni Find Similar Objects dal menu contestuale.
Immagine a sinistra: versione PCB; immagine a destra: versione SCH
Questa finestra di dialogo consente di trovare oggetti simili a quello su cui si è fatto clic con il pulsante destro del mouse, quindi di definire quali attributi dell'oggetto devono essere uguali (o diversi) per ottenere una corrispondenza. Supponiamo di voler modificare tutti i pad GND nel progetto. È possibile fare clic con il pulsante destro del mouse su uno di questi pad, scegliere Find Similar Objects, quindi modificare il campo Net da Any (impostazione predefinita) a Same. Tutti i pad GND verranno selezionati quando si fa clic su Apply nella finestra di dialogo. Se l'opzione Create Expression è abilitata, nel pannello Filter verrà visualizzata la seguente query: (ObjectKind = 'Pad') And (Net = 'GND').
Come esempio da uno schema, è possibile modificare la proprietà Color di tutti gli Oggetti di alimentazione che hanno una determinata proprietà Text (ad esempio 'GND') all'interno di un documento assegnandole lo stesso valore. Ad esempio, da un PCB, è possibile modificare la proprietà Hole Size di tutte le via che hanno una determinata proprietà Via Diameter all'interno di un documento assegnandole lo stesso valore.
Opzione Clear Existing
Abilitare l'opzione Clear Existing per cancellare qualsiasi selezione esistente o maschera di modifica prima di applicare la ricerca. Disabilitare questa opzione se si stanno eseguendo ricerche successive e si desidera che i risultati si accumulino.
Barra degli strumenti Filter
Filter Toolbar è disponibile per i documenti PCB e consente di mascherare tutti gli oggetti all'interno di un documento tranne quelli che hanno una proprietà specificata, oppure quelli che fanno parte di un componente specificato. Il campo più a destra della barra degli strumenti viene utilizzato per specificare il contenuto di una query. È possibile immettere la query nel campo oppure utilizzare il menu a discesa per selezionare tra le query recenti (una presente nell'elenco History delle query). Non è possibile specificare quali opzioni utilizzare quando le query vengono applicate da Filter Toolbar e, in tutti i casi, qualsiasi query precedente viene cancellata e vengono quindi utilizzate le opzioni Mask e Zoom con la query corrente. Per utilizzare le opzioni di query, usare il pannello Filter , la finestra di dialogo Query Builder, la finestra di dialogo Query Helper o la finestra di dialogo Find Similar Objects .
-
Se la scheda non è sbrogliata, le connessioni logiche associate alla net scelta diventeranno visibili quando viene applicato il filtro. Se la scheda è sbrogliata, la traccia instradata associata alla net scelta diventerà visibile quando viene applicato il filtro.
-
Con la mascheratura applicata, tutti gli oggetti non compresi nell'ambito del filtro non saranno disponibili per la selezione/modifica. L'entità della mascheratura applicata può essere regolata manualmente utilizzando la barra di scorrimento Masked Objects, accessibile nella sezione Mask and Dim Settings nella scheda View Options del pannello View Configuration.
-
È possibile cancellare manualmente un filtro esistente (e applicato) in qualsiasi momento utilizzando la scorciatoia da tastiera Shift+C o facendo clic sul pulsante
nella barra degli strumenti Filter .
Operatori delle espressioni di query logiche
Di seguito è riportato un riepilogo degli operatori che possono essere utilizzati quando si definiscono espressioni di query logiche con il linguaggio di query.
Operatori aritmetici
| Operatore |
Descrizione |
Esempio |
| + |
Operatore di addizione |
NetPinCount + NetViaCount |
| - |
Operatore di sottrazione |
ArcStopAngle - ArcStartAngle |
| * |
Operatore di moltiplicazione |
PadXSize_BottomLayer * PadYSize_BottomLayer |
| / |
Operatore di divisione |
HoleDiameter / ViaDiameter |
| Div |
Operatore di divisione intera |
Color Div 65536
Questo calcola Color diviso per 65536 e la parte frazionaria del risultato viene scartata |
| Mod |
Operatore modulo |
Color Mod 256
Questo calcola il resto quando Color viene diviso per 256, senza determinare la parte frazionaria del risultato |
Operatori logici
| Operatore |
Descrizione |
Esempio |
| And |
Operatore logico AND |
IsPad And OnMultiLayer
Per essere restituito, un oggetto deve essere un pad e trovarsi sul layer Multi-Layer |
| && |
Operatore logico AND
(precedenza inferiore) |
IsPad && OnMultiLayer
Per essere restituito, un oggetto deve essere un pad e trovarsi sul layer Multi-Layer |
| Or |
Operatore logico OR |
IsPad Or IsVia
Per essere restituito, un oggetto deve essere un pad oppure una via |
| || |
Operatore logico OR
(precedenza inferiore) |
IsPad || IsVia
Per essere restituito, un oggetto deve essere un pad oppure una via |
| Xor |
Operatore logico OR esclusivo |
OnMultiLayer Xor (HoleDiameter <> 0)
Per essere restituito, un oggetto deve trovarsi sul layer Multi-Layer e avere un Hole Diameter pari a zero, oppure non
trovarsi sul layer Multi-Layer e avere un Hole Diameter diverso da zero. |
| Not |
Operatore logico NOT |
Not OnMultiLayer
Per essere restituito, un oggetto non deve trovarsi sul layer Multi-Layer |
Quando si utilizza l'operatore Not nelle espressioni di query nell'editor PCB per escludere primitive di un tipo specifico, tenere presente che queste primitive non verranno escluse se fanno parte di oggetti di gruppo e tali oggetti di gruppo non sono anch'essi esclusi dall'espressione. Ad esempio, l'espressione di query Not IsPad restituisce tutti gli oggetti tranne i pad liberi, ma restituisce gli oggetti componente che potrebbero includere pad, quindi i pad nei componenti verranno restituiti da questa espressione. Inoltre, i pad potrebbero essere inclusi nelle net, che nell'editor PCB sono anch'esse considerate oggetti di gruppo. Per escludere tutti gli oggetti pad, è necessario utilizzare l'espressione di query Not IsPad And Not IsComponent And Not IsNet.
Operatori di confronto
| Operatore |
Descrizione |
Esempio |
| < |
Operatore minore di |
HoleDiameter < 40
Per essere restituito, un oggetto deve avere un Hole Diameter inferiore a 40 |
| <= |
Operatore minore o uguale a |
HoleDiameter <= 40
Per essere restituito, un oggetto deve avere un Hole Diameter inferiore o uguale a 40 |
| >= |
Operatore maggiore o uguale a |
HoleDiameter >= 40
Per essere restituito, un oggetto deve avere un Hole Diameter maggiore o uguale a 40 |
| > |
Operatore maggiore di |
HoleDiameter > 40
Per essere restituito, un oggetto deve avere un Hole Diameter maggiore di 40 |
| <> |
Operatore diverso da |
HoleDiameter <> 40
Per essere restituito, un oggetto deve avere un Hole Diameter diverso da 40 |
| = |
Operatore uguale a |
HoleDiameter = 40
Per essere restituito, un oggetto deve avere un Hole Diameter uguale a 40 |
| Between...And... |
Operatore di intervallo inclusivo |
HoleDiameter Between 30 And 50
Per essere restituito, un oggetto deve avere un Hole Diameter maggiore o uguale a 30 e
minore o uguale a 50. |
| Like |
Operatore Like |
Name Like 'ADDR?*'
Questo restituisce gli oggetti che hanno una proprietà Name la cui stringa associata (testo) inizia con ADDR e
contiene almeno un altro carattere |
Caratteri jolly
I caratteri jolly consentono di fornire stringhe non specificate esattamente. Questi caratteri vengono in genere utilizzati insieme ad altri caratteri, ottenendo così stringhe specificate solo parzialmente. Alcune parole chiave eccezionali possono accettare parametri stringa non specificati esattamente, ma per la maggior parte dei casi le stringhe possono contenere caratteri jolly solo quando vengono confrontate tramite l'operatore Like.
| Operatore |
Descrizione |
Esempio |
| ? |
Può essere sostituito da un singolo carattere di qualsiasi tipo |
Footprint Like 'DIP1?'
Questo restituisce gli oggetti che hanno una proprietà Footprint pari a DIP10, oppure DIP12, oppure DIP14, ecc. |
| * |
Può essere sostituito da un numero qualsiasi di caratteri, ciascuno dei quali può essere di qualsiasi tipo |
Footprint Like 'SIP*'
Questo restituisce gli oggetti che hanno una proprietà Footprint pari a SIP1, oppure SIP12, oppure SIP216, ecc. (Vengono restituiti anche tutti gli oggetti che hanno una proprietà Footprint pari a SIP, perché '*' può anche essere sostituito da no caratteri) |
Stringhe booleane
| Operatore |
Descrizione |
Esempio |
| True |
Conferma il significato di una parola chiave |
IsPad = True
Per essere restituito, un oggetto deve essere un pad |
| False |
Nega il significato di una parola chiave |
IsVia = False
Per essere restituito, un oggetto non deve essere una via |
Parentesi tonde e ordine di precedenza
Vale la pena esaminare l'ordine di precedenza in vigore per gli operatori utilizzati nelle espressioni di query logiche. Dopotutto, senza questa conoscenza, un'espressione potrebbe non individuare gli oggetti richiesti.
Le parentesi tonde hanno la precedenza più alta all'interno dell'ordine di precedenza definito per i vari operatori, che determina il modo in cui le query vengono interpretate dal software (quando l'utente non ha fornito parentesi tonde). La sequenza di questo ordine, dalla precedenza più alta alla più bassa, è la seguente:
-
Parentesi tonde ()
-
Not
-
^, *, /, Div, Mod, And
-
+, -, Or, Xor
-
=, <>, <, >, <=, >=
-
&&, ||
Questo ordine di precedenza è simile a quello utilizzato nei linguaggi di tipo Pascal. Le ambiguità vengono risolte procedendo da sinistra a destra. Le parentesi tonde vengono valutate dall'interno verso l'esterno e i livelli uguali vengono valutati da sinistra a destra.
Si consiglia vivamente di utilizzare le parentesi tonde ogni volta che esiste anche la minima possibilità che la query non venga interpretata correttamente. Un uso generoso delle parentesi tonde elimina i dubbi e rende le query risultanti più facili da leggere per gli altri.
Funzioni di query globali del sistema

Funzioni di query globali del sistema mostrate nella finestra di dialogo Query Helper
Questa sezione descrive in dettaglio le parole chiave del linguaggio di query disponibili nei documenti schematici, PCB e di libreria in Altium Designer. Per assistenza su una specifica parola chiave di query, utilizzare le seguenti sezioni comprimibili oppure evidenziare (o fare clic all'interno di) una determinata parola chiave - nel Query Helper, in un pannello Filter o nel campo Query di una regola di progettazione PCB - e premere F1 per accedere immediatamente alla relativa sezione.
Per i dettagli sulle parole chiave del linguaggio di query disponibili in editor e strumenti specifici di Altium Designer, fare riferimento alle seguenti pagine:
Funzioni aritmetiche
ABS
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore assoluto del valore numerico del parametro. Se tale valore numerico è positivo, il numero restituito ha lo stesso valore; altrimenti il numero restituito è uguale al valore numerico del parametro moltiplicato per -1.
Sintassi
ABS(X : Number / Numeric_String) : Number
Esempio di utilizzo
ABS(2.3)
Restituisce 2.3.
ABS(-7.2)
Restituisce 7.2.
CEIL
Riepilogo
Restituisce un numero intero il cui valore dipende dalla natura del valore numerico del parametro. Se tale valore numerico è un intero esatto, il numero restituito ha esattamente lo stesso valore; altrimenti il numero restituito è il più piccolo intero maggiore del valore numerico del parametro.
Sintassi
CEIL(X : Number / Numeric_String) : Number
Esempio di utilizzo
CEIL(5.0)
Restituisce 5.
CEIL(5.33)
Restituisce 6.
CEIL(-5.0)
Restituisce -5.
CEIL(-5.33)
Restituisce -5.
FLOOR
Riepilogo
Restituisce un numero intero il cui valore dipende dalla natura del valore numerico del parametro. Se tale valore numerico è un intero esatto, il numero restituito ha esattamente lo stesso valore; altrimenti il numero restituito è il più grande intero minore del valore numerico del parametro.
Sintassi
FLOOR(X : Number / Numeric_String) : Number
Esempio di utilizzo
FLOOR(5.0)
Restituisce 5.
FLOOR(5.33)
Restituisce 5.
FLOOR(-5.0)
Restituisce -5.
FLOOR(-5.33)
Restituisce -6.
FRAC
Riepilogo
Restituisce un numero (reale), il cui valore dipende dalla natura del valore numerico del parametro:
-
Se tale valore numerico è positivo ma non è un intero esatto, il numero restituito è la differenza tra il valore numerico del parametro e il più grande intero minore del valore numerico del parametro.
-
Se tale valore numerico è negativo ma non è un intero esatto, il numero restituito è la differenza tra il valore numerico del parametro e il più piccolo intero maggiore del valore numerico del parametro.
-
Se il valore numerico del parametro è un intero esatto, il numero restituito è 0.
Sintassi
FRAC(X : Number / Numeric_String) : Number
Esempio di utilizzo
FRAC(5.0)
Restituisce 0.
FRAC(5.33)
Restituisce 0.33.
FRAC(-5.0)
Restituisce 0.
FRAC(-5.33)
Restituisce -0.33.
IIF
Riepilogo
Si tratta di una costruzione per scopi speciali che contiene tre query. Viene valutato il valore della prima query (tra la parentesi di apertura e la prima virgola). Se è True, viene restituita la seconda query (tra le virgole); altrimenti viene restituita la terza query (tra la seconda virgola e la parentesi di chiusura).
Questa parola chiave è concettualmente simile ai costrutti "If ... Then ... Else ..." forniti da molti linguaggi di programmazione.
Sintassi
IIF(L : Boolean Query , A : Query , B : Query)
L, A e B sono tutte stringhe che specificano ciascuna una Query; L deve essere una Query booleana (cioè di natura tale da restituire un risultato True o False).
IIF(L,A,B) ha un risultato identico alla Query composta da ((L = True) And A) Or ((L = False) And B). In quanto tale, è particolarmente utile quando L è di natura complessa, poiché deve essere specificata una sola volta.
Esempio di utilizzo
IsArc And IIF(ArcStopAngle - ArcStartAngle >= 0 , ArcStopAngle - ArcStartAngle Between 30 And 60 , ArcStartAngle - ArcStopAngle Between 300 And 330)
Restituisce tutti gli archi che hanno una lunghezza dell'arco maggiore o uguale a 30 gradi e minore o uguale a 60 gradi. (La proprietà di lunghezza dell'arco di un arco è un angolo determinato sottraendo la proprietà Start Angle dalla proprietà Stop Angle. Un aspetto complicante è che è possibile che la proprietà Stop Angle di un arco sia inferiore alla proprietà Start Angle, ma questa Query valuta correttamente la reale proprietà di lunghezza dell'arco per tutti i possibili oggetti arco.)
IsComponent And IIF(Layer = 'Top Layer' , Rotation <> 0 , Rotation <> 180)
Restituisce tutti i componenti che si trovano sul lato superiore del PCB la cui proprietà Rotation non è 0 gradi, e tutti i componenti che si trovano sul lato inferiore del PCB la cui proprietà Rotation non è 180 gradi. (Gli oggetti componente possono risiedere solo sul layer di segnale Top o Bottom, quindi qualsiasi componente che non si trovi sul layer di segnale Top deve necessariamente trovarsi invece sul layer di segnale Bottom.)
INT
Riepilogo
Restituisce un numero intero il cui valore dipende dalla natura del valore numerico del parametro:
-
Se tale valore numerico è positivo ma non è un intero esatto, il numero restituito è il più grande intero minore del valore numerico del parametro.
-
Se tale valore numerico è negativo ma non è un intero esatto, il numero restituito è il più piccolo intero maggiore del valore numerico del parametro.
-
Se tale valore numerico è un intero esatto, il numero restituito ha esattamente lo stesso valore.
Sintassi
INT(X : Number / Numeric_String) : Number
Esempio di utilizzo
INT(5.0)
Restituisce 5.
INT(5.33)
Restituisce 5.
INT(-5.0)
Restituisce -5.
INT(-5.33)
Restituisce -5.
Suggerimenti
Questo è un alias per la funzione aritmetica TRUNC.
MAX
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore massimo di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica, e può essere fornito un numero qualsiasi di parametri.
Sintassi
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
MAX(2)
Restituisce 2.
MAX(7,2,3)
Restituisce 7.
Suggerimenti
Deve essere fornito almeno un parametro.
MIN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore minimo di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica, e può essere fornito un numero qualsiasi di parametri.
Sintassi
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
MIN(2)
Restituisce 2.
MIN(7,2,3)
Restituisce 2.
Suggerimenti
Deve essere fornito almeno un parametro.
POWER
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore numerico del primo parametro elevato alla potenza del valore numerico del secondo parametro.
Sintassi
POWER(X : Number / Numeric_String , Y : Number / Numeric_String) : Number
Esempio di utilizzo
POWER(3,2)
Restituisce 9.
POWER(32,0.2)
Restituisce 2.
POWER(16,-0.5)
Restituisce 0.25.
ROUND
Riepilogo
Restituisce un numero intero il cui valore dipende dalla natura del valore numerico del parametro:
-
Se tale valore numerico è un intero esatto, il numero restituito ha esattamente lo stesso valore.
-
Se tale valore numerico non è un intero esatto, il numero restituito è l'intero più vicino al valore numerico del parametro. I numeri positivi che si trovano esattamente a metà tra due interi adiacenti vengono arrotondati upwards, mentre i numeri negativi che si trovano esattamente a metà tra due interi adiacenti vengono arrotondati downwards.
Sintassi
ROUND(X : Number / Numeric_String) : Number
Esempio di utilizzo
ROUND(5.0)
Restituisce 5.
ROUND(5.33)
Restituisce 5.
ROUND(5.5)
Restituisce 6 (Arrotondato per eccesso).
ROUND(5.66)
Restituisce 6.
ROUND(-5.0)
Restituisce -5.
ROUND(-5.33)
Restituisce -5.
ROUND(-5.5)
Restituisce -6 (Arrotondato per difetto).
ROUND(-5.66)
Restituisce -6.
SIGN
Riepilogo
Restituisce il valore del segno del parametro fornito. Vale a dire, restituisce un numero intero il cui valore dipende dalla natura del valore numerico del parametro:
-
Se tale valore numerico è positivo, il numero restituito è 1.
-
Se tale valore numerico è negativo, il numero restituito è -1.
-
Se tale valore numerico è esattamente zero, il numero restituito è 0.
Sintassi
SIGN(X : Number / Numeric_String) : Number
Esempio di utilizzo
SIGN(5.33)
Restituisce 1.
SIGN(-5.33)
Restituisce -1.
SIGN(0)
Restituisce 0.
SQR
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al quadrato del valore numerico del parametro.
Sintassi
SQR(X : Number / Numeric_String) : Number
Esempio di utilizzo
SQR(2)
Restituisce 4.
SQR(14.1)
Restituisce 198.81.
SQR(-1.5)
Restituisce 2.25.
SQRT
Riepilogo
Restituisce un numero (reale) il cui valore è uguale alla radice quadrata (positiva) del valore numerico del parametro.
Syntax
SQRT(X : Number / Numeric_String) : Number
Esempio di utilizzo
SQRT(4)
Restituisce 2.
SQRT(10)
Restituisce 3.1623.
TRUNC
Riepilogo
Restituisce un numero intero, il cui valore dipende dalla natura del valore numerico del parametro:
-
Se tale valore numerico è positivo ma non è un intero esatto, il numero restituito è il più grande intero che sia inferiore al valore numerico del parametro.
-
Se tale valore numerico è negativo ma non è un intero esatto, il numero restituito è il più piccolo intero che sia maggiore del valore numerico del parametro.
-
Se tale valore numerico è un intero esatto, il numero restituito ha esattamente lo stesso valore.
Syntax
TRUNC(X : Number / Numeric_String) : Number
Esempio di utilizzo
TRUNC(5.0)
Restituisce 5.
TRUNC(5.33)
Restituisce 5.
TRUNC(-5.0)
Restituisce -5.
TRUNC(-5.33)
Restituisce -5.
Suggerimenti
Questo è un alias per la funzione aritmetica INT.
ZERO
Riepilogo
Restituisce un numero intero il cui valore è 0 oppure 1, a seconda del valore numerico del parametro. Se tale valore numerico è zero, il numero restituito è 0; altrimenti il numero restituito è 1.
Syntax
ZERO(X : Number / Numeric_String) : Number
Esempio di utilizzo
ZERO(5.33)
Restituisce 1.
ZERO(-5.33)
Restituisce 1.
ZERO(0)
Restituisce 0.
Funzioni trigonometriche
ACOS
Riepilogo
Restituisce un numero (reale) il cui valore è uguale all'angolo dell'arcocoseno del numero specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
ACOS(X : Number / Numeric_String) : Number
Esempio di utilizzo
ACOS(0)
Restituisce 1.5708.
ACOS(0.5)
Restituisce 1.0472.
ACOS(1)
Restituisce 0.
ASIN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale all'angolo dell'arcoseno del numero specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
ASIN(X : Number / Numeric_String) : Number
Esempio di utilizzo
ASIN(0)
Restituisce 0.
ASIN(0.5)
Restituisce 0.5236.
ASIN(1)
Restituisce 1.5708.
ATAN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale all'angolo dell'arcotangente del numero specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
ATAN(X : Number / Numeric_String) : Number
Esempio di utilizzo
ATAN(0)
Restituisce 0.
ATAN(1)
Restituisce 0.7854.
ATAN(2.5)
Restituisce 1.1903.
COS
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al coseno dell'angolo specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
COS(X : Number / Numeric_String) : Number
Esempio di utilizzo
COS(0)
Restituisce 1.
COS(0.8)
Restituisce 0.6967.
COS(1.57)
Restituisce 0.0008.
COSH
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al coseno iperbolico del valore numerico del parametro.
Syntax
COSH(X : Number / Numeric_String) : Number
Esempio di utilizzo
COSH(TextHeight / TextWidth) < 70.5
Restituisce gli oggetti per i quali il coseno iperbolico del rapporto tra la distanza TextHeight e la distanza TextWidth è inferiore a 70.5. (Ciò equivale a restituire gli oggetti per i quali il rapporto tra la distanza TextHeight e la distanza TextWidth è inferiore a 4.9487).
(TextHeight / TextWidth) >= COSH(2.3)
Restituisce gli oggetti per i quali il rapporto tra la distanza TextHeight e la distanza TextWidth è uguale o superiore al coseno iperbolico di 2.3 (che è 5.0372).
COTAN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale alla cotangente dell'angolo specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
COTAN(X : Number / Numeric_String) : Number
Esempio di utilizzo
COTAN(0.1)
Restituisce 9.9666.
COTAN(0.8)
Restituisce 0.9712.
COTAN(1.57)
Restituisce 0.0008.
SIN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al seno dell'angolo specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
SIN(X : Number / Numeric_String) : Number
Esempio di utilizzo
SIN(0)
Restituisce 0.
SIN(0.8)
Restituisce 0.7174.
SIN(1.57)
Restituisce 1.0.
SINH
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al seno iperbolico del valore numerico del parametro.
Syntax
SINH(X : Number / Numeric_String) : Number
Esempio di utilizzo
SINH(TextWidth / TextHeight) < 0.17
Restituisce gli oggetti per i quali il seno iperbolico del rapporto tra la distanza TextWidth e la distanza TextHeight è inferiore a 0.17. (Ciò equivale a restituire gli oggetti per i quali il rapporto tra la distanza TextWidth e la distanza TextHeight è inferiore a 0.1692).
(TextWidth / TextHeight) >= SINH(0.2)
Restituisce gli oggetti per i quali il rapporto tra la distanza TextWidth e la distanza TextHeight è uguale o superiore al seno iperbolico di 0.2 (che è 0.2013).
TAN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale alla tangente dell'angolo specificato dal valore numerico del parametro; tale angolo è espresso in radianti (e non in gradi).
Syntax
TAN(X : Number / Numeric_String) : Number)
Esempio di utilizzo
TAN(0)
Restituisce 0.
TAN(0.8)
Restituisce 1.0296.
TAN(1.57)
Restituisce 1255.7656.
TANH
Riepilogo
Restituisce un numero (reale) il cui valore è uguale alla tangente iperbolica del valore numerico del parametro.
Syntax
TANH(X : Number / Numeric_String) : Number
Esempio di utilizzo
TANH(TextWidth / TextHeight) < 0.17
Restituisce gli oggetti per i quali la tangente iperbolica del rapporto tra la distanza TextWidth e la distanza TextHeight è inferiore a 0.17. (Ciò equivale a restituire gli oggetti per i quali il rapporto tra la distanza TextWidth e la distanza TextHeight è inferiore a 0.1717).
(TextWidth / TextHeight) >= TANH(0.2)
Restituisce gli oggetti per i quali il rapporto tra la distanza TextWidth e la distanza TextHeight è uguale o superiore alla tangente iperbolica di 0.2 (che è 0.1974).
Funzioni esponenziali e logaritmiche
EXP
Riepilogo
Restituisce un numero (reale) il cui valore è uguale a e elevato alla potenza del valore numerico del parametro. (Il numero e è la base dei logaritmi naturali ed è approssimativamente uguale a 2.7183).
Syntax
EXP(X : Number / Numeric_String) : Number
Esempio di utilizzo
EXP(0)
Restituisce 1.
EXP(1)
Restituisce 2.7183.
LG
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al logaritmo in base 10 del valore numerico del parametro.
Syntax
LG(X : Number / Numeric_String) : Number
Esempio di utilizzo
LG(1)
Restituisce 0.
LG(10)
Restituisce 1.
LG(25)
Restituisce 1.3979.
LN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al logaritmo naturale (o in base e) del valore numerico del parametro. (Il numero e è 2.7183).
Syntax
LN(X : Number / Numeric_String) : Number
Esempio di utilizzo
LN(1)
Restituisce 0.
LN(2)
Restituisce 0.6931.
LN(10)
Restituisce 2.3026.
LOG
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al logaritmo in base 2 del valore numerico del parametro.
Syntax
LOG(X : Number / Numeric_String) : Number
Esempio di utilizzo
LOG(1)
Restituisce 0.
LOG(2)
Restituisce 1.
LOG(8)
Restituisce 3.
LOG(10)
Restituisce 3.3219.
Funzioni aggregate
AVG
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore medio di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica e può essere fornito un numero qualsiasi di parametri.
Syntax
AVG(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
AVG(2)
Restituisce 2.
AVG(7,2,3)
Restituisce 4.
Suggerimenti
-
Deve essere fornito almeno un parametro.
MAX
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore massimo di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica e può essere fornito un numero qualsiasi di parametri.
Syntax
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
MAX(2)
Restituisce 2.
MAX(7,2,3)
Restituisce 7.
Suggerimenti
È necessario fornire almeno un parametro.
MIN
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore minimo di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica, e può essere fornito un numero qualsiasi di parametri.
Sintassi
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
MIN(2)
Restituisce 2.
MIN(7,2,3)
Restituisce 2.
Suggerimenti
È necessario fornire almeno un parametro.
PROD
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al prodotto di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica, e può essere fornito un numero qualsiasi di parametri.
Sintassi
PROD(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
PROD(2)
Restituisce 2.
PROD(7,2,3)
Restituisce 42.
Suggerimenti
È necessario fornire almeno un parametro.
SUM
Riepilogo
Restituisce un numero (reale) il cui valore è uguale alla somma di tutti i parametri forniti. Ogni parametro deve essere un numero oppure una stringa numerica, e può essere fornito un numero qualsiasi di parametri.
Sintassi
SUM(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
Esempio di utilizzo
SUM(2)
Restituisce 2.
SUM(7,2,3)
Restituisce 12.
Suggerimenti
È necessario fornire almeno un parametro.
Funzioni di sistema
Copy
Riepilogo
Restituisce una sottostringa di una stringa. È possibile specificare quanti caratteri conterrà la sottostringa restituita e la posizione all'interno della stringa che sarà il primo carattere della sottostringa restituita.
Sintassi
Copy(S : String , Index : Integer , Count : Integer) : String
S è un'espressione di tipo stringa. Index e Count sono espressioni di tipo intero. Copy restituisce una sottostringa contenente Count caratteri a partire da S[Index].
Se Index è maggiore della lunghezza di S, Copy restituisce una stringa vuota.
Se Count specifica più caratteri di quelli disponibili, vengono restituiti solo i caratteri da S[Index] fino alla fine di S.
Esempio di utilizzo
Copy('Cats and dogs',1,1)
Restituisce 'C'. (Restituisce 1 carattere, dalla 1ª posizione all'interno della stringa).
Copy('Cats and dogs',2,1)
Restituisce 'a'. (Restituisce 1 carattere, dalla 2ª posizione all'interno della stringa).
Copy('Cats and dogs',13,1)
Restituisce 's'. (Restituisce 1 carattere, dalla 13ª posizione all'interno della stringa).
Copy('Cats and dogs',14,1)
Restituisce '' (una stringa vuota). (Restituisce 1 carattere, dalla 14ª posizione all'interno della stringa; tuttavia, nella stringa sono presenti solo 13 caratteri, quindi viene restituita una stringa vuota).
Copy('Cats and dogs',1,2)
Restituisce 'Ca'. (Restituisce 2 caratteri, a partire dalla 1ª posizione all'interno della stringa).
Copy('Cats and dogs',2,2)
Restituisce 'at'. (Restituisce 2 caratteri, a partire dalla 2ª posizione all'interno della stringa).
Copy('Cats and dogs',12,2)
Restituisce 'gs'. (Restituisce 2 caratteri, a partire dalla 12ª posizione all'interno della stringa).
Copy('Cats and dogs',13,2)
Restituisce 's'. (Restituisce 2 caratteri, a partire dalla 13ª posizione all'interno della stringa; tuttavia, nella stringa sono presenti solo 13 caratteri, quindi viene restituito solo 1 carattere).
Copy('Cats and dogs',15,2)
Restituisce '' (una stringa vuota). (Restituisce 2 caratteri, a partire dalla 15ª posizione all'interno della stringa; tuttavia, nella stringa sono presenti solo 13 caratteri, quindi viene restituita una stringa vuota).
Copy('Cats and dogs',1,6)
Restituisce 'Cats a'. (Restituisce 6 caratteri, a partire dalla 1ª posizione all'interno della stringa).
Copy('Cats and dogs',5,9)
Restituisce ' and dogs'. (Restituisce 9 caratteri, a partire dalla 5ª posizione all'interno della stringa).
Copy('Cats and dogs',8,5)
Restituisce 'd dog'. (Restituisce 5 caratteri, a partire dalla 8ª posizione all'interno della stringa).
Copy('Cats and dogs',8,6)
Restituisce 'd dogs'. (Restituisce 6 caratteri, a partire dalla 8ª posizione all'interno della stringa).
Copy('Cats and dogs',8,7)
Restituisce 'd dogs'. (Restituisce 7 caratteri, a partire dalla 8ª posizione all'interno della stringa; tuttavia, nella stringa sono presenti solo 13 caratteri, quindi vengono restituiti solo 6 caratteri).
Length
Riepilogo
Restituisce il numero di caratteri contenuti in una stringa.
Sintassi
Length(S : String) : Integer
S è la stringa di cui deve essere restituito il conteggio dei caratteri.
Esempio di utilizzo
Length(Name) Between 4 And 7
Restituisce gli oggetti che hanno una proprietà Name che contiene tra 4 e 7 caratteri.
Length('Cat')
Restituisce 3.
Length('Darryll')
Restituisce 7.
Length('Cats and dogs')
Restituisce 13.
Length('')
Restituisce 0.
Pos
Riepilogo
Restituisce il valore di indice del primo carattere in una sottostringa specificata che compare in una determinata stringa.
Sintassi
Pos(Substr : String , S : String) : Integer
Pos cerca una sottostringa, Substr, all'interno di una stringa, S. Substr e S sono espressioni di tipo stringa. Viene restituito un valore intero che corrisponde all'indice del primo carattere di Substr.
Pos distingue tra maiuscole e minuscole. Se Substr non viene trovato, Pos restituisce zero.
Esempio di utilizzo
Pos('T',Name) = 1
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata contiene per la prima volta 'T' nella sua prima posizione; 'T1' e 'Time Table' sono esempi di tali stringhe. ('T' compare due volte nella stringa 'Time Table', ma la prima occorrenza è nella sua prima posizione.)
Pos('A',Name) = 2
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata contiene per la prima volta 'A' nella sua seconda posizione; 'RA1' e 'CABLE CHART' sono esempi di tali stringhe.
Pos('B',Name) = 0
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata non contiene 'B' in alcuna posizione; 'D1' e 'Time Table' sono esempi di tali stringhe. (La stringa 'Time Table' contiene 'b' nella sua ottava posizione, ma Pos distingue tra maiuscole e minuscole.)
Pos('D',Name) > 0
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata contiene 'D' in almeno una posizione e in qualsiasi punto; 'Data Chart', 'U1D' e 'Install either D1 and D2 or D3 and D4, but never install all of these.' sono esempi di tali stringhe.
Pos('Con',Name) = 1
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata contiene per la prima volta 'Con' nella prima, seconda e terza posizione; 'Concatenate' è un esempio di tale stringa. (La prima occorrenza di 'Con' all'interno di 'Concatenate' corrisponde ai primi tre caratteri di questa; il primo carattere di 'Con' è 'C' e la sua posizione è il primo carattere di 'Concatenate'.)
Pos('ate',Name) = 5
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata contiene per la prima volta 'ate' nella quinta, sesta e settima posizione; 'Concatenate' è un esempio di tale stringa. (La prima occorrenza di 'ate' all'interno di 'Concatenate' corrisponde dal quinto al settimo carattere di questa; il primo carattere di 'ate' è 'a' e la sua posizione è il quinto carattere di 'Concatenate'.)
Pos('ate',Name) = 0
Restituisce tutti gli oggetti che hanno una proprietà Name la cui stringa associata non contiene 'ate' da nessuna parte; 'C1' e 'TIME:' sono esempi di tali stringhe.
Pred
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore numerico del parametro meno 1,0.
Sintassi
Pred(X : Number / Numeric_String) : Number
Esempio di utilizzo
Pred(4.1)
Restituisce 3.1.
Pred(41.313)
Restituisce 40.313.
Random
Riepilogo
Restituisce un numero casuale compreso tra 0 e X-1.
Sintassi
Random(X) : Number
Esempio di utilizzo
Random(10)
Restituisce un valore compreso tra 0 e 9.
Random(100)
Restituisce un valore compreso tra 0 e 99.
Succ
Riepilogo
Restituisce un numero (reale) il cui valore è uguale al valore numerico del parametro più 1,0.
Sintassi
Succ(X : Number / Numeric_String) : Number
Esempio di utilizzo
Succ(2.1)
Restituisce 3.1.
Succ(41.313)
Restituisce 42.313.