Comprendere le posizioni dei file e degli allegati di Riferimento in MicroStation


 Product:MicroStation
 Version:N/A
 Environment:N\A
 Area:Administration
 Subarea:N/A

Panoramica

Questa nota tecnica è stata creata a partire da un articolo archiviato di MSM Online del 2002 scritto da Barry Bentley, Ph.D.

I Riferimenti allegati sono sempre stati una delle caratteristiche più importanti di MicroStation. In questo articolo vengono analizzati i vari modi in cui MicroStation può salvare il nome dei file di riferimento allegati e l'algoritmo utilizzato per individuare i riferimenti quando viene aperto un DGN.

Quando un file viene allegato come riferimento, il file master a cui è allegato deve registrare il nome del file per poterlo aprire in sessioni future. Il modo in cui viene memorizzato il nome del file è stato fonte di frustrazione per gli utenti in passato e ha subito alcuni perfezionamenti con l'evoluzione di MicroStation.

 Il modo più ovvio di memorizzare il nome del file di riferimento è quello di salvare la sua specifica completa. Ad esempio, se il file di riferimento è c:\activeProjects\project704\structural\steel.dgn, nel file master verrà salvato il suo percorso completo. Versioni precedenti di MicroStation offrivano all'Utente la possibilità di forzare questo processo, nonostante questo non fosse consigliato.

Il problema di questo approccio è che è completamente inflessibile. Se l'intero progetto viene spostato su un disco diverso o in una directory diversa dello stesso computer, il file di riferimento non verrà trovato. Se il progetto è conservato su un file server, è probabile che il punto di condivisione sia diverso per i vari utenti e che il riferimento si trovi su alcuni computer ma non su altri. L'unica soluzione è entrare in ogni file e modificare gli allegati di riferimento per ciascuno di essi.

Figura 1: Esempio di struttura di una directory di un progetto.

Per questo motivo, il comportamento predefinito per i file di riferimento scelti è quello di memorizzare solo il nome del file e l'estensione dei riferimenti, affidandosi poi all'utente o all'amministratore del progetto per impostare correttamente la variabile MS_RFDIR.

MS_RFDIR è la variabile di configurazione del percorso di ricerca dei file di riferimento per ogni progetto è può essere impostata su un elenco di directory (separate da punto e virgola); MicroStation cercherà in ogni directory gli allegati di riferimento.

Per questo motivo, il comportamento predefinito per i file di riferimento scelti  è quello di memorizzare solo il nome del file e l'estensione dei riferimenti, affidandosi poi all'utente o all'amministratore del progetto per impostare correttamente la variabile di configurazione del percorso di ricerca dei file di riferimento MS_RFDIR per ogni progetto. MS_RFDIR può essere impostata su un elenco di directory (separate da punto e virgola); MicroStation cercherà in ogni directory gli allegati di riferimento.

Il vantaggio di questo approccio è che lo spostamento di un progetto, o di parti di esso, non richiede alcuna modifica ai DGN. È necessario solo modificare la varibaile MS_RFDIR. Lo svantaggio è che MS_RFDIR deve essere impostato in modo diverso per ogni progetto.

L'uso delle variabili di configurazione

Un altro approccio supportato da MicroStation V4 è quello di definire variabili di configurazione specifiche e di usare la variabile di configurazione per stabilire la directory in cui risiede il file di riferimento. Ad esempio, si consideri la seguente struttura di directory del progetto, illustrata nella Figura 1. L'amministratore del progetto potrebbe definire delle variabili di configurazione (Figura 2). I riferimenti possono essere collegati digitando il  key-in in reference attach P704BORDERS:border_a.dgn oppure utilizzando l'opzione “Seleziona variabile di configurazione” nel menu Directory della finestra di dialogo di selezione dei file di riferimento. In entrambi i casi, MicroStation memorizza il nome del file come P704BORDERS:border_a.dgn.

  

Figura 2: Variabili di configurazione.

Il vantaggio di questo approccio è evidente: se il progetto viene spostato (ad esempio, in c:\InActiveProjects\, o su un file server), l'unica modifica necessaria è la ridefinizione delle variabili di configurazione. In effetti, l'astuto amministratore del progetto probabilmente imposterà le variabili di configurazione come mostrato nella Figura 3 e dovrà ridefinire solo PROGETTO704; le altre variabili di configurazione si ridefiniscono automaticamente.

 Nomi di file relativi alle variabili di configurazione

Un miglioramento di MicroStation/J ha permesso di specificare i file di riferimento come "relativi" a una variabile di configurazione. Pertanto, data la struttura della directory nell'esempio precedente, l'amministratore del progetto potrebbe definire un'unica variabile di configurazione, PROJECT704, e il riferimento di cui sopra potrebbe essere allegato utilizzando il  key-in reference attach PROJECT704:borders\border_a.dgn.

 

Figura 3: Variabili di configurazione modificate.

Il vantaggio di questo approccio è che c'è una sola variabile di configurazione; quindi, gli utenti non devono preoccuparsi molto di quale usare.

Questo metodo presenta due svantaggi. Il primo è che non esiste un modo pratico per ottenere questo risultato quando si seleziona un file di riferimento tramite la finestra di dialogo di selezione del file di riferimento. Il secondo è che "blocca" la struttura della directory del progetto. L'intero progetto può essere facilmente spostato in un'altra directory principale o in un altro file server, ma la struttura interna della directory può essere cambiata solo apportando modifiche agli allegati di riferimento.

Una variante interessante all'utilizzo dei nomi dei file relativi alle variabili di configurazione è quella di utilizzare la variabile di configurazione incorporata _DGNDIR, che punta sempre alla directory del file master corrente. Il vantaggio è che non è necessario definire alcuna variabile di configurazione, ma rimangono gli stessi svantaggi di cui sopra: la struttura interna delle directory del progetto deve essere stabile.

Nomi di file relativi al file master

In MicroStation V8 (versione 08.00.01.19 e successive) esiste una nuova possibilità di memorizzare i nomi dei file di riferimento rispetto al file master. Il risultato è simile a quello descritto in precedenza (cioè quando i nomi dei file sono memorizzati relativamente alla variabile di configurazione _DGNDIR), ma c'è un netto vantaggio quando si utilizza l'annidamento dei riferimenti in tempo reale di MicroStation. Se il file master fa riferimento a un file in un'altra directory che ha i suoi riferimenti memorizzati relativamente a _DGNDIR, questi riferimenti annidati non saranno necessariamente trovati perché _DGNDIR ora fa riferimento alla directory del file master piuttosto che alla directory del file di riferimento di primo livello. MicroStation memorizza direttamente il percorso relativo per evitare questo problema.

Un altro vantaggio è che è possibile specificare i percorsi relativi quando si utilizza la finestra di selezione del file di riferimento. L'opzione Salva percorso relativo in basso a sinistra della finestra di dialogo (Figura 4) indica a MicroStation di memorizzare il percorso relativo al DGN. Per gli amministratori di sistema che non vogliono consentire i percorsi relativi, è possibile impostare la variabile di configurazione MS_DISALLOWRELATIVEREFPATH su 1 per rimuovere l'opzione Salva percorso relativo dalla finestra di dialogo di selezione dei riferimenti e non consentire i percorsi relativi.

 

Figura 4: Finestra di dialogo Allega riferimento.

L'uso di percorsi relativi elimina la necessità di definire variabili di configurazione specifiche per il progetto o di ridefinire MS_RFDIR, ma, come sottolineato in precedenza, limita la flessibilità richiedendo che un progetto mantenga una struttura di directory interna invariata.

 I percorsi relativi non dovrebbero essere usati per i riferimenti a DGN di un altro progetto o condivisi tra progetti.

 Ricerca dei file di riferimento V8

Per ogni file di riferimento, MicroStation memorizza una specifica del file nell'allegato di riferimento. La specifica del file memorizzata viene visualizzata dall'utente nella colonna Nome file della finestra di dialogo Riferimenti. Quando viene allegato un riferimento, MicroStation esamina il modo in cui è stato scelto il file e decide cosa memorizzare per la specifica del file che darà all'utente i migliori risultati in termini di flessibilità e manutenibilità.

Se una variabile di configurazione viene selezionata dalla finestra di dialogo di selezione del file di riferimento o immessa come parte del nome del key-in reference attach , questa viene sempre mantenuta come parte della specifica del file.

Se il file è specificato rispetto a una variabile di configurazione nel key-in reference attach, la variabile di configurazione e il percorso relativo vengono sempre mantenuti come parte della specifica del file. Se viene specificato un percorso relativo attraverso la finestra di dialogo di selezione del file di riferimento o come parte del nome nel key-in reference attach, il percorso relativo viene sempre conservato. Altrimenti, viene conservato solo il nome del file.

A partire da MicroStation V8, MicroStation salva anche la specifica completa del file in cui si trova il file di riferimento. Questo è molto comodo per l'utente che allega i file di riferimento, perché significa che sarà sempre in grado di individuare il file di riferimento quando riaprirà il file master (a meno che, naturalmente, non sposti o cancelli il file). Tuttavia, poiché altri utenti del progetto potrebbero non avere la stessa struttura di directory o le stesse condivisioni di file, la specifica completa del file potrebbe non consentire loro di individuare il file. Pertanto, questo comportamento può essere impedito impostando la variabile di configurazione MS_DISALLOWFULLREFPATH, e molti amministratori di progetto scelgono di farlo.

Quando MicroStation apre un file, cerca i riferimenti nei seguenti percorsi, in ordine: 

  1. Se la specifica del file contiene una variabile di configurazione, cerca prima in quella directory, utilizzando il percorso relativo, se presente.
  2. Cerca in un elenco di directory, che consiste in tutte le directory dei file di origine del riferimento. Se un riferimento è collegato direttamente al file master, il percorso di ricerca consiste solo nella directory del file master. Se si tratta di un riferimento annidato, il percorso consiste nelle directory di ogni file padre, a partire dal più annidato. A partire dall'aggiornamento 8.00.01 di MicroStation V8, le directory ricercate includono il percorso relativo, se presente, nella specifica del file.
  3. Cerca tutte le directory in MS_RFDIR, mantenendo il percorso relativo, se presente, nella specifica del file.
  4. Ricerca nella directory "corrente". Si tratta della directory di MicroStation se MicroStation viene avviato dal gruppo di programmi MicroStation, oppure della directory del file DGN su cui si fa doppio clic da Windows explorer. Questo è raramente utile.
  5. Utilizza le specifiche complete del file nell'allegato di riferimento, se presente.

Questo algoritmo di ricerca è stato progettato per massimizzare le possibilità che ogni partecipante al progetto trovi il file di riferimento corretto.

Barry Bentley, Ph.D., ha co-fondato Bentley Systems, Incorporated, nel 1984 con il fratello Keith. Membro del Consiglio di amministrazione fin dalla nascita di Bentley, è stato anche presidente del Consiglio di amministrazione di Bentley dal 1984 al 1994. Continua a partecipare attivamente allo sviluppo di MicroStation e di altri prodotti Bentley. 

 

Vedi inoltre

Articolo in lingua originale