Grundlagen zu Referenz Anhängen und Ihre Speicherorte


  
 Bezieht sich auf 
  
 Produkt(e):MicroStation
 Version(en):08.11.09.459
 Umgebung: N\A
 Produktbereich: Referenz
 Produktunterbereich: N\A
 Ursprünglicher Autor:Yvonne Lohse, Bentley Technical Support Group
  

Übersicht

Diese TechNote wurde aus einen archiviertem 2002 MSM Online Artikel welcher von Barry Bentley geschrieben wurde, erstellt

Referenzanhänge sind seit jeher eine der wichtigsten Funktionen von MicroStation. In diesem Artikel untersuchen wir die Vielzahl von Möglichkeiten, wie MicroStation V8 den Dateinamen für die Referenzanhänge speichern kann und den Algorithmus, den es verwendet, wenn ein DGN geöffnet wird.

Verwenden von Konfigurationsvariablen
Relative Dateinamen zu Konfigurationsvariablen
Relative Dateinamen zur Masterdatei
V8 Referenzdateisuche / Suchalgorithmus
Liste Referenz-Variablen

Wenn eine Datei als Referenz angehängt wird, muss die Master-Datei, an die sie angehängt ist, den Namen der Referenzdatei speichern, damit sie in zukünftigen Sitzungen mit geöffnet werden kann. Die Art und Weise, wie die der Dateinamen gespeichert wurde, war in der Vergangenheit die Quelle für einige Frustration der Anwender, und deswegen hat sich MicroStation weiterentwickelt und wurde einigen Verfeinerungen unterzogen.

Die naheliegendste Möglichkeit der Speicherung des Dateinamens ist, die vollständige Dateispezifikation der Referenz zu speichern. Das heißt, wenn die Datei sich auf c:\activeProjects\project704\structural\steel.dgn befindet, wird einfach die vollständige Zeichenfolge zur der Master-Datei abgespeichert. Während MicroStation J (die wir jetzt manchmal als "V7" bezeichnen) und frühere Versionen einem Anwender diese Methode, zum Erzwingen dieses Ergebnisses gab, war es nie ein empfohlenes Verfahren.

Das Problem bei diesem Lösungs-Ansatz ist, dass es völlig unflexibel ist. Wenn das gesamte Projekt auf eine andere Festplatte oder ein anderes Verzeichnis auf dem gleichen Computer bewegt wird, dann wird die Referenzdatei nicht gefunden werden. Wenn das Projekt auf einem Dateiserver behalten wird, dann wird das Netzwerkvolumen für verschiedene Benutzer wahrscheinlich unterschiedlich sein, und die Referenz könnte auf einigen Computern lokalisiert aber auf anderen nicht lokalisiert werden. Die einzige Lösung ist, in jeder Datei zu gehen um die Referenzanhänge für jeden einzelnen zu ändern.




Abbildung 1: Eine Beispiel-Projekt-Verzeichnisstruktur.


Aus diesem Grund ist das Standardverhalten für grafisch ausgewählten Referenzdateien, nur den Dateinamen und Erweiterung der Referenzdateien zu speichern, und sich dann auf den Benutzer- oder Projekt-Administrator zu beziehen, um den Referenzdatei-Suchpfad über die Konfigurationsvariable MS_RFDIR für jedes Projekt richtig festzulegen. MS_RFDIR kann auf eine Liste von Verzeichnissen (durch Semikolon getrennt) festgelegt werden. MicroStation durchsucht jedes Verzeichnis nach den Referenz Anhängen.

Der Vorteil bei diesem Lösungs-Ansatz ist, dass das Verschieben eines Projekts oder Teile eines Projektes, keine Änderungen an den DGNs erforderlich macht. Es erfordert nur eine Anpassung der Variablen MS_RFDIR. Ein Nachteil ist, dass MS_RFDIR für jedes Projekt unterschiedlich eingestellt werden muss.





top


Verwenden von Konfigurationsvariablen

Ein weiterer Lösungs-Ansatz ist, die Definition und Verwendung eigener neuer spezifischer Konfigurationsvariablen, um das Verzeichnis, in dem sich Referenzdateien befinden, festzulegen. Betrachten Sie beispielsweise folgende in obiger Abbildung 1 befindliche Projektverzeichnisstruktur. Ein Projektadministrator kann die gezeigten Konfigurationsvariablen (Abbildung 2) definieren. Die Referenzen können dann entweder durch den Tastatureingabebefehl: "reference attach P704BORDERS:border_a.dgn" oder über die "Konfigurationsvariable wählen"-Option des "Verzeichnis"-Menüpunktes aus dem "Referenz Anhängen" Dialog, angehängt werden. (wenn Verzeichnisse-Menü fehlt, dann bitte folgende Wiki lesen: Unterverzeichnisse zu einem Batch-Prozess hinzufügen um "Windows Dialoge" auszuschalten, eigenständige Wiki folgt später)
In beiden Fällen speichert MicroStation den Dateinamen als "P704BORDERS:border_a.dgn".

Abbildung 2: Konfigurationsvariablen.

mehr dazu in folgender Wiki: Referenz Dateien über Variablen anhängen





top

Relative Dateinamen zu Konfigurationsvariablen

Eine Erweiterung ab MicroStation J (V7) erlaubte es, dass Referenzdateien als "relativ" auf eine Konfigurationsvariable angegeben werden. Auf diese Weise konnte ein Projekt-Administrator die Verzeichnisstruktur wie im obigen Beispiel, über die einzelne Konfigurationsvariable "PROJECT704" definieren, und die obige Referenz konnte über den Tastatureingabebefehl: "reference attach P704BORDERS:border_a.dgn" angehängt werden.

 

Abbildung 3: Überarbeitete Konfigurationsvariablen.

Der Vorteil von diesem Lösungsansatz ist, dass es nur eine Konfigurationsvariable gibt, so dass die Anwender nicht zu viel darüber nachdenken, welche Variable verwendet werden muss.

Es gibt bei diesem Verfahren zwei Nachteile:
Erstens gibt es keinen bequemeren Weg für die Auswahl einer Referenzdatei unter dem Referenzdatei-Auswahldialog, um dieses Ergebnis zu erhalten.
Zweitens, ist es in der Projektverzeichnisstruktur "gefangen". Das gesamte Projekt kann leicht zu einem anderen Root-Verzeichnis oder Datei-Server verschoben werden, aber die interne Verzeichnisstruktur kann nur durch das Ändern an den Referenzanhängen direkt angepasst werden.

Eine interessante Variante der Verwendung von Konfigurationsvariable mit relativen Dateinamen ist die Verwendung der bereits eingebauten Konfigurationsvariablen _DGNDIR, die immer auf das Verzeichnis der aktuellen Master-Datei verweist. Der Vorteil ist, dass es keine Notwendigkeit gibt, alle Konfigurationsvariablen zu definieren, aber es gelten immer noch die gleichen obig beschriebenen Nachteile, die interne Projektverzeichnisstruktur muss stabil sein, und es gibt noch keine Möglichkeit, dieses Ergebnis über einen grafischen Dateiauswahlprozess zu erreichen.





top

Relative Dateinamen zur Masterdatei

Ab MicroStation V8 (Version 08.00.01.19 oder höher) gibt es eine neue Funktion zur Speicherung der Referenzdateinamen relativ zur Stammdatei. Dieser Effekt ist ähnlich dem obig beschriebenen, wenn die Dateinamen in Bezug auf die Konfigurationsvariable _DGNDIR gespeichert werden, aber es gibt einen deutlichen Vorteil, wenn die MicroStation V8 Live Referenz Verschachtelung verwendet wird. Wenn die Master-Datei auf eine Datei in einem anderen Verzeichnis verweist, das seine Referenzen relativ zu _DGNDIR gespeichert hat, werden diese verschachtelten Referenzen nicht gefunden werden, weil _DGNDIR sich jetzt auf das Verzeichnis der Master-Datei bezieht und nicht auf das Verzeichnis der obersten Referenzdateiebene. MicroStation V8 speichert direkt den relativen Pfad um dieses Problem zu vermeiden.

Ein weiterer Vorteil ist, dass es möglich ist, relative Pfade anzugeben, wenn man sich im Referenz-Dateiauswahldialog befindet. Der "Relativen Pfad Speichern"-Knopf befindet sich auf der unteren linken Seite des Dialoges (Abbildung 4) teilt MicroStation mit, ob es den relativen Pfad zu der DGN speichern soll. Für Systemadministratoren, die nicht wollen, dass das Speichern von relativen Pfaden ermöglicht wird, kann die Konfigurationsvariable MS_DISALLOWRELATIVEREFPATH auf den Wert 1 gesetzt werden, um den "Relativen Pfad Speichern"-Knopf aus dem Referenzauswahldialog zu entfernen um nicht zuzulassen das relative Pfade gespeichert werden.

Abbildung 4: "Referenz anhängen" Dialog (mit "Windows Dialoge"-Einstellung)



Abbildung 4: "Referenz anhängen" Dialog (ohne "Windows Dialoge"-Einstellung)

Relative Pfade beseitigen die Notwendigkeit für die Festlegung projektspezifischen Konfigurationsvariablen oder die Neudefinition MS_RFDIR, aber es beschränkt die Flexibilität durch die Anforderung, dass ein Projekt eine unveränderte interne Verzeichnisstruktur beibehalten muss.

Relative Pfade sollten nicht für Verweise auf DGNs in anderen Projekten oder welche von mehreren Projekten gemeinsam genutzt werden, verwendet werden.




top

V8 Referenzdateisuche

Für jede Referenzdatei speichert MicroStation eine Dateispezifikation im Referenzanhang. Die gespeicherte Dateispezifikation wird dem Benutzer in der Dateinamen Spalte des "Referenzen" Dialogfensters angezeigt. Wenn eine Referenz angehängt worden ist, untersucht MicroStation wie die Datei zum Anhängen ausgewählt worden ist, und entscheidet, welche Dateispezifikation es speichert um dem Anwender die besten Ergebnisse in Bezug auf Flexibilität und Wartungsfreundlichkeit bereitzustellen.

Wenn eine Konfigurationsvariable aus dem Referenzdateiauswahl-Dialogfenster ausgewählt oder als Teil des Namens im Referenz-Anhängen Tastatureingabebefehl angehängt worden ist, wird die Konfigurationsvariable immer als Teil der Dateispezifikation beibehalten. Die Datei wird im Referenz-Anhängen Tastatureingabebefehl relativ auf eine Konfigurationsvariable bezogen angegeben und der relative Pfad und die Konfigurationsvariable werden immer als Teil der Dateispezifikation beibehalten. Wenn ein relativer Pfad durch den Referenzdateiauswahl-Dialog oder als Teil des Namens im Referenz-Anhängen Tastatureingabebefehl angegeben wird bleibt der relative Pfad immer erhalten. Andernfalls wird nur der Dateiname beibehalten.

Ab der MicroStation V8 speichert MicroStation auch die vollständige Dateispezifikation, wo sich die Referenzdatei befand. Dies ist sehr praktisch für die Anwender welche Referenzdateien anhängen, weil es bedeutet, dass sie immer in der Lage sein werden, die Referenz-Dateien zu finden, wenn sie eine Master-Datei öffnen. (es sei denn, die Dateien wurden verschoben oder gelöscht) sein. Wenn möglicherweise jedoch andere Projektteilnehmer nicht über die gleiche Verzeichnisstruktur oder Dateifreigaben verfügen, kann die vollständige Dateispezifikation es ihnen nicht ermöglichen, die Datei zu finden. Dieses Verhalten kann durch das Setzen der Konfigurationsvariablen MS_DISALLOWFULLREFPATH auf den Wert "1" verhindert werden, und viele Projektadministratoren wenden diese auch an.

Wenn MicroStation eine Datei öffnet, sucht es an folgenden Orten in folgender Reihenfolge nach Referenzen:

  1. Wenn die Dateispezifikation eine Konfigurationsvariable enthält, wird zuerst in diesem Verzeichnis und falls vorhanden im relativen Pfad gesucht.
  2. Durchsucht eine Liste von Verzeichnissen, die aus allen Verzeichnissen der übergeordneten Datei(en) der Referenz besteht. Wenn ein Referenz direkt an der Master-Datei angehängt, besteht der Suchpfad nur aus dem Verzeichnis der Master-Datei. Wenn es sich um eine verschachtelte Referenz handelt, besteht der Weg aus den Verzeichnissen der einzelnen Mutterdatei, beginnend mit der am dem tiefsten verschachtelten Datei. Ab der MicroStation V8 beinhaltet die Verzeichnisse-Suche relative Pfade wenn diese in der Dateispezifikation vorhanden sind.
  3. Durchsucht alle Verzeichnisse der Variablen MS_RFDIR und behält dabei den relativen Pfad bei, wenn dieser in der Dateispezifikation enthalten ist.
  4. Durchsucht das "aktuelle" Verzeichnis. Wenn MicroStation über die MicroStation-Programmgruppe gestartet wird, ist es das MicroStation Verzeichnis und wenn MicroStation über im Windows Explorer durch einen Doppelklick auf die DGN-Datei gestartet wird, ist es das Verzeichnis der DGN-Datei. Dies ist aber selten sinnvoll.
  5. Wenn es eine vollständige Dateispezifikation des Referenzanhanges gibt wird sie verwendet.

Dieser Suchalgorithmus wurde entwickelt, um die Chancen, dass jeder Projektteilnehmer die richtige Referenzdatei findet zu maximieren.





top


Liste der erwähnten Referenz-Variablen

MS_RFDIR
Suchpfad(e) für Referenzen.

MS_ALWAYSRELATIVEREFPATH

Wenn diese Variable (auf einen beliebigen Wert) festgelegt wird, ist das Kontrollkästchen "Relativen Pfad speichern" immer aktiviert und wird abgeblendet, so dass es nicht deaktiviert werden kann. Relative Pfade werden gespeichert, wann immer dies möglich ist.

MS_DISALLOWFULLREFPATH
Wenn die Variable auf 1 eingestellt ist, speichert MicroStation nicht den vollständigen Pfad zu den Referenzen. Standardmäßig speichert MicroStation sowohl einen abgekürzten (portablen) als auch den vollständigen Pfad. zu Referenzen. Der vollständige Pfad ist nicht mehr korrekt, wenn die Verzeichnisstruktur für ein Projekt geändert oder ein anderer Laufwerksbuchstabe für den Dateiserver verwendet wird und kann in solchen Situationen zu Inkonsistenzen für Verzeichnispfade führen. Deshalb wird es manchen Standorten vorgezogen, keine vollständigen Pfade zu speichern.

top

Sehen Sie hierzu auch

Understanding File Locations And Reference Attachments In MicroStation
Relative reference file names

Unterverzeichnisse zu einem Batch-Prozess hinzufügen (um Windows Dialoge auszuschalten, eigenständige Wiki folgt später)
Referenz Dateien über Variablen anhängen


Andersprachige Quellen:

English

Français