Guida di MicroStation CONNECT Edition

Calcolatrice/Preprocessore

Il programma di utilità Calcolatrice/Preprocessore ("calculat.ma") consente di interpretare le espressioni nelle digitazioni di MicroStation. La sintassi utilizzata è quella del linguaggio "C".

  • Il risultato di un'espressione viene visualizzato sulla barra di stato. Ad esempio, se il programma di utilità Calcolatrice/Preprocessore è stato caricato, quando si digita CALCULATOR 3*sin(90) il risultato, 3, viene visualizzato sulla barra di stato.
  • Il preprocessore sostituisce un'espressione con il risultato e trasferisce la digitazione a MicroStation. Ad esempio, se il programma di utilità Calcolatrice/Preprocessore è stato caricato, quando si digita AA={asin(1)}, l'angolo attivo viene impostato sul risultato dell'espressione, ovvero 90°.

Gestione delle espressioni in linguaggio C

Sia la calcolatrice che il preprocessore sono in grado di gestire espressioni costruite in base alla sintassi standard del linguaggio C.

La differenza più significativa tra la gestione delle espressioni C e quella delle espressioni del programma Calcolatrice/Preprocessore consiste nella divisione degli interi. Nella gestione delle espressioni C, la divisione degli interi produce come risultato un numero intero. Nella gestione delle espressioni di Calcolatrice/Preprocessore, la divisione degli interi produce un risultato a virgola mobile. Ad esempio, in C il risultato di 1/4 è 0, mentre con Calcolatrice/Preprocessore il risultato di 1/4 è 0,25.

Le funzioni cos, acos, sin, asin, atan, atan2, tan, cosh, tanh, sinh, exp, ldexp, log, log10, pow e sqrt sono supportate. Alle funzioni standard di C. L'unica differenza consiste nel fatto che gli angoli sono espressi in gradi anziché in radianti.

Con Calcolatrice/Preprocessore è inoltre possibile dichiarare variabili e funzioni. Per ulteriori informazioni, consultare Personalizzazione di Calcolatrice/Preprocessore.

Interazione tra il preprocessore e il prodotto

In questa sezione viene descritta l'interazione tra il preprocessore e MicroStation, durante il caricamento di Calcolatrice/Preprocessore.

Il preprocessore esamina tutte le digitazioni di MicroStation per individuare il testo racchiuso tra caratteri delimitatori specificati. I delimitatori predefiniti sono le parentesi graffe {}.

Quando il preprocessore trova una stringa di testo delimitata, ne effettua la valutazione. Se la stringa viene riconosciuta come espressione C valida, il preprocessore sostituisce i delimitatori e l'espressione con il relativo risultato ed esamina nuovamente l'intera stringa di digitazione. Prima di sostituire le stringhe di testo, il preprocessore ripete questa sequenza ciclicamente fino a completare la digitazione. Questa viene quindi trasferita a MicroStation per essere elaborata come una normale digitazione.

Il preprocessore gestisce inoltre le stringhe di digitazione risultanti da selezioni di menu personalizzati o simulate da altre applicazioni (applicazioni MDL). Il risultato di un'espressione eseguita dal preprocessore può essere un intero, un valore a virgola mobile o una stringa di caratteri.

I valori predefiniti possono essere modificati nella Finestra di dialogo Preprocessore.

Formato di output del calcolatore e preprocessore

Sia la calcolatrice che il preprocessore possiedono una stringa di formato per il controllo della visualizzazione del risultato come intero e un'altra per il controllo della visualizzazione del risultato a virgola mobile. Queste stringhe di formato sono stringhe C standard di tipo printf.

La calcolatrice non supporta l'elaborazione dei risultati delle stringhe di caratteri. Se la calcolatrice valuta un'espressione che come risultato genera un puntatore ai caratteri, viene visualizzato un messaggio di errore. Se il preprocessore valuta un'espressione che come risultato genera un puntatore ai caratteri, l'espressione viene sostituita dalla stringa a cui punta il risultato.

Comandi della calcolatrice

Se Calcolatrice/Preprocessore è attivo, è possibile utilizzare i seguenti comandi della calcolatrice come normali digitazioni di MicroStation:

  • CALCULATOR [C_expression] — calcola il risultato di un'espressione C. Il risultato dell'espressione viene visualizzato sulla barra di stato. CALCULATOR indica che tutte le digitazioni devono essere interpretate dalla calcolatrice come espressioni. Questa modalità rimane attiva fino a quando non viene attivato un altro comando.
  • CALCULATOR DECLARE DOUBLE [variable_name] — consente di dichiarare una variabile a virgola mobile per la calcolatrice e il preprocessore. Il valore iniziale per la variabile è 0. Il valore e la definizione del valore vengono salvati in "uservrbl.dat" per consentirne l'utilizzo nelle successive sessioni.
  • CALCULATOR DECLARE INT [variable_name] — consente di dichiarare una variabile intera per la calcolatrice e il preprocessore. Il valore iniziale per la variabile è 0. Il valore e la definizione del valore vengono salvati in "uservrbl.dat" per consentirne l'utilizzo nelle successive sessioni.
  • CALCULATOR FORMAT DOUBLE [format_string] — specifica la stringa di formato utilizzata per visualizzare il risultato delle espressioni a virgola mobile. L'impostazione predefinita è %.16g.
  • CALCULATOR FORMAT INT [format_string] — specifica la stringa di formato utilizzata per visualizzare il risultato delle espressioni intere. L'impostazione predefinita è %d.

    Ad esempio, per calcolare il valore esadecimale di 100 decimale, digitare CALCULATOR FORMAT INT %#X, quindi digitare CALCULATOR 100.

    Ad esempio, per calcolare il valore decimale di 100 esadecimale, digitare CALCULATOR FORMAT INT %d, quindi digitare CALCULATOR 0x100.

  • UCCALC [C_expression] — esegue il calcolo di un'espressione C, ma non visualizza il risultato.

Personalizzazione del programma di utilità Calcolatrice/Preprocessore

È possibile personalizzare Calcolatrice/Preprocessore effettuando le seguenti operazioni:

  • Aggiungere variabili mediante il file "uservrbl.dat".
  • Aggiungere altre funzioni e variabili dai programmi MDL.
  • Dichiarare variabili con i comandi CALCULATOR DECLARE.
  • Sostituire completamente il preprocessore con un altro programma MDL.

Durante l'inizializzazione di Calcolatrice/Preprocessore, viene effettuata la ricerca del file "uservrbl.dat." Il file è cercato nella directory assegnata alla variabile di configurazione MS_DATA. Tutte le variabili di configurazione nel file hanno il seguente formato: <type_name> <variable_name> <initial_value>

I valori possibili per type_name sono double e int. I nomi di variabili definiti nel file "uservrbl.dat" possono essere costituiti da un massimo di 16 caratteri. Il valore iniziale della stringa inizia in corrispondenza del primo carattere diverso da uno spazio dopo il nome della variabile e termina con la fine della riga.

Di seguito è riportato un esempio di file di inizializzazione standard:

int baseValue 1
double baseUor 1.0

Quando il programma Calcolatrice/Preprocessore viene scaricato, il file uservrbl.dat viene "aggiornato."Durante l'aggiornamento, vengono registrati i tipi, i nomi e i valori delle variabili definiti nel file "uservrbl.dat" e quelli definiti con i comandi CALCULATOR DECLARE. Non vengono salvate, invece, le informazioni sulle variabili dei programmi MDL.

Con i programmi MDL è possibile aggiungere funzioni e variabili alla calcolatrice mediante la funzione mdlCExpression_symbolPublish. Mediante l'utilizzo di un insieme di simboli per il quale viene impostata una visibilità di tipo VISIBILITY_CALCULATOR, la funzione o la variabile può essere utilizzata dalla calcolatrice. Il metodo appena descritto è l'unico disponibile per aggiungere funzioni alla calcolatrice.