Tuesday 28 May 2013

Linienskalierung im Zusammenhang mit dem DWG Export I

Bis vor kurzem war ich der Meinung, dass der DWG Export (_maptoacad, "Bearbeitbar", "mit Vorlage") die Linienskalierung nicht korrekt exportiert und entsprechend das Problem an Autodesk gemeldet. Dort wurde es soweit bestätigt.
Durch Zufall haben wir aber herausgefunden, dass die Skalierung (AutoCAD Linientypfaktor) aber durchaus beim DWG Export beeinflussbar ist und korrekte Ergbnisse liefern kann.
Um das gewünschet Exportergebnis zu erzielen muss man aber in der Layer Datei einige Einträge vornehmen, für die es im Map Stil-Editor keine Einstellmöglichkeiten gibt.
Als Beispiel dient folgende AutoCAD Liniensignatur LTYP20:
*LTYP20,[LT20] LTYP20
A,.3,-0.10,.6,-0.085,.03,-0.085,.3
Die Liniensignatur wird im Stil-Editor eingeladen. Einstellungen dort sind auf "Meter" gesetzt.
In der Layer Datei sind nun folgende Angaben enthalten:
<Name>LTYP20</Name>
<Description>[LT20] LTYP20</Description>
<Graphics>
<Path>
<Geometry>M 0,0 L 3,0 M 4,0 L 10,0 M 10.85,0 L 11.15,0 M 12,0 L 15,0 </Geometry>
...
Die Signatur hat eine Länge von 15 Einheiten. Zum Aufbau des <Geometry> Tags siehe "Building Symbol Libraries with Autodesk MapGuide Enterprise" (2009).
Um in Map entsprechend ein Signaturabschnitt mit der Länge von 15m darzustellen gibt man bei Breite und Höhe "15" ein. Den "Wiederholungsfaktor" setzt man für diesen Linientyp ebenfalls auf "15" damit die Signatur sich ohne Lücke an die nächste anschliesst.

Im Layer sind nun folgende Werte abgespeichert:

<Repeat>15000</Repeat>
...
<Identifier>StyleEditorGenerated_ScaleX_0</Identifier>
<DefaultValue>1.0</DefaultValue>
...
<Override>
<ParameterIdentifier>StyleEditorGenerated_ScaleX_0</ParameterIdentifier>
<ParameterValue>1000</ParameterValue>
...
<SizeContext>MappingUnits</SizeContext>
Der <Repeat> Wert beträgt 15000, der Widerholungsfaktor im Stil-Editor 15. Soweit ich verstehe, sind die Angaben bei <Geometry> in Milimeter (siehe UnitsControl in UnitsControl in SymbolDefinition-1.1.0.xml). Entsprechend ist der Wert bei StyleEditorGenerated_ScaleX_0 zu verstehen.
Um die Darstellung der Linine auf einen Massstab von 1:250 auszurichten kann man in der Layer - Datei noch die Tags <ScaleX> und <ScaleY> hinzufügen:
...
 <ScaleX>250</ScaleX>
 <ScaleY>250</ScaleY>
</SymbolInstance>
Fügt man diese Einstellungen hinzu, ändert sich die Anzeige im Stil-Editor entsprechend. Für Breite/Höhe und Wiederholungsfaktor ist nun jeweils der Wert "3750" eingetragen. Aber die Darstellung in Map hat nicht den gwünschten Effekt. Die Linie erscheint nun als durchgezogen.
Ändert man die Werte bei <ScaleX><ScaleY> auf 0.250 ist die Darstellung in Map wie erwartet. Die Signatur ist 3.75m lang.
Beim DWG Export ist der Lininetypfaktor aber 0.003 und die Darstellung damit falsch.
Letztlich stimmt die Darstellung in Map und beim DWG-Export, wenn man folgende Werte verwendet:
<Repeat>15</Repeat>
...
<Override>
<SymbolName>LTYP20</SymbolName>
<ParameterIdentifier>StyleEditorGenerated_ScaleX_0</ParameterIdentifier>
<ParameterValue>1</ParameterValue>
</Override>
<Override>
<SymbolName>LTYP20</SymbolName>
<ParameterIdentifier>StyleEditorGenerated_ScaleY_0</ParameterIdentifier>
<ParameterValue>1</ParameterValue>
</Override>
ScaleX>250</ScaleX>
<ScaleY>250</ScaleY>
Wie man sieht, kann man eine bestimmte Darstellung in Map über unterschiedliche Einstellungen erzielen. Für den korrekten Export ist dagegen eine bestimmte Einstellung erforderlich.
Beim Export hat die Linien den Linientypfaktor 2.5. Der folgende Screenshot zeigt die FDO Linie (schwarz) mit der Polylinie aus dem Export (als XREF eingebunden):


Map 2013, SP1

No comments:

Post a Comment