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.
á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.
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.
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.
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:
Tipo de datos: una de las siguientes constantes:
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. |
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
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