Ajuda MicroStation CONNECT Edition

Palavras-chaves de comparação

As seguintes descrições de palavras-chave incluem uma breve descrição da função da palavra-chave, os tipos de elementos que a palavra-chave afeta (se aplicável), os tipos de dados válidos (se aplicável), e um exemplo de como usar a palavra-chave.

Nota: As palavras-chaves de caracteres na seção "Palavras-chaves da atribuição" podem ser usadas em declarações de comparação. Veja a seção "Palavras-chaves da atribuição" para obter mais informações sobre as palavras-chaves de caracteres.

ângulo

A palavra-chave do ângulo especifica o ângulo para tipos de elemento célula, nó de texto, elipse, arco, e texto. Para outros tipos de elemento, o valor do ângulo é 0,0.

Tipo de dados: número real na escala de 0,0 a 360,0

Exemplo:

!
! Mudar a cor do texto
! elementos rotacionados em 90 graus.
!
if ((type == text) and (angle == 90.0)) then
	 color = 2
endif

area_fill

A palavra-chave area_fill verifica se o elemento atual está preenchido.

Tipo de dados: constante (verdadeiro ou falso)

Exemplo:

!
! Mudar a cor de preenchimento de todos os elementos preenchidos.
! Não alterar elementos que não são preenchidos.
!
if (area_fill == true) then
	 fill_color = 10
endif

cellname

A palavra-chave cellname especifica o nome da célula se o elemento atual é um cabeçalho de célula ou um componente de uma pilha. Para os componentes aninhados dentro de uma ou mais células, a palavra-chave cellname especifica o nome da célula mais externa a menos que o componente é um cabeçalho de célula aninhada. Neste caso, a palavra-chave cellname é o nome da célula aninhada. Se o elemento atual não é um cabeçalho de célula nem um componente de uma célula, o valor para cellname é "NO_CELL." Coringas podem ser usados em comparações de string para igualdade ou desigualdade.

Nota: Para encontrar o nome do nome de célula mais profundo, use a palavra-chave nested_cellname.

Tipo de dados: string

Exemplo:

!
! Mudar a cor de todos os componentes da célula
! nomeada “borda”.
!
if (cellname == "border") then
	 color = (200,200,200)
endif

characters

A palavra-chave characters especifica a string contida no elemento se o elemento atual é um elemento de texto. Coringas podem ser usados em comparações de string para igualdade ou desigualdade.

Tipo de dados: string

Exemplo 1:

!
!Destacar todos os strings de texto que contiverem o string
!’Escola' ou 'Hospital’.
!
if ((type == text) and (characters ==’*Escola*')) then
	color = (0,0,255)
else if ((type == text) and (characters =='*Hospital*')) then
	color = (255,0,0)
endif

Exemplo 2:

!
!Remove o texto “preliminar” se aparece no
! arquivo de “borda”.
!
if ((lname=="border") and (characters=="preliminary")) then
	 ignore_element=true
endif

classe

A palavra-chave classe especifica o tipo da classe do elemento atual. Por exemplo, a classe do elemento atual pode ser usada em um script do desenho para determinar se o elemento atual é parte de uma dimensão ou de um padrão.

Tipo de dados: valor inteiro na escala de 0 a 6, ou uma das seguintes constantes:

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

Exemplo:

!
!Não plotar elementos de classe de padrão e dimensão.
if ((class == pattern_component) or (class == dimension)) then
	 ignore_element = true
endif

cls_end_width

A palavra-chave cls_end_width testa a largura final, nas unidades mestras do arquivo do desenho, do estilo de linha personalizado associado com o elemento atual. Se o elemento atual não tem um estilo de linha personalizado associado, o cls_end_width é 0,0.

Tipo de dados: número real

Exemplo:

!
! Mudar a cor de todos os elementos com
! um estilo de linha personalizado cuja largura
! final é superior a 2 unidades mestres do desenho.
!
if (cls_end_width > 2.0) then
	 color = 5
endif

cls_name

A palavra-chave cls_name testa o nome do estilo de linha personalizado associado com o elemento atual. Para elementos sem um estilo de linha personalizado associado, o cls_name é "NONE."

Tipo de dados: string

Exemplo:

!
! Mudar a cor de todos os elementos usando o estilo.
! Atribuir o estilo de linha personalizado de “origem” a todos
! os outros elementos.
!
if (cls_name == '{ Diamond }') then
	 color = 2
else
	 cls_name = "origin"
endif

cls_origin_width

A palavra-chave cls_origin_width testa a largura inicial, nas unidades mestras do arquivo do desenho, do estilo de linha personalizado associado com o elemento atual. Se o elemento atual não tem um estilo de linha personalizado associado, o cls_origin_width é 0,0.

Tipo de dados: número real

Exemplo:

!
! Mudar a cor de todos os elementos com um
! estilo de linha personalizado cuja largura
! inicial é superior a 2 unidades mestres do desenho.
!
if (cls_origin_width > 2.0) then
	 color = 5
endif

cls_scale

A palavra-chave cls_scale testa o fator de escala aplicado ao estilo de linha personalizado associado com o elemento atual. Se o elemento atual não tem um estilo de linha personalizado associado, o cls_scale é 1,0.

Tipo de dados: número real

Exemplo:

!
! Mudar a cor de todos os elementos com um
! estilo de linha personalizado cuja escala é 2.
!
if (cls_scale == 2.0) then
	 color = 5
endif

cls_shift_distance

A palavra-chave cls_shift_distance testa a distância de deslocamento, nas unidades mestras do arquivo do desenho, aplicada ao estilo de linha personalizado associado com o elemento atual. Se o elemento atual não tem um estilo de linha personalizado associado, o cls_shift_distance é 0,0.

Tipo de dados: número real

Exemplo:

!
! Mudar a cor de todos os elementos com um
! estilo de linha personalizado cuja distância
! de deslocamento é 0,5 unidades mestres do desenho.
!
if (cls_shift_distance == 0.5) then
	 color = 5
endif

cls_shift_fraction

A palavra-chave cls_shift_fraction testa a fração de deslocamento aplicada ao estilo de linha personalizado associado com o elemento atual. Se o elemento atual não tem um estilo de linha personalizado associado, o cls_shift_fraction é 0,0.

Tipo de dados: número real

Exemplo:

!
! Mudar a cor de todos os elementos com um
! estilo de linha personalizado cuja fração
! de deslocamento é 0,25.
!
if (cls_shift_fraction == 0.25) then
	 color = 5
endif

color

A palavra-chave color indica o índice de cor do elemento atual.

Tipo de dados: valor inteiro na escala de 0 a 255

Exemplo:

!
! Formas de preenchimento de área com um índice de cor de 1.
!
if ((color == 1) and (type == shape)) then
	 area_fill = true
endif

envr_value

A palavra-chave envr_value é usada para comparar o valor de uma variável do ambiente de definição da impressão que é escolhido definindo a palavra-chave de atribuição envr_variable. Se a variável não foi definida nem é uma variável válida, envr_value é definida como uma string de comprimento zero

Tipo de dados: string

Exemplo:

!
!Obter o valor da variável do ambiente da definição da impressão
!ARCHITECT. Encontrar o elemento de texto com caracteres
!equal to "$Architect$" e mudar o valor do texto
!to "Designed by <name>" if ARCHITECT is equal to 
!"Owner1" or "Owner2." Se não, mudar o texto
!valor para um string em branco.
!
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

A palavra-chave envr_value_num é usada para comparar o valor de uma variável do ambiente de definição da impressão que é escolhida definindo a palavra-chave de atribuição envr_variable. Se envr_variable não foi definida nem é uma variável válida, envr_value_num retorna o número real zero.

Tipo de dados: real

Exemplo:

!
!Obter o valor da variável do ambiente da definição da impressão
!MYCOLOR. Se o valor de “MYCOLOR” é maior que
!5, definir a espessura para 2.
!
envr_variable = "MYCOLOR" 
if(envr_value_num gt 5) then
		 weight = 2
endif

file

A palavra-chave file especifica o número do anexo do arquivo para o arquivo que está sendo processado. Tipicamente, o arquivo mestre é anexo número 0. Gerar um metafile da linha de comando imprime o nome de arquivo e seu número de anexo para cada arquivo de referência.

Tipo de dados: valor inteiro

Exemplo:

! Se o elemento atual está no arquivo mestre
! (index of 0), mudar sua cor para 2.
!
if (file == 0) then
	 color = 2
endif

fill_color

A palavra-chave fill_color indica o índice fill_color do elemento atual. No caso onde o elemento não está preenchido, o fill_color retorna um valor de -1.

Tipo de dados: valor inteiro na escala de -1 a 255

(onde -1 indica nenhum fill_color para o elemento)

Exemplo:

!
! Formas com um índice de cor de preenchimento de 1
! serão plotadas em vermelho.
!
if ((fill_color == 1) and (type == shape)) then
	 fill_color = 'red'
endif

Exemplo:

!
! Não plotar as formas que são
! não preenchidas.
!
if ((fill_color == –1) and (type == shape)) then
	 ignore_element = true
endif

first_time

A palavra-chave da comparação first_time permite que você execute um segmento de um script do desenho uma vez. Esta palavra-chave (sinalizador) é VERDADEIRO na primeira vez que o script do desenho é executado, e então o valor é definido como FALSO. O valor não pode ser restaurado. Um bom uso para esta palavra-chave é quando você especifica um modelo do marcador. Veja o exemplo no final desta seção.

Nota: Quando o sistema processa um script do desenho, cada elemento no arquivo do desenho está processado em uma ordem invertido até que cada elemento esteja processado. Se o primeiro elemento no arquivo do desenho executa o trecho de código first_time, os elementos restantes serão processados mas vão pular o trecho de código first_time.

fonte

Para texto e nós de texto, a palavra-chave fonte contém o número de fonte para o elemento atual. Para elementos diferentes de texto e nós de texto, o número de fonte é zero.

Tipo de dados: valor inteiro na escala de 0 a 255

Exemplo:

!
! Não plotar os elementos de texto que usam a fonte 10.
if ((type == text) and (font == 10)) then
	 ignore_element = true
endif

font_name

Para texto e nós de texto, a palavra-chave font_name contém o nome de fonte para o elemento atual. Para elementos diferentes de texto e nós de texto, o nome de fonte é "NO_FONT_NAME."

Tipo de dados: String

Exemplo:

!
! Mudar a cor de todos os elementos de texto! 
! usando a fonte "architectural".
if ((type == text) and (font_name == 'architectural')) then
	 color = 'gray'
endif

header_level

A palavra-chave de comparação header_level retorna o nível pai de nível superior para elementos que são componentes de um elemento complexo. Por exemplo, suponhamos que você tem duas instâncias de uma célula compartilhada única em um arquivo do desenho: uma colocada no nível 2, a outra no nível 3. A definição da célula compartilhada contém um único elemento de forma no nível 1. A única maneira de distinguir entre as duas partes de geometria é o nível pai. Você pode usar a palavra-chave header_level em um script do desenho para aplicar uma cor nomeada "vermelho" para a célula compartilhada no nível 2.

Tipo de dados: valor inteiro

Exemplo:

!
! Mudar a cor de uma célula compartilhada no nível 2.
!
if ((header_type == shared_cell) and (header_level == 2)) then
	color = 'red'
endif

header_level_name

A palavra-chave de comparação header_level_name retorna o nível pai de nível superior para os elementos que são componentes de um elemento complexo. Por exemplo, suponhamos que você tem duas instâncias de uma única célula compartilhada em um arquivo do desenho: uma colocada no Nível A, a outra no Nível B. A definição da célula compartilhada contém um único elemento da forma no Nível C. A única maneira de distinguir entre as duas partes de geometria é o nível pai. Você pode usar a palavra-chave header_level_name em um script do desenho para aplicar uma cor nomeada "vermelho" para a célula compartilhada no Nível A.

Tipo de dados: string

Exemplo:

!
! Mudar a cor de uma célula compartilhada no Nível A.
!
if ((header_type == shared_cell) and (header_level_name == 'Level A')) then
	 color = 'red'
endif

header_type

A palavra-chave header_type determina o tipo de cabeçalho complexo mais externo para elementos que são componentes de uma célula ou de uma célula compartilhada. Se o elemento atual não é parte de uma célula ou de uma célula compartilhada, o valor da palavra-chave header_type é o mesmo que o do tipo do elemento.

Tipo de dados: valores inteiros que correspondem aos tipos de elemento de cabeçalho válido ou a uma das seguintes constantes: célula ou célula compartilhada

Exemplo 1:

!
! Se o elemento atual é um componente de uma pilha
! mudar sua espessura para 2.
!
if (header_type == cell) then
	 weight = 2
endif

ip_scale_num

A palavra-chave ip_scale_num obtém a escala da definição da impressão como um número. O número é retornado sempre sob a forma de unidades mestras/unidades de impressão, independentemente de como MS_PLT_SCALE_METHOD é definido. Por exemplo, se a relação da escala exibida na caixa de diálogo Impressão é unidades mestres : unidades de impressão, e sua escala é definida como 2:1, o fator de escala numérica de valor único seria 2,0/1,0, ou 2,0.

Tipo de dados: número real

Exemplo:

!
! Plotar espessura de linha baseado na escala da definição da impressão.
!
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

A palavra-chave ip_xsize_num obtém a definição de impressão xsize como um número.

Tipo de dados: número real

Exemplo:

!
! Plotar espessura de linha baseado na definição de impressão xsize.
!
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

A palavra-chave ip_ysize_num obtém a definição de impressão ysize como um número.

Tipo de dados: número real

Exemplo:

!
! Plotar espessura de linha baseado na definição de impressão ysize.
!
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

A palavra-chave level contém o número do nível do elemento atual.

Tipo de dados: valor inteiro superior ou igual a zero

Exemplo:

!
! Definir a cor do elemento baseado em seu nível.
!
if (level == 1) then
	color = 1
else if (level == 2) then
	 color = 2
endif

level_name

A palavra-chave level_name contém o nome do nível do elemento atual. Coringas podem ser usados em comparações de string para igualdade ou desigualdade.

Tipo de dados: string

Exemplo:

!
! Definir a cor do elemento baseado em seu nível.
!
if (level_name == "floor1") then
	 color = 1
else if (level_name == "floor2") then
	 color = 2
endif

lname

Se o elemento atual está em um arquivo de referência, a palavra-chave lname contém o nome lógico do arquivo de referência. Se o elemento atual está no arquivo mestre, a palavra-chave lname é avaliada como uma string vazia (""). Coringas podem ser usados em comparações de string para igualdade ou desigualdade.

Tipo de dados: string

Exemplo:

!
! Mudar a espessura de todos os elementos no
! arquivo de referência com o nome lógico de
! "border" to be a weight of 2. Elementos no
! arquivo mestre e outros arquiovos de referência
! não serão mudados.
!
if (lname == 'border') then
	 weight = 2
endif

model_format

A palavra-chave model_format permite que você opere sobre elementos dentro de um dos seguintes formatos de modelo: DGN7, DGN8, DWG, ou DWF.

Tipo de dados: constantes (DGN7, DGN8, DWG, ou DXF)

Exemplo:

!
! Aplique uma porcentagem diferente de seleção 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

Se o elemento atual é um cabeçalho de célula ou um componente de uma célula, a palavra-chave nested_cellname especifica o nome da célula. Para os componentes aninhados dentro de uma ou mais células, a palavra-chave nested_cellname especifica o nome da célula mais profunda. Se o elemento atual não é um cabeçalho de célula nem um componente de uma célula, o valor para a palavra-chave nested_cellname é "NO_CELL." Coringas podem ser usados em comparações de string para igualdade ou desigualdade.

Nota: Para encontrar o nome do nome de célula mais profundo, use a palavra-chave cellname.

Tipo de dados: string

Exemplo:

!
! Mudar a espessura de todos os componentes de uma célula
! aninhada nomeada "FRAME."
!
if (nested_cellname == 'FRAME') then
	 weight = 3
endif

properties

A palavra-chave properties fornece dois métodos para determinar se os bits na palavra propriedades do elemento estão definidos. Por exemplo, as duas expressões relacionais seguintes são equivalentes:

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

Tipo de dados: uma das seguintes constantes:

atributos
hole
locked
modified
new_element
nonplanar
nonsnappable
screen_relative

Exemplo:

!
! Não plotar nenhum elemento com o bit screen_relative
! definido na palavra de propriedades.
!
if (properties == screen_relative) then
	 ignore_element=true
endif

size

Para os elementos de texto, a palavra-chave size é a altura do string de texto. Para todos os outros elementos, o tamanho é o maior da escala X, Y, ou Z do elemento.

Tipo de dados: unidades de trabalho

Exemplo:

!
! Mudar a cor dos elementos de texto cuja a altura é 
! superior a 4 subunidades.
!
if ((type == text) and (size > 0:4:0)) then
	 color = 3
endif

style

A palavra-chave style contém o valor do estilo de linha do elemento atual. Se o estilo foi definido mais cedo no script do desenho pela palavra-chave style, então o estilo avaliará ao estilo novo em vez do estilo original do elemento. Além disso, se um estilo nomeado ou transições foram usados para definir o estilo de um elemento, a palavra-chave de comparação style não refletirá este. Avaliará ao índice atual do estilo.

Tipo de dados: valor inteiro na escala de 0 a 7

Exemplo:

!
! Mudar a cor de todos os elemento que não estão no nível 1
! que tem um estilo de linha de 7.
!
if ((level<>1) and (style == 7)) then
	 color = 2
endif

palavras-chaves da etiqueta

As palavras-chaves da etiqueta verificam os dados de etiquetas anexados ao elemento atual. Se os dados de etiquetas não são anexados ao elemento atual, a palavra-chave TAG_CHARACTER avalia a "NO_TAG_CHARACTER,", enquanto TAG_INTEGER e TAG_REAL avaliam a NO_TAG_NUM.

Os seguintes são breves descrições, tipos de dados, e exemplos das palavras-chaves da etiqueta.

Tag_display verifica se um tipo específico de etiqueta é exibido.
Tag_character testa o valor da etiqueta real.
Tag_integer testa o valor da etiqueta real.
Tag_real testa o valor da etiqueta real.
Nota: As palavras-chaves de comparação tag_character, tag_integer e tag_real devem ser usadas com as palavras-chaves da atribuição tag_set e tag_name.

Tipos de dados:

tag_character string
tag_display constante (verdadeiro ou falso)
tag_integer número inteiro
tag_real número real

Exemplo:

!
! Supor o arquivo do desenho usa dois conjuntos de etiquetas,
! “Endereço residencial" e “Endereço de trabalho”, cada um
! contendo uma etiqueta do caracter nomeada “Cidade”,
!mudar a cor de todos os elementos cujas etiquetas
! especificam um endereço residencial “Huntsville” ou um
! endereço de trabalho “Madison."
!
! Começar procurando as etiquetas “Cidade” que pertencem a
! o conjunto de etiquetas “Endereço residencial”.
!
tag_set = ‘Endereço residencial'
tag_name = ‘Cidade'
if (tag_char == 'Huntsville') then
	 color = 4
endif
! Procure agora etiquetas “Endereço de trabalho”
! no conjunto de etiquetas.  Note que o nome da etiqueta ainda é “Cidade”.
tag_set = 'Endereço de trabalho'
if (tag_char == 'Madison') then
	 color = 4 
endif

text_node_number

A palavra-chave da comparação text_node_number pode ser usada para testar com o número de nó de texto de um elemento do complexo do nó de texto.

Tipo de dados: valor inteiro

Exemplo 1:

!
! Mudar a cor do texto associada com um específico
! número de nó de texto.
!
if (text_node_number eq 46) then
	 color = 3
endif

Exemplo 2:

!
! Este script do desenho define um atributo da folha de plotagem
! baseado nos caracteres armazenados em um elemento do nó de text
! no arquivo do desenho. Este atributo da folha pode ser usado
! como dado de atributo em um arquivo 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

A palavra-chave type determina o tipo de elemento do elemento atual.

Tipo de dados: valores inteiros que correspondem a tipos de elemento válidos, ou uma das seguintes constantes:

arco (tipo 16) line_string (tipo 4)
assoc_dim (tipo 33) malha (tipo 105)
bspline_curve (tipo 27) multiline (tipo 36)
bsplne_surface (tipo 24) forma (tipo 6)
célula (tipo 2) shared_cell (tipo 35)
complex_shape (tipo 14) sólido (tipo 19)
connected_string (tipo 12) superfície (tipo 18)
curva (tipo 11) texto (tipo 17)
elipse (tipo 15) text_node (tipo 7)
linha (tipo 3)  

Exemplo:

!
! Mudar a cor de linhas, strings de linha, e curvas
! no nível 1
!
if ((type in 3,4,11) and (level == 1)) then
	 color = 1
endif
Nota: Para testar para elementos de dimensionamento associativo e multilinha, use header_type em vez de type.

weight

A palavra-chave weight contém o valor da espessura da linha do elemento atual.

Tipo de dados: valor inteiro na escala de 0 a 31

Exemplo:

!
! Definir a cor do elemento baseado em sua espessura
!
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

A palavra-chave width é válida somente para linhas, strings de linha, elipses, arcos, e strings conectadas 2D. Todos os outros elementos e os elementos 3D têm um valor da largura de 0. O valor da largura é extraído do campo da escala baixa Z do elemento e especifica a largura da linha do elemento nas unidades de trabalho em oposição a um valor da espessura.

Tipo de dados: unidades de trabalho

Exemplo:

!
! Mudar a cor de linhas, strings de linha, strings conectados
!, arcos, e elipses baseado em sua largura. 
!
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