Guida di MicroStation CONNECT Edition

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.

Nota: Le parole chiave Caratteri nella sezione "Parole chiave di assegnazione" possono essere utilizzate nelle istruzioni di confronto. Fare riferimento alla sezione "Parole chiave di assegnazione" per ulteriori informazioni sulle parole chiave Caratteri.

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.

Nota: Per trovare il nome della cella più interna, utilizzare la parola chiave nested_cellname.

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.

Nota: Quando il sistema elabora uno script di disegno, ogni elemento del file di disegno viene elaborato dall'alto verso il basso, fino a quando tutti gli elementi sono stati trattati. Se il primo elemento di un file di disegno esegue il frammento di codice first_time, gli elementi rimanenti saranno elaborati ma salteranno il frammento di codice first_time.

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.

Nota: Per trovare il nome della cella più esterna, utilizzare la parola chiave cellname.

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:

if(hole == true) then if(properties == hole) then
. .
. .
. .
endif endif

Tipo di dati: una delle seguenti costanti:

attributes
hole
locked
modified
new_element
nonplanar
nonsnappable
screen_relative

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.
Nota: Le parole chiave di confronto tag_character, tag_integer, and tag_real devono essere utilizzate con le parole chiave di assegnazione tag_set e tag_name.

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
Nota: Per testare elementi multilinea e quotatura associativa, utilizzare header_type invece di tipo.

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