Guida di MicroStation CONNECT Edition

Parole chiave di assegnazione

Le seguenti descrizioni delle parole chiave comprendono una breve descrizione 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 della parola chiave. La sezione che segue le parole chiave di assegnazione descrive come specificare il colore nell'istruzione di assegnazione.

area_fill

Per i plotter che supportano il riempimento del poligono, la parola chiave area_fill esegue il plottaggio degli elementi chiusi come se fossero pieni quando viene impostato su True. L'impostazione delle parole chiave di assegnazione fill_color o campitura implica l'impostazione di area_fill su True. La parola chiave area_fill consente di eseguire il plottaggio di elementi che altrimenti plotterebbero il riempimento come contorni. Qualsiasi elemento chiuso (tranne il testo) può essere controllato mediante questa parola chiave, incluse le curve B-spline chiuse, le figure complesse, le ellissi e le figure.

Sintassi:

area_fill = true
area_fill = false

Esempio:

!
! Riempimento area tutte le figure.
!
if (type == shape) then
  area_fill = true
endif

boundary_color

La parola chiave boundary_color viene utilizzata per specificare il colore di un poligono con area o campitura riempita. Boundary_color influenza solo gli ha effetto solo gli elementi riempiti con boundary_display impostato su vero. Per una descrizione dettagliata sulla specifica del colore, vedere "Specifica del colore nelle istruzioni di assegnazione" alla fine di questa sezione.

Sintassi:

boundary_color = intero

(dove il numero intero è un indice colori compreso tra 0 e 255)

boundary_color = "stringa"

(dove la stringa è un nome proveniente da una libreria colori)

boundary_color = (R,G,B)

(dove RGB è compreso tra 0 e 255)

Esempio:

!
! Set boundary_color and boundary_display for
! shapes on level 7.
!
if ((type == shape) and (level == 7)) then
  area_fill = true
  color = 'blue'
  boundary_display = true
	 boundary_color = 'red'
endif

boundary_display

Per gli elementi che vengono riempiti nel file di disegno o con la parola chiave area_fill nello script di disegno, la parola chiave boundary_display specifica se viene eseguito il plottaggio del contorno di un poligono pieno. La parola chiave boundary_display non influenza gli elementi non riempiti.

Nota: L'impostazione di boundary_display su vero per il testo riempito, può generare risultati indesiderati.

Sintassi:

boundary_display = true
boundary_display = false

Esempio:

!
! Set boundary_color and boundary_display for
! shapes on level 7.
!
if ((type == shape) and (level == 7)) then
	 area_fill = true
	 color = 'blue'
	 boundary_display = true
	 boundary_color = 'red'
endif

case_sensitive

La parola chiave case_sensitive determina se lettere maiuscole e minuscole sono rilevanti nei confronti stringhe eseguiti utilizzando la parola chiave di confronto caratteri. Il valore predefinito è False.

Sintassi:

case_sensitive = true
case_sensitive = false

Esempio:

!
!Replace text elements having
!characters "TITLE" with all-caps, and
!replace "Title" with first letter caps title.
!
case_sensitive = true
if (characters == "TITLE") then
	 characters = "FIRST FLOOR DESIGN"
else if (characters == "Title") then
	 characters = "First Floor Design"
endif

caratteri

La parola chiave caratteri consente di sostituire una stringa in un elemento di testo con una nuova stringa. Utilizzando gli elementi di testo nel file di disegno come segnaposti, è possibile in seguito sostituire queste stringhe con informazioni utili quali la data del file di cui è stato eseguito il plottaggio o il nome del file di disegno. Se la nuova stringa è più breve della stringa originale, verranno inseriti degli spazi bianchi. Se la nuova stringa è più lunga, la stringa originale viene espansa per accogliere i caratteri aggiuntivi.

Il testo per la sostituzione può corrispondere al valore di vari token:

  • una stringa di testo letterale
  • Parole chiave della definizione di stampa riportate nella tabella seguente:
  • Il valore di una o più variabili di ambiente unitamente al testo letterale
  • Il token <expr?name=...> per fare riferimento a un'espressione nominata
  • La parola chiave envr_value

Le seguenti parole chiave rappresentano i valori provenienti dalla definizione di stampa che possono essere utilizzati per contrassegnare un plottaggio.

Parola chiave

Valore

am_pm

Ora del giorno: am o pm. (ad esempio: AM)

date

Data in cui viene elaborata la stampa di un'anteprima o di una stampa. (Esempio: 05-APR-1996)

day_abbreviation

Abbreviazione del giorno a tre caratteri. (ad esempio: Ven)

day_name

Nome intero del giorno. (ad esempio: Venerdì)

day_number

Giorno in formato numerico. (Esempio: 5)

dgnspec

Specifica del file di disegno principale. (ad esempio: C:\MYPROJ\E1.DGN)

hour

Ora in cui viene elaborata la stampa di un'anteprima o di una stampa. (Esempio: 11)

hour_12

Numero di ora in base a un ciclo a 12 ore. (Esempio: 5)

hour_24

Numero di ora in base a un ciclo a 24 ore. (Esempio: 17)

ip_color_table

La stringa della tavola dei colori memorizzata nel file di disegno. (ad esempio: C:\MISC\COLOR.CTB)

ip_design

Nome del file di disegno. (ad esempio: C:\MYPROJ\PLAN.DGN)

ip_design_script

Il nome dello script di disegno associato al processo di plottaggio. Ritorna vuoto se il file è una tabella feature.

ip_feature_table

Il nome della tabella feature associata al processo di plottaggio. Ritorna vuoto se il file è uno script di disegno.

ip_logical_name

Il nome logico del riferimento per l'elemento corrente. (ad esempio: C:\PROJ\BORDER.DGN)

ip_mirror

Impostazioni di specularizzazione memorizzate nella definizione di stampa. I valori validi sono X, Y, BOTH, o NONE.

ip_model

Il modello specificato nella definizione di stampa. (Esempio: sheetone)

ip_origin

Origini X e Y nelle unità specificate dalla parola chiave ip_units. (ad esempio: 1.500000,2.000000)

ip_origin_x

Origine X nelle unità specificate da ip_units. (ad esempio: 1.500000)

ip_origin_y

Origine Y nelle unità specificate da ip_units. (ad esempio: 5.000000)

ip_pen_table

Nome dello script di disegno associato al processo di plottaggio.

ip_plot_rescale

Il plottaggio X e Y ridimensiona i valori dalla definizione di stampa. (ad esempio: 3.000000,2.000000)

ip_plot_rescale_x

Il plottaggio X ridimensiona il valore dalla definizione di stampa. (ad esempio: 3.000000)

ip_plot_rescale_y

Il plottaggio Y ridimensiona il valore dalla definizione di stampa. (ad esempio: 2.000000)

ip_project

Il progetto specificato nella definizione di stampa. (ad esempio: Baldwinsville)

ip_queue

Restituisce il nome della stampante di sistema Windows, se definito, altrimenti restituisce una stringa vuota.

ip_ref_filename

Specifica del file di riferimento completo per l'elemento corrente. (ad esempio: C:\PROJ\FLOOR.DGN)

ip_rotation

La rotazione del plottaggio specificato come angolo in gradi compreso tra 0 e 360. (ad esempio: 45.000000)

ip_scale

La scala di plottaggio nel formato specificato da MS_PLT_SCALE_METHOD. Restituisce anche lo stesso valore della variabile di contabilità MS_PLTSCALE_SHORT. (ad esempio: 4.000000:1.000000)

ip_short_color_table

Nome della tavola dei colori senza la directory. (ad esempio: COLORS.TBL)

ip_short_design

Nome file principale senza il nome della directory. (ad esempio: FLOOR27.DGN)

ip_short_design_script

Nome dello script di disegno senza la directory. (ad esempio: STANDARD.PEN)

ip_short_pen_table

Nome dello script di disegno senza la directory. (ad esempio: STANDARD.PEN)

ip_short_feature_table

Nome della tabella feature senza la directory. (ad esempio: DECATUR.FTB)

ip_short_ref_filename

Nome file di riferimento senza la cartella per l'elemento corrente. (ad esempio: FLOOR.DGN)

ip_short_scale

Restituisce lo stesso valore di ip_scale.

ip_units

Unità specificate per valori quali dimensioni e origine. (Esempio: pollici)

ip_view

Il nome o numero della vista. (Esempio: 2)

ip_viewgroup

Il gruppo di viste corrente. (Esempio: viste sheetone)

ip_workspace

Il nome dell'area di lavoro attiva, ad es. Example.

ip_workset

Il nome del set di lavoro attivo, ad es. Civil.

ip_xsize

Dimensione X del plottaggio in unità specificate da ip_units. (ad esempio: 34.000000)

ip_xysize

Dimensioni X e Y del plottaggio nelle unità specificate da ip_units. (ad esempio: 34.000000, 44.000000)

ip_ysize

Dimensione Y del plottaggio nelle unità specificate da ip_units. (ad esempio: 75.000000)

long_date

Data in formato esteso. (ad esempio: venerdì 5 aprile 1996)

long_time

Data in cui viene elaborata la stampa di un'anteprima o di una stampa, in formato esteso. (Esempio: 11:59:17 PM)

minute

Minuto al quale viene elaborata la stampa di un'anteprima o di una stampa. (Esempio: 59)

month_abbreviation

Abbreviazione del mese a tre caratteri. (ad esempio: Apr)

month_name

Nome intero del mese. (ad esempio: Aprile)

month_number

Numero del mese. (Esempio: 04)

ms_pen_table

Nome della tabella penne associata al processo di plottaggio. Se non viene definita alcuna tabella penne, viene restituirà una stringa vuota. (ad esempio: C:\PROJ\E5.TBL)

ms_pltcfg_file

La specifica del file per il file di configurazione driver stampante. (ad esempio: ..\Default\pltcfg\pdf.pltcfg).

ms_short_pltcfg_file

File di configurazione del driver della stampante senza la directory. (ad esempio: PDF.PLTCFG)

ms_short_pen_table

Nome della tabella penne senza la directory. (ad esempio: DECATUR.TBL)

page_number

Numero di sequenza della definizione di stampa nel set di stampa, mentre si trova in Organizer di stampa. (Esempio: 1) Se si stanno utilizzando definizioni di stampa variabili, consultare Linee guida per l'utilizzo di numerazione pagine e token di pagina totali con definizioni di stampa variabili. Numero di sequenza del plottaggio nel documento.

plan_set_name

La specifica del file per il nome del set di stampa. (ad esempio: C:\plans\myplan.pset)

plan_set_short_name

Il nome del set di stampa senza il nome cartella. (Esempio: myplan.pset)

plot_name

Il nome della definizione di stampa all'interno della finestra di dialogo Stampa o di Organizer di stampa. (Esempio: border) Il nome del nome di plottaggio.

second

Secondo numero. (Esempio: 17)

short_date

Data in formato numerico. (Esempio: 04/05/96)

short_time

Data in formato numerico breve. (Esempio: 11:59)

short_year

Anno in formato a due cifre. (Esempio: 96)

sytime

Data e ora del sistema in cui viene elaborata la stampa di un'anteprima o di una stampa. (Esempio: 5-APR-1996 09:47)

temporali

Data in cui viene elaborata la stampa di un'anteprima o di una stampa. (Esempio: 09:47)

total_pages

Numero totale di definizioni di stampa nel set di stampa. (Esempio: 5) Se si stanno utilizzando definizioni di stampa variabili, consultare Linee guida per l'utilizzo di numerazione pagine e token di pagina totali con definizioni di stampa variabili. Numero totale di plottaggi nel documento.

username

Nome utente che ha inviato l'anteprima o la stampa. (Esempio: jdoe)

year

Anno in cui viene elaborata la stampa di un'anteprima o di una stampa, in formato a quattro cifre. (Esempio: 1996)

Sintassi:

caratteri = "string"  

(dove la stringa è una qualsiasi stringa valida o parola chiave descritta nella tabella precedente)

Esempio 1:

!
! Change "preliminary" to "final" for text on
! level 10.
!
if (characters eq "preliminary" and type==text and level==10) then
	 characters = "final"
endif

Esempio 2:

! Replace the text string "PAGE" with
! a new string that contains the actual
! page number and total sheets in the set.
if (characters == "PAGE") then
	 characters = PAGE_NUMBER + "of" + TOTAL_PAGES
endif

Esempio 3:

!
! Replace the string "Project Number" with
! the actual project number stored in
! the PROJECT_NUM environment variable.
!
if (characters == "Project Number") then
	 envr_variable = "PROJECT_NUM"
	 characters = envr_value
endif

Esempio 4:

! Substitute the queue name from the print definition for
! the text string "$$queue$$."
!
if ((type == text) and (characters == '$$queue$$')) then
	characters = ip_queue
endif

Esempio 5:

! Substitute the Windows Username for the
! text string "$USER$" and include a literal
! text sting in the replacement string.
if ((type == text) and (characters == "$USER$")) then
	 characters = "User:$(USERNAME)"
endif

Esempio 6:

! Substitute the value of the Named Expression
! _Author for the text string $AUTHOR$.
if ((type == text) and (characters == "$AUTHOR$")) then
	 characters = "<expr?name=_Author>"
endif

class

La parola chiave class modifica la classe di un elemento. Non verrà eseguito alcun plottaggio dell'elemento se la nuova classe è stata disabilitata nella definizione di stampa oppure dal flag di visualizzazione MicroStation equivalente.

Sintassi:

class = intero 

(dove il numero intero è compreso tra 0 e 6)

class = costante

dove la costante è una delle seguenti:

0 primary

1 pattern_component

2 construction

3 dimension

4 primary_rule

5 linear_pattern

6 construction_rule

Esempio:

!
! Change construction class elements on level 5
! to primary class elements.
if ((class == construction) and (level == 5)) then
	 class = primary
endif

cls_end_width

La parola chiave cls_end_width imposta la larghezza finale, in unità del file di disegno principale, dello stile di linea personalizzato associato all'elemento corrente. Quando lo stesso valore viene specificato sia per cls_origin_width che per cls_end_width, la larghezza dei "tratti di lineetta" dello stile di linea viene ristretta o allargata in modo uniforme. Quando vengono definiti valori differenti per le due parole chiave, i tratti di lineetta si assottigliano dall'inizio alla fine dell'elemento.

La larghezza è una proprietà opzionale di ogni tratto di lineetta in uno stile di linea personalizzato. Questa parola chiave non influenza i tratti di lineetta dello stile di linea che non hanno la larghezza come proprietà.

Sintassi:

cls_end_width = numero reale

Esempio:

!
! Change the width of the wide strokes in
! the "{ Wide Dash }" line style to 2 master
! design units.
!
if (cls_name == '{ Wide Dash }') then
	 cls_origin_width = 2.0
	 cls_end_width = 2.0
endif

cls_name

La parola chiave cls_name consente di assegnare uno stile di linea personalizzato all'elemento corrente. Il file di risorse stile di linea utilizzato nel server di plottaggio deve contenere lo stile di linea.

Sintassi:

cls_name = stringa

Esempio:

!
! Assign the "{ Diamond }" custom line
! style to all elements using line code 3.
!
if (style == 3) then
	 cls_name = '{ Diamond }'
endif

cls_origin_width

La parola chiave cls_origin_width imposta la larghezza iniziale, in unità del file di disegno principale, dello stile di linea personalizzato associato all'elemento corrente. Quando lo stesso valore viene specificato sia per cls_origin_width che per cls_end_width, la larghezza dei "tratti di lineetta" dello stile di linea viene ristretta o allargata in modo uniforme. Quando vengono definiti valori differenti per le due parole chiave, i tratti di lineetta si assottigliano dall'inizio alla fine dell'elemento.

La larghezza è una proprietà opzionale di ogni tratto di lineetta in uno stile di linea personalizzato. Questa parola chiave non influenza i tratti di lineetta dello stile di linea che non hanno la larghezza come proprietà.

Sintassi:

cls_origin_width = numero reale

Esempio:

!
! Change the width of the wide strokes
! in the "{ Wide Dash }" line style to 2 master
! design units.
!
if (cls_name == '{ Wide Dash }') then
	 cls_origin_width = 2.0
	 cls_end_width = 2.0
endif

cls_scale

La parola chiave cls_scale ridimensiona lo stile di linea personalizzato associato all'elemento corrente.

Sintassi:

cls_scale = numero reale

Esempio:

!
! Scale all linestyles by 1/2.
!
if (cls_name .ne. 'none') then
	 cls_scale = 0.5
endif

cls_shift_distance

La parola chiave cls_shift_distance sposta lo stile di linea personalizzato associato all'elemento corrente. La distanza di spostamento è specificata in unità del file di disegno principale.

Sintassi:

cls_shift_distance = numero reale

Esempio:

!
! Shift the linestyle origin by 1 master
! design unit.
!
if (cls_name == '{Batten}') then
	 cls_shift_distance = 1.0
endif

cls_shift_fraction

La parola chiave cls_shift_fraction sposta lo stile di linea personalizzato associato all'elemento corrente.

Sintassi:

cls_shift_fraction = numero reale

Esempio:

!
! Shift the custom linestyle by 1/2 of the
! pattern length.
!
if (cls_name .ne. 'none') then
	 cls_shift_fraction = 0.5
endif

color

La parola chiave color consente di modificare il colore dell'elemento corrente per gli elementi non riempiti. L'assegnazione di un valore al colore modifica anche il colore di primo piano di contorno, riempimento e campitura dei poligoni chiusi, se questi valori non sono stati specificatamente impostati con le parole chiave boundary_color, fill_color, e pattern_color. Per una descrizione dettagliata sulla specifica del colore, vedere "Specifica del colore nelle istruzioni di assegnazione" alla fine di questa sezione.

Nota: Se viene utilizzato un colore predefinito o un colore RGB, il colore utilizzato per la parola chiave di confronto colore non verrà modificato.

Sintassi:

color = intero 

(dove il numero intero è un indice colori compreso tra 0 e 255)

color = "stringa" 

(dove la stringa è un nome colore proveniente da una libreria colori)

color = (R,G,B)

(dove RGB è compreso tra 0 e 255)

Esempio:

!
! Change color of lines, strings, and curves using
! the various methods for defining color.
!
if (type eq line) then
	color = 1     ! Set the color to be index value 1.
else if (type == line_string) then
	color = 'blue'   ! Set the color to blue.
else if (type == curve) then
	color = (0,0,255) ! Set the color to RGB value 0,0,255.
endif

endcap

La parola chiave endcap controlla la visualizzazione dei punti finali di elementi non-chiusi. La chiusura ha le seguenti opzioni di visualizzazione:

  • giunzione — un rettangolo senza estensione (predefinito).
  • estensione — anch'essa rettangolare, ma estesa per la metà della larghezza linea oltre alla fine della linea o curva.
  • cerchio — un semicerchio con il raggio pari alla metà della larghezza linea.

Sintassi:

endcap = endcap_type

(dove endcap_type è giunzione, estensione, cerchio)

Esempio:

!
! Specify the endcap type based on the element
! type.
!
if (type == line) then
	 endcap = butt
else if (type == line_string) then
	 endcap = extend
else if (type == arc) then
	 endcap = circle
endif

envr_value

La parola chiave di assegnazione envr_value imposta la envr_variable corrente sulla stringa specificata. Questa coppia envr_variable = valore viene poi scritta nel file di contabilità e può inoltre essere utilizzata in qualità di dati attributo in un archivio digitale.

Sintassi:

envr_value=stringa

Esempio 1:

!
!This design script sets a plot sheet attribute
!based on the characters stored in text elements
!in the design file. The criteria to determine which
!text contains the appropriate characters is
!based on MicroSation tags.
tag_set='dpr'
tag_name='sheet'
if ((type eq text) and (tag_character eq 'drawingno'))then
	 envr_variable = "Drawingno"
	 envr_value = characters
else if ((type eq text) and (tag_character eq 'title')) then 
	 envr_variable = "Title"
	 envr_value = characters
else if ((type eq text) and (tag_character eq 'sheetno')) then
	 envr_variable = "Sheetno" 
	 envr_value = characters
endif

Esempio 2:

!
!This design script sets a plot sheet attribute
!based on the characters stored in text elements
!in the design file. I criteri per determinare quale
!testo contiene i caratteri appropriati si 
!basano sul livello.
if ((type eq text) and (level eq 2)) then
	 envr_variable = "Account"
	 envr_value = characters
else if ((type eq text) and (level eq 4)) then
	 envr_variable = "Project"
	 envr_value = characters
else if ((type eq text) and (level eq 6)) then
	 envr_variable = "Revision"
	 envr_value = characters
endif

envr_value_num

È possibile impostare il valore di envr_variable a un numero reale utilizzando la parola chiave envr_value_num. Envr_value e envr_value_num sono intercambiabili all'interno dello stesso script di disegno. Ad esempio, se envr_value viene impostata per un valore di stringa pari a "4", envr_value_num viene automaticamente impostata sul numero reale 4. Ciò consente di estrarre una stringa da un file di disegno (ad esempio un numero di pagina), di convertirla in un numero reale in modo da poterne incrementare il valore di 1, e poi visualizzarla nuovamente come stringa. Il seguente esempio di script di disegno mostra il funzionamento di questa procedura.

La coppia envr_variable = valore viene anche scritta nel file di contabilità e può inoltre essere utilizzata in qualità di dati attributo in un archivio digitale.

Sintassi:

envr_value_num = reale

(dove reale è un qualsiasi numero reale)

Esempio:

! This following design script increments the
! page number in the title block by 1. The page number
! is a text string on level 5.
!
envr_variable = "pagenum"
if ((type eq text) and (level eq 5)) then
	 envr_value = characters
	 envr_value_num = envr_value_num + 1
	 characters = envr_value
endif

envr_variable

La parola chiave di assegnazione envr_variable consente di selezionare la variabile di ambiente della definizione di stampa che si desidera utilizzare nello script di disegno. Le parole chiave di confronto envr_value e envr_value_num consentono di verificare il valore della variabile.

Nota: I nomi della variabile di ambiente devono iniziare con una lettera, possono contenere solo lettere, numeri e caratteri di sottolineatura, e non possono contenere spazi vuoti.

Sintassi:

envr_variable = stringa

Esempio:

!
!If SKIP_TEXT is defined (as anything, e.g.
!"iplot mod MY_IPARM -environment = [SKIP_TEXT=1]")
!in the IPARM environment, ignore text and
!text_node elements.
!
envr_variable = "SKIP_TEXT"
if (envr_value <> "") then
	if (type .IN. text, text_node) then
		ignore = true
	endif
endif

fill_color

La parola chiave fill_color consente di impostare il colore di riempimento per i poligoni con area riempita. Essa specifica anche il colore di background per gli elementi campiti. L'utilizzo di questa parola chiave attiva automaticamente area_fill. Il colore di riempimento predefinito per un elemento costituisce il suo colore elemento. Per impostazione predefinita lo sfondo della campitura è trasparente. Per una descrizione dettagliata sulla specifica del colore, vedere "Specifica del colore nelle istruzioni di assegnazione" alla fine di questa sezione.

Sintassi:

fill_color = numero intero 

(dove il numero intero è un indice colori compreso tra 0 e 255)

fill_color = "stringa"

(dove la stringa è un nome colore proveniente da una libreria colori)

fill_color = (R,G,B)

(dove RGB è compreso tra 0 e 255)

Esempio:

!
! Define fill color for shapes, complex shapes,
! and ellipses.
!
if (type == shape) then
  fill_color = 5
else if (type == complex_shape) then
	 fill_color = 'blue'
else if (type == ellipse) then
	 fill_color = (0,0,255)
endif

font

La parola chiave font consente di impostare il numero di font per gli elementi di testo.

Sintassi:

font = intero

(dove il numero intero è compreso tra 0 e 255)

Esempio:

!
! Modifica il font per alcune stringhe di testo.
!
if ((type == text) and (font == 1)) then
	 font = 2
else if ((type == text) and (font == 3)) then
	 font = 7
endif

font_name

La parola chiave font_name consente di impostare il nome del font per gli elementi di testo.

Sintassi:

font_name = stringa 

(dove la stringa è il nome del font nel file di risorse relativo alla simbologia.)

Esempio:

!
! Modifica il nome del font per alcune stringhe di testo.
!
if ((type == text) and (font == 1)) then
	 font_name = "Architectural"
else if ((type == text) and (font == 3)) then
	 font_name = "FONT060"
endif

ignore_element

La parola chiave ignore_element consente di determinare se l'elemento è stato plottato. Se questa parola chiave è impostata su vero, l'elemento corrente non è stato plottato.

Sintassi:

ignore_element = true
ignore_element = false

Esempio:

!
! Non plottare gli elementi di testo sul livello 63.
!
if ((type == text) and (level == 63)) then
	 ignore_element = true
endif

midline_joint

La parola chiave midline_joint consente di controllare la visualizzazione dei giunti sia per elementi riempiti che per quelli non riempiti. Se boundary_display è disattivato per un elemento riempito, l'impostazione della parola chiave midline_joint non avrà alcun effetto. L'elenco seguente descrive le opzioni disponibili per questa parola chiave:

squadrato

i margini corrispondenti di due segmenti si estendono fino al loro punto di intersezione (predefinito).

smussato

simile a squadrato, ma i segmenti terminano con delle chiusure finali.

giunzione

l'estremità di ogni segmento viene visualizzato con una giunzione rettangolare.

estensione

simile a giunzione, ma ogni segmento si estende per la metà della sua larghezza.

Cerchio

visualizza un semicerchio all'estremità di ogni segmento.

Sintassi:

midline_joint = midline_joint_type

(dove midline_joint_type è giunzione, smussatura, estensione, cerchio o squadrato)

Esempio:

!
! Imposta midline_joint in base al numero di collegamento
! del file di riferimento.
!
if (file == 0) then   ! Test per gli elementi nel file principale.
	 midline_joint = butt
else if (file == 1) then ! Test per gli elementi nel primo file di riferimento.
	 midline_joint = extend
else if(file == 2)then   ! Test per gli elementi nel secondo file di riferimento.
	 midline_joint = circle
else if(file == 3)then  ! Test per gli elementi nel terzo file di riferimento.
	 midline_joint = miter
endif

pen

La parola chiave pen consente di selezionare la penna sul plotter a penna. Impostare questa parola chiave equivale a impostare il colore dell'elemento corrente, con la differenza che il numero di penna è uguale al numero di colore più 1.

Sintassi:

penna = intero

(dove il numero intero è compreso tra 1 e 256)

Esempio:

!
! Imposta il numero penna in base al livello dell'elemento.
if (level == 1) then
	 pen = 1 else if (level == 2) then
	 pen = 2 else if (level == 3) then
	 pen = 3
endif

pen_width_nn

(Dove nn è un valore che va da 0 a 31)

Le parole chiave pen_width_nn assegnano gli spessori delle linee di stampa (spessore fisico) nelle unità degli script di disegno in base ai 32 spessori standard del prodotto. Queste parole chiave di assegnazione script di disegno sostituiscono le mappe spessore/larghezza definite nel file di configurazione del driver stampante (.pltcfg), e sono equivalenti alle mappe spessore/larghezza che possono essere definite in una tabella penne. Queste parola chiave si comportano in modo simile a weight_base / weight_delta, ma la parola chiave pen_width_nn consente a ogni spessore di essere assegnato in modo indipendente.

Nota: Le assegnazioni pen_width_nn non possono essere eseguite in base ai singoli elementi. I valori sono letti a partire dallo script di disegno all'inizio del processo di stampa. Qualsiasi tentativo successivo di modificare i valori dello spessore penna sarà ignorato senza segnalazione. Per questo motivo, e per ottenere prestazioni elevate, è buona pratica includere le assegnazioni pen_width_nn nella condizione dello script di disegno (first_time).
!
! Specificare il mappe spessore/larghezza in base alle dimensioni del foglio.
!
units = mm
if (first_time) then
  if (ip_xsize_num > 17) then
    pen_width_00 = 0.169
    pen_width_01 = 0.375
    pen_width_02 = 0.5
    pen_width_03 = 0.625
    pen_width_04 = 0.75
    pen_width_05 = 0.875
    pen_width_06 = 1
    pen_width_07 = 1.125
    pen_width_08 = 1.25
    pen_width_09 = 1.375
    pen_width_10 = 1.5
    pen_width_11 = 1.625
    pen_width_12 = 1.75
    pen_width_13 = 1.875
    pen_width_14 = 2
    pen_width_15 = 2.125
    pen_width_16 = 2.25
    pen_width_17 = 2.375
    pen_width_18 = 2.5
    pen_width_19 = 2.625
    pen_width_20 = 2.75
    pen_width_21 = 2.875
    pen_width_22 = 3
    pen_width_23 = 3.125
    pen_width_24 = 3.25
    pen_width_25 = 3.375
    pen_width_26 = 3.5
    pen_width_27 = 3.625
    pen_width_28 = 3.75
    pen_width_29 = 3.875
    pen_width_30 = 4
    pen_width_31 = 4.125
  else
    pen_width_00 = 0.12675
    pen_width_01 = 0.28125
    pen_width_02 = 0.375
    pen_width_03 = 0.46875
    pen_width_04 = 0.5625
    pen_width_05 = 0.65625
    pen_width_06 = 0.75
    pen_width_07 = 0.84375
    pen_width_08 = 0.9375
    pen_width_09 = 1.03125
    pen_width_10 = 1.125
    pen_width_11 = 1.21875
    pen_width_12 = 1.3125
    pen_width_13 = 1.40625
    pen_width_14 = 1.5
    pen_width_15 = 1.59375
    pen_width_16 = 1.6875
    pen_width_17 = 1.78125
    pen_width_18 = 1.875
    pen_width_19 = 1.96875
    pen_width_20 = 2.0625
    pen_width_21 = 2.15625
    pen_width_22 = 2.25
    pen_width_23 = 2.34375
    pen_width_24 = 2.4375
    pen_width_25 = 2.53125
    pen_width_26 = 2.625
    pen_width_27 = 2.71875
    pen_width_28 = 2.8125
    pen_width_29 = 2.90625
    pen_width_30 = 3
    pen_width_31 = 3.09375
  endif
endif

priority

La parola chiave priorità consente di modificare l'ordine in cui gli elementi vengono plottati. Per impostazione predefinita, gli elementi vengono plottati nell'ordine in cui appaiono nel file di disegno. Utilizzando la parola chiave priorità, gli elementi con priorità bassa vengono plottati prima di quelli con priorità elevata, in modo che questi ultimi vengano plottati sopra agli elementi con priorità bassa. Ciò può rivelarsi utile quando vengono plottati elementi con area riempita. Ad esempio, se si desidera che una stringa di testo venga plottata all'interno di un poligono pieno, il testo deve avere una priorità più elevata di quella del poligono in modo che il testo non venga coperto. La priorità predefinita per un elemento è 0.

È importante tenere presente che gli elementi senza priorità vengono stampati per primi seguiti da quelli con priorità, in base al valore di quest'ultima; quindi, le tabelle penne con una priorità negativa potrebbero richiedere una modifica per "sovrastare altri elementi".

Nota: La parola chiave priorità non è valida per il plottaggio di elementi riempiti con un dispositivo vettoriale. La parola chiave priorità ignora l'ordine derivante dalle sequenze di aggiornamento della visualizzazione.

Sintassi:

priorità = intero

(dove il numero intero è compreso tra -1.000.000 e 1.000.000)

Esempio:

!
! Imposta la priorità degli elementi in base al loro colore.
if (type == shape) then
	 area_fill = true
 	 if (color == 1) then
		   priority = 10
	  else if (type == text) then
		 !Plot text on top of the shapes.
		   priority = 20
	  endif
endif

scale

La parola chiave scale consente di specificare il fattore di scala applicato agli elementi che hanno un'origine locale, quali celle (normale e condivisa), archi, ellissi, testo e i nodi di testo. Il testo e i nodi di testo vengono scalati rispetto al loro punto di allineamento. La scala predefinita è 1,0.

Sintassi:

scala = reale

(dove reale è un qualsiasi numero reale positivo)

Esempio:

!
! Scala testo in base a un fattore 1.5.
!
 if (type == text) then
	scale = 1.5
endif

screen_relative

La parola chiave screen_relative consente di modificare il bit screen_relative nella parola proprietà dell'elemento corrente. MicroStation fa riferimento a screen_relative come "indipendente dalla vista."

Sintassi:

screen_relative = true
screen_relative = false

Esempio:

!
! Se l'elemento è una cella denominata 'LOGO', imposta il bit
! screen_relative in parola proprietà.
!
if ((type == cell) and (cellname == 'LOGO')) then
	 screen_relative = true
endif

screening

La parola chiave screening consente di specificare il colore da "sfumare" verso il bianco nell'output stampato. Mentre una retinatura del 100% stampa il colore senza alterarlo, una del 50%, ad esempio, sfuma il colore a metà verso il bianco. Questa parola chiave può essere utilizzata per risparmiare inchiostro o per non far risaltare gli elementi plottati con il colore sfumato.

Sintassi:

retinatura = intero

(dove il numero intero è compreso tra 1 e 99)

Esempio:

!
! Se l'elemento è un'ellissi, impostare la retinatura al 50%.
if (type == ellipse) then
	 screening = 50
endif

size

La parola chiave size consente di modificare le dimensioni degli elementi testo e nodi di testo.

Sintassi:

dimensione = unità di lavoro

Esempio:

!
! Imposta le dimensioni del testo per gli elementi di testo sul livello 1.
!
if ((type == text) and (level == 1)) then
	 size = 0:0:250
endif

style

La parola chiave style modifica lo stile di linea dell'elemento corrente. Specificare un nuovo stile assegnando all'elemento un indice compreso tra 0 e 7, corrispondente a uno dei tipi di stile MicroStation predefiniti. Uno stile di linea definito dall'utente può essere utilizzato specificando il nome di uno stile di linea da una libreria stili di linea oppure specificando una serie di transizioni di attivazione/disattivazione. L'impostazione di uno stile non ha effetto sugli elementi con area o campitura riempita se la visualizzazione dei contorni non è attivata. Per impostazione predefinita, la visualizzazione dei contorni è disattivata.

Nota: Se si utilizza un determinato stile o definizione di stile, lo stile di linea utilizzato con la parola chiave di confronto stile non viene modificato.

Sintassi:

stile = intero

(dove il numero intero è un indice stile di linea compreso tra 0 e 7)

stile = "stringa" 

(dove la stringa è il nome di uno stile di linea situato nella libreria stili di linea denominata "DesignScriptStyles.slb", messa a disposizione nella cartella definita da MS_DATA)

stile = definizione di stile di linea 

(attivata, disattivata, attivata, disattivata...)

Esempio:

!
! Imposta lo stile dell'elemento in base al relativo colore utilizzando
! i vari metodi di definizione di uno stile di linea.
!
units = mm
switch (color)
	 case 1 ?
		  style = 3
	 case 2 ?
		  style = 'dash-dot'
	 case 3 ?
		  style = (0.5, 0.3, 0.75, 0.3)
endswitch

style_n

(Dove n è un valore compreso tra 1 e 7)

Le parole chiave style_n modificano le definizioni della campitura penna su / penna giù, per i sette stili di linea standard. Queste parole chiave di assegnazione script di disegno sostituiscono le campiture degli stili di linea definite nel file di configurazione del driver stampante (.pltcfg). La campitura può essere specificata facendo uso del nome di uno stile di linea definito nella libreria degli stili di linea o specificando una serie di transizioni di attivazione/disattivazione. Questa sintassi è uguale a quella della parola chiave di assegnazione style.

Sintassi:

style_<number> = "string"

(dove "number" è un valore che va da 1 a 7, e "string" è un nome di stile di linea presente nella libreria degli stili di linea DesignScriptStyles.slb, fornita nella cartella definita da MS_DATA)

style_<number> = line style definition

(dove "number" è un valore che va da 1 a 7, e "line style definition" è un pattern on, off, on, off, ecc. che usa le unità dello script di disegno)

Nota: Le assegnazioni style_n non possono essere eseguite in base ai singoli elementi. I valori sono letti a partire dallo script di disegno all'inizio del processo di stampa. Qualsiasi tentativo successivo di modificare le definizione standard dello stile di linea sarà ignorato senza segnalazione. Per questo motivo, e per ottenere prestazioni elevate, è buona pratica includere le assegnazioni style_n nella condizione dello script di disegno (first_time).

Per elementi semplici come linee e forme, le parole chiave style e style_n producono gli stessi risultati. La parola chiave style può essere usata per assegnare una campitura diversa ai singoli elementi. Tuttavia, quando è applicata a un elemento composto con più stile di linea, come una dimensione o un elemento multilinea, l'assegnazione dello style modifica lo stile di ogni linea contenuta nell'elemento. Le assegnazioni style_n possono essere usate per specificare la campitura dei sette stili di linea standard senza interferire con i numeri dello stile presenti negli elementi composti.

Esempio:

!
! Specificare la campitura per i sette stili di linea standard di base sulle dimensioni del foglio.
!
units = inches
if (first_time) then
  if (ip_xsize_num > 17) then
    style_1 = (0.03, 0.03)
    style_2 = (0.062, 0.062)
    style_3 = (0.125, 0.062)
    style_4 = (0.125, 0.062, 0.03, 0.062)
    style_5 = (0.045, 0.045)
    style_6 = (0.125, 0.062, 0.03, 0.062, 0.03, 0.062)
    style_7 = (0.0125, 0.045, 0.062, 0.045)
  else
    style_1 = (0.0225, 0.0225)
    style_2 = (0.0465, 0.0465)
    style_3 = (0.09375, 0.0465)
    style_4 = (0.09375, 0.0465, 0.0225, 0.0465)
    style_5 = (0.03375, 0.03375)
    style_6 = (0.09375, 0.0465, 0.0225, 0.03375, 0.0225, 0.03375)
    style_7 = (0.009375, 0.03375, 0.0465, 0.03375)
  endif
endif

tags

Le parole chiave di assegnazione TAG_SET e TAG_NAME consentono di specificare l'insieme e il nome del tag per un utilizzo successivo, mediante una delle parole chiave di confronto.

Tipi di dati:

tag_set

stringa

tag_name

stringa

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

thickness

La parola chiave spessore consente di specificare la larghezza di linea in unità fisiche invece di specificare lo spessore di linea. Il valore delle unità memorizzate nella definizione di stampa è quello predefinito per la parola chiave spessore, ma può essere modificato all'interno dello script di disegno con la parola chiave che specifica l'unità di misura. Specificando uno spessore non viene modificato la larghezza utilizzata dalla parola chiave di confronto spessore.

Nota: È necessario specificare con precisione il valore della parola chiave spessore.

Sintassi:

spessore = numero reale positivo

Esempio:

!
! Impostare lo spessore di linea in base al colore dell'elemento.
!
units = inches
switch (color)
	case 1 - 5 ?
		thickness = 0.125
	case 6 - 10 ?
		thickness = 0.075
	default ?
		thickness = 0.05
endswitch

translucent

Se la parola chiave translucent è impostata su True, l'elemento corrente viene plottato in modo che ogni elemento sottostante non venga completamente nascosto. Il valore predefinito di questa parola chiave è falso. La parola chiave traslucido influenza solo gli elementi non riempiti e i contorni di elementi riempiti se tali contorni sono attivi. La parola chiave traslucido non è valida per i dispositivi vettoriali o i dispositivi che utilizzano driver stampante Microsoft.

Nota: La parola chiave traslucido si comporta come la nuova parola chiave trasparenza con un valore pari a 50. La parola chiave traslucido influenza sia elementi non riempiti che contorni di elementi riempiti se tali contorni sono attivi. Per ulteriori informazioni, vedere la parola chiave trasparenza.

Sintassi:

translucent = true
translucent = false

Esempio:

!
! Plotta elementi sul livello 10 con linee rosse
! massicciamente ispessite e consenti agli elementi sottostanti di
! restare visibili.
!
if (level == 10) then
	 color = "red"
	 weight = 10
	 translucent = true
endif

translucent_fill

Se impostata su True, la parola chiave translucent_fill consente di specificare che il colore di riempimento degli elementi con area riempita e con campitura riempita è traslucido. I colori di primo piano e di sfondo degli elementi con campitura riempita sono traslucidi. Gli elementi posti sotto a un elemento con riempimento traslucido restano visibili. Il valore predefinito di questa parola chiave è falso. La parola chiave translucent_fill non è valida per i dispositivi vettoriali o i dispositivi che utilizzano driver stampante Microsoft.

Nota: La parola chiave translucent_fill si comporta come la nuova parola chiave trasparenza con un valore pari a 50. La parola chiave translucent_fill influenza elementi non riempiti, con area riempita, con campitura riempita, e i contorni di elementi riempiti se tali contorni sono attivi. Per ulteriori informazioni, vedere la parola chiave trasparenza.

Sintassi:

translucent_fill = true
translucent_fill = false

Esempio:

!
! Imposta il colore di riempimento in modo che sia traslucido.
!
area_fill = true
translucent_fill = true
fill_color = (255,0,0)

transparency

La parola chiave di assegnazione transparency consente di impostare la trasparenza dell'elemento corrente. È possibile impostare il valore della trasparenza da 1 a 100. Con l'aumentare di questo valore aumenta la trasparenza dell'elemento.

Sintassi:

trasparenza = valore

(dove valore può variare da 1 a 100)

Esempio:

!
! Imposta la trasparenza delle linee sul livello 2.
!
if ((level eq 2) and (type eq line)) then
	 transparency = 50
endif

units

La parola chiave units consente di specificare la dimensione delle parole chiave quali spessore e stili di linea. È sempre necessario impostare la parola chiave unità all'inizio dello script di disegno e solo una volta all'interno di ogni script di disegno. Il valore predefinito per la parola chiave è il valore delle unità derivante dalla definizione di stampa.

Sintassi:

unità = units_constant

(dove units_constant è un uno dei seguenti:

centimetri (cm)

millimetri (mm)

metri

pollici

piedi (ft))

Esempio:

!
! Imposta lo spessore di linea a 0,5 millimetri.
!
units = mm
thickness = 0.5

weight

La parola chiave weight modifica lo spessore di linea dell'elemento corrente. Per gli elementi riempiti, boundary_display deve essere attivato per questa parola chiave per poter influenzare il contorno dell'elemento.

Sintassi:

weight = integer	

(dove il numero intero è compreso tra 0 e 31)

Esempio:

!
! Impostare lo spessore di linea in base al colore dell'elemento.
!
switch (color)
	case 1-10 ?
		 weight = 2
	case 11-20 ?
		 weight = 1
	default ?
		 weight = 0
endswitch

weight_base/weight_delta

Le parole chiave weight_base e weight_delta mappano gli spessori di linea per ottenere spessori fisici sul plottaggio. Con l'utilizzo di queste parole chiave è possibile ottenere spessori di linea coerenti tra diversi plotter. La parola chiave weight_base consente di specificare lo spessore di linea per un elemento di spessore 0. La parola chiave weight_delta consente di specificare un incremento aggiuntivo dello spessore di linea per ogni spessore di linea superiore a 0. Utilizzare le seguenti formule per calcolare lo spessore di linea mediante le parole chiave weight_base e weight_delta:

spessore plottaggio = weight_base + (spessore elemento * weight_delta)

Ad esempio, se weight_base è 0,1 cm e weight_delta è 0,05 cm, vengono utilizzati i seguenti valori.

Spessore Spessore plottaggio

0

0,10 cm

1

0,15 cm

2

0,20 cm

.

.

.

.

.

.

31

1,65 cm

Nota: È necessario definire le parole chiave weight_base e weight_delta all'inizio dello script di disegno.

Sintassi:

weight_base = positive_real
weight_delta = positive_real

Esempio:

!
! Mappa lo spessore di linea
! dell'elemento a uno spessore di plottaggio.
!      weight 0 = 0.10 mm
!      weight 1 = 0.15 mm
!      weight 2 = 0.20 mm
!      weight 3 = 0.25 mm
!          .
!          .
!          .
!      weight 31 = 1.65 mm
units = mm
weight_base = 0.1
weight_delta = 0.05