Ayuda de MicroStation CONNECT Edition

Palabras clave de comparación

Las siguientes descripciones de palabras clave incluyen una breve descripción de la función de palabra clave, los tipos de elementos que afecta la palabra clave (si corresponde), los tipos de datos válidos (si corresponde) y un ejemplo de cómo utilizar la palabra clave.

Nota: Las palabras clave de caracteres en la sección "Palabras claves de asignación" pueden utilizarse en sentencias de comparación. Consulte la sección "Palabras clave de asignación" para obtener más información sobre las Palabras clave de caracteres.

ángulo

La palabra clave angle especifica el ángulo de los tipos de elementos célula, nodo de texto, elipse, arco y texto. Para otros tipos de elementos, el valor del ángulo es 0,0.

Tipo de datos: número real del rango de 0.0 a 360.0

Ejemplo:

!
! Cambia el color de elementos
! de texto rotados 90 grados.
!
if ((type == text) and (angle == 90.0)) then
	 color = 2
endif

area_fill

La palabra clave area_fill comprueba si el elemento actual está relleno.

Tipo de datos: constante (true o false)

Ejemplo:

!
! Cambiar el relleno de todos los elementos rellenos.
! No altera los elementos que no se rellenan.
!
if (area_fill == true) then
	 fill_color = 10
endif

cellname

La palabra clave cellname especifica el nombre de la célula, si el elemento actual es un encabezado de célula o un componente de una célula. Para componentes jerarquizados dentro de una o más células, la palabra clave cellname especifica el nombre de la célula exterior, a menos que el componente sea un encabezado de célula jerarquizado. En este caso, la palabra clave cellname es el nombre de la célula jerarquizada. Si el elemento actual no es un encabezado de célula ni un componente de una célula, el valor para el nombre es "NO_CELL". Los comodines pueden utilizarse en las comparaciones de cadenas de igualdad o desigualdad.

Nota: Para encontrar el nombre de célula interno, utilice la palabra clave de nested_cellname.

Tipo de datos: cadena

Ejemplo:

!
! Cambia el color de todos los componentes de la célula
! con nombre "border."
!
if (cellname == "border") then
	 color = (200,200,200)
endif

characters

La palabra clave characters (caracteres) especifica la cadena contenida en el elemento si el elemento actual es un elemento de texto. Los comodines pueden utilizarse en las comparaciones de cadenas de igualdad o desigualdad.

Tipo de datos: cadena

Ejemplo 1:

!
!Resalta cualquier cadena de texto con la cadena
!'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

Ejemplo 2:

!
!Elimina el texto "preliminary" si aparece en el
!archivo "border".
!
if ((lname=="border") and (characters=="preliminary")) then
	 ignore_element=true
endif

class

La palabra clave class especifica el tipo de clase de elemento actual. Por ejemplo, la clase de elemento actual se puede usar en un guion de diseño para determinar si el elemento actual es parte de una cota o un patrón.

Tipo de datos: entero en el rango de 0 a 6, o una de las siguientes constantes:

0 primary
1 pattern_component
2 construction
3 dimension
4 primary_rule
5 linear_pattern
6 construction_rule

Ejemplo:

!
!No traza elementos de clase patrón y cota.
if ((class == pattern_component) or (class == dimension)) then
	 ignore_element = true
endif

cls_end_width

La palabra clave cls_end_width prueba el ancho final, en unidades del archivo de diseño principal, del estilo de línea personalizado asociado al elemento actual. Si el elemento actual no tiene un estilo de línea personalizado asociado, el cls_end_width es 0,0.

Tipo de datos: número real

Ejemplo:

!
! Cambia el color de todos los elementos con
! un estilo de línea personalizado cuya anchura final
! sea mayor de 2 unidades de diseño principales.
!
if (cls_end_width > 2.0) then
	 color = 5
endif

cls_name

La palabra clave cls_name verifica el nombre del estilo de línea personalizado asociado al elemento actual. Para los elementos sin un estilo de línea personalizado asociado, el cls_name es "NONE".

Tipo de datos: cadena

Ejemplo:

!
! Cambiar el color de todos los elementos que utilizan el estilo.
! Asigna el estilo de línea personalizado "origin" a todos
! los demás elementos.
!
if (cls_name == '{ Diamond }') then
	 color = 2
else
	 cls_name = "origin"
endif

cls_origin_width

La palabra clave cls_origin_width prueba el ancho inicial, en unidades del archivo de diseño principal, del estilo de línea personalizado asociado al elemento actual. Si el elemento actual no tiene un estilo de línea personalizado asociado, el cls_origin_width es 0,0.

Tipo de datos: número real

Ejemplo:

!
! Cambia el color de todos los elementos con
! un estilo de línea personalizado cuya anchura final
! sea mayor de 2 unidades de diseño principales.
!
if (cls_origin_width > 2.0) then
	 color = 5
endif

cls_scale

La palabra clave cls_scale prueba el factor de escala aplicado al estilo de línea personalizado asociado al elemento actual. Si el elemento actual no tiene un estilo de línea personalizado asociado, el cls_scale es 1,0.

Tipo de datos: número real

Ejemplo:

!
! Cambia el color de todos los elementos con un
! estilo de línea personalizado cuya escala sea 2.
!
if (cls_scale == 2.0) then
	 color = 5
endif

cls_shift_distance

La palabra clave cls_shift_distance prueba la distancia de cambio, en unidades del archivo de diseño principal, del estilo de línea personalizado asociado al elemento actual. Si el elemento actual no tiene un estilo de línea personalizado asociado, el cls_shift_distance es 0,0.

Tipo de datos: número real

Ejemplo:

!
! Cambia el color de todos los elementos con un
! estilo de línea personalizado cuya distancia de cambio 
! sea 0.5 en unidades de diseño principal.
!
if (cls_shift_distance == 0.5) then
	 color = 5
endif

cls_shift_fraction

La palabra clave cls_shift_fraction prueba el factor de cambio aplicado al estilo de línea personalizado asociado al elemento actual. Si el elemento actual no tiene un estilo de línea personalizado asociado, el cls_shift_fraction es 0,0.

Tipo de datos: número real

Ejemplo:

!
! Cambia el color de todos los elementos con
! un estilo de línea personalizado cuya fracción de cambio
! sea mayor de 0.25.
!
if (cls_shift_fraction == 0.25) then
	 color = 5
endif

color

La palabra clave color indica el índice de color del elemento actual.

Tipo de datos: entero en el rango de 0 a 255

Ejemplo:

!
! !  ! Formas rellenas de área con un color de índice 1. 
 !
  if ((color == 1) and (type == shape)) then 
	 area_fill = true 
 endif

envr_value

La palabra clave envr_value se utiliza para comparar el valor de una variable de entorno de definición de impresión que es elegida definiendo la palabra clave de asignación envr_variable. Si la variable no está definida o no es una variable válida, envr_value se define en una línea de longitud cero.

Tipo de datos: cadena

Ejemplo:

!  
! Adquirir el valor de la variable de entorno de definición de impresión  
!ARCHITECT. Encuentra elementos de texto con caracteres
!iguales a "$Architect$" y cambia el valor de texto
!a "Designed by <nombre>" si ARCHITECT es igual a 
!"Owner1" u "Owner2." De lo contrario, cambia el valor de texto
!a una cadena vacía.
!
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 palabra clave envr_value_num se utiliza para comparar el valor de una variable de entorno de definición de impresión que es elegida definiendo la palabra clave de asignación envr_variable. Si envr_variable no se ha definido o no es una variable válida, envr_value_num vuelve el número real cero.

Tipo de datos: real

Ejemplo:

!  
! Adquirir el valor de la variable de entorno de definición de impresión  
!MYCOLOR. Si el valor de “MYCOLOR” es mayor de
!5, define el peso en 2.
!
envr_variable = "MYCOLOR" 
if(envr_value_num gt 5) then
		 weight = 2
endif

file

La palabra clave file (archivo) especifica el número de archivo vinculado para el archivo que se está procesando. Normalmente, el archivo principal es el vínculo número 0. Genera un metarchivo desde la línea de comando, imprime el nombre de archivo y el número de vínculos para cada archivo de referencia.

Tipo de datos: entero

Ejemplo:

! Si el elemento actual está en el archivo principal
! (index of 0), cambia su color a 2.
!
if (file == 0) then
	 color = 2
endif

fill_color

La palabra clave fill_color indica el índice de color de relleno del elemento actual. En caso de que el elemento no se rellene, fill_color devuelve un valor de -1.

Tipo de datos: entero en el rango de -1 a 255

(donde -1 no indica un fill_color para el elemento)

Ejemplo:

!
! Las formas con un índice de relleno de color de 1
! se trazarán en rojo.
!
if ((fill_color == 1) and (type == shape)) then
	 fill_color = 'red'
endif

Ejemplo:

!
! No traza formas que
! no estén rellenas.
!
if ((fill_color == –1) and (type == shape)) then
	 ignore_element = true
endif

first_time

La palabra clave de comparación first_time le deja ejecutar un segmento de un guion de diseño una vez. Esta palabra clave (indicador) es TRUE la primera vez que se llama al guion de diseño y después el valor se define en FALSE. El valor no se puede reiniciar. Un buen uso de esta palabra clave se produce cuando especifica una plantilla de marcas. Consulte el ejemplo al final de esta sección.

Nota: Cuando el sistema procesa un guion de diseño, cada elemento en el archivo de diseño se procesa en un orden de arriba abajo hasta que se procese cada elemento. Si el primer elemento en el archivo de diseño ejecuta el fragmento de código first_time, los elementos restantes serán procesados, pero se saltarán el fragmento de código first_time.

font

Para texto y nodos de texto, la palabra clave font (fuente) contiene el número de fuente para el elemento actual. Para los elementos que no sean texto y nodos de texto, el número de fuente es cero.

Tipo de datos: entero en el rango de 0 a 255

Ejemplo:

!
! !  ! No trazar elementos de texto que utilicen fuente 10. 
  if ((type == text) and (font == 10)) then        
	 ignore_element = true 
 endif

font_name

Para texto y nodos de texto, la palabra clave font_name contiene el nombre de fuente para el elemento actual. Para los elementos que no sean texto y nodos de texto, el nombre de fuente es "NO_FONT_NAME".

Tipo de datos: Cadena

Ejemplo:

!
! !  ! Cambia el color de todos los elementos de texto 
 ! utilizando la fuente "architectural". 
 if ((type == text) and (font_name == 'architectural')) then        
	 color = 'gray' 
 endif

header_level

La palabra clave header_level devuelve el nivel superior de nivel primario para los elementos que son componentes de un elemento complejo. Por ejemplo, si tiene dos instancias de una célula compartida en un archivo de diseño: una situada en el nivel 2, la otra en el nivel 3. La definición de célula compartida contiene un único elemento de forma en el nivel 1. La única forma de distinguir entre las dos partes de la geometría es el nivel principal. Puede utilizar la palabra clave header_level en un guion de diseño para aplicar un color nombrado "rojo" a dicha célula en el nivel 2.

Tipo de datos: entero

Ejemplo:

!
! !  ! Cambia el dolor de una célula compartida en el nivel 2. 
 ! 
 if ((header_type == shared_cell) and (header_level == 2)) then        
	 color = 'red'
 endif

header_level_name

La palabra clave header_level_name devuelve el nivel superior de nivel primario para los elementos que son componentes de un elemento complejo. Por ejemplo, si tiene dos instancias de una célula compartida en un archivo de diseño: una situada en el nivel A, la otra en el nivel B. La definición de célula compartida contiene un único elemento de forma en el nivel C. La única forma de distinguir entre las dos partes de la geometría es el nivel principal. Puede utilizar la palabra clave header_level_name en un guion de diseño para aplicar un color nombrado "rojo" a dicha célula en el nivel A.

Tipo de datos: cadena

Ejemplo:

!
! !  ! Cambia el dolor de una célula compartida en el nivel A. 
 ! 
 if ((header_type == shared_cell) and (header_level_name == 'Level A')) then        
	 color = 'red'
 endif

header_type

La palabra clave header_type determina el tipo complejo exterior de encabezados de elementos que son componentes de una célula o célula compartida. Si el elemento actual no forma parte de una célula o célula compartida, el valor de la palabra clave header_type es el mismo que el del tipo de elemento.

Tipo de datos: enteros que corresponden a un encabezado válido o a una de las siguientes constantes: célula o célula compartida

Ejemplo 1:

!
! !  ! Si el elemento actual es un componente de célula, 
 ! cambia su peso a 2. 
 ! 
 if (header_type == cell) then        
	 weight = 2 
 endif

ip_scale_num

La palabra clave ip_scale_num obtiene la escala de definición de impresión como un número. El número se muestra siempre en forma de unidades principales/unidades de impresión, independientemente de cómo se define MS_PLT_SCALE_METHOD. Por ejemplo, si la relación de escala que aparece en el diálogo de impresión es unidades principales : unidades de impresión y su escala es 2:1, el factor de escala numérico de valor único sería 2.0/1.0 o 2.0.

Tipo de datos: número real

Ejemplo:

!
! Traza el espesor de la línea en función de la escala de definición de impresión.
!
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 palabra clave ip_xsize_num obtiene xsize de definición de impresión como un número.

Tipo de datos: número real

Ejemplo:

!
! Traza el espesor de la línea en función de xsize de definición de impresión.
!
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 palabra clave ip_ysize_num obtiene ysize de definición de impresión como un número.

Tipo de datos: número real

Ejemplo:

!
! Traza el espesor de la línea en función de ysize de definición de impresión.
!
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 palabra clave level (nivel) contiene el número de nivel del elemento actual.

Tipo de datos: entero mayor o igual de cero

Ejemplo:

!
! Define el color del elemento en función de su nivel.
!
if (level == 1) then
	color = 1
else if (level == 2) then
	 color = 2
endif

level_name

La palabra clave level_name contiene el nombre de nivel del elemento actual. Los comodines pueden utilizarse en las comparaciones de cadenas de igualdad o desigualdad.

Tipo de datos: cadena

Ejemplo:

!
! Define el color del elemento en función de su nivel.
!
if (level_name == "floor1") then
	 color = 1
else if (level_name == "floor2") then
	 color = 2
endif

lname

Si el elemento actual está en un archivo de referencia, la palabra clave lname contiene el nombre lógico del archivo de referencia. Si el elemento actual se encuentran en el archivo principal, la palabra clave lname evalúa una cadena vacía (""). Los comodines pueden utilizarse en las comparaciones de cadenas de igualdad o desigualdad.

Tipo de datos: cadena

Ejemplo:

!
! Cambia el grosor de todos los elementos en el
! archivo de referencia con el nombre lógico de
! "border" para que tenga un grosor de 2. Los elementos en
! el archivo principal y otros archivos de referencia
! no se modificarán.
!
if (lname == 'border') then
	 weight = 2
endif

model_format

La palabra clave model_format permite operar los elementos de uno de los formatos de modelo siguientes: DGN7, DGN8, DWG, o DWF.

Tipo de datos: constantes (DGN7, DGN8, DWG o DXF)

Ejemplo:

!
! Aplica un porcentaje diferente de filtrado para
! cada formato de modelo.
!
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

Si el elemento actual es un encabezado de célula o un componente de una célula, la palabra clave nested_cellname especifica el nombre de la célula. Para componentes jerarquizados dentro de una o más células, la palabra clave nested_cellname especifica el nombre de la célula interna. Si el elemento actual no es un encabezado de célula ni un componente de una célula, el valor de la palabra clave nested_cellname es "NO_CELL". Los comodines pueden utilizarse en las comparaciones de cadenas de igualdad o desigualdad.

Nota: Para encontrar el nombre del nombre de célula exterior, utilice la palabra clave cellname.

Tipo de datos: cadena

Ejemplo:

!
! Cambia el grosor de todos los componentes de los nombres de células jerarquizadas
! con nombre "FRAME."
!
if (nested_cellname == 'FRAME') then
	 weight = 3
endif

properties

La palabra clave properties (propiedades) proporciona dos métodos para determinar si se definen los bits en la palabra propiedades de elemento. Por ejemplo, las siguientes dos expresiones relacionales son equivalentes:

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

Tipo de datos: una de las siguientes constantes:

attributes
hole
locked
modified
new_element
nonplanar
nonsnappable
screen_relative

Ejemplo:

!
! No traza ningún elemento con bit screen_relative
! definido en la palabra properties.
!
if (properties == screen_relative) then
	 ignore_element=true
endif

size

Para los elementos de texto, la palabra clave size (tamaño) es la altura de la cadena de texto. Para el resto de los elementos, el tamaño es el mayor de los rangos X, Y o Z del elemento.

Tipo de datos: unidades de trabajo

Ejemplo:

!
! Cambia el color de los elementos de texto cuya altura es
! mayor de 4 subunidades.
!
if ((type == text) and (size > 0:4:0)) then
	 color = 3
endif

style

La palabra clave style (estilo) contiene el valor de estilo de línea del elemento actual. Si el estilo ha sido definido anteriormente en el guion de diseño por la palabra clave style, el estilo evaluará el nuevo estilo en lugar del estilo original del elemento. Además, si un estilo nombrado o las transiciones se han utilizado para definir el estilo de un elemento, la palabra clave de comparación de estilo no mostrará esto. Evaluará el índice de estilo actual.

Tipo de datos: entero en el rango de 0 a 7

Ejemplo:

!
! Cambia el color de cualquier elemento que no esté en el nivel 1 
! que tenga un estilo de línea de 7.
!
if ((level<>1) and (style == 7)) then
	 color = 2
endif

palabras clave tag

Las palabras clave tag verifican los datos de etiqueta vinculados al elemento actual. Si los datos de etiqueta no se vinculan al elemento actual, la palabra clave TAG_CHARACTER evalúa como "NO_TAG_CHARACTER", mientras que TAG_INTEGER y TAG_REAL evalúan como NO_TAG_NUM.

Las siguientes son breves descripciones, tipos de datos y ejemplos de palabras clave tag.

Tag_display verifica si se muestra un tipo especial de etiqueta.
Tag_character verifica el valor real de la etiqueta.
Tag_integer verifica el valor real de la etiqueta.
Tag_real verifica el valor real de la etiqueta.
Nota: Las palabras clave de comparación tag_character, tag_integer, y tag_real comparison deben utilizarse con las palabras clave de asignación tag_set y tag_name.

Tipos de datos:

tag_character cadena
tag_display constante (verdadero o falso)
tag_integer número entero
tag_real número real

Ejemplo:

!
! !  ! Suponiendo que el archivo de diseño utilice dos conjuntos de etiquetas,  
 ! "Home address" y "Work address," cada una
 ! con una etiqueta de carácter llamada "City,"  
 ! cambiar el color de todos los elementos cuyas etiquetas 
 ! especifiquen una dirección de hogar de "Huntsville" o una  
 ! dirección laboral de "Madison."
!
! Comienza buscando las etiquetas "City" del
! grupo de etiquetas "Home address".
!
tag_set = 'Home address'
tag_name = 'City'
if (tag_char == 'Huntsville') then
	 color = 4
endif
! Luego busque etiquetas en el conjunto de etiquetas "Work address"
!.  Observe que el nombre de etiqueta sigue siendo "City". 
 tag_set = 'Work address' 
 if (tag_char == 'Madison') then     
	 color = 4 
 endif

text_node_number

La palabra clave de comparación text_node_number puede utilizarse para probar el número de nodo de texto de un elemento complejo de nodo de texto.

Tipo de datos: entero

Ejemplo 1:

!
! Cambia el color del texto asociado con un número de nodo de texto
! específico.
!
if (text_node_number eq 46) then
	 color = 3
endif

Ejemplo 2:

!
! Este guion de diseño define un atributo de hoja de trazado
! basado en los caracteres guardados en un elemento de nodo de texto
! en el archivo de diseño. Este atributo de hoja puede utilizarse
! como fecha atributo en un archivo digital.
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 palabra clave type (tipo) determina el tipo del elemento actual.

Tipo de datos: enteros que corresponden a los tipos de elementos válidos o a una de las siguientes constantes:

arc (tipo16) line_string (tipo 4)
assoc_dim(tipo 33) mesh (tipo 105)
bspline_curve (tipo 27) multiline(tipo 36)
bsplne_surface (tipo 24) shape (tipo 6)
cell (tipo 2) shared_cell (tipo 35)
complex_shape (tipo 14) solid (tipo 19)
connected_string (tipo 12) surface (tipo 18)
curve (tipo 11) text (tipo 17)
ellipse (tipo 15) text_node (tipo 7)
line (tipo 3)  

Ejemplo:

!
! !   !   ! Cambiar el color de las líneas, cadenas lineales y curvas  
 ! en el nivel 1 
 !  
 if ((type in 3,4,11) and (level == 1)) then       
	 color = 1 
 endif
Nota: Para probar elementos multilínea y asociativos de acotación, utilice header_type en lugar de type.

weight

La palabra clave weight (grosor) contiene el valor de grosor de línea del elemento actual.

Tipo de datos: entero en el rango de 0 a 31

Ejemplo:

!
! Define el color del elemento en función de su grosor
!
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 palabra clave width (anchura) es válida solo para líneas 2D, cadenas lineales, elipses, arcos y cadenas conectadas. El resto de los elementos y elementos 3D tienen un valor de ancho de 0. El valor de anchura se extrae del campo rango bajo Z del elemento y especifica la anchura de línea del elemento en unidades de trabajo, en comparación con un valor de grosor.

Tipo de datos: unidades de trabajo

Ejemplo:

!
! Cambia el color de las líneas, cadenas lineales, cadenas
! conectadas, arcos y elipses en función de su anchura. 
!
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