Parole chiave di confronto
Le seguenti descrizioni delle parole chiave comprendono una breve illustrazione della funzione della parola chiave, i tipi di elementi da essa influenzati (se applicabile), il tipo o i tipi di dati validi (se applicabile) e un esempio di utilizzo.
angle
La parola chiave angle consente di specificare l'angolo per i tipi di elemento cella, nodo di testo, ellisse, arco e testo. Per gli altri tipi di elemento, il valore dell'angolo è 0,0.
Tipo di dati: numero reale compreso tra 0,0 e 360,0
Esempio:
! ! Modifica il colore degli elementi ! di testo ruotati di 90 gradi. ! if ((type == text) and (angle == 90.0)) then color = 2 endif
area_fill
La parola chiave area_fill verifica se l'elemento corrente è riempito.
Tipo di dati: costante (vero o falso)
Esempio:
! ! Modifica il colore di riempimento di tutti gli elementi riempiti. ! Non alterare gli elementi non riempiti. ! if (area_fill == true) then fill_color = 10 endif
cellname
La parola chiave cellname specifica il nome della cella se l'elemento corrente è un'intestazione cella o un componente di una cella. Per i componenti annidati all'interno di una o più celle, la parola chiave cellname specifica il nome della cella più esterna a meno che il componente sia un'intestazione cella annidata. In questo caso, la parola chiave cellname è il nome della cella annidata. Se l'elemento corrente non è un'intestazione cella o un componente di una cella, il valore per cellname è "NO_CELL." I caratteri jolly possono essere utilizzati nei confronti tra stringhe di uguaglianza o di disuguaglianza.
Tipo di dati: stringa
Esempio:
! ! Modifica il colore di tutti i componenti della cella ! denominati "border." ! if (cellname == "border") then color = (200,200,200) endif
characters
La parola chiave characters consente di sostituire una stringa in un elemento di testo con una nuova stringa. I caratteri jolly possono essere utilizzati nei confronti tra stringhe di uguaglianza o di disuguaglianza.
Tipo di dati: stringa
Esempio 1:
! !Evidenzia tutte le stringhe di testo che contengono la stringa !'School' o 'Hospital'. ! if ((type == text) and (characters =='*School*')) then color = (0,0,255) else if ((type == text) and (characters =='*Hospital*')) then color = (255,0,0) endif
Esempio 2:
! !Elimina il testo "preliminary" se esso appare nel ! file "border". ! if ((lname=="border") and (characters=="preliminary")) then ignore_element=true endif
class
La parola chiave class specifica il tipo di classe dell'elemento corrente. Ad esempio, la classe dell'elemento corrente potrebbe essere utilizzata in uno script di disegno per determinare se l'elemento corrente fa parte di una quota o di una campitura.
Tipo di dati: numero intero compreso tra da 0 a 6, o una delle seguenti costanti:
0 primary |
1 pattern_component |
2 costruzione |
3 quota |
4 primary_rule |
5 linear_pattern |
6 construction_rule |
Esempio:
! !Non plottare gli elementi di classe campitura e quota. if ((class == pattern_component) or (class == dimension)) then ignore_element = true endif
cls_end_width
La parola chiave cls_end_width verifica la larghezza finale, in unità del file di disegno principale, dello stile di linea personalizzato associato all'elemento corrente. Se l'elemento corrente non ha uno stile di linea personalizzato associato, cls_end_width è 0,0.
Tipo di dati: numero reale
Esempio:
! ! Modifica il colore di tutti gli elementi con ! uno stile di linea personalizzato la cui larghezza ! finale è maggiore di 2 unità di disegno principale. ! if (cls_end_width > 2.0) then color = 5 endif
cls_name
La parola chiave cls_name verifica il nome dello stile di linea personalizzato associato all'elemento corrente. Per gli elementi senza uno stile di linea personalizzato associato, cls_name is "NONE."
Tipo di dati: stringa
Esempio:
! ! Modifica il colore di tutti gli elementi che utilizzano lo stile. ! Assegna lo stile di linea personalizzato "origine" a tutti ! gli altri elementi. ! if (cls_name == '{ Diamond }') then color = 2 else cls_name = "origin" endif
cls_origin_width
La parola chiave cls_origin_width verifica la larghezza iniziale, in unità del file di disegno principale, dello stile di linea personalizzato associato all'elemento corrente. Se l'elemento corrente non ha uno stile di linea personalizzato associato, cls_origin_width è 0,0.
Tipo di dati: numero reale
Esempio:
! ! Modifica il colore di tutti gli elementi con ! uno stile di linea personalizzato la cui larghezza ! iniziale è maggiore di 2 unità di disegno principale. ! if (cls_origin_width > 2.0) then color = 5 endif
cls_scale
La parola chiave cls_scale verifica il fattore di scala applicato allo stile di linea personalizzato associato all'elemento corrente. Se l'elemento corrente non ha uno stile di linea personalizzato associato, cls_scale è 1.0.
Tipo di dati: numero reale
Esempio:
! ! Modifica il colore di tutti gli elementi con uno ! stile di linea personalizzato la cui scala è 2. ! if (cls_scale == 2.0) then color = 5 endif
cls_shift_distance
La parola chiave cls_shift_distance verifica la distanza di spostamento, in unità del file di disegno principale, applicata allo stile di linea personalizzato associato all'elemento corrente. Se l'elemento corrente non ha uno stile di linea personalizzato associato, cls_shift_distance è 0,0.
Tipo di dati: numero reale
Esempio:
! ! Modifica il colore di tutti gli elementi con uno ! stile di linea personalizzato la cui distanza ! di spostamento è di 0,5 unità di disegno principale. ! if (cls_shift_distance == 0.5) then color = 5 endif
cls_shift_fraction
La parola chiave cls_shift_fraction verifica la frazione di spostamento applicata allo stile di linea personalizzato associato all'elemento corrente. Se l'elemento corrente non ha uno stile di linea personalizzato associato, cls_shift_fraction è 0,0.
Tipo di dati: numero reale
Esempio:
! ! Modifica il colore di tutti gli elementi con uno ! stile di linea personalizzato la cui frazione ! di spostamento è 0,25. ! if (cls_shift_fraction == 0.25) then color = 5 endif
color
La parola chiave color indica l'indice colore dell'elemento corrente.
Tipo di dati: numero intero compreso tra 0 e 255
Esempio:
! ! Figure con riempimento dell'area con un indice colore pari a 1. ! if ((color == 1) and (type == shape)) then area_fill = true endif
envr_value
La parola chiave envr_value viene utilizzata per confrontare il valore della variabile di ambiente della definizione di stampa che viene scelta impostando la parola chiave di assegnazione envr_variable. Se la variabile non è stata impostata o se non è valida, envr_value viene impostata come stringa di lunghezza zero.
Tipo di dati: stringa
Esempio:
! !Ottenere il valore della variabile di ambiente della definizione di stampa !ARCHITECT. Trova elemento di testo con caratteri !uguali a "$Architect$" e modifica il valore del testo !a "Progettato da <nome>"" se ARCHITECT è uguale a !"Owner1" o "Owner2." In caso contrario, modifica il valore del !testo a stringa vuota. ! envr_variable = "ARCHITECT" if((type ==text) and (characters == "$ARCHITECT$")) then if (envr_value .IN. "Owner1", "Owner2") then characters = "Designed by " + envr_value else characters = "" endif endif
envr_value_num
La parola chiave envr_value_num viene utilizzata per confrontare il valore della variabile di ambiente della definizione di stampa che viene scelta impostando la parola chiave di assegnazione envr_variable. Se envr_variable non è stata impostata o se non è valida, envr_value_num restituisce il numero reale zero.
Tipo di dati: reale
Esempio:
! !Ottenere il valore della variabile di ambiente della definizione di stampa !MYCOLOR. Se il valore di "MYCOLOR" è maggiore di !5, impostare lo spessore su 2. ! envr_variable = "MYCOLOR" if(envr_value_num gt 5) then weight = 2 endif
file
La parola chiave file specifica il numero di collegamento del file per il file in elaborazione. Generalmente, il file principale è il collegamento numero 0. Generando un metafile dalla riga di comando, viene stampato il nome e il suo numero di collegamento per ciascun file di riferimento.
Tipo di dati: numero intero
Esempio:
! Se l'elemento corrente è nel file principale ! (index of 0), change its color to 2. ! if (file == 0) then color = 2 endif
fill_color
La parola chiave fill_color indica l'indice fill_color dell'elemento corrente. Nel caso in cui l'elemento non è riempito, fill_color restituisce un Valore di -1.
Tipo di dati: numero intero compreso tra -1 e 255
(dove -1 indica l'assenza di fill_color per l'elemento)
Esempio:
! ! Le figure con un indice colore di riempimento di 1 ! verranno plottate in rosso. ! if ((fill_color == 1) and (type == shape)) then fill_color = 'red' endif
Esempio:
! ! Non plottare le figure ! non riempite. ! if ((fill_color == –1) and (type == shape)) then ignore_element = true endif
first_time
La parola chiave di confronto first_time consente di eseguire un segmento di uno script di disegno una volta. Questa parola chiave (flag) è TRUE al primo richiamo dello script di disegno, quindi il suo valore passa a FALSE. Il valore non può essere reimpostato. Un utilizzo corretto di questa parola chiave è la specificazione di un segnalibro template. Consultare l'esempio al termine di questa sezione.
font
Per il testo e i nodi di testo, la parola chiave font contiene il numero di font per l'elemento corrente. Per gli elementi diversi dal testo e dai nodi di testo, il numero di font è zero.
Tipo di dati: numero intero compreso tra 0 e 255
Esempio:
! ! Non plottare elementi di testo che utilizzano un font 10. if ((type == text) and (font == 10)) then ignore_element = true endif
font_name
Per il testo e i nodi di testo, font_name contiene il nome del font per l'elemento corrente. Per gli elementi diversi dal testo e dai nodi di testo, il nome del font è "NO_FONT_NAME."
Tipo di dati: Stringa
Esempio:
! ! Modifica il colore di tutti gli elementi di testo ! utilizzando il font "architectural". if ((type == text) and (font_name == 'architectural')) then color = 'gray' endif
header_level
La parola chiave di confronto header_level restituisce il livello principale del livello superiore per gli elementi che sono componenti di un elemento complesso. Ad esempio, si supponga di avere due istanze di una singola cella condivisa in un file di disegno: una posizionata sul Livello 2, l'altra sul Livello 3. La definizione della cella condivisa contiene un singolo elemento figura sul Livello 1. L'unico modo per distinguere i due elementi geometrici è tramite il livello principale. È possibile utilizzare la parola chiave header_level in uno script di disegno per applicare un colore predefinito "rosso" alla cella condivisa sul livello 2.
Tipo di dati: numero intero
Esempio:
! ! Modifica il colore di una cella condivisa sul livello 2. ! if ((header_type == shared_cell) and (header_level == 2)) then color = 'red' endif
header_level_name
La parola chiave di confronto header_level_name restituisce il livello principale del livello superiore per gli elementi che sono componenti di un elemento complesso. Ad esempio, si supponga di avere due istanze di una singola cella condivisa in un file di disegno: una posizionata sul Livello A, l'altra sul Livello B. La definizione della cella condivisa contiene un singolo elemento figura sul Livello C. L'unico modo per distinguere i due elementi geometrici è tramite il livello principale. È possibile utilizzare la parola chiave header_level_name in uno script di disegno per applicare un colore predefinito "rosso" alla cella condivisa sul Livello A.
Tipo di dati: stringa
Esempio:
! ! Modifica il colore di una cella condivisa sul livello A. ! if ((header_type == shared_cell) and (header_level_name == 'Level A')) then color = 'red' endif
header_type
La parola chiave header_type determina il tipo di intestazione complessa più esterno per gli elementi che sono componenti di una cella o di una cella condivisa. Se l'elemento corrente non fa parte di una cella o di una cella condivisa, il valore della parola chiave header_type è lo stesso di quello del tipo di elemento.
Tipo di dati: numeri interi che corrispondono ai tipi di elementi intestazione validi o una delle seguenti costanti: cella o cella condivisa
Esempio 1:
! ! Se l'elemento corrente è un componente di una cella, ! impostare il suo spessore su 2. ! if (header_type == cell) then weight = 2 endif
ip_scale_num
La parola chiave ip_scale_num riceve la scala di definizione di stampa come numero. Il numero è viene sempre restituito sotto forma di unità principali/di stampa, indipendentemente dall'impostazione di MS_PLT_SCALE_METHOD. Ad esempio, se il rapporto di scala visualizzato nella finestra di dialogo è unità principali: unità di stampa e la scala è impostata su 2:1, il fattore di scala numerico a valore singolo è 2,0/1,0 o 2,0.
Tipo di dati: numero reale
Esempio:
! ! Spessore linea di plottaggio basato sulla scala della definizione di stampa. ! if (ip_scale_num ==2) then !large drawing use thick lines thickness = (weight +1) * .02 else !small drawing use thinner lines thickness = (weight +1) * .01 endif
ip_xsize_num
La parola chiave ip_xsize_num riceve la dimensione X della definizione di stampa come numero.
Tipo di dati: numero reale
Esempio:
! ! Spessore linea di plottaggio basato sulla dimensione X della definizione di stampa. ! if (ip_xsize_num > 17) then !large drawing use thick lines thickness = (weight +1) * .02 else !small drawing use thinner lines thickness = (weight +1) * .01 endif
ip_ysize_num
La parola chiave ip_ysize_num riceve la dimensione Y della definizione di stampa come numero.
Tipo di dati: numero reale
Esempio:
! ! Spessore linea di plottaggio basato sulla dimensione Y della definizione di stampa. ! if (ip_ysize_num > 17) then !large drawing use thick lines thickness = (weight +1) * .02 else !small drawing use thinner lines thickness = (weight +1) * .01 endif
level
La parola chiave level contiene il numero del livello dell'elemento corrente.
Tipo di dati: numero intero maggiore o uguale a zero
Esempio:
! ! Impostare il colore dell'elemento in base al suo livello. ! if (level == 1) then color = 1 else if (level == 2) then color = 2 endif
level_name
La parola chiave level_name contiene il nome del livello dell'elemento corrente. I caratteri jolly possono essere utilizzati nei confronti tra stringhe di uguaglianza o di disuguaglianza.
Tipo di dati: stringa
Esempio:
! ! Impostare il colore dell'elemento in base al suo livello. ! if (level_name == "floor1") then color = 1 else if (level_name == "floor2") then color = 2 endif
lname
Se l'elemento corrente si trova in un file di riferimento, la parola chiave lname contiene il nome logico del file di riferimento. Se l'elemento corrente è nel file principale, la parola chiave lname restituisce una stringa vuota (""). I caratteri jolly possono essere utilizzati nei confronti tra stringhe di uguaglianza o di disuguaglianza.
Tipo di dati: stringa
Esempio:
! ! Modifica lo spessore di tutti gli elementi nel ! file di riferimento con il nome logico ! "border" per essere uno spessore pari a 2. Gli elementi nel ! file principale e negli altri file di ! riferimento non verranno modificati. ! if (lname == 'border') then weight = 2 endif
model_format
La parola chiave model_format consente di utilizzare elementi all'interno di uno dei seguenti formati di modello: DGN7, DGN8, DWG, o DWF.
Tipo di dati: costanti (DGN7, DGN8, DWG o DXF)
Esempio:
! ! Applica una percentuale di retinatura differente ! per ogni formato di modello. ! if (model_format == DGN7) then screening = 20 else if (model_format == DGN8) then screening = 30 else if (model_format == DWG) then screening = 40 else if (model_format == DXF) then screening = 50 endif
nested_cellname
Se l'elemento corrente è un'intestazione cella o un componente di una cella, la parola chiave nested_cellname specifica il nome della cella. Per i componenti annidati all'interno di una o più celle, la parola chiave nested_cellname specifica il nome della cella più interna. Se l'elemento corrente non è un'intestazione cella o un componente di una cella, il valore per la parola chiave nested_cellname è "NO_CELL." I caratteri jolly possono essere utilizzati nei confronti tra stringhe di uguaglianza o di disuguaglianza.
Tipo di dati: stringa
Esempio:
! ! Modifica lo spessore di tutti i componenti della cella ! annidata denominata "FRAME." ! if (nested_cellname == 'FRAME') then weight = 3 endif
properties
La parola chiave properties fornisce due metodi per determinare se i bit nella parola proprietà dell'elemento sono impostati. Ad esempio, le due seguenti espressioni relazionali sono equivalenti:
Tipo di dati: una delle seguenti costanti:
Esempio:
! ! Non plottare alcun elemento con il bit ! screen_relative impostato nella parola proprietà. ! if (properties == screen_relative) then ignore_element=true endif
size
Per gli elementi di testo, la parola chiave size è l'altezza della stringa di testo. Per tutti gli altri elementi, la dimensione equivale all'intervallo maggiore di X, Y o Z dell'elemento.
Tipo di dati: unità di lavoro
Esempio:
! ! Modifica il colore degli elementi di testo la cui altezza è ! maggiore di 4 unità secondarie. ! if ((type == text) and (size > 0:4:0)) then color = 3 endif
style
La parola chiave style contiene il valore dello stile di linea dell'elemento corrente. Se lo stile è stato impostato in precedenza nello script di disegno mediante la parola chiave stile, esso corrisponderà al nuovo stile e non allo stile originale dell'elemento. Inoltre, se un uno stile o delle transizioni nominati sono stati utilizzati per impostare lo stile di un elemento, la parola chiave di confronto stile non rifletterà tale impostazione. Corrisponderà all'indice stile corrente.
Tipo di dati: numero intero compreso tra 0 e 7
Esempio:
! ! Modifica il colore di ogni elemento che non si trova sul livello 1 ! con uno stile di linea pari a 7. ! if ((level<>1) and (style == 7)) then color = 2 endif
tag keywords
Le tag keywords verificano i dati dei tag collegati all'elemento corrente. Se i dati dei tag non sono collegati all'elemento corrente, la parola chiave TAG_CHARACTER corrisponde a "NO_TAG_CHARACTER," mentre TAG_INTEGER e TAG_REAL corrispondono a NO_TAG_NUM.
Quelle che seguono sono brevi descrizioni, tipi di dati ed esempi di parole chiave tag.
Tag_display | consente di verificare se un tipo particolare di tag viene visualizzato. |
Tag_character | verifica il valore effettivo del tag. |
Tag_integer | verifica il valore effettivo del tag. |
Tag_real | verifica il valore effettivo del tag. |
Tipi di dati:
tag_character | stringa |
tag_display | costante (vero o falso) |
tag_integer | num. intero |
tag_real | numero reale |
Esempio:
! ! Supponendo che il file di disegno utilizzi due insiemi di tag, ! "Indirizzo di casa" e "Indirizzo ufficio," ciascuno ! contenente un tag chiamato "Città," ! modificano il colore di tutti gli elementi i cui tag ! specificano l'indirizzo di casa "Huntsville" oppure ! l'indirizzo ufficio "Madison." ! ! Iniziare cercando i tag "Città" appartenenti ! all'insieme di tag "Indirizzo di casa". ! tag_set = 'Home address' tag_name = 'City' if (tag_char == 'Huntsville') then color = 4 endif ! Cecare ora i tag nell'insieme di tag "Indirizzo ufficio"! Notare che il nome del tag è ancora "City" tag_set = 'Work address' if (tag_char == 'Madison') then color = 4 endif
text_node_number
La parola chiave di confronto text_node_number può essere utilizzata per confrontare il numero di nodo di testo di un elemento complesso nodo di testo.
Tipo di dati: numero intero
Esempio 1:
! ! Modifica il colore del testo associato a uno specifico ! numero di nodo di testo. ! if (text_node_number eq 46) then color = 3 endif
Esempio 2:
! ! Questo script di disegno imposta un attributo del foglio di plottaggio !in base ai caratteri memorizzati in un elemento nodo di testo ! nel file di disegno. Questo attributo del foglio può essere utilizzato ! come data dell'attributo in un archivio digitale. if (text_node_number eq 10) then envr_variable = "Author" envr_value = envr_value + " " + characters else if (text_node_number eq 11) then envr_variable = "Title" envr_value = envr_value + " " + characters endif
type
La parola chiave type determina il tipo di elemento dell'elemento corrente.
Tipo di dati: numeri interi che corrispondono ai tipi di elementi validi o a una delle seguenti costanti:
arc (type 16) | line_string (type 4) |
assoc_dim(type 33) | mesh (type 105) |
bspline_curve (type 27) | multiline (type 36) |
bsplne_surface (type 24) | shape (type 6) |
cell (type 2) | shared_cell (type 35) |
complex_shape (type 14) | solid (type 19) |
connected_string (type 12) | surface (type 18) |
curve (type 11) | text (type 17) |
ellipse (type 15) | text_node (type 7) |
line (type 3) |
Esempio:
! ! Modifica il colore di linee, spezzate e curve ! sul livello 1 ! if ((type in 3,4,11) and (level == 1)) then color = 1 endif
weight
La parola chiave weight contiene il valore dello spessore di linea dell'elemento corrente.
Tipo di dati: numero intero compreso tra 0 e 31
Esempio:
! ! Imposta il colore dell'elemento in base al suo spessore ! units = inches if (weight == 0) then color = 1 else if (weight == 1) then color = 2 else if (weight == 2) then color = 3 else if (weight == 3) then color = 4 else if (weight == 4) then color = 5 else if (weight == 5) then color = 6 endif
width
La parola chiave width è valida solo per linee 2D, spezzate, ellissi, archi e stringhe collegate. Tutti gli altri elementi e gli elementi 3D hanno un valore della larghezza pari a 0. Il valore della larghezza viene estratto dal campo base dell'intervallo Z dell'elemento e specifica lo spessore di linea dell'elemento in unità di lavoro rispetto a un valore dello spessore.
Tipo di dati: unità di lavoro
Esempio:
! ! Modifica il colore di linee, spezzate, stringhe ! collegate, archi ed ellissi in base alla loro larghezza. ! units = inches if (type .in. 3,4,12,15,16) then if (width == 0:0:050) then color = 1 else if (width == 0:0:100) then color = 2 else if (width == 0:0:150) then color = (30,50,100) else if (width == 0:0:200) then color = (100,0,0) else if (width > 0:0:300) then color = (0,0,0) endif endif