Ajuda MicroStation CONNECT Edition

Calculadora/Pré-processador

O utilitário de Calculadora/Pré-processador ("calculat.ma") é usado para avaliar expressões nos comandos do MicroStation. A sintaxe usada é a do "C".

  • A calculadora exibe o resultado de uma expressão na barra de status. Por exemplo, se a Calculadora/Pré-processador estiver carregada, quando você insere o comando CALCULATOR 3*sin(90) o resultado "3" é exibido na Barra de status.
  • O pré-processador substitui uma expressão com o resultado e passa o comando para o MicroStation. Por exemplo, se a Calculadora/Pré-processador estiver carregada, quando você inserir o comando AA={asin(1)} o ângulo ativo é definido para o resultado "90°".

Manipulação da expressão de C

Tanto a calculadora quanto o pré-processador processam a sintaxe C padrão para expressões.

A diferença mais significativa entre o processamento de expressão C e o processamento de expressão do Pré-processador/Calculadora está na divisão de número inteiro. Com o processamento de expressão de C, a divisão de número inteiro produz um resultado inteiro. Com o processamento da expressão de calculadora/pré-processador, divisão de inteiro produz um resultado de ponte flutuante. Por exemplo, em C, o resultado de 1/4 é 0. Com calculadora/pré-processador, o resultado de 1/4 é 0,25.

As funções cos, acos, sin, asin, atan, atan2, tan, cosh, tanh, sinh, exp, ldexp, log, log10, pow, e sqrt têm suporte. Essas funções são as mesmas funções do C padrão, exceto que os ângulos são expressos em graus, ao invés de radianos.

Variáveis e funções podem ser declaradas para o uso com calculadora/pré-processador. Para mais informações, consulte Personalizando calculadora/pré-processador.

Interação entre o pré-processador e o produto

A interação entre o pré-processador e o MicroStation enquanto a Calculadora/Pré-processador é carregada é descrita aqui.

O pré-processador examina todos comandos do MicroStation e procura texto delimitado por caracteres delimitadores designados. Os delimitadores padrão são chaves {}.

Quando o pré-processador encontra uma sequência de caracteres de texto delimitado, ele avalia a sequência de caracteres. Se a sequência de caracteres é uma expressão de C válida, o pré-processador substitui os delimitadores e a expressão com o resultado e re-examina a string de comando inteira. O pré-processador entra em loop dessa maneira até completar um passe sem substituir qualquer texto. O comando é então passado ao MicroStation para processamento como um comando normal.

O pré-processador processa strings de comandos resultantes de seleções de menu personalizado ou simulados por outros aplicativos (aplicativo MDL), além de comandos digitados. O pré-processador espera que o resultado de uma expressão seja um inteiro, um valor de ponto flutuante ou uma sequência de caracteres.

Valores padrão podem ser alterados na caixa de diálogo Pré-processador.

Calculadora e formato de saída do pré-processador

A calculadora e pré-processador possuem uma sequência de caracteres de formato que controla a exibição de resultado inteiro e outro que controla a exibição de resultado de ponto flutuante. Esses strings de formato são strings printf padrão C.

A calculadora não processa os resultados de sequência de caracteres. Se a calculadora avalia uma expressão que gera um resultado de ponteiro de caracteres, a calculadora exibe uma mensagem de erro. Se o pré-processador avalia uma expressão que gera um resultado de ponteiro de caracteres, o pré-processador substitui a expressão com a sequência de caracteres para o qual aponta o resultado.

Comandos da calculadora

Enquanto a Calculadora/Pré-processador estiver ativa, esses comandos de calculadora podem ser inseridos da mesma maneira que comandos do MicroStation:

  • CALCULATOR [C_expression] — calcula o resultado de uma expressão C. O resultado da expressão é exibido na barra de status. O CALCULATOR sozinho dirige a calculadora para interpretar todos os comandos como expressões. Este modo permanece ativo até que outro comando seja ativado.
  • CALCULATOR DECLARE DOUBLE [variable_name] — declara um ponto flutuante variável para a calculadora e pré-processamento. O valor inicial da variável é 0. Definição do valor e o valor são salvos entre sessões em "uservrbl.dat".
  • CALCULATOR DECLARE INT [variable_name] — declara um número inteiro variável para a calculadora e pré-processamento. O valor inicial da variável é 0. Definição do valor e o valor são salvos entre sessões em "uservrbl.dat".
  • CALCULATOR FORMAT DOUBLE [format_string] — especifica a string de formato usado para exibir o resultado de expressões de ponto flutuante. O padrão é %.16g.
  • CALCULATOR FORMAT INT [format_string] — especifica a string de formato usada para exibir o resultado de expressões de número inteiro. O padrão é %d.

    Por exemplo, para calcular o valor hexadecimal do decimal 100, insira CALCULATOR FORMAT INT %#X e depois insira CALCULATOR 100.

    Por exemplo, para calcular o valor decimal do hexadecimal 100, insira CALCULATOR FORMAT INT %d e depois insira CALCULATOR 0x100.

  • UCCALC [C_expression] — calcula o resultado de uma expressão C, mas não exibe o resultado.

Personalizando a calculadora/pré-processador

Você pode personalizar a calculadora/pré-processador da seguinte forma:

  • Adicione variáveis através do arquivo "uservrbl.dat".
  • Adicione variáveis e funções adicionais de programas MDL.
  • Declara variáveis com comandos CALCULATOR DECLARE.
  • Substitua completamente o pré-processador com outro programa MDL.

Durante sua inicialização, calculadora/pré-processador lê "uservrbl.dat". Ela procura o arquivo no diretório atribuído à variável de configuração MS_DATA. Cada definição de variável no arquivo tem o seguinte formato:<type_name> <variable_name> <initial_value>

Os valores possíveis para type_name são double e int. Os nomes de variáveis definidos no "uservrbl.dat" são restritos a um máximo de 16 caracteres. O valor inicial da sequência de caracteres começa com o primeiro caractere não-vazios após o nome da variável. Continua até o fim da linha.

Segue um exemplo de um arquivo de inicialização padrão:

int baseValue 1
double baseUor 1.0

Quando a calculadora/pré-processador está sendo descarregado, ele atualiza o "uservrbl.dat." Durante a atualização, ele registra nomes, tipos e valores das variáveis definidas no arquivo "uservrbl.dat" e aqueles definidos com os comandos CALCULATOR DECLARE. Ele não salva informações sobre variáveis publicados a partir de programas MDL.

Programas MDL podem adicionar funções e variáveis para a calculadora, publicando-os com a função mdlCExpression_symbolPublish. Usando um conjunto de símbolos que tem uma visibilidade VISIBILITY_CALCULATOR torna a função ou a variável disponível para a calculadora. Esta é a única maneira de adicionar funções na calculadora.