MicroStation MDL-Applikation  DAA.MA              2D/3D                                                                   SE, V7, V8, V8i

 

Autor:  ©  Frank Tokarski
Stand:   1999-11/2014
Version: 2.0

1. Kurzbeschreibung

Mit dem Programm DAA.MA kann eine ASCII-Ausgabe des Inhaltes von DGN-Dateien vorgenommen werden. Unterstützt werden die entsprechend der unter 5. aufgeführten Elementtypen. Texte werden nicht behandelt. Dafür steht das MDL TXT2ASC.MA zur Verfügung.
Die Ausgabe ist im Format der Datenart
DA001 angelegt. Mit Hilfe einer Parameterdatei.(siehe 4. und Anlage 1) wird die Auswahl der Elemente und die Belegung der formatspezifischen Spaltenwerte gesteuert. Linestrings können mit der entsprechenden Punkt-Abstandswahl "verdünnt" werden. Die DA001-Dateien können auf identische Punkte geprüft werden. Darüber ist eine Protokollausgabe wählbar. Die Herstellung der Eindeutigkeit dieser Punkte kann auf zwei Arten vorgenommen werden. Entweder bekommen die identisch gefundenen Punkte die gleiche Punktnummer oder sie werden gelöscht. Ein vollständiges DA001-Format entsteht nur, wenn alle Ausgabespalten angewählt wurden.  Für die Prüfvorgänge sind mindestens die Spalten  PN, PX, PY und PZ (nur bei 3D-Files) auszugeben. Lines(Typ3) mit Null-Länge werden nur mit den Koordinaten des Startpunktes ausgegeben.        

2. Voraussetzungen

Das Programm DAA.MA    befindet sich im MDL-Applikationsverzeichnis, z.B.
       c:\Bentley\Program\MicroStation\mdlapps           
Die Parameterdatei ist vorbereitet.
Eine gültige Lizenz daa.lic befindet sich unter dem MicroStations-Hauptpfad im anzulegenden Verzeichnis License.
z.B.: c:\V8\Bentley\Program\MicroStation\License\

3. Allgemeiner Arbeitsablauf

  

  

Ab V8i mit Eintrag einer Anfangspunktnummer:

Im Abschnitt Parameterdatei wird eine ASCII-Datei für die Auswahl und Steuerung der Ausgabe eingebunden. In ihr sind die Filterkriterien der auszugebenden Elemente und die Ausgabespalten definiert. Im Abschnitt Ausgabespalten hat man die zusätzliche Möglichkeit Ausgabespalten ein- bzw. auszuschalten, ohne die Parameterdatei zu editieren.
Im Abschnitt Erzeugen kann die Rundung der Ausgabewerte auf Milimeter, Dezimeter oder Meter eingestellt werden. Mit 'Linien-Punkteabstand' hat man die Möglichkeit Linien auszudünnen. Die Punkte, die innerhalb eines Abstandes liegen, werden einfach nicht mit ausgegeben. Das macht in diesem Verfahren nur bei sehr dicht belegten Linien Sinn, da sich sonst der tatsächliche Verlauf beim 'weglassen' bestimmter Punkte erheblich vom Original unterscheidet. Mit Start erfolgt die Ausgabe in eine Datei mit der Endung d01.
Gerade bei Linien gibt u.a. oft den Fall, das der Endpunkt einer Linie gleich dem Anfangspunkt einer anderen Linie ist. Um doppelte und mehrfach gleiche Punkte loszuwerden, gibt es den Abschnitt Prüfen. Zunächst selektiert man eine zu prüfende *.d01-Datei. Unter Protokoll erhält man eine Auflistung der gleichen Punkte. Die Eindeutigkeit kann auf zwei verschiedenen Wegen hergestellt werden:
a) Punkte mit identischen Koordinaten erhalten die gleiche Punktnummer
b) Punkte mit identischen Koordinaten werden gelöscht.

4.  Beschreibung der Parameterdatei

Die Parameterdatei besteht aus 16 Spalten (5 Eingabespalten/11 Ausgabespalten). Jede Spalte muß eine Eintragung haben. Ist kein Wert für eine Spalte vorgesehen, muß dafür ein * eingetragen sein. Ein Semikolon als 1. Zeichen in einer Zeile bedeutet Kommentar: Diese Zeile wird vom Programm nicht ausgewertet. Innerhalb einer Zeile sind die Spalteneinträge mit Tabulator oder Leerzeichen zu trennen. Die 5 Eingabespalten sind für die Selektion der MicroStation-Elemente bedeutsam. Die Spalte Typ muß immer mit einer Typnummer belegt sein. Wir unterscheiden zwei Varianten (Zellen und die anderen Elemente):
1.  Zellen/Pseudozellen:           *   Typ   Cellname   *    *
Zellen und Pseudozellen benötigen immer den Eintrag des Zellennamens in der Spalte Co/Ce.

2.  Elemente, die nicht Zelle sind (Line, Linestring, Shape, Circle, Arc, Curve, B-SplinePole, Complex Shape, Complex Chain): 
                                              Level   Typ   Color   Style   Weight
Level         ...Ebenennummer , In V7 von 1-63 (keine Namen), ab V8 ist das die Levelnummer (Ebenenmanager -> Eigenschaften -> Nummer)
Typ           ...Typnummer Cell=2, Line=3, Linestring=4, Shape=6, Circle=15, Bogen=16, Pseudozelle=35 
                      Complex Shape und Complex Chain werden nur bezüglich dieser vorstehenden Komponenten ausgewertet!
Cellname   ...In V7 bis zu 6 Zeichen, ab V8 bis zu 256 Zeichen (keine Leerzeichen im Namen)
Color         ...Farbangabe 0-254 (keine Namen)
Style          ...Linienart 0-7 bzw. benutzerdefinierte Namen
Weight      ...Strichdicke 0-15
11  Ausgabespalten (DA001-spezifisch)  schließen sich nahtlos an die 5 Eingabespalten an:
PZ   LNR   LA   LF   LV   PF   PA   PH   PB   LB   XX
PZ    ... Höhenschalter               1 Stelle 0,1 oder *
LNR   ... Liniennummerschalter        1 Stelle 0,1 oder *
LA    ... Linienart                   1 Stelle 0,1,2,3,4.5,6,9 oder *
LF    ... Linienform                  1 Stelle 0,1,2 oder *  
LV    ... Linienverbindung            1 Stelle 0,1,3,4,6,7 oder *
PF    ... Flächenzuordnung            1 Stelle 0,1 oder *
PA    ... Punktart                    1 Stelle 0,1,2,9 oder *
PH    ... Horizont                    1 Stelle 0,1,2,3 oder *
PB    ... Punktbeschreibung           2 Stellen  Eintrag nicht festgelegt, zumindest *
LB    ... Linienbeschreibung          2 Stellen  Eintrag nicht festgelegt, zumindest *
XX    ... nicht belegt               14 Stellen Eintrag nicht festgelegt, zumindest *

5.  Beispiel einer Parameterdatei

;Eingabedatei DGN -> DA001
;Siehe Programmbeschreibung - Alle Spalten müssen mit einem Wert belegt sein !
;------------------------------------------------------------------------------------
;Lv    Typ    Co/Ce     St     Wt     PZ   LNr LA LF LV PF PA PH PB LB Frei
;                                     0/1  0/1 X  X  X  X  X  X  XX XX XXXXXXXXXXXXXX
;------------------------------------------------------------------------------------
;Rasterpunkt allg.
;*      2     KOTE       *     *      1    0   *  *  *  *  0  *  *  *  *
;Pseudozelle beliebig
;*     35     UMA        *     *      1    0   *  *  *  *  0  *  *  *  *
;Bruchkante offen
3       4     9          0     *      1    1   0  0  *  *  0  *  *  1  Strasse

3       4     9          2     *      1    1   0  0  *  *  0  *  *  2  Weg
3       4    96          *     *      1    1   0  0  *  *  0  *  *  3  Boe
;Bruchkante+innere Randlinie
4       4     3          *     *      1    1   4  1  *  *  0  *  *  *  *

;innere Randlinie ohne Höhe
4       4     1          *     *      0    1   2  1  *  *  0  *  *  *  *

;Umring mit Höhe
5       4     2          *     *      1    1   3  0  *  *  0  *  *  *  *

;Strommittellinie
5       3     3          0     1      1    1   0  0  *  *  0  *  *  1  Gerade

;Strommittellinie
5      16     3          0     1      1    1   0  0  *  *  0  *  *  1  Bogen

6.  Ausschnitt aus einer erzeugten DA001-Datei

001             123 4587414.832 5796524.749   45.540   500  0    1Strasse
001             124 4587390.005 5796522.183   45.750   500  0    1Strasse

001             125 4587364.992 5796519.897   45.990   500  0    1Strasse
001             126 4587340.111 5796517.623   46.270   500  0    1Strasse
001             127 4587315.261 5796515.315   46.560   500  0    1Strasse
001             128 4587290.420 5796513.127   46.670   500  0    1Strasse
001             129 4587286.242 5796510.604   46.710   500  0    1Strasse
001             130 4587281.782 5796507.083   46.720   500  0    1Strasse
001             131 4587279.157 5796502.244   46.720   500  0    1Strasse
001             132 4587278.955 5796497.997   46.740   500  0    1Strasse
001             133 4587279.255 5796496.390   46.940   500  0    1Strasse
001             134 4587291.367 5796474.299   46.980   600  0    2Weg
001             135 4587293.298 5796468.307   46.920   600  0    2Weg
001             136 4587293.240 5796463.657   46.890   600  0    2Weg
001             137 4587288.563 5796453.698   46.870   600  0    2Weg
001             138 4587292.033 5796452.134   46.880   700  0    2Weg
001             139 4587295.780 5796460.111   46.910   700  0    2Weg
001             140 4587297.374 5796462.821   46.940   700  0    2Weg
001             141 4587302.874 5796461.827   46.990   700  0    2Weg
001             142 4587668.801 5796072.252   42.820   800  0    2Weg
001             143 4587674.198 5796070.359   42.850   800  0    2Weg
001             144 4587677.446 5796069.917   42.820   800  0    2Weg
001             145 4587685.969 5796072.099   42.790   800  0    2Weg
001             146 4587701.001 5796075.104   42.870   800  0    2Weg
001             147 4587680.021 5796060.225   43.000   900  0    2Weg
001             148 4587681.878 5796062.861   42.900   900  0    2Weg
001             149 4587683.003 5796065.869   42.900   900  0    2Weg
001             150 4587687.957 5796067.534   42.910   900  0    2Weg
001             151 4587702.156 5796070.985   42.990   900  0    2Weg
001             152 4587454.280 5797220.130   41.710  1000  0    1Strasse
001             153 4587457.859 5797217.522   41.670  1000  0    1Strasse
001             154 4587461.589 5797216.399   41.600  1000  0    1Strasse
001             155 4587463.851 5797216.832   41.570  1000  0    1Strasse
001             156 4587466.730 5797219.632   41.550  1000  0    1Strasse
001             157 4587469.102 5797220.097   41.550  1000  0    1Strasse
001             158 4587475.086 5797217.148   41.550  1000  0    1Strasse
001             159 4587485.135 5797208.992   41.560  1000  0    1Strasse
001             160 4587497.462 5797201.536   41.570  1000  0    1Strasse
001             161 4587520.509 5797194.785   41.550  1000  0    1Strasse
001             162 4587523.882 5797191.292   41.610  1000  0    1Strasse
001             163 4587523.994 5797187.715   41.640  1000  0    1Strasse
001             164 4587522.817 5797186.384   41.700  1000  0    1Strasse
001             165 4587497.379 5797169.273   42.000  1000  0    1Strasse
001             166 4587476.854 5797245.715   41.670  1100  0    1Strasse
001             167 4587478.559 5797243.393   41.700  1100  0    1Strasse

001             168 4587480.582 5797241.568   41.740  1100  0    1Strasse
001             169 4587472.158 5797229.071   41.880  1100  0    1Strasse
001             170 4587469.207 5797230.652   41.810  1100  0    1Strasse
001             171 4587465.849 5797231.781   41.750  1100  0    1Strasse
001             172 4587903.569 5796728.905   41.980  1200  0    1Strasse
001             173 4587878.646 5796730.913   41.850  1200  0    1Strasse
001             174 4587878.398 5796725.496   41.890  1200  0    1Strasse
001             175 4587903.014 5796724.897   41.940  1200  0    1Strasse
001             176 4587878.646 5796730.913   41.850  1300  0    2Weg
001             177 4587853.993 5796732.727   41.960  1300  0    2Weg
001             178 4587828.773 5796733.350   42.070  1300  0    2Weg
001             179 4587803.663 5796734.830   42.210  1300  0    2Weg
001             180 4587778.665 5796736.173   42.430  1300  0    2Weg
001             181 4587753.527 5796737.428   42.590  1300  0    2Weg

7.  Ausschnitt aus einer Protokolldatei

Protokoll des MDL daa.ma V1.5
vom 18.8.6 19:59:07
Untersuchte Datei: D:\uswork2006\TEST_DAA\110506V8.d01
Identische Punkte:
40 5431111.117 5936819.599 32.598
50 5431111.117 5936819.599 32.598
Identische Punkte:
51 5431039.279 5936838.269 34.265
61 5431039.279 5936838.269 34.265
Identische Punkte:
124 5431120.190 5937110.969 29.544
169 5431120.190 5937110.969 29.544
Identische Punkte:
130 5431068.305 5936959.474 32.276
145 5431068.305 5936959.474 32.276
Identische Punkte:
193 5431089.988 5937293.607 26.638
218 5431089.988 5937293.607 26.638
Identische Punkte:
205 5431094.759 5937389.832 23.015
284 5431094.759 5937389.832 23.015
Identische Punkte:
225 5431069.767 5937344.665 19.780
229 5431069.767 5937344.665 19.780